๐งฉ 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
Round-Trip Tag Tracking in PHP/HTML
Your logic, structure, and edits remain yours, even across generations. Itโs like version control baked into the compiler โ robust, readable, and safe
What It Does
The Git Push system in JCB lets you automatically or manually:
- Export your component as a versioned blueprint
- Commit it to a local or remote Git repository
- Track changes to blueprint structure, fields, views, templates, and more
- Synchronize packages across environments or share updates with others
It treats your component like source code โ allowing you to work with branches, forks, and pull requests just like any software project.
Key Features
- ๐ฆ Blueprint Packaging
Every JCB component contains its own blueprint โ including all related views, fields, layouts, templates, custom code, Dynamic GETs, and metadata. When pushing to Git, this full definition is exported in JSON/YAML-like structures (within a repository-friendly format). - ๐ Version Metadata
The Git repo stores:- Component version & build ID
- Change log from previous versions (optionally auto-generated)
- Joomla version targets (e.g. J3/J4/J5)
- Readme, license, contributors, etc.
- ๐๏ธ Repository Binding
You can configure each component in JCB to be linked to:- A specific Git remote (Gitea, GitHub, GitLab, Bitbucket, etc.)
- A branch or release tag
- A sync direction (push-only, pull-only, or bidirectional)
- ๐ Secure Push with SSH/HTTPS
Pushes respect your system Git config, including SSH keys or stored credentials. - ๐ Commit Messages & Change Descriptions
You can manually define commit messages before pushing โ or let JCB generate them based on detected entity changes.
Use Cases
- Maintain blueprint version history alongside codebase
- Enable team members to clone and import your component
- Use CI to compile and test components before packaging
- Distribute blueprint versions with rollback support
- Store a single source of truth for shared libraries and templates
Workflow
- Define or update your component in JCB
- In the componentโs global configuration, set the target Git repository and update folders (e.g. backup folder, release folder, and package folder)
- During compilation, check the boxes: โAdd Backup Folder & Sales Server (if set)โ and โAdd Repository Folderโ
- When you compile, JCB automatically moves the built ZIP and package files from the temporary directory to the configured repository folders
- From there, the repository folders handle Git operations such as pushing releases or packages to remote repositories
Best Practices
- Commit early and often to track blueprint evolution
- Use branches for major component versions
- Push to a shared repository if working across teams
- Combine with Auto-Compile and Changelog to enable full CI/CD pipelines
Conclusion
JCB's Git integration transforms your Joomla component into a fully versioned, shareable, and traceable software asset. By treating your blueprint as code, you gain control, collaboration, and automation โ all while retaining the visual editing power of JCB.
Summary
Joomla Component Builder (JCB) allows you to push your component packages โ including blueprint definitions, compiled ZIPs, and version metadata โ directly to a Git repository. This enables seamless integration with version control systems, CI/CD pipelines, and team collaboration workflows.