๐งฉ 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
Blueprints Stored and Versioned by Metadata
this architecture makes your work reproducible, shareable, and secure โ forming the backbone of professional-grade component lifecycle management
What Are Blueprints?
A blueprint in JCB is a full internal representation of your component structure. It includes:
- Entities like Admin Views, Fields, Templates, Snippets, etc.
- Their relationships and metadata (version, UUID, parent ID)
- Component-level info (author, compile history, description)
- Language strings, field mappings, logic injections, and more
Rather than being just "a backup," blueprints are the canonical source of your component's definition โ independent of compiled code output.
Versioning by Metadata
Each blueprint is version-aware and records key metadata:
- ๐ Version: Current semantic version (e.g., 2.3.1)
- ๐งฌ UUID: Unique ID for the component or entity
- ๐ Timestamp: Last modified / compiled time
- ๐ง Author / Contributor: Attributed metadata
- ๐ง Hash: Entity hash for tracking diffs and compile safety
This metadata is used to detect changes, rebuild intelligently, and power auto-compile/tagging logic.
Storage Format
JCB stores blueprints in either:
- JSON format (for Git syncing, import/export)
- Database format (for active JCB usage)
- YAML or flat files (if output for CI/CD pipelines)
Each format retains all core metadata.
Benefits of Metadata Blueprinting
- ๐ Reusability
Export a blueprint from one project and import it into another โ without losing structure, identity, or internal logic. Reuse layouts, views, field types, templates, etc. - ๐ Trackability
Every change to a blueprint is traceable by hash or timestamp. You can compare versions of blueprints or entities (e.g., Admin View v1.3.0 vs v1.2.0) before compiling. - ๐ Git-Friendly
Because blueprints are structured text (not just binary ZIPs), they integrate cleanly with Git. This makes them easy to:- Push to a central repository
- Fork for customization
- Reset from upstream
- Compare via diffs
- ๐ ๏ธ Compile Safety
JCB uses metadata to check that a blueprint is valid before compiling. If version mismatches or incompatible entities are detected, warnings or failsafes can be triggered.
Use Cases
- Exporting your JCB component for use in another project
- Maintaining centralized repositories of field definitions or layouts
- Version-controlling logic blocks, views, and full project state
- Enabling rollback or forward migration of entity changes
- Comparing blueprint evolution over time
Conclusion
Blueprint metadata turns your JCB project into a self-aware, version-controlled artifact. Whether you're managing one component or hundreds across a team, this architecture makes your work reproducible, shareable, and secure โ forming the backbone of professional-grade component lifecycle management.
Summary
JCB automatically stores your componentโs internal configuration as structured blueprints, complete with metadata like version numbers, entity hashes, authorship, and timestamps. These blueprints allow seamless tracking, versioning, and reuse of your component logic across projects and teams โ enabling a truly modular and maintainable development workflow.