Skip to content

joomengine/Joomla-Component-Builder

Repository files navigation

Joomla Component Builder (JCB)

Component Builder Banner

This is a professional-grade Joomla 5.x component, created with Joomla Component Builder (JCB)—a uniquely advanced development engine for building and maintaining complete Joomla extensions.

🎥 Original... Quick Hello World Demo, yes JCB has been around for over a decade.

JCB generates native Joomla components, plugins, and modules for Joomla 3.x, 4.x, and 5.x — and is already prepared for Joomla 6. Every compiled project is tailored for the specific version without needing backward compatibility plugins. With integrated version-aware compiling, smart boilerplating, and Git-powered project syncing, JCB is much more than a code generator—it's a full-stack development pipeline for Joomla extensions.

You can install this component easily. The latest release (5.1.1-beta2) is available on Releases and updated frequently with full source access.

Upgrades are seamless through Joomla’s built-in extension update mechanism.


🚀 Core Capabilities at a Glance

Here are just some of the key powers JCB brings:

  • 🔁 Bi-Directional IDE Sync – Fetch custom logic from compiled projects and reintegrate on rebuild.
  • 🧱 Build Joomla Components, Plugins, and Modules – Fully native and independently compiled.
  • 🧠 Superpowers (PHP Class Builder) – Create namespaced abstract, interface, and trait-based PHP classes visually.
  • 🔌 Joomla Powers – Intelligent Joomla class referencing via dynamic placeholders (JPKs) that adapt to Joomla versions.
  • 🗃️ Smart Boilerplating – Start fast with 6+ curated demo blueprints for instant use or customization.
  • 🔂 Round-Trip Development – Add, update, and persist changes across compiled code using insert/replace tags.
  • 🔐 Field Types Engine – Blueprint reusable Joomla-native fields with constraints, security, DB structure, and logic.
  • 🧬 Admin Views, Custom Admin Views & Site Views – Fine-grained design for structured or dynamic backend/front-end UIs.
  • 🧮 Dynamic GET Builder – Advanced visual query designer for cross-table, filter-rich, deeply joined SQL fetches.
  • 💡 Snippets, Layouts, Templates & Libraries – Shareable GUI-linked modules for reusable HTML/CSS/JS integration.
  • 🧰 Custom Code System – Write logic once and reuse anywhere; full support for HTML & PHP placeholders and tracking.
  • 🛠️ Multi-Version Compilation – Compile version-specific code for J3, J4, J5 without compatibility bloat.
  • 📦 Package Management – Export/import blueprints, version control builds, sync with Git, and distribute clean packages.
  • 🖥️ CLI Integration – Build commands natively via terminal using Joomla's CLI runner.
  • 🌐 Update Server Support – Integrate custom update mechanisms for extensions post-deployment.
📚 View 100+ Additional Advanced Features

🧩 Architecture & Core Logic

  • 🧠 Super Powers: Namespaced PHP classes (interfaces, traits, abstracts, finals) managed from GUI
  • 🔌 Joomla Powers: Dynamic Joomla class resolution via JPK placeholders per Joomla version
  • 🧱 Compile native Components, Plugins & Modules in one unified workflow
  • 🔀 Multi-version support (J3, J4, J5, J6-ready) with per-version compilation
  • 🚦 Conditional logic injection in models, views, controllers
  • 🧬 Reusable Admin Views across multiple components
  • 🧠 Dynamic GET Builder for visual cross-table queries
  • 🔄 Round-trip code integration with file-to-database inserts/replaces
  • 🧬 Custom Admin Views with full MVC override power
  • 🧩 Site Views supporting public display of data with custom logic
  • 📊 Dynamic dashboards built via custom admin view chart helpers
  • 🔗 Model linking between views using subforms and dynamic selectors
  • 🧩 Shared field reuse across views and components
  • 📥 Drag & Drop field mapping for layout and logic assignment
  • 🎯 Dynamic Field Visibility conditions via GUI
  • 📦 Independent packaging of views and logic for reuse

📁 File & Code Management

  • 🧾 Insert/Replace tags for persistent file overrides
  • 🗃️ PHP & HTML custom code injection via placeholder system
  • 🛠️ Automatic file synchronization on rebuild
  • 🧮 Reverse string parser to restore lang strings back to natural text
  • 📋 Line tracking to see where code was compiled from
  • 🗂️ Smart override detection and conflict management
  • 🔍 Compiler debug tracking
  • ✍️ Dynamic use-statement generation with alias auto-resolving
  • 💾 Auto language string export from templates & views
  • 🧰 Helper classes and static utilities included by default

🧠 Code Reuse & Blueprints

  • 🧱 Demo component blueprints for rapid prototyping
  • 🔁 Blueprint export/import via JSON or Git sync
  • 📎 Shared field types serve as field templates
  • 🧪 Test-friendly compiler mode for internal checking
  • 🧩 Template-based file creation with dynamic variables
  • 📚 Smart template merging for updates
  • 🚧 Field definitions drive DB schema
  • 🎛️ Custom scripting per field on get/save
  • 🔀 Field view-type override (admin vs config)

