Skip to main content

Independent Packaging of Views & Logic

Package, version, and reuse specific parts of your component โ€” with precision and portability.

What Is Independent Packaging?

Independent Packaging in Joomla Component Builder (JCB) refers to the ability to export individual parts of a component โ€” such as views, models, fields, layouts, templates, snippets, or entire blueprints โ€” into self-contained, reusable packages. These can be stored in Git repositories, versioned, distributed, or imported into other JCB projects.

Instead of treating your component as a monolithic build, JCB empowers you to isolate and manage functionality modularly. This enables collaborative workflows, template-based development, and scalable project management.

Key Features

  • ๐Ÿ“‚ Per-Entity Export/Import: Export a single view, field, snippet, or template โ€” or bundle multiple entities into a partial blueprint.
  • ๐Ÿ”„ Package-to-Project Sync: Pull updates from Git repositories or local files and apply them to existing projects without full overwrite.
  • ๐Ÿงฌ Reusable Blueprints: Convert views or groups of views into blueprint packages for use in other components or as project starters.
  • ๐Ÿง  Metadata-Aware: Each exported entity includes version metadata, references, and dependency mappings to prevent duplication or mismatch.
  • ๐Ÿงพ Auto Merge & Conflict Awareness: On import, JCB detects entity changes and either merges or flags conflicts depending on your overwrite settings.
  • ๐Ÿท๏ธ Scoped Packaging: Choose to export fields, snippets, views, and templates independently or grouped by logic (e.g. โ€œArticle UI Packโ€).
  • ๐Ÿ” Controlled Sharing: Share just the parts you want โ€” ideal for client projects, teams, or public blueprints.
  • ๐Ÿ’พ Distributable Format: Packages are JSON-based and compatible with Git, making them easy to version and deploy in CI/CD pipelines.

Use Cases

  • Push a dashboard view with its chart logic and snippets as a standalone module
  • Reuse a complex form view across multiple components
  • Share a library of field types and templates with your development team
  • Move a custom admin view from staging to production without syncing the whole component
  • Distribute UI packs or boilerplate logic to the broader JCB community

How to Use in JCB

  1. Open the entity you want to package (View, Field, Snippet, etc.).
  2. Configure a package repository on GitHub or a Gitea system.
  3. Choose the scope: just this entity or its dependencies as well.
  4. Use the โ€œPushโ€ button to save the package to that repository.
  5. This automatically saves the JSON package to the Git repository.
  6. In another JCB instance, use โ€œInitโ€ and choose which packages to pull in.

๐Ÿง  Pro Tip: Tag your packages with consistent metadata (e.g., version, namespace, tags) so they remain traceable across your ecosystem.

Conclusion

Independent Packaging gives you granular control over how you build, reuse, and share parts of your Joomla components. Whether you're managing internal libraries, delivering modular code to clients, or collaborating across teams โ€” this feature enables true component-level architecture and accelerates Joomla development workflows.