GSoC'26 – Multi-category Support for Joomla [Midterm Report]
By Reda Mohamed on 2026-07-09 06:48 in Google Summer of Code Joomla Team
Here's a summary of the work completed during the first half of the coding period:
-
Added support for assigning multiple categories to articles while keeping a single primary category.
-
Added the secondary categories field to the administrator article form.
-
Added the same functionality to frontend article editing.
-
Added support for creating secondary categories directly from the field.
-
Updated custom fields so fields assigned to secondary categories are available together with the primary category fields.
-
Extended article filtering to work with secondary categories.
-
Added support for secondary categories in search and Smart Search.
-
Updated featured articles and archived articles to include secondary categories.
-
Added secondary category support to batch operations.
-
Updated category counting to include articles assigned through secondary categories.
-
Added an option to Category Blog and Category List views to include articles assigned through secondary categories.
-
Updated routing where needed so articles can be reached correctly from their assigned categories.
The same functionality has also been added to com_contact, including:
-
Administrator and frontend editing.
-
Featured contacts.
-
Category counting.
-
List Contact views.
-
Custom fields.
-
Contact display.
Where possible, I also started extracting duplicated logic into shared code instead of maintaining separate implementations.
Midterm progress
The main goal for the first half was to complete the multi-category support for com_content and make sure the approach could be reused by another core component.
That goal has been achieved. The feature is now working in both com_content and com_contact, and the shared architecture has made it much easier to extend the implementation to other components.
Plans for the second half
For the remaining coding period I plan to:
-
Add secondary category support to com_newsfeeds.
-
Add secondary category support to com_banners.
- Implement context-aware category handling, allowing articles assigned through secondary categories to behave correctly based on the category they are being viewed from.
-
Continue reducing duplicated code where appropriate.
-
Test the implementation in more scenarios, especially multilingual sites and different permission levels.
-
Address review feedback and finish polishing the project for the final evaluation.