🌐 Joomla CMS Integration

  • 🛡️ Token integration via Joomla methods
  • 🔐 ACL per view, field, item
  • 🧾 Field-based Joomla config generation
  • 📘 Support for Joomla categories/tags/custom fields
  • ⚙️ CLI-ready components with native terminal support
  • 🛰️ Joomla Update Server integration
  • 🧪 Version-aware language string compilation
  • 📤 Remote publishing to custom repo update streams

🧠 Visual GUI & UX

  • 🎨 Layout builder with inline layout reusability
  • 📁 Template builder with overrides
  • 🧠 Snippets GUI for code blocks linked to layouts/templates
  • 📚 Custom documentation sections linked into generated components
  • 🧬 Field injection points in layout/template snippets
  • 🔁 Dynamic reload on selection change via JavaScript binding
  • 📦 Reusable custom admin view templates
  • 🧠 JS callback logic on field events
  • 📄 Inline help descriptions from config
  • 🖱️ Custom admin menus and dashboard menu builders

🌍 Internationalization

  • 🌐 Excel import/export for language strings
  • 📁 Per-field language control
  • 🧾 Language string auto-indexing
  • 🔁 Reverse engineering of language constants
  • 🧠 Per-Joomla-version lang key mapping
  • 🔧 GUI to rewrite or update lang string context

📦 Packaging & Distribution

  • 📤 Push component to Git repo
  • 🔄 Auto-compile and auto-tag packages
  • 🗂️ Blueprints stored and versioned by metadata
  • 🎁 Auto-generated changelog from commits
  • 🔐 Signed zip packaging supported
  • 📬 Component update URLs via GUI settings
  • 🏷️ Version-aware build ID assignment

⚙️ Compiler Engine Features

  • Under-30-second build time on large components
  • 📦 Memory-optimized ZIP builder
  • 🔁 Repeatable fields via subform templates
  • 💥 Fail-safe error protection and rollback
  • 🔍 Detailed compiler logs with stack trace and UUIDs
  • 📃 Build summary report after compilation

🧱 Custom Code System (Powerful Dual Feature)

  • 🔧 Universal reusable code blocks (inject anywhere by key)
  • 🪄 Update detection & visual diffing on reused code
  • 🧬 Multi-context custom code binding
  • 📄 Dynamic placeholder variable injection
  • 🔁 Nested custom code support
  • 🔥 Advanced compiler hooks per code block
  • 🧠 Round-trip tag tracking in PHP/HTML
  • 📜 Learn more about this here

🛠 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 & CSS per field

📐 Dynamic GET (Visual SQL Engine)

  • 📊 Design complex joins from GUI
  • 🧠 Multiple GETs per view
  • 🔄 Reusable query sets
  • 🧾 Where/group/order statements supported
  • 📃 Auto model method generation
  • 🔧 Switch between list/item GETs
  • 🛡️ Output Joomla-native query builder logic

📁 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

📚 Documentation & Metadata

  • 📄 Per-entity README auto-generation
  • 📑 Markdown + PHPDoc docblock support
  • 🧾 Internal documentation tables
  • 🔄 Update version history logs per entity
  • 🧠 Field reference mapping table output
  • 📘 Auto-documented component structure

📊 Analytics & Insights

  • 📈 Track last build, size, line count, field count
  • 🔄 Compare current vs previous builds
  • 🧠 Export component metadata as JSON
  • 🗃️ Stats per model/view
  • 📁 Total file/folder/line counters

📦 Get Started Now


🤝 Get Help & Join the Community


🌱 Why It's Free

JCB is developed by developers for developers. Its purpose is to democratize high-performance Joomla development by empowering everyone — from solo builders to large teams — to work with clean, scalable, maintainable, and versionable code. This isn’t a template generator — it’s a full-scale extension engineering platform.


🧩 Component Metadata

  • Company: Vast Development Method
  • Author: Llewellyn van der Merwe
  • Component: Component Builder
  • Created: 30th April, 2015 · Last Build: 19th June, 2025 · Version: 5.1.1-beta2
  • License: GNU General Public License version 2 or later; see LICENSE.txt · Copyright: Copyright (C) 2015 Vast Development Method. All rights reserved.
  • Lines: 1086810 · Fields: 2096 · Files: 7419 · Folders: 724

Generated with JCB — The Smartest Way to Build Joomla Extensions.

Contributors

This project exists thanks to all the people who contribute to the Joomla Component Builder Project.

Contributors

Backers

Thank you to all our backers! 🙏 [Become a backer]

Our Backers on opencollective

Sponsors

Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [Become a sponsor]

Sponsor Sponsor Sponsor Sponsor Sponsor Sponsor Sponsor Sponsor Sponsor Sponsor Sponsor Sponsor Sponsor Sponsor Sponsor Sponsor Sponsor Sponsor Sponsor Sponsor Sponsor