# NEXT SOFTWARE > Premium Joomla extensions crafted with care. Build better websites with professional components, modules, and plugins. ## Extensions ### Next Boards Managing projects usually means leaving Joomla for a separate online service: another login, another subscription per user, and your data on someone else's server. Teams that already run their site on Joomla want their task boards in the same place, under the same user accounts. Next Boards puts a full Kanban tool inside Joomla. Create a board for each project, split it into stages, and drag cards from stage to stage as the work advances. A card holds everything about its task: a description, several assignees, due dates with reminders, labels, checklists, files, comments with @mentions, your own custom fields and its complete history. The same board can be read as a Kanban board, a sortable List, a Calendar by due date or a Roadmap timeline. Workspaces group boards by team, and three levels of visibility decide who sees each one. Every user gets a private Inbox for quick notes, a Planner for their week and a My Tasks page across all boards. Rules, buttons and scheduled commands take over the routine steps. Next Boards works in the administrator and on the public side of your site, opens as a dedicated app on phones, and can be installed to keep working offline. - Type: Package - Starting from: €79.00 — 1 year of free updates and support and unlimited installation - License: Open Source (GPL v3) - [Next Boards](https://www.nextsoftware.dev/joomla-extensions/next-boards) #### Boards & Kanban Boards of stages and cards, moved by drag and drop. - Unlimited boards: As many boards as you need, started blank or from a template: Kanban, Scrum, Bug tracker, Content calendar, Personal. - Drag-and-drop cards: Move cards between stages and reorder them within a stage; the new position is saved as you drop. - Stages with WIP limits: Add, rename, reorder and colour the columns of your workflow, and get a warning when a stage holds too many cards. - Filters you can share: Filter by text, label, member, due date and custom field; the board's address keeps the filter. - Backgrounds, archive and duplicate: Give a board a colour, gradient or image, copy it with or without its cards, and archive it when the project is done. #### Cards & Task Details Everything about a task in one place. - Card details: Title, Markdown description, priority, start and due dates, a due reminder and a done mark. - Labels & assignees: Tag cards with coloured labels and assign one or several team members. - Checklists: Break a card into steps with a progress bar; give a step its own assignee and due date, or turn it into a card. - Custom fields: Text, number, date, checkbox and dropdown fields per board, shown on the card, in the List view and in the filters. - Comments with @mentions: Discuss the work on the card, mention teammates and react with an emoji. - Attachments & covers: Upload, drop or paste files, and set an image as the card's cover. - Templates and mirrors: Reuse a card as a template, and show one card on a second board. #### Four Ways to View One board, four layouts. - Kanban view: The column board with drag and drop. - List view: A sortable table of every card, with bulk actions on the selected rows. - Calendar view: Cards on their due dates in month, week or agenda layout; drag to reschedule. - Roadmap view: A timeline of bars from start date to due date, by week, month or quarter. #### Capture, Plan & Automate From a quick note to finished work. - Personal Inbox: A private list for things not sorted yet; move them to a board when you know where they belong. - E-mail to Inbox: Forward a message to your private address and it becomes a card, attachments included. - Planner: Drag cards onto your own day and week calendar to decide when you will do them. - My Tasks & calendar feed: Everything assigned to you across all boards, also in Google Calendar, Outlook or Apple Calendar. - Automation: Rules, card and board buttons and scheduled commands that move, label, assign and complete cards for you. #### Team Collaboration Work together inside Joomla. - Workspaces: Group boards by team or client, each with its own admins and members. - Board visibility: Private, visible to the workspace, or public to every signed-in user. - Board roles: Add users to a board as admin, member or observer. - Notifications: In the app and by e-mail, per event, instantly or as a daily digest, with due-date reminders. - Dashboard & reports: Throughput, cards by stage, label usage, member workload and due dates, with CSV export. #### Permissions & Access Control from one user to a whole organisation. - Site-wide roles: Decide who may create boards and workspaces, administer everything or read everything, and give a role to users or whole Joomla user groups. - Per-board membership: Membership decides which boards a user sees and what they can do on each. - App Manager: Switch off the parts you do not use, such as Planner, Automation or Reports. Their data is kept. - Joomla security: Sign-in required, request tokens on every change, and uploaded files served only to people who can see the board. #### On Your Site & On Your Phone Not only in the backend. - Frontend access: Add one menu item and signed-in site users work on their boards without any access to the administrator. - Phone app: Phones get a touch layout with tabs for Boards, My Tasks, Inbox, Planner and Notifications. - Installable and offline: Install Next Boards as an app; changes made without a connection are stored and sent when you are back online. #### Built for Joomla A native extension for Joomla CMS. - Self-hosted: Boards and files stay in your Joomla database and on your server. - Your users, your language: Uses your Joomla user accounts and groups, each user's time zone, light and dark mode, and Joomla language files for translation. - Standard install and updates: One Joomla package, updated through Joomla's own updater. - Import and export: Take a board out as JSON or CSV, and bring boards and cards back in. ### Next DB Joomla has no first-class way to inspect or edit its own database without dropping into phpMyAdmin, the MySQL CLI, or a third-party desktop client. Each of those means leaving Joomla's permission model behind: anyone with the credentials gets full DBA access to every table, every database, with no audit trail. Next DB is a Joomla-native, phpMyAdmin-style database admin tool. Operators edit the Joomla database and attach external MySQL, MariaDB, PostgreSQL and SQLite databases through a React editor backed by Doctrine DBAL. Every operation flows through a service layer where Joomla-native profiles, fine-grained ACL and audit logging are enforced — so you get a full DB tool inside Joomla without giving every operator full DBA privileges. Browse and edit any table, run arbitrary SQL with full syntax highlighting, edit structure with preview-then-apply DDL, export and import via SQL or CSV. Assign profiles to Joomla users or user-groups to scope who can touch which connections, databases, tables and operations. Every mutation is recorded with before/after row snapshots and configurable retention. - Type: Package - Starting from: €59.00 — 1 year of free updates and support and unlimited installation - License: Open Source (GPL v3) - [Next DB](https://www.nextsoftware.dev/joomla-extensions/next-db) #### Database Editor Browse, edit and manage data across any connected database. - Object Tree: Connections, databases, tables and views in a single navigable tree. - Paginated Table Browse: Sort, filter and page through any table with bound-parameter safety. - Inline Row Editing: Insert, update and delete rows through type-aware drawer forms. - Multi-Engine Support: MySQL/MariaDB, SQLite and PostgreSQL — all verified end-to-end (PostgreSQL exercised against a real server in CI). #### SQL Console Write and run raw SQL with full editor comfort. - CodeMirror Editor: SQL syntax highlighting, autocomplete and bracket matching. - Query History: Last 50 statements kept per browser for one-click re-run. - Read-Only Mode: Flip the console to read-only to explore safely — write statements are rejected. - Inline Error Surfacing: DBAL errors reported next to the originating statement. #### Structure Editor Modify schema with confidence — preview before apply. - Columns, Indexes, Foreign Keys: Full DDL editor with type-aware widgets for each driver. - Preview Then Apply: DBAL `Comparator` shows the exact SQL diff before it runs. - Create, Drop, Rename, Truncate: Engine-correct DDL on every supported platform. - Atomic on Non-MySQL: Structure edits wrap in a transaction on SQLite and PG to survive table rebuilds. #### Connections Manager Attach and manage external databases alongside the Joomla DB. - Multiple Drivers: MySQL, MariaDB, PostgreSQL and SQLite descriptors. - Encrypted Passwords: libsodium secretbox storage keyed off the Joomla site secret. - Per-Driver Options: Charset, port, socket, SSL and platform-specific extras. - Test Before Save: Live connection check from the admin panel. - SQLite Allow-List: Stored SQLite files are confined to a configurable base directory, keeping database files out of the web root. #### Access Control Joomla-native ACL that goes beyond on/off. - Profiles: Permission sets covering connections, databases, tables and operations. - User & Group Assignments: Assign profiles to individual Joomla users or whole user-groups. - Layered Enforcement: Always-on PHP service-layer gating plus core-table protection; a per-connection MySQL-grant *hard enforce* mode is reserved for a future release. - SQL Console Gate: Per-profile switch hides the console and rejects the API endpoint. - Core-Table Protection: Joomla auth/access/extension tables and engine system objects are write-protected for everyone, Super Users included. #### Audit Trail Every mutation recorded — answer "who changed what, when". - Before/After Snapshots: `DataService` captures row state on every insert, update and delete. - Operation Coverage: CRUD, SQL, structure, import, export and config changes all logged. - Per-Profile Policy: Choose which operations to record, whether to log failures, and retention. - Filtered Viewer: Searchable DataGrid with facets and a before/after detail drawer. #### Export & Import Move data in and out without leaving the admin. - SQL Dump: Per-table or whole-database SQL exports with engine-correct quoting. - CSV Export: Honors the active browse filter. - SQL Script Import: Statement-aware splitter handles multi-statement files. - CSV Import: Header-mapped column import parsed client-side. #### Data Views Publish read-only database views on the Joomla front end. - Saved SELECT Views: Define a base SELECT once, reuse it as a named, browsable view. - Guided Builder: A step wizard takes you from connection to query to a published view. - Front-End Rendering: Surface query results on the public site — opt-in per connection. - Validated & Access-Scoped: Base queries are validated; visibility is gated per view. #### Developer Modern stack with no deprecated APIs. - React + MUI: Single-page admin built on React, MUI and TanStack Query. - Doctrine DBAL: Industry-standard PHP DB abstraction layer, bundled with the component. - Namespaced Joomla MVC: Joomla 4, 5 and 6 on PHP 8.1+. - Open Source: GPL v2 or later licensed and upgrade-safe. ### Next Exams Running assessments on a Joomla site usually means bolting on something that was never built for it: a form extension pressed into service as a quiz, or an external testing platform that owns your questions, your results and your learners' personal data. Neither gives you a question bank worth maintaining, and neither can tell you whether a question is actually any good. Next Exams is a complete assessment suite for Joomla. Authors build a reusable question bank across a subject tree, assemble exams from fixed questions or randomised pools, and publish them behind the access rule that fits — public, registered users only, a shared code, a named cohort, or an LMS launch. Examinees take the exam in a server-authoritative runner that autosaves as they work, survives a closed laptop, and still submits without JavaScript. Grading is automatic for fourteen of the fifteen question types, with partial credit and manual marking for essays. Everything after the submit is covered too: per-subject result breakdowns that tell a learner what to revise, PDF certificates with public QR verification, item analysis that flags the questions doing no discriminating work, a live invigilation board with accountless invigilator invites, and signed webhooks, LTI 1.3 and a bearer-token JSON API for everything you want to automate. - Type: Package - Starting from: €59.00 — 1 year of free updates and support and unlimited installation - License: Open Source (GPL v3) - [Next Exams](https://www.nextsoftware.dev/joomla-extensions/next-exams) - [Documentation](https://nextsoftware.dev/documentation/next-exams) #### Question Bank One reusable bank behind every exam, organised the way you already think about your subject. - Fifteen Question Types: Multiple choice (single and multiple), true/false, short answer, essay, ordering, matching, extended matching and cloze — plus the six visual types below. - Visual Question Types: Image choice, range slider, hotspot pin, image marking, graph plotting and jigsaw puzzle — each one also answerable from the keyboard. - Hierarchical Subjects: A self-maintaining subject tree with materialized paths — file a question once and reach it from anywhere. - Tags and Custom Fields: Free-form tags for pool selection, plus custom fields of your own that stay searchable and filterable. - Math and Media: LaTeX typeset with KaTeX, and a curated image library that refuses to insert a picture without alt text. - Versioning and Approval: Full version history per question and a review workflow, so a live exam never changes under you unreviewed. #### Exam Studio Build the whole exam on one screen: write questions in place, pick from the bank, draw at random. - Write Questions Inside the Exam: Create and edit questions right in the exam, and choose whether each one is kept in the bank. - Real Preview: See the exam on your site's own exam page — desktop, tablet or phone — with nothing recorded. - Fixed Questions and Pools: Pin the questions that must appear, then draw the rest at random from a subject or tag pool. - Sections: Group questions into named sections with their own ordering and points. - Shuffling: Shuffle questions, options, or both — independently, per exam. - Per-Exam Result Policy: Decide per exam when scores appear, whether answers are revealed, and what the pass and fail screens say. #### Exam Runner A runner that is honest about where the truth lives: on the server. - Server-Authoritative Timing: The clock, the question set and the score are all the server's. A tampered browser changes nothing. - Delta Autosave: Only changed answers are posted, and an unacknowledged write is re-sent on the next save. - Pause and Resume: Freeze the clock, close the laptop, come back. Pause counts and total paused time are capped per exam. - Practice Mode: Untimed, uncapped attempts with per-question feedback the moment an answer is locked. - Works Without JavaScript: The runner is a real HTML form. Scripts enhance it; they are not what makes it submit. #### Grading & Results Automatic where it can be, human where it must be. - Automatic Grading: Fourteen of the fifteen types grade themselves, including ordering, matching, cloze and every visual type. - Partial Credit: Proportional or all-or-nothing per question, with numeric tolerance and regex matching for short answers. - Manual Marking: Essays queue for a grader, with locked review so a learner cannot see a half-marked paper. - Per-Subject Breakdown: Results split by subject, weakest first, with a plain-language hint about what to revise. #### Certificates Issue a real certificate on a pass, and let anyone check it is genuine. - Visual Designer: Drag-and-drop certificate layout with your own fonts, colours and background. - Issue on Pass: Awarded automatically, once per attempt, the moment a qualifying pass is recorded. - Frozen Snapshots: The certificate is rendered from a snapshot taken at issue time, so editing a template never rewrites history. - Public QR Verification: Every certificate carries a QR code to a public verification page keyed by a random token, not a guessable serial. - My Certificates: A page where learners find all their certificates. Nothing gives a pass away early: the page, the download and the email all wait until the exam's results are released. #### Live Monitoring See the room while the exam is still running, with the people who need you first. - Needs Attention First: Anyone past their deadline, held or offline rises to the top of the room, with the one button that helps them. - One Place to Act: Open a person to give more time, pause, resume, reopen, hand them in or leave a note — every button named by what it does. - Time for Everyone: After a Wi-Fi drop or a fire alarm, give a whole room the same extra minutes in one step. - Projector Displays: A room clock the examinees can see, with no names on it, and a large-type staff wall for the control room. - Audit Log: Every invigilator action is recorded against the attempt it touched. - Accountless Invigilators: Invite an invigilator by link, PIN or QR code, before the exam even starts — always scoped to one exam, and never able to end anybody's exam or take time away. #### Analytics & Reports Find out which questions are actually working. - Item Analysis: Difficulty and item-total discrimination per question, so the ones measuring nothing become obvious. - Per-Student Reports: Every attempt a person has made, with their trend over time. - CSV Export: Attempts and analytics out to CSV, filtered exactly as you filtered them on screen. - Scheduled Email Reports: Have a report built and emailed on a schedule you set. #### Access & Enrollment Control who may sit an exam, and when. - Five Access Modes: View level (including public), open registration, shared access code, identified guest, or a named allow-list. - Cohorts: Build a roster by hand, mirror a Joomla user group, or invite people who have no account yet by email. - Windows and Caps: Opening and closing times, due dates, attempt limits and a cooldown between retries. - Every Timezone: Times, deadlines and emails shown in each person's own timezone, while everything is stored in UTC. - Guest Examinees: Let people sit an exam without an account, and still tie their attempt and certificate to them. #### Integrations Reach the rest of your stack without waiting for a feature request. - LTI 1.3: Launch from your LMS, pick exams through Deep Linking, and pass scores straight back to the gradebook. - Signed Webhooks: HMAC-signed outbound notifications on submit, grade and certificate issue, with retry and a delivery log. - Headless API Tokens: Bearer tokens with per-scope, default-deny permissions for the JSON API. - Joomla Ecosystem: An exam's start screen in any article or module position, Smart Search indexing, GDPR export and erasure, and six site modules. - Clean, SEO-Friendly Addresses: Exam pages at /exams/12-final-test, with an optional subject path, a canonical link on every exam and redirects from old addresses — emails and QR codes use them too. - Seven Languages: English, German, French, Italian, Spanish, Hungarian and Arabic, with full right-to-left layout and Arabic certificates. #### Developer Built the way a modern Joomla extension should be — one codebase across Joomla 4.4, 5 and 6. - Modern Architecture: Namespaced PSR-4 MVC, dependency injection through service providers, and assets registered with the WebAssetManager. - App Manager: Twenty-one capabilities you can switch off individually — hidden from the interface and blocked at the endpoint, never deleted from the database. - Progressive Enhancement: Server-rendered site templates you can override, enhanced with Vue islands that never re-render question content. - Accessible by Design: The whole exam-taking flow was remediated to WCAG 2.1 AA — keyboard, screen reader and reduced motion. - Open Source: GPL v2 or later, and upgrade-safe. ### Next File Manager Next File Manager is a Joomla-native file manager built as a React single-page app inside the admin. It browses the Joomla install itself and any number of additional drives — a folder on this server, an SFTP or FTP/FTPS host, a WebDAV or Nextcloud share, an S3-compatible bucket — through one interface. Access is granted through profiles: a permission set that names which folders a user may see, which of sixteen file operations they may run, how large their uploads may be and which extensions they may send. Profiles attach to individual Joomla users or to whole user groups, so a contributor gets their own folder and nothing else, with no second password to issue. Browse in grid or list view with a live folder tree, drag files between folders, upload by dropping them on the window, preview images and media in a lightbox, edit text and code in a syntax-highlighting editor, create and extract ZIP archives, and search across a folder tree. Sensitive files are protected out of the box — configuration.php, .env files and private keys can never be read or downloaded below Super User, and the administrator tree is write-protected until an admin explicitly unlocks a path. Every mutation is written to an activity log with the user, the operation and the target. - Type: Package - Starting from: €49.00 — 1 year of free updates and support and unlimited installation - License: Open Source (GPL v3) - [Next File Manager](https://www.nextsoftware.dev/joomla-extensions/next-file-manager) #### File Browser Everything you expect from a desktop file manager, in the Joomla admin. - Grid & List Views: Switch between a tile grid with large type icons and a dense sortable list. - Live Folder Tree: A lazy-loading sidebar tree of every folder you have access to, with breadcrumbs above the pane. - Drag to Move: Drag a selection onto a tree node or a folder tile to move it, with a confirmation on overwrite. - Right-Click Menu: A full context menu carrying every operation your profile allows — and only those. - Info Panel: Size, type, modified date, path and permissions for the current selection. #### Transfers Get files in and out without a separate FTP client. - Drop-Anywhere Upload: Drop files on the window to queue them; a progress list shows each transfer and its outcome. - Per-Profile Upload Rules: Maximum file size, an allowed-extension list and an always-blocked denied list, enforced on the server. - Download & ZIP Download: Download a single file, or select several and get them as one archive. - Cross-Drive Copy & Move: Copy or move between two different drives — the transfer is streamed, so large files do not need to fit in memory. #### Editing & Preview Read and change files in place. - Syntax-Highlighting Editor: A CodeMirror editor with modes for PHP, JavaScript, CSS, HTML, JSON, SQL, XML and Markdown. - Image & Media Lightbox: Full-screen preview for images and media, with byte-range streaming so video can be scrubbed. - Rename, Duplicate, New Folder: The everyday operations, each individually grantable. #### Archives Pack and unpack without shell access. - Create ZIP: Archive any selection in place. - Extract In Place: Unpack an archive into its folder, with Zip-Slip path traversal blocked on every entry. - Access-Checked Contents: Archive downloads honour the same protection rules as direct downloads — a protected file cannot be smuggled out inside a ZIP. #### Storage & Places One interface over every filesystem you use. - Five Drivers: Server folder, SFTP (SSH), FTP/FTPS, WebDAV/Nextcloud and S3-compatible object storage. - Storage / Place Split: A storage holds credentials and a base; places name the folders on it — so one SFTP account exposes several folders without re-entering its password. - Encrypted Credentials: Passwords and private keys are stored as ciphertext keyed off the Joomla site secret, and never sent back to the browser. - Capability Negotiation: Each driver declares what it can actually do, and the UI hides operations the protocol does not support instead of failing deep inside an adapter. - Test Before Save: A live connection check from the storage editor, which also fills in the SFTP host fingerprint for you. #### Access Control Joomla-native permissions that go well past on/off. - Profiles: A named permission set: granted folders, sixteen togglable operations, upload limits and feature gates. - Scoped Roots: Each grant is a place plus an optional subfolder plus a read/write flag — a user sees that subtree and nothing above it. - User & Group Assignment: Assign a profile to individual users or to whole Joomla user groups; a direct assignment wins over a group one. - Deny by Default: A user with no profile gets nothing. Every operation is re-checked on the server regardless of what the UI offers. #### Protection Safe defaults that survive a misconfigured profile. - Protected Paths: An editable pattern list — shipping with `configuration.php`, `.htaccess`, `administrator/`, `libraries/` and more — that blocks writes to a path and everything under it. - Secret Files Are Unreadable: `configuration.php`, `.env`, `*.key`, `*.pem` and `.htpasswd` cannot be read, downloaded, previewed or copied below Super User. - Per-Path Locks: Right-click to lock an item; a Super User can grant a specific unlock override, gated behind a global switch that is off by default. - Path Traversal Hardening: Every path is canonicalised and re-checked against its granted root, including on case-insensitive filesystems and through symlinks. #### Activity Log Answer "who changed what, and when". - Every Mutation Recorded: Uploads, deletions, renames, moves, copies, edits, archive operations and lock changes. - Filterable Viewer: A searchable data grid with per-column filters over user, action, place and path. - Admin-Only: The log tab is visible to Super Users and never exposed to profiled users. #### Site Front End Put the file manager on the public site, not just the admin. - Menu-Item Driven: Publish the same SPA through a Joomla menu item for logged-in front-end users. - Same Enforcement: The front-end dispatcher runs the identical profile checks, protection rules and command allowlist as the admin. - Session-Aware: When a session expires, an in-place dialog re-authenticates and replays the interrupted request instead of dumping the user on a login page. #### Developer A modern stack with no deprecated Joomla APIs. - Single-page App: Single-page admin built on React - Namespaced Joomla MVC: DI service providers, namespaced controllers and Joomla's own database layer throughout. - Theme-Synced: The interface follows Joomla's own light/dark colour scheme automatically. - Open Source: GNU GPL v2 or later. ### Next Inventory Next Inventory is a full-featured inventory management component that replaces spreadsheets with a proper audit-logged system. Track assets checked out to staff, consumables being used up, and sellable stock across multiple warehouses. Scan barcodes with a USB reader or your phone camera, get email and browser push alerts before items run out, and report on stock valuation or movement over any date range. Built on a modern React + Material UI frontend and a fully namespaced Joomla MVC backend, Next Inventory ships with role-based permissions, custom fields, unit conversions, warehouse transfers, and a public catalog view — all configurable without touching code. Switch off whole areas you do not use from the App Manager, work in light or dark — the theme button drives Joomla's own admin theme, so one click changes both — seed a complete demo dataset in one click while you evaluate, and reword any label in the interface with Joomla's own Language Overrides. Every string is translatable. - Type: Package - Starting from: €59.00 — 1 year of free updates and support and unlimited installation - License: Open Source (GPL v3) - [Next Inventory](https://www.nextsoftware.dev/joomla-extensions/next-inventory) #### Inventory Management Organise every physical asset, consumable, and product in one structured catalogue. - Three Item Types: Assets checked out to users, consumables used up over time, and sellables tracked for stock levels - Hierarchical Categories: Organise items with a nested category tree and published/unpublished status control - Multi-Warehouse Support: Track stock across any number of warehouses or physical locations with transfers between them - Item Images with Thumbnails: Upload product photos with automatic small and medium thumbnail generation - Public Frontend Catalog: Opt-in public catalogue pages let visitors browse available inventory with category filters #### Stock Tracking Real-time stock quantities with every identifier warehouse workers actually need. - SKU & Barcode: Store SKUs, barcodes, and serial numbers for every item with indexed lookup - Decimal Quantities: Track stock to decimal precision for bulk materials, fluids, or partial units - Units of Measurement: Define custom units with conversion chains (inches → feet → yards) and automatic quantity conversion on transactions - Low-Stock Thresholds: Per-item threshold triggers alerts and dashboard warnings when quantities run low - Unit Price & Valuation: Store unit prices per item for total-inventory-value reporting #### Transactions & Audit Trail Every stock movement recorded in an uneditable log — no more guessing who did what. - Check In / Check Out: Assign assets to recipients with structured name/email/department tracking and return to inventory when done - Add / Remove Stock: Increment or decrement consumable and sellable quantities with mandatory reason fields - Warehouse Transfers: Move stock between warehouses in batches with draft/finalise workflow - Stock Adjustments: Record damaged, lost, or found items with audit-trailed reasons - Automatic Quantity Updates: Stock levels update automatically when transactions save — no manual maintenance #### Barcode Scanning A scanner workflow built for warehouse and retail staff. - USB Barcode Scanner Support: Works with any keyboard-wedge USB scanner — no drivers or configuration - Camera-Based Scanning: Scan barcodes through any device camera using the built-in web scanner - Quick Lookup Search Bar: Type or scan a SKU, barcode, or serial to jump directly to an item - Dedicated Scanner Page: Large fonts, high contrast, and big tap targets designed for the warehouse floor #### Notifications & Alerts Multi-channel alerts so stock never runs out without warning. - Low-Stock Email Alerts: HTML emails sent to subscribed administrators when items drop below their threshold - Browser Push Notifications: Web Push API notifications delivered even when the Joomla admin isn't open, with VAPID encryption - In-App Notification Centre: Central notifications page with filters, bulk mark-as-read, and per-user preferences - Deduplication: Low-stock alerts throttled to once per 24 hours per item per user so inboxes stay clean - Dashboard Widget: A permanent dashboard widget lists every item below its threshold at a glance #### Reports & Analytics Know what you own, what's moving, and what it's worth. - Stock Valuation Reports: Total inventory value calculated from live quantities and unit prices - Transaction History: Filter the full audit log by date range, item, recipient, transaction type, or warehouse - Stock Movement Trends: Visual charts of stock level changes over 7-day, 30-day, 90-day, or 1-year periods - CSV Export & Print: Download any report as CSV for spreadsheets, or print it dark-on-white for sharing #### Customisation Shape the system to fit your workflow, not the other way around. - Custom Fields: Add dynamic fields (text, number, select, date, checkbox, colour, file, multiselect) to items, warehouses, and recipients with fieldset grouping - Searchable Custom Values: Flag a field as searchable and you can filter and search on its values like any built-in field - Role-Based Permissions: Define roles with granular per-feature permissions (create, edit, edit.own, delete, view, manage_transfers, etc.) and assign to users or Joomla groups - Settings-Driven Formatting: Configure currency symbol and position, date format, decimal separator, and thousands separator from the settings page - Fully Translatable: More than 800 interface strings, every one reachable from Joomla's own Language Overrides - One-Click Demo Data: Seed a complete sample inventory to evaluate against, then remove exactly what it added #### App Manager Turn whole areas of the component on and off, without touching your data. - Ten Switchable Apps: Transfers, adjustments, reports, warehouse overview, units, custom fields, notifications, quick search, offline app and demo data - Nine Core Areas Always On: Items, categories, warehouses, the stock ledger, recipients, roles and settings can never be switched off - Nothing Is Ever Deleted: Disabling hides an area and refuses its requests; switch it back on and everything is exactly as you left it - Safe By Default: An update never switches anything on for you, and a database problem can never black the product out #### Interface & Everyday Use Built to be lived in, not just configured. - Light & Dark Mode: One button re-themes Next Inventory and the whole Joomla administrator together, and reports still print dark-on-white - Fullscreen Workspace: A distraction-free shell with its own sidebar and a breadcrumb trail on every screen - Ctrl+K Quick Search: Jump to any item by title, SKU or barcode from anywhere in the component - Date Pickers With Presets: Calendar pickers in your own date format, with last 7, 30 and 90 day and this-month shortcuts - Bulk Actions & Fast Lists: Publish, unpublish or delete many items at once, with sorting and filtering resolved across the whole list rather than the page in front of you - Never Lose Work: An unsaved-changes prompt on every edit form, and installable as an offline-capable app #### Built For Joomla Modern Joomla 4/5/6 architecture — no deprecated APIs, no shortcuts. - Native Joomla Throughout: Namespaced MVC, service providers, Form XML validation and Joomla's own asset pipeline - Joomla Users & Groups: Roles assign to individual users or whole Joomla user groups, and Super Users bypass every check - Native Updates: Updates arrive through Joomla's own update system, gated by your download key - Open Source: GPL v2 or later licensed and upgrade-safe ### Next Restaurant Most restaurants end up paying for four or five systems that never talk to each other: a booking widget on the website, a delivery portal that takes a cut of every order, a till on the counter that knows about neither, and a spreadsheet for stock. Each one bills you every month, keeps its own copy of your customers, and leaves somebody re-typing figures at the end of the night. Next Restaurant does the whole job in one place, on your own website. Guests browse your menu, order for pickup or delivery, book a table, check a gift card balance and leave reviews — with no commission taken on anything. Sitting at a table, they scan the QR code and order without waiting to catch a server's eye. Your team gets what it takes to run service: a full point of sale with open checks, discounts, split bills, refunds and a cash drawer; a kitchen display that shows every ticket the moment it lands, whichever channel it came from; bookings on a floor plan you draw to match your actual room; delivery zones and driver dispatch; stock that comes off your recipes as dishes sell and pulls a dish from the menu when it runs out; and a payments ledger that reconciles the day. Because it is all one system, an order is an order. A QR order at table 12 reaches the same kitchen screen as one from your website, comes off the same stock, settles in the same ledger and lands in the same end-of-day report. Thirteen of the built-in apps can be switched off individually if you don't need them, every member of staff sees only the parts their role allows, and tablets around the restaurant run stripped-down till, kitchen, pickup, waiter, host and clock-in screens without anyone logging into Joomla. - Type: Package - Starting from: €99.00 — 1 year of free updates and support and unlimited installation - License: Open Source (GPL v3) - [Next Restaurant](https://www.nextsoftware.dev/joomla-extensions/next-restaurant) #### Menu Management Build the menu once and publish it everywhere. - Items, Categories & Variants: Full menu authoring with per-item pricing, availability windows and per-location overrides. - Modifier Groups: Reusable option sets — sizes, extras, cooking preferences — with min/max rules and price deltas. - Allergens & Dietary Tags: Tag every item with allergens and diet labels that surface on the public menu and the KDS ticket. - Images & Galleries: Per-item photography with built-in cropping, plus a venue gallery for the storefront. - 86 an Item Instantly: Mark an item unavailable from the POS or admin and it disappears from every ordering channel at once. #### Ordering Channels One order pipeline, however the guest chooses to order. - Online Ordering & Checkout: Pickup, delivery and dine-in orders on your own site, with cart and payment at checkout. - QR Scan-to-Order: Guests scan the table code, browse the menu, order and pay without an app or an account. - Counter & Phone Orders: Staff raise orders directly in the POS or the admin orders screen. - Unified Order Record: Every channel writes the same order, so kitchen routing, stock depletion and reporting never fork. - Order Corrections: Cancel, modify, remake, comp, discount and refund — manager-PIN gated, fully audited, with waste-vs-restock handling. #### Point of Sale A full-service POS built for a busy counter, not a demo. - Open Checks & Append: Hold tabs open across a service and add rounds to them as the table goes. - Seats, Splits & Transfers: Assign items to seats, split a check evenly or by seat, and move it to another table or server. - Discounts, Voids & Comps: Line- and check-level adjustments behind a manager PIN, every one of them logged. - Payments & Receipts: Take cash, card or on-account, print or email the receipt, and process refunds. - Cash Drawer: Open, count and reconcile the drawer with a session record you can audit. #### Kitchen Display Replace the ticket printer with screens the kitchen can actually work from. - Live Order Board: Tickets stream in from every channel with elapsed timers and colour-coded urgency. - Stations & Routing Rules: Route each line to the right station — grill, fry, pass, bar — by category, item or order type. - Line-Level State: Bump individual lines, not just whole tickets, so a long cook doesn't block the pass. - Cancellation Alerts: A guest or manager cancellation raises a banner on the affected station until a cook acknowledges it. #### Reservations & Floor Take bookings that respect your real capacity. - Availability Engine: Slots are offered against opening hours, table capacity and existing bookings — no double-booking. - Drawable Floor Maps: A canvas editor for each floor: tables, chairs, areas, rotation and resize, with pan and zoom. - Operate vs Layout Modes: Flip the same map between designing the room and running service with live occupancy. - Guest Notifications: HTML confirmation, reminder and status-change emails driven by a booking state machine. - Host & Waiter Screens: Seat parties, track table status and take orders from the floor on a tablet. #### Delivery & Dispatch Run your own delivery instead of renting someone else's. - Delivery Zones: Define zones with their own fees, minimums and delivery windows. - Driver Management: Maintain a driver roster, assign orders and track dispatch state. - Dispatch Board: See what's cooking, what's ready and what's on the road on one screen. #### Inventory & Recipes Know what you're using and what it costs. - Stock Items & Levels: Track ingredients per location with units, par levels and low-stock alerts. - Recipe-Driven Depletion: Link menu items to recipes so selling a dish draws down its ingredients automatically. - Movement Ledger: Every receipt, depletion, waste event and adjustment recorded as a movement you can trace. - Waste Log & Auto-86: Log waste with a reason, and let items go unavailable automatically when an ingredient runs out. #### Payments Take money through the provider you already use. - Provider Registry: PayPal alongside cash, card terminal, bank transfer, voucher, on-account and pay-on-arrival. Stripe, Adyen, Square, SumUp, gift card and loyalty ship listed as Coming soon and are enabled in later updates. - Redirect & Webhook Flows: Hosted-checkout redirects with a webhook backstop, so a settlement is never lost to a closed browser tab. - Transactions Ledger: Every capture, refund and adjustment in one filterable admin view with CSV export. - Refunds: Full and partial refunds issued back through the original provider and recorded against the order. #### Staff & Terminals Put the right screen in the right pair of hands. - Roles & Permissions: Sixteen feature areas with per-action grants, assigned to Joomla users by role. - Staff Terminals: Lean POS, KDS, pickup, waiter, host and clock-in views that run on a tablet with no Joomla login. - Device Token + PIN: Terminals are provisioned once, then staff identify themselves with a PIN — restrictable per terminal. - Time Clock: Clock in and out, take breaks, and report hours and labour cost per shift. #### Multi-Location One install, however many venues. - Location Records: Each venue carries its own hours, contact details, tax and service-charge settings. - Per-Location Menu & Stock: Override price and availability per venue, and track stock separately at each. - Scoped Staff & Terminals: Bind a terminal or a staff member to one location so it can never act on another. #### Configuration Turn the product into your product. - Thirteen Toggleable Modules: Switch off KDS, delivery, inventory, loyalty or the public API — dependent modules grey out automatically. - Terminology Editor: Rename anything the UI calls something you don't — "check" to "bill", "server" to "waiter". - Currency, Tax & Formatting: Currency, position, decimals, tax rate, service charge, date format, timezone, units. - Demo Mode: A one-switch, read-only tour with seeded data that refuses every write, for showing the product safely. #### Developer A modern stack with nothing deprecated in it. - Single-Page Admin: The back office is one fast app — no page reload as you move between orders, the kitchen and the till. - Search-Friendly Storefront: Your menu and ordering pages are real pages: fast to load and readable by search engines. - REST API & Webhooks: An opt-in public API and outbound webhooks for integrating whatever you run alongside. - Namespaced Joomla MVC: Joomla 4, 5 and 6 on PHP 8.1+, GPL licensed and upgrade-safe. ### Smart Local Google Analytics Running Google Analytics without proper consent management puts your site at legal risk. Most consent solutions are bloated or rely on third-party services that introduce their own privacy concerns. Smart Local Google Analytics is a lightweight, self-hosted alternative built for Joomla.Enter your GA4 or GTM tracking ID and the plugin handles everything: it blocks all tracking until your visitor consents, serves a beautiful consent dialog, and injects analytics code only after acceptance. Local script hosting, smart geo-detection, dark mode, WCAG 2.1 AA accessibility, and five color themes — all with zero external dependencies. - Type: Plugin - Starting from: €15.00 — 1 year of free updates and support and unlimited installation - License: Open Source (GPL v3) - [Smart Local Google Analytics](https://www.nextsoftware.dev/joomla-extensions/smart-local-google-analytics) #### Cookie Consent Secure, GDPR-compliant consent collection out of the box. - Accept & Decline Dialog: Clear, honest choices with equally prominent buttons - Configurable Cookie Lifetime: Session-based or custom duration from 1 to 365 days - Privacy Policy Link: Select any Joomla menu item as your privacy policy page - Secure Cookies: HttpOnly, Secure, and SameSite=Lax flags on every cookie - CSRF Protection: Tamper-proof form submission with token validation #### Analytics Integration Full support for Google Analytics 4 and Google Tag Manager. - GA4 & GTM Support: Works with Measurement IDs (G-XXXXXXXXXX) and GTM containers (GTM-XXXXXXX) - Consent-First Injection: Scripts load only after explicit visitor consent - Legacy Mode: Auto-detects existing GA/GTM code in your template and blocks it until consent - Local Script Hosting: Downloads tracking JavaScript to your server for maximum privacy and speed - Configurable Refresh: Set how often locally hosted scripts update (1-30 days) - One-Click Cache Clear: Purge cached scripts from the admin panel instantly #### Design & Themes Beautiful consent dialogs that match your brand perfectly. - 4 Positions: Center modal, full-width bottom bar, bottom-right corner, or bottom-left corner - 5 Color Themes: Clean, Midnight, Forest, Slate, and Warm — each with a dark mode variant - Custom Colors: Full color picker for background, text, and button colors individually - 4 Animations: Fade in from top, bottom, left, or right - Custom Text: Set your own headline, message, and icon without editing language files #### Dark Mode Automatic or forced dark mode with full theme support. - Auto Detection: Reads OS/browser preference via prefers-color-scheme - Force Mode: Override visitor preferences with always-light or always-dark - Custom Dark Palette: Define separate colors for dark mode when using the custom theme #### Geo-Detection Show consent dialogs only where regulations require it. - Language-Based Detection: Reads the browser Accept-Language header — no third-party APIs - EU, EEA & UK Coverage: All 27 EU member states, EEA countries, and UK/Ireland - 3 Non-EU Behaviors: Auto-agree, show consent dialog, or skip plugin entirely - Region Toggles: Enable or disable EU, EEA, and UK consent regions independently - Safe Defaults: Unknown visitors always see the consent dialog #### Page Rules Decide exactly where tracking runs on your site. - Include or Exclude Pages: Run tracking on all pages, only on selected pages, or on all except selected ones - Menu Items & Components: Select pages by Joomla menu item or by whole component, such as login or checkout - URL Patterns: Match page paths with * wildcards, for example /checkout/* - Never Track User Groups: Keep administrators or other user groups out of your statistics - Clean Excluded Pages: No tracking code and no consent dialog where tracking is switched off #### Accessibility WCAG 2.1 AA compliant for every visitor. - Keyboard Navigation: Full focus trap inside the consent dialog - Screen Reader Support: ARIA dialog role, aria-modal, and live regions - Reduced Motion: Respects prefers-reduced-motion for animations - Semantic HTML: Proper heading hierarchy, form labels, and descriptive aria-labels #### Developer Modern Joomla 4/5/6 architecture with no deprecated APIs. - Namespace-Based Plugin: SubscriberInterface event registration via getSubscribedEvents() - Dependency Injection: Clean DI through services/provider.php - WebAssetManager: All assets loaded via joomla.asset.json registry - Zero Runtime Dependencies: Everything runs on your server — no external calls - Multilingual: en-GB and de-DE included; add any language with .ini files - Open Source: GPL v2 license or later and upgrade-safe ### Smart Local Google Maps - Type: Plugin - License: Open Source (GPL v3) - [Smart Local Google Maps](https://www.nextsoftware.dev/joomla-extensions/smart-local-google-maps) ### Smart Local Youtube - Type: Plugin - License: Open Source (GPL v3) - [Smart Local Youtube](https://www.nextsoftware.dev/joomla-extensions/smart-local-youtube) ## Extension Categories ### Automation Workflow automation, bots and integration tools - Extensions in category: 0 - [Browse Automation extensions](https://www.nextsoftware.dev/joomla-extensions/category-automation) ### Booking Appointment scheduling, reservations and booking systems - Extensions in category: 1 - [Browse Booking extensions](https://www.nextsoftware.dev/joomla-extensions/category-booking) ### Calendars & Events Event management, calendars and scheduling - Extensions in category: 0 - [Browse Calendars & Events extensions](https://www.nextsoftware.dev/joomla-extensions/category-calendars-events) ### Collaboration Team communication, project management and collaboration tools - Extensions in category: 1 - [Browse Collaboration extensions](https://www.nextsoftware.dev/joomla-extensions/category-collaboration) ### Contact & Feedbacks Contact forms, surveys, reviews and feedback tools - Extensions in category: 0 - [Browse Contact & Feedbacks extensions](https://www.nextsoftware.dev/joomla-extensions/category-contact-feedbacks) ### Content Content creation, management and publishing tools - Extensions in category: 0 - [Browse Content extensions](https://www.nextsoftware.dev/joomla-extensions/category-content) ### Directory Business directories, listings and member directories - Extensions in category: 0 - [Browse Directory extensions](https://www.nextsoftware.dev/joomla-extensions/category-directory) ### eCommerce Online stores, shopping carts and product catalogs - Extensions in category: 1 - [Browse eCommerce extensions](https://www.nextsoftware.dev/joomla-extensions/category-ecommerce) ### Education Learning management, courses and educational tools - Extensions in category: 1 - [Browse Education extensions](https://www.nextsoftware.dev/joomla-extensions/category-education) ### Finance Accounting, invoicing, payments and financial management - Extensions in category: 0 - [Browse Finance extensions](https://www.nextsoftware.dev/joomla-extensions/category-finance) ### Human Resources HR management, recruitment and employee tools - Extensions in category: 0 - [Browse Human Resources extensions](https://www.nextsoftware.dev/joomla-extensions/category-human-resources) ### IT & Help Desk Support tickets, knowledge base and IT service management - Extensions in category: 0 - [Browse IT & Help Desk extensions](https://www.nextsoftware.dev/joomla-extensions/category-it-help-desk) ### Multimedia Image galleries, video players and media management - Extensions in category: 0 - [Browse Multimedia extensions](https://www.nextsoftware.dev/joomla-extensions/category-multimedia) ### Sales & Marketing CRM, lead generation, email marketing and sales tools - Extensions in category: 0 - [Browse Sales & Marketing extensions](https://www.nextsoftware.dev/joomla-extensions/category-sales-marketing) ### Security & Access Security, authentication and access control tools - Extensions in category: 0 - [Browse Security & Access extensions](https://www.nextsoftware.dev/joomla-extensions/category-security-access) ### SEO & Privacy Search engine optimization, privacy and analytics tools - Extensions in category: 3 - [Browse SEO & Privacy extensions](https://www.nextsoftware.dev/joomla-extensions/category-seo) ### Tools Administration tools, dev tools, editing tools and more - Extensions in category: 2 - [Browse Tools extensions](https://www.nextsoftware.dev/joomla-extensions/category-tools) ## Extension Types ### Plugins Plugins are event-driven extensions that enhance Joomla behavior system-wide. - Extensions of type: 3 - [Browse Plugins extensions](https://www.nextsoftware.dev/joomla-extensions/type-plugin) ### Packages Packages bundle several extensions together so they install, update, and uninstall as a single unit. - Extensions of type: 6 - [Browse Packages extensions](https://www.nextsoftware.dev/joomla-extensions/type-package) ## News ### Tutorials #### Joomla Language Overrides: Change Any Text Without Touching Core Files (and How WordPress Compares) Sooner or later every site owner wants to change a piece of text they didn't write: a "Read more" button, a login label, a form message from an extension. In Joomla you do that from the administrator with Language Overrides, a core feature that needs no plugin and survives every update. This tutorial walks through it on Joomla 6.2, then compares it with the ways WordPress 7.1 handles the same job. What a language override is Joomla never prints interface text directly. Every label, button and message is a language constant that points to a value in an INI file. For example, the button under a blog article's intro text comes from this line in language/en-GB/joomla.ini: JGLOBAL_READ_MORE_TITLE="Read more: %s" An override is a second line with the same constant and your own value. Joomla stores it in a separate file and reads it after the original, so your version wins: ; language/overrides/en-GB.override.ini JGLOBAL_READ_MORE_TITLE="Continue reading: %s" Three things follow from that design: Updates don't touch it. Joomla and extension updates replace the files in language/en-GB/, but they leave language/overrides/ alone. It works for extensions too. Any component, module, plugin or template that uses Joomla's language system can be overridden the same way, without editing its files. Front end and administrator are separate. Site overrides live in language/overrides/, administrator overrides in administrator/language/overrides/, one file per installed language. You never have to edit these files by hand. The admin screen writes them for you. When you need a language override Any text that comes from Joomla or an extension, rather than from content you typed yourself, can be changed with an override. These are the situations where people reach for it most: Your site has its own vocabulary. A school has "students", a club has "members", a shop has "customers". Joomla's generic "Username" or "Create an account" can say what your visitors actually call things. Brand voice. "Read more …" and "Thank you for your email." are fine but bland. Overrides let buttons and messages sound like the rest of your site. A translation is wrong or awkward. Language packs are written by volunteers, and sometimes a string is too literal, too formal, or just a mistake. Fix that one string for your language without forking the pack or waiting for the next release. Regional spelling and wording. Joomla's default English is British. If your audience is American, an override turns "Use Dark colour scheme" in the user profile into "color". An extension's wording doesn't fit your use. A booking extension says "Add to cart" when you want "Book now". A form extension's success message doesn't mention your reply time. You don't need to wait for the developer or edit their files. Clearer messages and instructions. Login errors, form validation messages and empty-state text are written for every site at once. You can make them specific to yours, which cuts down on support emails. Simpler wording for clients in the administrator. Agencies often rename confusing back-end labels so the people editing the site understand them, with no effect on the front end. One language on a multilingual site. Change the French wording without touching the English or German, because each language has its own override file. It's the wrong tool in a few cases: Text you wrote yourself. Article text, menu item titles, module titles and custom fields are content. Edit them where you created them. Layout or HTML changes. Moving a button, adding an icon or removing an element is a job for a template override. Hard-coded text. If an extension prints text directly instead of using a language constant, there's nothing for an override to replace. The Debug Language check below shows you which case you're in. Step by step: your first override We'll change the blog's "Read more: …" button to "Continue reading: …". The screenshots are from a clean Joomla 6.2 install with the Blog sample data and the default Cassiopeia template. If you're still on 6.1, the screens are the same. Our Joomla 6.2 "Mwezi" overview covers what else changed in that release. 1. Open Language Overrides Go to System and find Language Overrides in the Manage panel. System → Manage → Language Overrides. 2. Choose the language and location The dropdown at the top lists every installed language twice, once for Site (the front end) and once for Administrator. The "Read more" button is on the front end, so pick English (United Kingdom) - Site. A new install has no overrides yet, so the list is empty. The Overrides list, filtered to the English front end. 3. Search for the text you want to change Click New. The right-hand panel searches every language string Joomla knows about. Leave Search For on Value, type the text as you see it on the page (Read more:) and press Search. You'll often get more than one result. Here there are three: COM_CONTENT_READ_MORE_TITLE, JGLOBAL_READ_MORE_TITLE and MOD_ARTICLES_CATEGORY_READ_MORE. They hold the same words but are used in different places. The blog layout in Joomla 6 uses JGLOBAL_READ_MORE_TITLE. If you aren't sure which one a page uses, the Debug Language trick further down tells you. 4. Pick the constant and write your text Click the result you want. Joomla copies the constant into Language Constant and the current value into Text. Change the text to Continue reading: %s and keep the %s: that's where Joomla inserts the article title. Then click Save & Close. Search on the right, override on the left. The For Both Locations box saves the same override for Site and Administrator in one go. The new override appears in the list, where you can edit or delete it later. Saved. Joomla wrote the line to language/overrides/en-GB.override.ini. 5. Check the front end Reload the home page. Every button that uses that constant has changed, including the ones in modules. Same page, one override, no files edited. Three overrides worth making on most sites Read more buttons. JGLOBAL_READ_MORE_TITLE (with the title) and JGLOBAL_READ_MORE (without it). Wording like "Continue reading" or "Full story" fits your voice better. Joomla also uses JGLOBAL_READ_MORE_TITLE for the button's aria-label, so screen-reader users hear your wording too. Login module labels. MOD_LOGIN_VALUE_USERNAME ("Username") and MOD_LOGIN_REGISTER ("Create an account"). If your members know their login as a "member number" or "customer ID", say so on the form. Contact form confirmation. COM_CONTACT_EMAIL_THANKS ("Thank you for your email.") is a good place to tell people when to expect a reply. The same approach works for extension strings. If a component's button label or email subject doesn't fit your site, search for the text, override it, done. When you choose extensions, it's worth checking that they ship proper language files. An extension that hard-codes its text can't be changed this way. If you're shopping for one, our Joomla extensions catalogue is a good place to start. Finding the constant when search isn't enough Searching by value works until the same words appear in a dozen constants, or the text on the page has been shortened or styled. Joomla has a built-in way to see which constant produced each string: Debug Language. Open System → Global Configuration → System. Set Debug Language to Yes and Language Display to Constant, then save. Reload the page you want to change. Global Configuration → System → Debug. Every translated string is now shown as its constant, wrapped in **. A string wrapped in ?? has no translation loaded. Text with no markers at all is hard-coded, which means an override can't reach it and you'll need a template override instead. With Debug Language on, the button shows the exact constant to override. Turn Debug Language off again when you're done. Visitors see the markers too. How WordPress handles the same job WordPress has no screen for this in core. Its text also runs through translation functions (__(), _e() and friends) with a text domain such as default for core or woocommerce for that plugin, but changing the English text means picking one of the following. Option 1: a gettext filter in code The developer route is a filter in your child theme's functions.php or in a small custom plugin. Since WordPress 5.5 you can target one text domain with gettext_{$domain}, which is lighter than the catch-all gettext filter: add_filter( 'gettext_default', function ( $translation, $text ) { if ( 'Lost your password?' === $text ) { return 'Forgot your password?'; } return $translation; }, 10, 2 ); It works, and it can do things Joomla overrides can't, such as changing a string only on one post type. The downsides: you need to know the exact original string and its text domain, plural strings (_n()) and strings with context (_x()) need their own filters, and the WordPress reference itself warns that gettext callbacks run for every translated string on the page. If you put the snippet in a parent theme's functions.php, the next theme update deletes it. Option 2: edit the translation files You can create your own .po/.mo files, but files in wp-content/languages/ are replaced whenever WordPress installs a language-pack update. Since WordPress 6.5, language packs also ship a .l10n.php file, and WordPress loads that instead of the .mo when both exist. So an edited .mo can be silently ignored even before the next update overwrites it. Option 3: Loco Translate Loco Translate (over a million active installs) adds a translation editor to the dashboard. It scans source files for strings and lets you save your edits in a protected languages/loco/ folder that updates don't overwrite. That folder is the important part: pick the System location shown below and the next language update erases your work. Loco Translate asks where to store the file. Only Custom is safe from updates. It's a capable tool, but it's a full translation editor built for translating sites into other languages. Changing one English label means creating an English "translation" of the whole text domain, and on a fresh English install Loco first warns that there's no template file and suggests you create one. Option 4: Say What? Say What? is the closest thing to Joomla's screen: a list of replacements under Tools → Text changes. You enter the original string, its text domain and the replacement, and it's stored in the database, safe from updates. Say What? on WordPress 7.1. You must already know the exact string and its text domain. What it doesn't do in the free version is help you find the string. There's no search across installed strings. You type the original exactly, or you look it up in the source code. String discovery is part of the paid Pro version. Side by side Joomla 6 Language OverridesWordPress 7.1 In coreYes, System → Language OverridesNo. Code snippet or plugin Find the string from the adminSearch all strings by text or constantLoco scans files; Say What? free needs the exact string See which string is on the pageDebug Language shows constants in placeNo core equivalent Survives core and extension updatesYes, separate override filesOnly if stored in the right place (child theme, languages/loco/, plugin database) Front end and admin separatelyYes, Site and Administrator are separateOnly by text domain, or with conditions in code Per language on multilingual sitesYes, one override file per installed languagePer locale with Loco; in code you add the checks yourself Conditional changes (one page, one post type)No, overrides apply site-wide per languageYes, with a gettext filter Skills neededAdmin accessPHP, or a plugin and its settings Why Joomla's approach holds up better WordPress can change almost any string. The difference is who can do it, how they find the string, and whether the change is still there next month. It's part of the product. Every Joomla site has the same screen in the same place. There's no plugin to choose, update, or replace when it's abandoned, and no snippet that only the developer who wrote it understands. You can find the string without reading code. Search by visible text, or turn on Debug Language and read the constant off the page. On WordPress, finding the original string and text domain is often the hardest part. Updates are a non-event. Overrides sit in their own files that Joomla's updater doesn't touch. On WordPress, whether a change survives depends on where you put it, and the wrong choice fails silently. It respects the structure of the site. Front end and administrator, and each installed language, have their own overrides, which matters for agencies running multilingual client sites. Where WordPress is ahead is conditional logic. A developer can change a string only on the checkout page, and Joomla overrides can't do that. For the everyday job of making a site say what its owner wants it to say, Joomla's built-in tool is faster and safer, and you can hand it to a non-developer. Troubleshooting: the override doesn't show Wrong location. A Site override doesn't affect the administrator, and the other way round. Check the dropdown, or tick For Both Locations. Wrong language. On a multilingual site, add the override to each language that needs it. Wrong constant. If search returned several constants with the same text, you may have overridden one the page doesn't use. Confirm with Debug Language. Cached pages. If page caching is on, clear it under System → Clear Cache, along with any CDN or server cache. A new extension's strings don't appear in search. The search uses its own index. Click Clear Cache in the Overrides toolbar to rebuild it. Placeholders went missing. If the original contains %s or %d, keep them in your text. Joomla fills them with titles, names or numbers. The text is hard-coded. If Debug Language shows no markers around it, the template or extension prints it directly. Use a template override, or ask the developer to move the text into a language file. Links Joomla Help: Languages: Overrides WordPress Developer Reference: gettext_{$domain} Make WordPress Core: performant translations in WordPress 6.5 Loco Translate: custom translations and the protected folder Say What? on WordPress.org - Published: 2026-10-24 - Category: Tutorials - [Joomla Language Overrides: Change Any Text Without Touching Core Files (and How WordPress Compares)](https://www.nextsoftware.dev/news/joomla-language-overrides-vs-wordpress) ### Security #### PHP2Shell: Is Your Joomla Site Safe? What to Do Today Short version: two critical security holes were found in PHP, the language Joomla runs on. They are nicknamed PHP2Shell. Joomla itself is not broken, but every Joomla site running on an unpatched PHP version is at risk. The fix is to update PHP to 8.2.35, 8.3.36, 8.4.27 or 8.5.12 (or newer). Do it today. What happened? On 21 October 2026 the PHP team released emergency updates for two flaws, CVE-2026-109618 and CVE-2026-109619, both rated critical (9.2 out of 10). Details leaked online a day before the planned announcement, so attackers learned about the problem at the same time as everyone else. Security companies such as watchTowr and Cloudflare report that the first attack attempts have already started. Think of your Joomla site as a house. Joomla's login, permissions and security extensions are the front door. PHP2Shell lets an attacker get in through the foundations, before the front door is even reached. The attacker doesn't need a username, a password or a vulnerable extension. A specially crafted request to any page can be enough to run their own code on your server. The researchers at Wiz demonstrated exactly this against a default Joomla installation, as well as WordPress and Drupal. That is why updating Joomla or your extensions does not fix this. Only an updated PHP does. Is my Joomla site affected? If your site runs on a PHP version older than the ones below, yes. Almost every PHP version from the last ten years is affected. Check your PHP version in 30 seconds Log in to your Joomla administrator. Go to System → System Information. On the System Information tab, look at PHP Version. Compare it with this list: PHP 8.5.x → safe from 8.5.12 PHP 8.4.x → safe from 8.4.27 PHP 8.3.x → safe from 8.3.36 PHP 8.2.x → safe from 8.2.35 PHP 7.4, 8.0, 8.1 → no official PHP release. You are only safe if your host installed a patched build (Plesk, cPanel and CloudLinux are shipping these, see below). These builds often keep the same version number (for example 8.1.34 on Plesk), so ask your host or check the build date. Plan a move to PHP 8.3 or newer. PHP 7.3 or older → no fix exists. Upgrade PHP now. Good news for Joomla 5 and 6 users: they already require PHP 8.1 or newer, so you are usually one PHP update away from being safe. What hosting providers did Linux distributions and the big hosting control panels received the fix before the public release, so most of them reacted quickly: Plesk confirmed that all PHP versions it ships were affected and has released patched builds: PHP 8.2–8.5 on Linux and Windows, plus rebuilt copies of the older 7.4, 8.0 and 8.1 versions on Linux. The PHP that runs the Plesk panel itself gets its fix in Plesk 18.0.80 update #11 and 18.0.81 update #4. For PHP 5.6, 7.2 and 7.3, Plesk points to paid TuxCare extended support. cPanel / WHM is rolling out patched EasyApache 4 PHP packages (ea-php). Run the system update in WHM and confirm the PHP version afterwards; on CloudLinux servers the ea-php fixes arrive through CloudLinux. CloudLinux shipped three Imunify360 firewall rule sets on 21 October (8.83, 8.84 and 8.85) that block the public exploit tool and its variants, and gives scanning IP addresses a CAPTCHA. Patched alt-php and ea-php packages, including old versions such as 7.4, 8.0 and 8.1, are being released system by system; follow the CloudLinux status page for your OS. DirectAdmin servers need PHP rebuilt through CustomBuild. Cloudflare added firewall rules for the known attack patterns on all plans, including the free plan. On shared hosting? Your host manages PHP for you. Check their status page or open a ticket and ask: "Is PHP on my account patched against CVE-2026-109618 and CVE-2026-109619?" Then confirm the version yourself in Joomla's System Information. What we did at NextSoftware Our sites run on a VPS with Plesk, and for us the fix was simple: we updated the Plesk components and everything went smoothly. Plesk had already published patched packages for every PHP version on the server, including the older ones, and it also added extra security rules on top. Our website also sits behind Cloudflare, whose firewall now blocks the known attack patterns, which gives us a second layer of protection. Step by step: update PHP on Plesk Back up first: Tools & Settings → Backup Manager → Back Up. Go to Tools & Settings → Updates (Plesk Installer) and install the available updates for the PHP components. From SSH you can run plesk installer update instead. Check the result in Tools & Settings → PHP Settings. The version shows in each handler's name and should be the patched number (for example 8.3.36). From SSH: /opt/plesk/php/8.3/bin/php -v (change 8.3 to your version). For the old PHP 7.4, 8.0 and 8.1, the number stays the same (7.4.33, 8.0.30, 8.1.34). Look at the build date in the php -v output instead: a build from 21 October 2026 or later includes the fix (see the Plesk advisory). Check each Joomla site in System → System Information. If your server isn't getting updates, check that it uses the official Plesk mirror. Some hosting companies run their own mirrors that update later. Step by step: update PHP on cPanel / WHM In WHM, run the system update (Home → Software → Update System Software), or from SSH run dnf update 'ea-php*' (yum on older systems). Restart PHP and Apache: /scripts/restartsrv_apache_php_fpm and /scripts/restartsrv_httpd. Confirm the version in MultiPHP Manager and in Joomla's System Information. On CentOS 7, or with PHP 7.3 and older, the standard packages won't get a fix. Only paid extended support (CloudLinux alt-php or TuxCare) covers them, so the real answer is moving to a supported system and PHP version. Can't update yet? Temporary protection Important: these steps make an attack much harder, but they are not a fix. The PHP team is clear in its official advisories that updating is the only complete solution. Use them to buy a few hours or days, not as a permanent answer. 1. Turn off "session upload progress" The public attack abuses a little-known PHP feature that reports upload progress. Joomla doesn't use it, so it's safe to switch off, and the PHP team recommends leaving it off even after patching. Add this line: session.upload_progress.enabled = 0 Plesk: Websites & Domains → your domain → PHP Settings → Additional configuration directives, or server-wide in Tools & Settings → PHP Settings → choose the version → php.ini. cPanel / WHM: MultiPHP INI Editor → Editor Mode. Your own server: in php.ini, or in a new file in the conf.d / php.d folder. It has to be set at server level. Setting it in .user.ini or from PHP code with ini_set() comes too late to help. Restart PHP afterwards (PHP-FPM or Apache), otherwise the running workers keep the old setting. 2. On PHP 8.5, also turn off error backtraces fatal_error_backtraces = 0 This closes the most reliable attack path on PHP 8.5. Add it the same way as above and restart PHP. 3. Put a web firewall in front of your site If your domain isn't on Cloudflare yet, the free plan now blocks the known attack patterns. If your server has Imunify360, make sure its rules are up to date (ruleset 8.85 or newer; force an update with imunify360-agent update --force modsec-rules). The rules only protect you when Imunify's web firewall (ModSecurity) is switched on, and on LiteSpeed servers the blocking rule only logs attempts. A firewall only stops attacks it recognises, so it is a safety net and not a fix. 4. Remove PHP settings from .htaccess On servers running PHP as an Apache module (mod_php), php_value and php_flag lines in .htaccess can help the attack. Move these settings to the hosting panel's PHP settings and delete them from .htaccess. 5. Keep upload limits sensible Very large request sizes make the attack easier. Don't leave post_max_size and upload_max_filesize at huge values "just in case". Set them to what your site actually needs. 6. Last resort: take the site offline If the site runs on a very old PHP version that will never be patched, the UK's National Cyber Security Centre advises taking it offline until it's fixed. In Joomla, System → Global Configuration → Site Offline hides the front end. Keep in mind the PHP flaw sits below Joomla, so the safest option is blocking access at server or firewall level until you can upgrade. After patching: a quick health check Because attacks started before many servers were updated, spend ten minutes checking your site: Look for administrator accounts you don't recognise in Users → Manage. Look for unexpected .php files in folders that should only hold media, such as images/, media/ and tmp/. Check System → Update → Extensions and install any pending updates while you're there. If anything looks suspicious, change your admin and database passwords and restore from a clean backup. Don't fall for fake "exploit" downloads GitHub and social media are already full of projects claiming to be PHP2Shell "tests" or "exploits". Security researchers warn that some of them are malware that steals passwords from whoever runs them. Don't download or run unknown scripts to "check" your site. The version check above is all you need. Need a hand? Not sure which PHP version your site really uses, can't find the right setting in your hosting panel, or worried your site may already have been hit? We can help. Our Joomla Security & Performance service includes a security audit, site hardening, malware removal and recovery, and backup and disaster-recovery setup, so your Joomla site is patched, cleaned up if needed, and better protected against the next one. Sources and further reading PHP security advisory: CVE-2026-109618 (RCE via OOM corruption) PHP security advisory: CVE-2026-109619 (RCE via stale global state) PHP downloads and release notes Plesk advisory: PHP shipped with Plesk CloudLinux / Imunify360 update CloudLinux status page: patched packages per system Wiz Research: how PHP2Shell was discovered Help Net Security: PHP2Shell patched, update now - Published: 2026-10-21 - Category: Security - [PHP2Shell: Is Your Joomla Site Safe? What to Do Today](https://www.nextsoftware.dev/news/php2shell-is-your-joomla-site-safe) ### Product Updates #### Introducing Next Boards: Kanban project and task boards for Joomla Today we are releasing Next Boards 6.0.0, a Trello-style Kanban project and task board that runs inside every supported version of Joomla. Plan work on boards of lists and cards, in the administrator, on your site and on a phone, under the Joomla accounts your team already has. Why a task board inside Joomla Managing projects usually means leaving Joomla for a separate online service: another login, another subscription per user, and your data on someone else's server. Next Boards keeps the boards where your site already lives. Boards, cards and uploaded files stay in your own database and on your own server, and there is no limit on the number of users or boards. Boards, cards and four ways to view them Create a board for each project, blank or from a template (Kanban, Scrum, Bug tracker, Content calendar, Personal), split it into stages and drag cards along as the work advances. Lists, cards, labels, due dates and members: drag a card and the board keeps up. A card holds everything about its task: a Markdown description, priority, start and due dates with a reminder coloured labels and as many assignees as you need checklists whose steps can have their own assignee and due date, or become cards custom fields per board: text, number, date, checkbox and dropdown comments with @mentions and emoji reactions, attachments and a cover image Members, dates, checklists, custom fields and a discussion with reactions, all on the card. The same board reads as a Kanban board, a sortable List with bulk actions, a Calendar by due date, or a Roadmap timeline from start to due date. Capture, plan and automate Personal Inbox: a private list for what is not sorted yet. Forward an e-mail to your own address and it becomes a card, attachments included. Planner: drag cards onto your own day and week to decide when you will do them. My Tasks: everything assigned to you across all boards, also as a calendar feed for Google Calendar, Outlook or Apple Calendar. Automation: rules, card and board buttons and scheduled commands that move, label, assign and complete cards for you. The automation guide shows each kind. Built for teams Workspaces group boards by team or client, each with its own admins and members. A board is private, visible to its workspace, or public to every signed-in user, and its people are admins, members or observers. Site-wide roles, given to users or whole Joomla user groups, decide who may create boards and workspaces. Notifications arrive in the app and by e-mail, instantly or as a daily digest, and the dashboard and reports show throughput, workload and due dates. The App Manager switches off the parts you do not use, such as Planner, Automation or Reports, and keeps their data. On your site and on your phone Add one Boards menu item and signed-in site users work on their boards without any access to the administrator. On a phone, Next Boards opens its own touch app with tabs for Boards, My Tasks, Inbox, Planner and Notifications, and it can be installed to keep working offline: changes made without a connection are sent when you are back online. On a phone, Next Boards opens its own app: one list at a time, a thumb away. Why Next Boards is a good choice Open source. Next Boards is licensed under the GNU GPL, like Joomla itself. You can read every line, adapt it to your needs, and you are never locked in. Yours to keep. Your licence covers lifetime use of the software and unlimited manual installations. The subscription pays for support and automatic updates, not for the right to keep using your boards. No per-user fees. Add your whole team, your clients and your contractors. There is no limit on users or boards, and the price does not grow with your team. Your data stays home. Boards, cards and files live in your own Joomla database and on your own server, with no outside service in between. Native to Joomla. It uses your Joomla users and groups, your languages and your time zones, and it updates through Joomla's own updater like any other extension. Ready to try it? The quick start takes you from the package to your first board in a few minutes. - Published: 2026-10-19 - Category: Product Updates - [Introducing Next Boards: Kanban project and task boards for Joomla](https://www.nextsoftware.dev/news/introducing-next-boards-kanban-project-and-task-boards-for-joomla) #### Next Exams 6.2.0: Exam Studio, six visual question types, exam embeds and six new languages Next Exams 6.2.0 is out. It is the biggest release since launch: a new full-window Exam Studio for building exams, six visual question types answered on a picture, an exam start screen you can embed in any article or module position, clean exam addresses, and six new languages, Arabic among them, shown right to left. It installs on Joomla 4.4, 5 and 6 as before. Exam Studio: the whole exam on one screen The four-tab exam builder is gone. In its place, Next Exams opens one full-window studio with three parts side by side: an outline on the left, the exam as cards in the middle, and the selected question's settings on the right. You write and edit questions in place, with no trip to the question bank. You pick from the bank with search and filters, build random draws that show how many questions match while you set them up, and reorder by drag or keyboard. Undo and redo cover everything you arrange, and one Save button stores the exam and every changed question together. A question shared with other exams is read-only until you choose: edit it everywhere, or copy it for this exam. The studio also protects work that is already in use. Changing the answers of a question learners have answered saves a new version, and past results keep the old one. Unsaved changes survive a closed tab or an expired session. The Preview button shows the exam on your site's real exam page, at desktop, tablet or phone width, and records nothing. The Exam Studio guide walks through all of it. Six visual question types There are six new types: image choice, range (slider), hotspot, image marking, graph and puzzle. You draw hotspot and marking areas on the picture as rectangles, circles or polygons, and reshape them with handles. The range, graph and puzzle editors show the slider, the grid and the shuffled pieces while you set them up. Every visual type grades automatically, and the result shows the learner's answer drawn against the correct one. Each visual type can also be answered from the keyboard, with a screen reader, or with JavaScript switched off. Accessibility is part of the contract. A hotspot always offers a list of named places, and image marking offers named regions, so a learner who cannot use a pointer is never stuck. The new types are an app in the App Manager, so you can switch them off if you don't need them. Put an exam's start screen anywhere The {nextexam id=N} shortcode and the new NextExams - Exam module show an exam's real start screen inside an article or in a module position. That includes the access code, the guest details, and Start or Resume. A wrong code brings the learner back to the page they were on. With start=modal, the exam opens in a full-window view over the page and the result shows in the same window. See Site modules for the options. The embed follows the exam's access rules and your configured colours. Clean exam addresses Exam pages now use addresses like /exams/12-final-test, with an optional subject path such as /exams/mathematics/algebra/12-final-test. You can choose alias only or ID only instead. Every exam page names its canonical address, and old addresses redirect to it with a 301. Links in emails, certificate QR codes, invigilator invites and webhooks use the clean form too. SEF URLs and SEO explains each mode. Settings → SEF / SEO. Six new languages, right to left included Next Exams now ships in English, German, French, Italian, Spanish, Hungarian and Arabic. In Arabic, the administrator app, the live monitor and the exam pages all run right to left, and certificate PDFs print Arabic with joined letters. A string that has not been translated yet shows in English rather than as its code. See Languages and RTL. The exam runner in Arabic. Fixes worth knowing about Security: with Joomla's System - Page Cache plugin on, one guest could be shown another guest's exam or result page. Next Exams pages are no longer page-cached. If you use that plugin, please update. Editing a question after learners had answered it could score their answers as zero. Answers now keep their meaning across edits. Negative marking, a question's own "Shuffle options" switch and essay word limits were saved but never applied. All three now work. Updating Update from Joomla's Extensions → Update as usual. The update adds three columns to the questions table and four settings, and needs no extra steps. Existing questions all stay in the question bank, and old exam addresses keep working. The full 6.2.0 changelog lists every change. For the previous release, see Next Exams 6.1.0: Live Monitor redesign and timezones. - Published: 2026-10-17 - Category: Product Updates - [Next Exams 6.2.0: Exam Studio, six visual question types, exam embeds and six new languages](https://www.nextsoftware.dev/news/next-exams-6-2-0-exam-studio-six-visual-question-types-exam-embeds-and-six-new-languages) ### Joomla News #### Joomla 6.2 "Mwezi" Explained: A Better Editor, Safer Email and Security Update Flags Joomla 6.2.0, code name "Mwezi", was released on 13 October 2026. It has no single headline feature. Instead, more than 130 pull requests improve the things you use every day: the editor, categories, email and the update screen. Like any minor release, it has no backward-compatibility breaks. Should you update? Yes, and it should be an easy one. The server requirements are the same as for 6.1: PHP 8.3 or newer (8.4 recommended), MySQL 8.0.13+, MariaDB 10.4+ or PostgreSQL 12+. If your site runs 6.1 today, it can run 6.2. MariaDB is now listed as a fully supported database in its own right, not just as a MySQL variant. If you are still on Joomla 5.4, going to 6.2 is an upgrade, not a migration. Keep the Behaviour – Backward Compatibility 6 plugin enabled and most extensions will keep working. As always, take a backup first. If you missed the previous release, our Joomla 6.1 "Nyota" overview covers the workflow editor and the proof-of-work CAPTCHA. Writing content is smoother Most of the visible changes are in TinyMCE, which is now version 8.9.1: Media Manager picker — inserting an image opens Joomla's own Media Manager. One link picker — the article, contact and menu item buttons share a single modal. Read More button — built into the TinyMCE toolbar to split intro text from full text. Joomla's text filter by default — TinyMCE follows the filter settings in Global Configuration instead of its own list of allowed elements. What you set in Joomla is what the editor keeps. The shared Insert Link modal. Screenshot from pull request #48138. The new Read More button, shown in the TinyMCE toolbar settings. Screenshot from pull request #48236. Smaller things you'll notice Intro and full-text images get separate CSS class fields for the image and for its surrounding
. Category lists and blogs can show subcategory images (also for contacts and newsfeeds). Categories that only contain articles scheduled for later no longer look empty. The Login module can hide the "Forgot your password?" and "Forgot your username?" links without a template override. Nested submenus in the default menu layout open and close correctly. The administrator Help page was redesigned to match the Atum template. Fancy Select search results show their group name, which helps when picking a module position. The installer and the SVG upload check give clearer error messages. The redesigned Help page. Screenshot from pull request #46355, taken on a development build. Email without a stored password Joomla can now log in to an SMTP server with XOAuth2. Instead of saving your mailbox password in the configuration, you authorise Joomla once. The provider gives it a long-lived refresh token, and Joomla uses that token to get short-lived access tokens when it sends mail. This is most useful with Microsoft 365 and Google Workspace mailboxes. What's new for developers Flag your security releases Update manifests accept a new tag (#48127). The value is a severity from 0 to 4: My Extension 2.4.1 3 ... A flagged update in System → Update → Extensions. Screenshot from pull request #48127. Flagged updates are highlighted under System → Update → Extensions and on the dashboard. Joomla shows the highest severity of all releases newer than the installed one, so a site that skips a security release still sees the warning. This part was also backported to 5.4.9 and 6.1.4. A missing tag means "no information", not "safe". If you have your own tools that read or write Joomla's update tables directly, test them, because those tables have a new column. Enum form field A new enum form field takes its options from a PHP enum (#48113). If your extension already models statuses or types as enums, you no longer have to keep a separate list of options in the form XML. Content API Fetching a single article now returns introtext and fulltext as separate fields instead of one merged body (#44566). Check this if you consume the API from a headless frontend. Category endpoints accept a state filter (#46887). Under the hood The MVCFactory service provider was refactored so it is easier to extend (#47718). The JavaScript and CSS build pipeline was rebuilt, with new builders and a watch-all command. This only affects you if you build Joomla core from source. Core tests now run on PHPUnit 12. Deprecations to plan for Nothing is removed in 6.2, but two things are now deprecated: the CMS Crypt package (#47443) and the static methods of MailTemplate (#47717). Your code keeps working for now; plan the replacement before the next major version. Test your editor add-ons The TinyMCE jump from 8.6 to 8.9.1 and the switch to Joomla's text filter can change what the editor keeps. If your extension adds TinyMCE buttons, plugins or dialogs, or relies on markup that the filter might strip, test it on 6.2. Not in this release A shareable preview link for unpublished articles was announced during the beta, but it was removed before the final release (#48325). Don't look for it in 6.2. Links Official announcement on joomla.org GitHub release notes 6.1 to 6.2 upgrade notes for developers Technical requirements Download Joomla 6.2.0 - Published: 2026-10-13 - Category: Joomla News - [Joomla 6.2 "Mwezi" Explained: A Better Editor, Safer Email and Security Update Flags](https://www.nextsoftware.dev/news/joomla-6-2-mwezi-explained) ### Product Updates #### Next Exams 6.1.0: Live Monitor redesign, projector displays and timezones everywhere Next Exams 6.1.0 is available today, 25 September 2026. The Live Monitor has been rebuilt around the people who need a human, with two projector displays and invigilator access you can prepare before an exam starts. Timezones now apply on every screen and in every email, and certificates wait for the results. Updating from 6.0.0 needs no extra steps and changes no database tables. A Live Monitor that puts the people who need you first The old board gave every examinee the same weight and every action its own button. In 6.1.0 the Next Exams Live Monitor puts anyone who needs attention at the top, in this order: past their deadline, held by an invigilator, or offline. Each of those rows gets one clear fix, such as + Time or Release, and nothing else on the row competes with it. One status per examinee: Online, Offline · 3m ago, Held, Paused or Handed in, in words as well as colour. Filter chips and name search replace the counter tiles, with Needs attention first. One section per exam, each carrying that room's own actions. People who have handed in fold into a collapsed row at the bottom. Countdowns tick every second, and on tablets and narrow screens the table becomes cards. Everything about one person in one panel Click a name and a details panel opens next to the list. It explains in one sentence why the person needs attention and shows their time left, progress, the question on screen and when they were last seen. It also offers the actions that fit their state, with labels that follow it, so a held examinee is offered Release rather than a menu of look-alikes. Below the actions sit a note shared with the other invigilators, the integrity signals explained in words, and this person's history. More time for the whole room When the Wi-Fi drops for everyone, you can now give the whole exam more time in one step instead of row by row. The monitor warns you when the extra time would run past the exam's closing time, and pausing a whole exam now asks for confirmation first. Two displays for the projector The Room clock is safe to show examinees. It gives the exam's title, a large countdown to the end, the current time and how many are still writing, and never shows a name. The Staff wall is a large-type, read-only list for the invigilators' side of the room, with attention first; when the room does not fit on one screen it pages by itself. Both open full screen from the Display menu. Invigilators, ready before the exam starts The exam picker now also lists exams nobody has started yet, whether open now, opening soon or found by search, so you can issue invigilator links and PINs the day before rather than once the room has filled. Each invite comes with a QR code to scan from a tablet. Two security changes come with it: an invigilator link or PIN can no longer take time away from an exam, and giving a whole room extra time requires a Joomla account. Timezones, applied everywhere The timezone setting used to be saved and then ignored. It now applies to every screen, export, certificate and email, and the setting itself is a searchable list that follows the site by default. Exam dates are entered in your own timezone, and learners can see and change theirs on the site. The exam page now shows when an exam opens, closes and is due. The settings documentation explains which timezone each screen and email uses. Certificates wait for the results A new My Certificates page lists a learner's certificates. A certificate is issued the moment an attempt passes, so until 6.1.0 a download or an email could tell a learner they passed before you had released the results. Now the download, the certificate issued email and the My Certificates module all wait. A held email goes out once the results are released. The certificates documentation covers each release policy. Fixes A disconnected examinee could still show as online on the Live Monitor. Clocks froze in the optional streaming mode. Invigilators using an invite link saw no action buttons. The editor opened empty when reopening saved content. A locked Live Monitor showed the exam number instead of its name. What this means for you 6.1.0 arrives through Joomla's own updater with your download key and runs on Joomla 4.4, 5 and 6 with PHP 8.1 or higher. We tested the update from 6.0.0 on all three Joomla versions with both MySQL and MariaDB. Two changes may be visible after updating: Timezone. If you never changed the old UTC default, dates now follow your site's timezone. Certificate emails. On an exam whose results you release by hand, the certificate issued email now waits until you release them. The Live Monitor documentation walks through the new board. Links Full 6.1.0 changelog Next Exams documentation - Published: 2026-09-25 - Category: Product Updates - [Next Exams 6.1.0: Live Monitor redesign, projector displays and timezones everywhere](https://www.nextsoftware.dev/news/next-exams-6-1-0-live-monitor-redesign-projector-displays-and-timezones-everywhere) #### Next Inventory 6.1.0: App Manager, dark mode, and more Next Inventory 6.1.0 is available today, 5 September 2026. It adds an App Manager that switches whole areas on and off, a dark mode that follows Joomla, a fully translatable interface, FIFO and LIFO costing screens that were never reachable, and an installer that survives Oracle MySQL. Updating from 6.0.x takes nothing away. App Manager: switch off what you do not use The new App Manager turns whole areas of the component on and off from one card grid: ten switchable apps in four categories, plus nine core areas that are always on. Transfers, adjustments, reports, the warehouse overview, units, custom fields, notifications, quick search, the offline app and demo data can each be switched off; items, categories, warehouses, the stock ledger, recipients, roles and settings cannot. Switching an app off hides it from the menu, the routes and the dashboard, and refuses its requests; your data is never touched, so switching it back on restores everything exactly as it was. The confirmation dialog shows how much you actually use an app first. Dark mode that follows Joomla Next Inventory now follows Joomla's own light and dark setting, so it no longer shows a blinding white panel inside a dark administrator. The theme button in the top bar drives Joomla's own switch, so one click re-themes the whole admin. A new Appearance tab in Settings sets the default for the public catalogue, where Joomla has no colour scheme to follow. FIFO and LIFO costing, now reachable Choosing FIFO or LIFO in Settings changed how stock was costed, but every screen that reports on it stayed hidden. Switching to FIFO or LIFO now reveals the COGS Analysis and Inventory Aging reports, the Inventory Layers panel on an item, the COGS column on the transaction list, and the Cost/Unit field when you add stock, so incoming batches carry their real purchase cost instead of the item's list price. Everyday improvements Ctrl+K quick search — from anywhere, or Cmd+K on a Mac. Bulk actions on the Items list — publish, unpublish or delete several rows together. Unsaved-changes prompt — on every edit form and on Settings. Date pickers with presets — in your configured format, with Last 7, 30 and 90 Days and This Month shortcuts. Server-side sorting — a column sorts the whole list, not just the page in front of you. Low-stock widget — "View all" and "Add stock" now work, and the Items list gained low-stock and warehouse filters. Navigation — a breadcrumb trail in fullscreen mode, and an administrator sidebar grown from three entries to fifteen. Fully translatable The language file has grown from 145 entries to more than 800, where roughly a fifth of the interface had been reachable before. Language files are now installed where Joomla looks for them, so Joomla Language Overrides take effect throughout. Overrides made against 6.0.x had silently done nothing. Demo mode, rebuilt Installing demo data no longer wipes the site: sample rows are added alongside your own, every row is tracked, and removing the demo takes away only what it added. Visitors can now browse every screen read-only, on both the administrator and the public frontend. Install, remove and reset are restricted to Super Users, and a new scheduled task, "Next Inventory: Reset demo data", finally makes automatic resets work. Security and installation fixes Demo sites no longer accept changes through the public frontend. Publishing and unpublishing on nine configuration screens now requires permission. Requests are refused unless they are known to be read-only, closing nine kinds of write the old block missed. Installation no longer fails on Oracle MySQL; a failed install is safe to retry, and uninstalling removes everything it created. What this means for you Every feature you already had arrives switched on. Only two apps start off: the Progressive Web App, which keeps your existing choice, and Demo Data, which is new and opt-in. A demo installed by a version before 6.1.0 left no record of what it created, so removing it clears all inventory data; Next Inventory warns you first, so back up before you confirm. 6.1.0 runs on Joomla 4, 5 and 6 with PHP 8.1 or higher and arrives through Joomla's own updater with your download key. - Published: 2026-09-05 - Category: Product Updates - [Next Inventory 6.1.0: App Manager, dark mode, and more](https://www.nextsoftware.dev/news/next-inventory-6-1-0-app-manager-dark-mode-and-more) ### Comparisons #### Next Inventory vs Snipe-IT: asset tracking inside Joomla or in a separate app This article is for IT teams and office managers who run a Joomla site and need to know who has which laptop, and how much toner is left. It compares Next Inventory, a Joomla component, with Snipe-IT, a standalone open-source asset manager. Prices and features were checked on 5 September 2026. What Snipe-IT is Snipe-IT is a free, open-source IT asset and license management system. It is written in PHP on Laravel 12 and released under the AGPL-3.0. You can install it on your own server, where support comes from the community on GitHub and Discord. Or you can pay Snipe-IT to host it: Basic costs $39.99 a month or $399.99 a year, Small Business costs $99.99 a month or $999.99 a year, and a dedicated server starts at $249.99 a month. Snipe-IT is built for IT departments. It records who has each asset and when it was bought so it can be depreciated, tracks software licenses and their expiry dates, keeps accessories, consumables and components, and can ask a user to accept a EULA when equipment is checked out. LDAP, Google Secure LDAP and SAML logins are included, and the interface is translated into more than 55 languages. What Next Inventory is Next Inventory is a component that runs inside the Joomla site you already have. It tracks three kinds of items: assets you check out to people and expect back, consumables that get used up, and sellables with a stock level. Your staff log in with their Joomla accounts, roles can be given to whole Joomla user groups, and updates arrive through Joomla's own updater. A license is a one-time purchase: €59 for one year of updates and support, €99 for two years, €139 for three years, with unlimited installations and security updates for at least five years. The code is GPL, so it keeps working when the license period ends. Side by side Capability Next Inventory Snipe-IT Where it runs Inside your Joomla site Its own Laravel app on your server, or Snipe-IT hosting User accounts Your Joomla users and groups Its own users, plus LDAP and SAML Price One-time, €59 to €139 Free self-hosted; hosting from $399.99 a year Open-source license GPL v2 or later AGPL-3.0 Check assets out to people Yes, with serial numbers Yes, to users or locations Consumable stock and low-stock alerts Yes, email and browser push Yes, low inventory report Sellable stock Yes No Transfers between warehouses Yes, in batches with draft and finalise Not listed Barcode with a USB scanner Yes Yes Barcode with the phone camera in the browser Yes Not listed; QR labels for reader apps Software license tracking No Yes, with expiry alerts Depreciation No Yes EULA acceptance on check-out No Yes, with digital signature Custom fields Yes, 12 types, on items, warehouses and recipients Yes, on assets Role permissions Yes, per feature, per user or Joomla group Yes Stock valuation and FIFO/LIFO costing Yes Not listed Public REST API No Yes Translations Every string, through Joomla language overrides 55+ languages Where Next Inventory is the better fit You already run Joomla. Snipe-IT is a second application with its own server, its own login and its own patch cycle. Next Inventory installs like any Joomla extension and updates from the same screen as the rest of the site. You track more than IT hardware. Toner, lab reagents and packaging are consumables. Anything you sell is a sellable. All three share one catalogue and one stock movement screen, so a laptop check-out and a toner top-up land in the same log. Your staff scan with their phones. Next Inventory reads barcodes through the phone camera in the browser, with nothing to install. USB scanners work as well. You want to pay once. Hosted Snipe-IT starts at $399.99 a year. Self-hosting is free, but someone has to run and patch a Laravel server. Where Snipe-IT is the better fit Your job is IT asset management in the strict sense: software licenses with expiry alerts, depreciation, asset audits and EULA sign-off on check-out. Next Inventory has none of these. You need LDAP or SAML login and you do not have a Joomla site to attach the inventory to. You need a REST API, or you want the integrations and translations that come with one of the largest open-source asset communities. Try it Log in to the Next Inventory demo to check an item out and watch the log update. The installation guide takes a few minutes to follow, and Why Next Inventory fits internal inventory management explains the three item types in more depth. Sources Snipe-IT pricing Snipe-IT features Snipe-IT on GitHub - Published: 2026-09-05 - Category: Comparisons - [Next Inventory vs Snipe-IT: asset tracking inside Joomla or in a separate app](https://www.nextsoftware.dev/news/next-inventory-vs-snipe-it-asset-tracking-inside-joomla-or-in-a-separate-app) ### Tips & Tricks #### Why Next Inventory fits internal inventory management Most organisations keep track of their own equipment and supplies in a spreadsheet, and most of those spreadsheets are wrong within a month. Next Inventory is a Joomla component that replaces the spreadsheet with a proper audit-logged system: every laptop, tool, reagent and box of toner in one catalogue, every movement recorded, and an alert before anything runs out. The spreadsheet problem A spreadsheet has no memory. It shows the current count, not who changed it, when, or why. Nobody knows which of the three loan laptops is with the new starter, the toner ran out on Friday because nobody was watching that cell, and the annual audit turns into a week of asking around. Internal inventory is not a retail problem at a smaller scale. The questions are "who has it?" and "are we about to run out?", and those are the questions Next Inventory is built to answer. Three kinds of things you own Next Inventory separates what you track into three item types, because they behave differently. Assets are equipment you check out to people and expect back: laptops, cameras, tools. Consumables are supplies that get used up: paper, chemicals, packaging. Sellables are products with stock levels, for the sites that also sell. The item type decides which transactions are available: check-out and check-in for assets, add and remove stock with a mandatory reason for consumables and sellables. Items carry SKUs, barcodes, serial numbers, decimal quantities, unit prices and their own units of measurement with conversion chains. Know who has what Every check-out goes to a recipient with a name, email and department, and a serial-numbered asset is tied to that specific unit, so the transaction log shows exactly which laptop is with which person. Transactions are uneditable once saved. The only way to reverse one is to record the opposite transaction, which is what makes the log a true record of what happened rather than a tidied-up version of it. Stock quantities update automatically when a transaction saves, so there is nothing to keep in sync by hand. Never run out quietly Each item has a low-stock threshold. When the live quantity drops to it, the item shows in red on the Items list, a dashboard widget lists it, and subscribed users receive an email and, if enabled, a browser push notification. Alerts are throttled to once per 24 hours per item per user, so nobody's inbox fills up because one shelf is empty. The widget's "Add stock" shortcut opens the stock dialog for that item on the spot. Fast on the floor Any keyboard-wedge USB barcode scanner works with no drivers or configuration, and the built-in web scanner reads barcodes through a phone or tablet camera. Ctrl+K opens quick search from anywhere in the component to jump to an item by title, SKU or barcode, and a dedicated scanner page uses large fonts, high contrast and big tap targets for the stockroom. Only the parts you need An IT department does not need warehouse transfers, and a stockroom does not need custom fields. The App Manager switches whole areas off from one card grid and never deletes a thing. Roles carry granular per-feature permissions and are assigned to individual users or whole Joomla user groups, so the helpdesk can check equipment out without being able to delete anything. Custom fields add the columns your organisation actually needs, on items, warehouses and recipients, and currency and date formats are set once in Settings. Reports when someone asks Stock valuation comes from live quantities and unit prices. The transaction history filters by date range, item, recipient, type or warehouse, and movement trends are charted over any date range with last 7, 30 and 90 day and this-month presets. Any report exports to CSV or prints dark-on-white, even from dark mode. Built for Joomla Next Inventory runs on Joomla 4, 5 and 6 with PHP 8.1 or higher, is licensed under the GPL, and updates through Joomla's own update system with your download key. It works in light or dark alongside the rest of the administrator, and a one-click demo dataset lets you evaluate it against realistic data. Every seeded row is tracked, so removing the demo takes back exactly what it added and nothing else. - Published: 2026-09-04 - Category: Tips & Tricks - [Why Next Inventory fits internal inventory management](https://www.nextsoftware.dev/news/why-next-inventory-fits-internal-inventory-management) ### Joomla News #### Joomla 6.1 "Nyota" Is Here A major minor for the Joomla 6 series. Joomla 6.1.0 — code name "Nyota" — landed on 14 April 2026, the first feature release in the Joomla 6 line. It bundles four headline additions and the result of more than 130 pull requests from contributors around the world: developers, testers, translators, and documentation authors. If you're already on 6.0.4 or later with automatic updates enabled, your site has likely upgraded itself to 6.1.0 already. Major-version upgrades (5.x → 6.x) still require a manual update, but minor and patch releases inside Joomla 6 are now hands-off. What's new Visual workflow editor — content pipeline at a glance Content workflows are now configured through an interactive diagram instead of nested admin forms. You can see the entire publication process — drafts, reviews, transitions, approvals — in a single visual canvas, and reshape it by dragging stages around. (Tracking PR: #46021.) Proof-of-work CAPTCHA — spam protection is back A new proof-of-work CAPTCHA ships in core. It silently solves math puzzles in the visitor's browser before form submission — no account, no API key, no third-party service, privacy-friendly and accessible. Less friction for legitimate users, real cost imposed on bots. (Tracking PR: #46514.) Three new media custom field types — audio, video, documents The media custom field family is no longer images-only. Content creators can attach audio clips, video files, and documents directly into custom field slots, using the same selection UI as image fields. (Tracking PR: #45013.) Module versioning and multilingual associations Version history — previously available only for articles — now also covers modules. On top of that, module instances can be associated across different languages, the same way articles and categories already could. Multilingual sites can finally manage module translations as a unit instead of as parallel copies. (Tracking PR: #46772.) What this means for extension developers If you ship Joomla extensions, this release is worth testing against now: The new media field types add three new field-type identifiers your forms and template overrides may need to handle. Workflow API surface evolved under the hood to support the visual editor — verify any plugin that hooks into workflow events. The POW CAPTCHA registers as a standard captcha plugin, so existing captcha plugin contracts are unchanged. Module versioning means modules now participate in the same #__history flow as articles — relevant if your extension persists module data through custom save paths. Links Official announcement on joomla.org Download Joomla 6.1.0 GitHub release notes - Published: 2026-05-12 - Category: Joomla News - [Joomla 6.1 "Nyota" Is Here](https://www.nextsoftware.dev/news/joomla-6-1-nyota-is-here) ### Product Updates #### Introducing Smart Local Google Analytics for Joomla Today we are proud to announce Smart Local Google Analytics — a Joomla extension that lets you use Google Analytics while keeping your visitors' data private and your site blazing fast. The problem with standard Google Analytics When you add Google Analytics the traditional way, here is what happens: Your visitors' browsers send data directly to Google's servers External JavaScript files are loaded, slowing down your page speed Ad blockers and privacy tools block the tracking script entirely You lose valuable analytics data — sometimes up to 40% of your traffic GDPR compliance becomes a headache How Smart Local Analytics works Our extension takes a fundamentally different approach: Local hosting — The analytics script is downloaded and served from your own server. No external requests to Google during page load. Server-side proxying — Analytics data is sent to your server first, then forwarded to Google. This means ad blockers cannot detect or block it. Automatic updates — The local script is automatically kept in sync with Google's latest version. Zero configuration — Just enter your Measurement ID, and you are done. Performance benefits Because the script is served locally: No DNS lookup to google-analytics.com No additional TLS handshake The script is served with your site's existing HTTP/2 connection PageSpeed scores improve — Google's own tool penalizes sites for loading external analytics scripts Privacy and compliance Smart Local Analytics helps you stay compliant: Visitor data passes through your server, giving you full control IP anonymization is built in Works alongside cookie consent solutions No third-party cookies involved Get started today Smart Local Google Analytics is available now in our catalog. It supports Joomla 4, 5, and 6. Installation takes less than two minutes. - Published: 2026-05-09 - Category: Product Updates - [Introducing Smart Local Google Analytics for Joomla](https://www.nextsoftware.dev/news/introducing-smart-local-google-analytics-for-joomla) ### Announcements #### Building the Future of Joomla Extensions We are thrilled to officially launch NextSoftware, a platform built by Joomla developers, for Joomla developers and site owners. After years of building extensions and working within the Joomla ecosystem, we noticed something was missing — a modern, streamlined way to distribute, license, and manage Joomla extensions. So we decided to build it ourselves. What is NextSoftware? NextSoftware is a complete ecosystem for Joomla extensions. Whether you are a site owner looking for reliable, well-maintained extensions, or a developer searching for the right tools to power your projects — we have got you covered. Here is what you will find on our platform: A curated catalog of high-quality Joomla extensions Automatic updates delivered straight to your Joomla admin panel A customer portal where you can manage your licenses, downloads, and subscriptions Detailed documentation and changelogs for every extension Responsive support from the developers who actually build the extensions Why we built this The Joomla ecosystem deserves better extensions and tooling. We believe that distributing extensions should be as smooth and modern as the extensions themselves. From secure download IDs to seamless update integration, every part of NextSoftware was designed with simplicity and reliability in mind. What is coming next This is just the beginning. We have a roadmap full of exciting features: More extensions across different categories Welcome aboard! - Published: 2026-05-04 - Category: Announcements - [Building the Future of Joomla Extensions](https://www.nextsoftware.dev/news/building-the-future-of-joomla-extensions)