๐งฉ 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
Compiler Debug Tracking
Gain deep visibility into every step of the compile process โ with traceable logs, source mapping, and error diagnostics.
What Is Compiler Debug Tracking?
Compiler Debug Tracking in JCB is a system of detailed, structured logs that record how your Joomla component is compiled โ step by step, file by file, entity by entity. It allows you to inspect how each part of your blueprint is transformed into real code, helping you troubleshoot build errors, analyze output behavior, and improve component performance.
These logs include execution traces, source locations, entity references, UUIDs, compiler stages, overrides, and injected code. Theyโre generated automatically during every build, making JCB both transparent and developer-friendly.
This feature is essential for debugging complex components, understanding how JCB works under the hood, and verifying that your logic is compiled as expected.
Key Features
- ๐ง Detailed Step-by-Step Logs: Tracks every action the compiler takes: field processing, view rendering, file writing, permission registration, layout binding, etc.
- ๐ Per-File and Per-Entity Logging: Every view, model, controller, layout, snippet, and field that contributes to the build is logged by name, UUID, and type.
- ๐ Tracks Insert/Replace & Custom Code: Logs when insert or replace tags are found, skipped, injected, or unmatched โ great for verifying persistence behavior.
- ๐ชช UUID Tracing: Each entity used in compilation is logged with its unique ID, so you can trace issues back to their source โ even across imported blueprints.
- ๐ View Compile Paths: See exactly how a model was rendered, how a layout was built, or which template was merged โ with nesting depth and order.
- ๐จ Error Logging & Fail-Safe Reporting: Syntax issues, unresolved placeholders, unsupported values, or permission errors are logged with full stack trace.
- ๐ Override Detection Flags: Changes to manually edited files are flagged and reported as override warnings with suggestions for Insert/Replace usage.
- ๐งพ Summary Report: At the end of each compile, a summary is generated: files created, overrides skipped, logic blocks injected, total time, and component size.
Use Cases
- ๐ Diagnose missing or incorrect logic after compile
- ๐งฉ Trace where a custom code block is injected (and where it isn't)
- ๐ช Debug broken permissions or menu routing behavior
- ๐ง Understand how a GET query results in a generated model method
- ๐ Validate which fields, views, and snippets contributed to final file output
- ๐ฅ Find and fix compiler errors quickly in complex setups
How to Access Compiler Logs
- Enable debug mode in the JCB global settings (or in the compile view).
- Compile your component.
- After compilation, view:
- ๐ A compile summary at the bottom of the compile page.
- ๐ Full logs stored in
/logs
or visible in the JCB GUI under Build โ Compile Logs (if enabled).
- Youโll see logs grouped by:
- Type (view, field, layout, etc.)
- Action (compiled, injected, overridden, skipped)
- UUID and title
๐ง Pro Tip: Use the line tracking and insert tag comments in your compiled files to match what you see in the logs.
Learn More
- ๐ JCB Wiki: Compiler Debug Tools
- ๐ฅ Video: Debugging Complex Components in JCB
- ๐งช JCB Tips: What to Check When a Compile Fails
- ๐งพ Sample Debug Log Reference
Conclusion
Compiler Debug Tracking is your backstage pass to the entire build process. Whether youโre debugging a failed compile or simply curious how things work, JCB provides a clear, detailed breakdown of everything it does. It's an essential tool for serious developers working with custom Joomla components at scale.