Skip to main content

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.