Move all banners to GitHub. Adds library phpspreadsheet to JCB. Adds import item example to demo component. Updates the Superpower class with the GetRemote class in the plugin. Ensures the super power autoloader triggers the correct repositories. Adds the ModalSelect fieldtype to Joomla Component Builder - J5. Adds the Data Import Function to the Demo Component. Adds new country related tables and fields to the Demo Component. Resolves the Database Updating issue in the compiler. #1212,#1209. Adds the Component Commands Plugin to the CLI for Import of spreadsheet data-sets. Add edit and create options to the ModalSelect Field (in Joomla 5). Add all needed Powers to the release package, to speed-up the build of the demo component. Refactor initialization flow to accommodate future scalability and integration with all designated areas. Refactor the Creator Builders class. Refactor the FieldString and FieldXML classes. Add JCB new package engine. Enhance operator support in dynamic get system. Relates to issue #1226. Fixes issue with loading the Component Builder Wiki. Adds advanced version update notice to the Component Builder Dashboard. Completely refactors the class that builds the Component Dashboard. #1134. Fix the FieldXML interface mismatch. #1228. Adds Initialize, Reset, and Push functionality to the Repository entities. Completely refactors the SQL tweaks and SQL dump classes. Fix bug in the filter of Languages by linked entities. #1230. Adds option to export Language Translations.
Move all banners to GitHub. Adds library phpspreadsheet to JCB. Adds import item example to demo component. Updates the Superpower class with the GetRemote class in the plugin. Ensures the super power autoloader triggers the correct repositories. Adds the ModalSelect fieldtype to Joomla Component Builder - J5. Adds the Data Import Function to the Demo Component. Adds new country related tables and fields to the Demo Component. Resolves the Database Updating issue in the compiler. #1212,#1209. Adds the Component Commands Plugin to the CLI for Import of spreadsheet data-sets. Add edit and create options to the ModalSelect Field (in Joomla 5). Add all needed Powers to the release package, to speed-up the build of the demo component. Refactor initialization flow to accommodate future scalability and integration with all designated areas. Refactor the Creator Builders class. Refactor the FieldString and FieldXML classes. Add JCB new package engine. Enhance operator support in dynamic get system. Relates to issue #1226. Fixes issue with loading the Component Builder Wiki. Adds advanced version update notice to the Component Builder Dashboard. Completely refactors the class that builds the Component Dashboard. #1134. Fix the FieldXML interface mismatch. #1228. Adds Initialize, Reset, and Push functionality to the Repository entities. Completely refactors the SQL tweaks and SQL dump classes. Fix bug in the filter of Languages by linked entities. #1230.
Fixes issue with loading the Component Builder Wiki. Adds advanced version update notice to the Component Builder Dashboard. Completely refactors the class that builds the Component Dashboard. #1134.
Refactor initialization flow to accommodate future scalability and integration with all designated areas. Refactor the Creator Builders class. Refactor the FieldString and FieldXML classes.
Adds the ModalSelect fieldtype to Joomla Component Builder - J5. Adds the Data Import Function to the Demo Component. Adds new country related tables and fields to the Demo Component. Resolves the Database Updating issue in the compiler. #1212,#1209. Adds the Component Commands Plugin to the CLI for Import of spreadsheet data-sets.
Move all banners to GitHub. Adds library phpspreadsheet to JCB. Adds import item example to demo component. Updates the Superpower class with the GetRemote class in the plugin. Ensures the super power autoloader triggers the correct repositories.
Add [AllowDynamicProperties] in the base view class for J5. Move the _prepareDocument above the display call in the base view class. Remove all backward compatibility issues, so JCB will not need the [Backward Compatibility] plugin to run. Added new import powers for custom import of spreadsheets. Move the setDocument and _prepareDocument above the display in the site view and custom admin view. Update the trashhelper layout to work in Joomla 5. Add AllowDynamicProperties (Joomla 4+5) to view class to allow Custom Dynamic Get methods to work without issues. Fix Save failed issue in dynamicGet. #1148. Move all [TEXT, EDITOR, TEXTAREA] fields from [NOT NULL] to [NULL]. Add the DateHelper class and improve the date methods. Add simple SessionHelper class. Add first classes for the new import engine. Improve the [VDM Registry] to be Joomla Registry Compatible. Move all registries to the [VDM Registry] class. Fix Checked Out to be null and not 0. (#1194). Fix created_by, modified_by, checked_out fields in the compiler of the SQL. (#1194). Update all core date fields in table class. (#1188). Update created_by, modified_by, checked_out fields in table class. Implementation of the decentralized Super-Power CORE repository network. (#1190). Fix the noticeboard to display Llewellyn's Joomla Social feed. Started compiling JCB5 on Joomla 5 with PHP 8.2. Add init_defaults option for dynamic form selection setup (to int new items with default values dynamically). Update all JCB 5 tables to utf8mb4_unicode_ci collation if misaligned. Move all internal ID linking to GUID inside of JCB 5. Updated the admin-tab-fields in add-fields view. #1205. Remove Custom Import Tab from admin view. Improved the customcode and placeholder search features.
Add [push] option to powers area. Fix error in [Save As Copy] functionality for the library. #1162. Fix error when no components exist. #1164. Fix search page error caused by File class. Fix UserGroupList compiler triggers. #1100. Add power integration field type with [init, reset, push] options. Fix default database fields to allow NULL values. #1169. Fix power list field to support search functionality. #1167. Expand Demo component in JCB v4 to include advanced features. Fix missing working path in zip creation. Fix dynamic retrieval for the demo site view. Fix demo site view to display files. Fix field type initialization message. Fix type-agnostic comparisons by casting to CHAR in dynamic get joins. Fix dynamic download for site area to use correct namespace. Fix missing edit button on fields in related views. Fix dashboard display issues. Restore search option in the [use] field for related views. Fix namespace issue causing linker to break.
Fix the missing edit button on fields in the related views. Fix the dashboard display. Place the search option back in the use field of the related views. Fix the namespace issue that broken the linker.
Fix the demo site view to also display files. Fix the message of field type init. Fix to ensure type-agnostic comparisons by casting to CHAR in joins in dynamic get. Fix dynamic download for site area to have correct namespace.
Fix database default fields to allow NULL. #1169. Fix the power list field to allow search. #1167. Expanded the Demo component in JCB v4 to include more advance features.
Fix site view form missing classes in J4+. Fix permissions tab in items in J4+. Fix site display controller checkEditId function in J4+. Add class methods to the HtmlView classes in J4+. Fix broken toolbar call in HtmlView in J4+. Fix missing scripts and styles fields and methods in the site admin view model. Update subform field layout across JCB for cleaner look. Remove expansion feature. Fix helper area. Fix database mySql update in J4+. Remove phpspreadsheet completely from Joomla 4+. Add option to use powers in preflight event in the installer class. Fix abstract schema class function check default index warring. Fix dynamicGet so that the table values will load again. #1155. Add more pure JS to the dynamic get area. Add native plugin builder for Joomla 4 & 5. Add basic API for admin views.
Fix missing scripts and styles fields and methods in the site admin view model. Update subform field layout across JCB for cleaner look. Remove expansion feature. Fix helper area.
Fix site view form missing classes in J4+. Fix permissions tab in items in J4+. Fix site display controller checkEditId function in J4+. Add class methods to the HtmlView classes in J4+. Fix broken toolbar call in HtmlView in J4+.
Fix auto build from SQL in Joomla 5. Fix permission issue for admin views. Add in JCB gitea push feature to help maintain JCB core features. Add extending options to interfaces. Change the extendsinterfaces field to allow null, #1139. Update the Schema class to also update null mismatching if needed. Add repositories for better integration with gitea. Refactored the Data classes. Add new Data classes. Add new subform classes. Fix registry class methods return type. Update all list and custom fields to use the new layouts. Add push options to Joomla Power. Complete the Joomla Power Init and Reset features. Fix Gitea Contents class functions. Fix subform set methods. Improved the Joomla Power Push path. Fix the metadata, metadesc, metakey database issue. Fix function mismatch call in the compiler power class. Fix init feature to only add missing powers. Fix controller postSaveHook function, for correct model class in Joomla 4 and 5. Fix app instances (mismatch) in the install script and schema class when installing from CLI. Add option to use placeholders in Joomla Power namespaces. Fix subform layout of uikit in JCB.
Add push options to Joomla Power. Complete the Joomla Power Init and Reset features. Fix Gitea Contents class functions. Last Alpha release (feature block).
Fix the plug-in installer script builder bug #1067. Fix Event triggers for Joomla 4 and 5 builds. Add fix to the update script, so that upgrading JCB from Joomla 4 to 5 will not fail. Fix plugin field selection. Fix plugin params tab layout. Add issue templates. Force autoloader to always load. Fix repeatable layout #1076. Add Factory class to the J5 Event class. #1093. Fix customfilelist field to conform to the new namespacing conventions. #1094. Add menus for languages, servers, get snippets to J5 #1095. Fix [Set String Value] in placeholder table to store the value as a base64 string. Fix the search area layout. Fix the search area code line selection. Fix the input edit button for custom fields. Add the new layout to list fields (GUI UPDATE). Start fixing the field view in Joomla 5. #1096. Add power path override option on component level. Fix the sql build feature. #1032. Add the compiler menu back. Fix the CustomfolderlistField #1094. Add view list and single name fix. Add component code name fix. Add reset list of powers. Add Joomla powers for namespace dynamic management. Add fallback option to ensure that all JCB tables and fields exist. Move the powers autoloader to its own file. Fix the media field size limitation. #1109. Add dynamic datatype update to schema field check. Fix version_update column size. Improved the Schema Table update engine. Improved the Schema Table update engine (more). Fix autoloader timing, and loading. Implement the Joomla Powers in JCB code, to move away from JClasses. Remove the SQL update, to only use the Schema updates of table columns to avoid collusion. Fix the admin.css file loading on dashboard. #1112. Fix dynamic get data-type default to 0. #1110. Fix the missing model call. #1114. Fix the wrong $date call. #1115. Add the BaseDatabaseModel use statement to custom site view controller. #1119. Fix the customfolderlist field. #1120.
Improved the Schema Table update engine (more). Fix autoloader timing, and loading. Implement the Joomla Powers in JCB code, to move away from JClasses. Remove the SQL update, to only use the Schema updates of table columns to avoid collusion. Fix the admin.css file loading on dashboard. #1112. Fix dynamic get data-type default to 0. #1110. Fix the missing model call. #1114. Fix the wrong $date call. #1115. Add the BaseDatabaseModel use statement to custom site view controller. #1119.
Improved the Schema Table update engine (more). Fix autoloader timing, and loading. Implement the Joomla Powers in JCB code, to move away from JClasses. Remove the SQL update, to only use the Schema updates of table columns to avoid collusion. Fix the admin.css file loading on dashboard. #1112. Fix dynamic get data-type default to 0. #1110.
Improved the Schema Table update engine (more). Fix autoloader timing, and loading. Implement the Joomla Powers in JCB code, to move away from JClasses. Remove the SQL update, to only use the Schema updates of table columns to avoid collusion.
Improved the Schema Table update engine (more). Fix autoloader timing, and loading. Implement the Joomla Powers in JCB code, to move away from JClasses.
Fix the media field size limitation. #1109. Add dynamic datatype update to schema field check. Fix version_update column size. Improved the Schema Table update engine.
Fix the search area layout. Fix the search area code line selection. Fix the input edit button for custom fields. Add the new layout to list fields (GUI UPDATE). Start fixing the field view in Joomla 5. #1096.
Add Factory class to the J5 Event class. #1093. Fix customfilelist field to conform to the new namespacing conventions. #1094. Add menus for languages, servers, get snippets to J5 #1095.
We fixed#972 so that custom code (in the header) will be added after the power namespaces. We added a message to show when a server move failed. We fixed the BaseConfig to not use '_' as separator. We fixed the footable loading issue. We removed the need for passing placeholders by reference. We added the option to generate a CHANGELOG. We fixed the server class to load new client if server details changed. We fixed the readme placeholder issue #978. We fixed the empty server url issue #978. Fixed Package import to now use the phplibsec version 3.
When field default is DATETIME or CURRENT_TIMESTAMP, the SQL is constructed out of order. The default gets inserted before the NULL/NOT NULL string. One line fix - YAY!
I've got pretty print much closer, but I haven't yet been able to produce it with a starting indent level. The alternative is to run the file xml output through the pretty printer before writing the file.
Small things are killing me..... some concatenation is wrapped in spaces, some isn't.... Some functions start braces on the 2nd line, some don't
I think this is the last one
I removed the string manipulation in favor of something more development friendly. The drawback is that the resulting XML is not as pretty, although I did run the processed fields through DOMDocument pretty printer. The entire resultant XML could be run through a pretty printer, but still won't achieve the tab indented node attributes.
The entire process could be made much more efficient, but this was just an initial conversion.
Resolved gh-146 compiler error on joined db in dinamic get thanks to @mwweb & @ro-ot
Resolved gh-147 by adding the sort of fields back into the save method
Resolved gh-144 to ensure that the published tab (fields overwriting and adding) option is available again.
Resolved gh-145 by moving the subforms to their own tab in dynamic get view
Converted all repeatable fields to subform fields in Joomla component view
Moved 9 subforms and other fields to their own table and view (decopuling them fom Joomla component view), that means we added 9 more views and tables to JCB
Added all the ajax for buttons and display views to Joomla component view
Added tmp scripts all across the new areas with subforms to ensure all repeatable fields are converted. Will be removed in v2.7.0
Added synced copy, change state and delete in Joomla components view in relation to all tables linked to it (same as with admin views)
Thank you for suggesting an enhancement! Your input is crucial for our innovation and progress. To assist us better, please share detailed information about your idea.
- type:textarea
id:enhancement-details
attributes:
label:Enhancement Details
description:Could you detail the enhancement you're suggesting? Explain the issue it addresses or the new feature it introduces.
placeholder:Please give an in-depth explanation of your proposed enhancement.
validations:
required:true
- type:markdown
attributes:
value:|
# Context and Priority
- type:dropdown
id:area
attributes:
label:Which part of the extension will be affected by this enhancement?
multiple:true
options:
- Compilation of component
- Installation of a component
- Installation JCB pkg
- Installation of JCB plugins
- Compiler(admin_view)
- Dashboard(admin_view)
- Joomla Components(admin_views)
- Joomla Component(admin_view)
- Joomla Modules(admin_views)
- Joomla Module(admin_view)
- Joomla Plugins(admin_views)
- Joomla Plugin(admin_view)
- Power(admin_view)
- Powers(admin_views)
- Search(admin_view)
- Admin View(admin_view)
- Admin Views(admin_views)
- Custom Admin Views(admin_views)
- Site View(admin_view)
- Site Views(admin_views)
- Template(admin_view)
- Templates(admin_views)
- Layout(admin_view)
- Layouts(admin_views)
- Dynamic Get(admin_view)
- Dynamic Gets(admin_views)
- Custom Code(admin_view)
- Custom Codes(admin_views)
- Placeholder(admin_view)
- Placeholders(admin_views)
- Library(admin_view)
- Libraries(admin_views)
- Snippet(admin_view)
- Snippets(admin_views)
- Validation Rule(admin_view)
- Validation Rules(admin_views)
- Field(admin_view)
- Fields(admin_views)
- Fieldtypes(admin_views)
- Language Translations(admin_views)
- Server(admin_view)
- Servers(admin_views)
- Help Documents(admin_views)
- Other
validations:
required:true
- type:textarea
id:additional-context
attributes:
label:Additional Context
description:Supply additional context or screenshots related to the enhancement request in this space.
Thanks for setting up the task! Tasks assist us in arranging and ranking our work. Kindly provide comprehensive details about the task for clarity and efficient tracking.
- type:textarea
id:task-details
attributes:
label:Task Details
description:Please describe the task. What are the specific actions required?
placeholder:Provide a detailed description of the task.
validations:
required:true
- type:markdown
attributes:
value:|
# Task Context and Priority
- type:textarea
id:task-environment
attributes:
label:Task environment
description:Please provide the details of the environment in which this task will be completed.
placeholder:Describe the environment applicable to the task.
validations:
required:true
- type:textarea
id:task-objective
attributes:
label:Task Objective
description:What's the aim or purpose of this task? How will it contribute to the project or system's success?
placeholder:Describe the goal and anticipated result of the task.
validations:
required:true
- type:textarea
id:additional-context
attributes:
label:Additional Context
description:Please share any extra context, files, or screenshots that could aid in comprehending or carrying out the task.
about:Propose improvements to the documentation or highlight any issues found within it.
title:"[DOCUMENTATION]: "
labels:
- documentation
body:
- type:markdown
attributes:
value:|
We appreciate your input on our documentation! Clear and comprehensive documentation plays a vital role in enabling users to effectively interact with our systems. To assist us in making improvements, kindly offer thorough details regarding your suggestion or the specific problem you've encountered.
- type:textarea
id:documentation-details
attributes:
label:Documentation Details
description:Please explain the specific problem with the documentation or the improvements you recommend. Is it a missing topic, unclear instructions, outdated content, or something else?
placeholder:Detail the issue with the documentation or suggest improvements..
validations:
required:true
- type:markdown
attributes:
value:|
# Specific Context
- type:textarea
id:expected-outcome
attributes:
label:Expected Outcome
description:What outcomes do you anticipate from this change in documentation? How will it benifit the users or enhance the project?
placeholder:Explain the expected result of this change in the documentation.
validations:
required:true
- type:textarea
id:additional-context
attributes:
label:Additional Context
description:Share any extra details, files, or screenshots that could help in understanding or applying the documentation change.
about:Recommend or propose performance improvements
title:"[PERFORMANCE]: "
labels:
- performance
body:
- type:markdown
attributes:
value:|
Appreciation for tackling performance challenges! Optimizing performance is vital for our system's efficiency and the user experience. Could you offer more comprehensive details to aid in identifying and resolving the suggested performance issue or improvement?
- type:textarea
id:performance-details
attributes:
label:Performance Details
description:Please outline the performance problem or the enhancements you propose. Is it related to speed, resource usage, responsiveness, or something else?
placeholder:Offer an in-depth explanation of the performance challenge or improvement.
validations:
required:true
- type:markdown
attributes:
value:|
# Affected Systems and Context
- type:textarea
id:performance-environment
attributes:
label:Environment in which performance issue occurs
description:Provide a detailed description of the environment in which you are experiencing this perforamnce issue.
placeholder:Describe the environment of the preformance issue.
validations:
required:true
- type:textarea
id:replication-steps
attributes:
label:Steps to Replicate
description:If possible, share a step-by-step guide to replicate the performance problem.
placeholder:Explain how to replicate the problem.
validations:
required:false
- type:textarea
id:impact-assessment
attributes:
label:Impact Assessment
description:How does the performance problem impact the system or its users? How severe is its effect?
placeholder:Explain the impact of the performance problem.
validations:
required:true
- type:textarea
id:proposed-solutions
attributes:
label:Proposed Solutions or Ideas
description:If you have any suggestions or ideas for resolving the performance problem, please share them here.
placeholder:Share any potential solutions or improvement problem.
validations:
required:false
- type:textarea
id:additional-context
attributes:
label:Additional Context
description:Provide any additional context, benchmarks, logs, or screenshots that might help in understanding or addressing the performance problem.
about:Recommend or identify the necessity for code refactoring.
title:"[REFACTOR]: "
labels:
- refactor
body:
- type:markdown
attributes:
value:|
We appreciate your commitment to enhancing the maintainability and quality of our codebase! Code refactoring plays a crucial role in ensuring our system remains efficient and easy to manage. To assist us effectively, please share comprehensive details about the refactoring task you are suggesting or identifying.
- type:textarea
id:refactoring-details
attributes:
label:Refactoring Details
description:Outline the refactoring task, specifying which code segment requires attention and the reasons behind this need. What improvements are expected from this refactoring?
placeholder:Provide an in-depth explanation of the refactoring task?
validations:
required:true
- type:markdown
attributes:
value:|
# Affected Components and Context
- type:textarea
id:area
attributes:
label:Which file or area of JCB needs refactoring?
description:Which area in JCB should be refactored?
placeholder:Give a road map where the refactoring should take place.
validations:
required:true
- type:textarea
id:expected-outcome
attributes:
label:Expected Outcome
description:What benefits do you anticipate from this refactoring? How will it enhance the codebase or overall system?
placeholder:Explain the expected results of this refactoring.
validations:
required:true
- type:textarea
id:additional-context
attributes:
label:Additional Context
description:Share any further details or information, like code snippets, that could aid in comprehending or executing the refactoring task.
**⚠️ CRITICAL: Avoid sharing any sensitive or confidential details in this message.** Should you suspect a security flaw, please contact us directly at [joomla@vdm.io].
- type:textarea
id:security-general-description
attributes:
label:General Description
description:Offer a broad overview of the security concern, ensuring not to disclose any sensitive information.
placeholder:Provide a general description of the security problem.
validations:
required:true
- type:markdown
attributes:
value:|
# Affected Systems
- type:textarea
id:security-environment
attributes:
label:Environment affected by security issue.
description:Give a general description of the environment affected by this security issue.
placeholder:Describe the affected environment.
validations:
required:true
- type:textarea
id:non-sensitive-details
attributes:
label:Non-Sensitive Details
description:If applicable, please offer further non-sensitive information or general observations regarding the security concern.
placeholder:Provide any relevant non-sensitive details or observations.
Contributing to the Joomla Component Builder (JCB)
===============
If you wish to submit a contribution for review and potential inclusion in the Joomla Component Builder (JCB), please follow these simple steps:
1) Open an issue on GitHub, and if possible, provide a fix and create a pull request (PR). Creating a PR automatically generates an issue so that you do not need to create one separately.
2) Adhere to the [Joomla! Coding Standards](https://developer.joomla.org/coding-standards.html).
3) When filing an issue or opening a PR, provide a clear and concise title and description. The title should include a brief summary of the issue and reference to an open issue if possible. For example, Invalid Query in com_admin (Ref #1234) is sufficient. Additionally, provide a detailed description of the issue or PR, including what the problem is, what the PR is addressing, testing instructions, and environmental information such as PHP version and database driver and version, in case the issue is specific to certain environments.
4) Report security issues to the JCB! Core Team using the [Report security issues contact form](https://www.vdm.io/report-security-issues) instead of using public forums.
Please be patient, as not all items will be immediately tested since all bug testing for the JCB is performed by volunteers. Additionally, be open to feedback regarding your code.
#### Branches
For PRs, submit to the staging branch as it contains the most up-to-date version of the code.
^^ Then if you run into any issues, related to the [JCB](https://git.vdm.dev/joomla/Component-Builder/issues) code, like bugs, **start by searching** the (*open & closed*) issues over on [Gitea](https://git.vdm.dev/joomla/Component-Builder/issues), and if the issue has not been mentioned before, **then only** open a new issue, following the [community guidelines](https://git.vdm.dev/joomla/Component-Builder/src/branch/master/.github/CONTRIBUTING.md).
"copyright": "Copyright (C) 2015 Llewellyn van der Merwe. All rights reserved.",
"copyright_year": "2015",
"license": "GNU General Public License version 2; see LICENSE",
"license_file": "LICENSE",
"author": "Llewellyn van der Merwe",
"author_email": "joomla@vdm.io",
"author_url": "https://io.vdm.dev/",
"description": "The Joomla Component Builder Package that bundles JCB Component and all the plugins and features available into one package for easy install and update of your JCB system.",
![Component Builder image] (https://raw.githubusercontent.com/vdm-io/Joomla-Component-Builder/master/admin/assets/images/component-300.png "The Component Builder")
This is a professional-grade [Joomla 5.x](https://extensions.joomla.org/extension/component-builder/) component, created with [JoomlaComponentBuilder (JCB)](https://www.joomlacomponentbuilder.com)—a uniquely advanced development engine for building and maintaining complete Joomla extensions.
The Component Builder for Joomla that is highly advanced, truly able to build extremely complex components in a fraction of the time.
> 🎥 [Original... Quick Hello World Demo](https://www.youtube.com/watch?v=IQfsLYIeblk&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=45), yes JCB has been around for over a decade.
> **You can purchase Component Builder with the following components as demo setup inside Component Builder:**
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**.
+ **Development Version** ([get this demo set](https://www.vdm.io/joomla-component-builder))
You can install this component easily. The latest release (**5.1.2-alpha1**) is available on [Releases](https://git.vdm.dev/joomla/pkg-component-builder/releases) and updated frequently with full source access.
*Help View Integration*
Upgrades are seamless through Joomla's built-in extension update mechanism.
*Demo Component* see the build on [github] (https://github.com/namibia/demo-joomla-3-component)
---
+ **Dev + Howtos Version** ([get this demo set](https://www.vdm.io/joomla-component-builder))
## 🚀 Core Capabilities at a Glance
*All the above*
Here are just some of the key powers JCB brings:
*Sermon Distributor* see the build on [github] (https://github.com/SermonDistributor/Joomla-3-Component)
* 🔁 **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.
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](https://dev.vdm.io)
* **Author:** [Llewellyn van der Merwe](mailto:joomla@vdm.io)
* **License:** GNU General Public License version 2 or later; see LICENSE.txt · **Copyright:** Copyright (C) 2015 Vast Development Method. All rights reserved.
> Generated with [JCB](https://www.joomlacomponentbuilder.com) — The Smartest Way to Build Joomla Extensions.
## Contributors
This project exists thanks to all the people who contribute to the [Joomla Component Builder Project](https://github.com/vdm-io/Joomla-Component-Builder).
Thank you to all our backers! 🙏 [[Become a backer](https://opencollective.com/Joomla-Component-Builder#backer)]
[](https://opencollective.com/Joomla-Component-Builder#backers)
### Sponsors
Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [[Become a sponsor](https://opencollective.com/Joomla-Component-Builder#sponsor)]
This is a professional-grade [Joomla 5.x](https://extensions.joomla.org/extension/component-builder/) component, created with [Joomla Component Builder (JCB)](https://www.joomlacomponentbuilder.com)—a uniquely advanced development engine for building and maintaining complete Joomla extensions.
> 🎥 [Original... Quick Hello World Demo](https://www.youtube.com/watch?v=IQfsLYIeblk&list=PLQRGFI8XZ_wtGvPQZWBfDzzlERLQgpMRE&index=45), 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.2-alpha1**) is available on [Releases](https://git.vdm.dev/joomla/pkg-component-builder/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.
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](https://dev.vdm.io)
* **Author:** [Llewellyn van der Merwe](mailto:joomla@vdm.io)
* **License:** GNU General Public License version 2 or later; see LICENSE.txt · **Copyright:** Copyright (C) 2015 Vast Development Method. All rights reserved.
> Generated with [JCB](https://www.joomlacomponentbuilder.com) — The Smartest Way to Build Joomla Extensions.
## Contributors
This project exists thanks to all the people who contribute to the [Joomla Component Builder Project](https://github.com/vdm-io/Joomla-Component-Builder).
Thank you to all our backers! 🙏 [[Become a backer](https://opencollective.com/Joomla-Component-Builder#backer)]
[](https://opencollective.com/Joomla-Component-Builder#backers)
### Sponsors
Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [[Become a sponsor](https://opencollective.com/Joomla-Component-Builder#sponsor)]
* @copyright Copyright (C) 2015 Vast Development Method. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
/* CSS Document */
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.