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.