Migrating the Bideford Community Archive was a multi-stage architectural project that required both strict adherence to official upgrade paths and the development of custom solutions to replace legacy dependencies.
1. The Core Migration: J3 → J4 → J5
To maintain the long-term integrity of the archive’s thousands of records, we followed the formal Joomla upgrade manual. This involved a sequential migration from Joomla 3.10 to Joomla 4.4, and finally to Joomla 5.4.
This methodical process ensured that the core database schema was correctly transformed at each stage, maintaining stability and security while transitioning the environment to PHP 8.3+.
2. Solving the "Dead Extension" Problem
A significant hurdle in the migration was the site's reliance on RokSprocket. Since RokSprocket development ceased after Joomla 3, the extension is completely incompatible with Joomla 4 and 5.
To resolve this without losing the site's distinctive layouts, I developed a native Joomla 5 replacement: JR Showcase (mod_jrshowcase).
The JR Showcase Advantage:
- J5 Native Architecture: Built using modern PHP namespaces and the Joomla 5 Service Provider/Dependency Injection (DI) pattern.
- Replacement Strategy: Designed specifically to replicate the functionality and visual impact of the defunct RokSprocket module.
- Performance: Leverages the Joomla Web Asset Manager (WAM) for efficient loading of CSS and JS, ensuring zero reliance on legacy scripts.

3. Automated Module Data Migration
Rather than manually recreating over 120 module instances and 3,000+ custom items, I developed a targeted migration tool: import_roksprocket_to_jrshowcase.php.
This PHP script queried the legacy RokSprocket tables in the database and mapped the data directly into the new JR Showcase schema. This automation ensured 100% data accuracy and saved weeks of manual data entry.

4. Advanced SEBLOD Optimization & Troubleshooting
The Bideford Archive relies heavily on SEBLOD (CCK) for its complex historical data structures. Upgrading a SEBLOD-heavy site to Joomla 5 presented several unique challenges that required custom code fixes:
- Editor Logic Correction: Resolved a critical bug where changing categories in the Joomla editor would incorrectly redirect to SEBLOD or trigger routing errors.
- Pagination & Context: Implemented template overrides for com_content to ensure that search context and pagination were preserved across the archive’s extensive lists.
- Database Repair: Manually repaired and republished SEBLOD content types within the database to ensure full compatibility with the J5 environment.
5. Resulting Performance & Infrastructure
The final site was rebuilt using the Cassiopeia core template, customized with a modern SCSS workflow. By moving away from legacy frameworks like Gantry, we achieved a significantly leaner codebase.
| Metric | Legacy (Joomla 3) | Result (Joomla 5) |
|---|---|---|
| Framework | Gantry 4 (Audacity template) | Cassiopeia (J5 Core) |
| PHP Version | 7.4 (End of Life) | 8.3+ (Secure/Modern) |
| Asset Manager | Legacy Loaders | Joomla WAM / SCSS |
| Core Stability | Version 3.10 | Version 5.4 |
Technical Summary
The Bideford Archive migration demonstrates the capability to manage complex, multi-version upgrades while developing high-level custom PHP extensions and automation scripts to overcome the limitations of legacy software.