Skip to main content

Blueprint Export & Import

Easily share, version, and migrate complete JCB projects across teams, sites, or environments.

What Is Blueprint Export/Import?

In JCB, what is often referred to as "Blueprint Export/Import" is handled through the Package system. A package is created when you push a component to a configured repository โ€” this builds the package and stores it remotely. You can then bring that package into another JCB instance using Init, or update an existing one using Reset.

This system is the backbone of JCBโ€™s portability and versioning. It allows developers to manage full components across environments, collaborate via Git, and safely reuse or share component logic.

Packages are managed through repositories that are configured directly within JCB.

Key Features

  • ๐Ÿ“ฆ Full Project Snapshot: Packages contain everything:
    • Fields, Views, Tables
    • Dynamic GETs, Snippets, Layouts, Templates
    • Menus, Permissions, Configurations
    • Admin/Site Views
    • Joomla Powers, Super Powers, Custom Code
    • Language Keys, Update Servers, and more
  • ๐Ÿงพ Push to Create Package: Use Push to build a package from your component and send it to the configured Git repository.
  • ๐Ÿ”„ Repository Sync: With a repository configured, you can:
    • Init to pull in a package that doesnโ€™t yet exist in your JCB instance
    • Reset to sync an existing package with its latest remote version
    • Push to update the remote with your latest changes
  • ๐Ÿงช Safe & Controlled: Init and Reset operations allow you to review and confirm changes โ€” nothing is overwritten without consent.
  • ๐Ÿ” Round-Trip Friendly: JCB preserves IDs, mappings, language keys, and insert tags, ensuring clean integration across systems.
  • ๐Ÿง  Reusable Templates: Once pushed, packages can be initialized in other instances and used as base templates or starting points.
  • ๐Ÿงฌ Metadata-Rich: Includes authorship, version info, compile data, and internal relationships for traceability and auditing.

Use Cases

  • ๐Ÿ”„ Push a component from development and Init it in a staging or production environment
  • ๐Ÿ‘ฅ Share demo components with teammates by pushing to a shared repository
  • ๐Ÿงช Restore previous versions by resetting from Git history
  • ๐Ÿ“ฆ Reuse a package as a scaffold for building new components
  • ๐Ÿง  Combine multiple packages into hybrid components for advanced logic

How to Export a Blueprint

  1. In JCB, open the component you want to export as a package.
  2. Click Push to build and send the package to your configured repository.
  3. Ensure the repository is setup with the correct urls and tokens for remote Git.
  4. Optional: Integrate with CLI workflows for automated packaging in CI/CD.

How to Import a Blueprint

  1. In your target JCB instance, ensure the same repository is configured.
  2. Use Init to pull in the package (if it doesnโ€™t already exist locally).
  3. If the package already exists, use Reset to update it from the latest version in the repository.
  4. Review the imported or updated package in JCB.
  5. Compile the component when ready.

๐Ÿง  Tip: Keep your packages organized under a structured folder like /jcb-packages for easy tracking, syncing, and collaboration.

Learn More

Conclusion

JCBโ€™s Package system makes component development scalable, portable, and collaborative. Push builds packages, Init pulls them into your environment, and Reset keeps everything in sync. Whether you're sharing templates, syncing environments, or managing updates โ€” JCB packages give you a reliable, version-controlled workflow.