๐งฉ Architecture & Core Logic
- Super Powers
- Joomla Powers
- Compile Native Components, Plugins & Modules
- Multi-Version Support
- Conditional Logic Injection
- Reusable Admin Views
- Dynamic GET Builder
- Round-Trip Code Integration
- Custom Admin Views
- Site Views
- Dynamic Dashboards
- Model Linking Between Views
- Shared Field Reuse Across Views
- Drag & Drop Field Mapping
- Dynamic Field Visibility
- Independent Packaging
๐ Joomla CMS Integration
๐งฑ Custom Code System (Powerful Dual Feature)
๐ Field Type System
๐ Snippets, Templates, Layouts, Libraries
- Snippets Reusable Html Blocks
- Layouts Reusable Php Render Templates
- Templates Page Level Views Linked To Custom Admin Site Views
- Libraries JS CSS Assets Linked To UI
- CDN Local Toggle For Library Delivery
- Media Folder Injection With Override Support
- Repository Push Pull Reset Workflow
- Init Snippets Layouts Templates Via Gui
๐ฆ Packages
๐งฉ Architecture & Core Logic
๐ File & Code Management
๐ง Code Reuse & Blueprints
๐ Joomla CMS Integration
๐จ Visual GUI & UX
๐ Internationalization
๐ฆ Packaging & Distribution
โ๏ธ Compiler Engine Features
๐งฑ Custom Code System
๐ Field Type System
๐ Dynamic GET (Visual SQL Engine)
๐ Snippets, Templates, Layouts, Libraries
๐ Documentation & Metadata
๐ Analytics & Insights
๐งฉ Architecture & Core Logic
- Super Powers
- Joomla Powers
- Compile Native Components, Plugins & Modules
- Multi-Version Support
- Conditional Logic Injection
- Reusable Admin Views
- Dynamic GET Builder
- Round-Trip Code Integration
- Custom Admin Views
- Site Views
- Dynamic Dashboards
- Model Linking Between Views
- Shared Field Reuse Across Views
- Drag & Drop Field Mapping
- Dynamic Field Visibility
- Independent Packaging
๐ Joomla CMS Integration
- Token Integration
- ACL Per View, Field, Item
- Field-Based Joomla Config Generation
- Support For Joomla Categories/Tags/Custom Fields
- CLI-Ready Components
- Joomla Update Server Integration
- Version-Aware Language String Compilation
- Remote Publishing to Custom Repo Update Streams
๐ Field Type System
- Field Types Define Templates And Data Types
- Gui Defined Rules Required Unique Nullable
- Save Get Hooks Per Field
- Database Schema Auto Generated From Field Settings
- Per Display Field Rendering Config List Edit
- Create Dynamic Models With Modals Selectors
- Conditional Js And Css Per Field
๐ Snippets, Templates, Layouts, Libraries
- Snippets Reusable Html Blocks
- Layouts Reusable Php Render Templates
- Templates Page Level Views Linked To Custom Admin Site Views
- Libraries JS CSS Assets Linked To UI
- CDN Local Toggle For Library Delivery
- Media Folder Injection With Override Support
- Repository Push Pull Reset Workflow
- Init Snippets Layouts Templates Via Gui
Smart Override Detection
Track, protect, and manage manual changes to compiled files โ without losing work.
What Is Smart Override Detection?
Smart Override Detection in JCB refers to the systemโs ability to recognize when a developer has manually modified a compiled file and help preserve those changes intelligently during future compiles. It serves as a safeguard against accidentally overwriting important customizations when rebuilding a component.
JCB scans, compares, and flags modifications in PHP, layout, XML, and asset files โ ensuring that your injected logic or edits are either preserved via Insert/Replace tags, moved to backup, or logged as overridden.
This makes Smart Override Detection essential for round-trip development, safe manual tweaks, and working with compiled code collaboratively.
Key Features
- ๐ง Override Awareness: Detects if a file or section of code was manually changed since the last compile.
- ๐ Auto Backup Before Overwrite: JCB automatically stores a backup of overridden files before replacing them during a compile.
- ๐ Override Logging: Detailed compile logs include a summary of overridden files, skipped entities, or changes detected.
- ๐ Insert/Replace Tag Friendly: If youโve made your changes inside Insert/Replace tags, JCB recognizes and re-injects them โ even if the surrounding structure changes.
- ๐ Safe Merging for Custom Code: If manual changes are found outside tracked regions, JCB logs them clearly and flags them for developer review.
- ๐ Granular File Comparison: Changes are detected at the file and tag level โ not just timestamps or file size โ to ensure precise change tracking.
- ๐งพ Version-Aware Compilation: Smart override detection works even across different Joomla versions (J3, J4, J5) and template branches.
- ๐ Works with External Editors: Safe to work in your IDE or staging site โ changes won't be silently lost during next builds.
Use Cases
- You manually tweak a controller to test a new behavior โ and want JCB to preserve your version on recompile
- You hand-edit a template HTML file and recompile โ JCB backs up your change and warns you
- You override a layout using insert/replace tags โ and JCB injects them back in correctly
- You forget to tag your manual logic โ but JCB logs the diff so you can review it post-build
How It Works
- JCB stores metadata and hashes of each compiled file after build.
- On the next compile, JCB compares current files with stored snapshots.
- If changes are detected:
- Files with Insert/Replace tags: code is re-injected normally
- Files with manual edits outside tags: backed up and/or flagged
- Logs are updated with exact file names and differences (if enabled)
๐ง Pro Tip: Enable detailed logging in JCBโs compile settings to monitor every override scenario and backup behavior.
Conclusion
Smart Override Detection is your safety net in complex projects. It encourages responsible manual editing, supports legacy migrations, and ensures you never lose valuable tweaks between compiles. Whether you're prototyping, debugging, or collaborating across teams, JCB