๐งฉ Architecture & Core Logic
- Super Powers
- Joomla Powers
- Compile Native Components, Plugins & Modules
- Multi-Version Support
- Conditional Logic Injection
- Reusable Admin Views
- Dynamic GET Builder
- Round-Trip Code Integration
- Custom Admin Views
- Site Views
- Dynamic Dashboards
- Model Linking Between Views
- Shared Field Reuse Across Views
- Drag & Drop Field Mapping
- Dynamic Field Visibility
- Independent Packaging
๐ Joomla CMS Integration
๐งฑ Custom Code System (Powerful Dual Feature)
๐ Field Type System
๐ 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
๐ฆ Packages
๐งฉ Architecture & Core Logic
๐ File & Code Management
๐ง Code Reuse & Blueprints
๐ Joomla CMS Integration
๐จ Visual GUI & UX
๐ Internationalization
๐ฆ Packaging & Distribution
โ๏ธ Compiler Engine Features
๐งฑ Custom Code System
๐ Field Type System
๐ Dynamic GET (Visual SQL Engine)
๐ Snippets, Templates, Layouts, Libraries
๐ Documentation & Metadata
๐ Analytics & Insights
๐งฉ Architecture & Core Logic
- Super Powers
- Joomla Powers
- Compile Native Components, Plugins & Modules
- Multi-Version Support
- Conditional Logic Injection
- Reusable Admin Views
- Dynamic GET Builder
- Round-Trip Code Integration
- Custom Admin Views
- Site Views
- Dynamic Dashboards
- Model Linking Between Views
- Shared Field Reuse Across Views
- Drag & Drop Field Mapping
- Dynamic Field Visibility
- Independent Packaging
๐ Joomla CMS Integration
- Token Integration
- ACL Per View, Field, Item
- Field-Based Joomla Config Generation
- Support For Joomla Categories/Tags/Custom Fields
- CLI-Ready Components
- Joomla Update Server Integration
- Version-Aware Language String Compilation
- Remote Publishing to Custom Repo Update Streams
๐ 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 And Css Per Field
๐ 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
ACL per View, Field, and Item
Fine-grained access control built into every layer of your component.
What Is ACL in JCB?
Joomla Component Builder (JCB) deeply integrates Joomlaโs Access Control List (ACL) system โ enabling you to define who can see, edit, create, delete, or administer:
- Entire views (Admin, Site, Custom Admin)
- Individual fields within views
- Specific records (items) at runtime
This control is enforced at both the GUI level (in JCB) and the compiled PHP level (in your component), ensuring secure behavior consistent with Joomlaโs native architecture.
Where ACL Applies
View-Level ACL
Each view in JCB (Admin, Custom Admin, Site) includes ACL settings where you can configure permissions like:
- Access View
- Create Item
- Edit Item
- Delete Item
- Edit State
- Edit Own
These translate into standard Joomla task-level permission checks in the compiled controller and model classes.
Field-Level ACL
Fields can also carry ACL-based visibility and editability conditions. This includes:
- Show/hide field based on user group
- Make fields read-only for some users
- Hide fields entirely from unauthorized groups
This allows for flexible form tailoring without needing duplicate views.
Item-Level ACL
When you enable Joomla's "access" support in your component, each data item can carry an access level ID (e.g., Public, Registered, Special), letting you:
- Filter listings by access rights
- Control frontend visibility at the item level
- Combine with Joomla menu/view-level ACLs for full frontend protection
JCB also provides view-level logic to automatically add access filters in model getListQuery
methods when needed.
How Itโs Configured
In the JCB GUI:
- Open any View โ Settings tab โ Set view-level access rules.
- Open any Component Config โ Permissions tab โ Set conditional visibility based on user groups.
- Enable ACL-support fields like
access
,created_by
, andchecked_out
for item-level logic.
Compiled Output Includes:
- Form XML with access rules and filters
- PHP controllers with access checks
- Models that apply access filters to queries
- Template logic for hiding/showing form elements or rows
Use Cases
- Admin-only fields (e.g., workflow status, hidden notes)
- Site views that only show logged-in userโs data
- Components that respect Joomlaโs global permission structure
- Role-based dashboards with different views per group
Versioning & Sharing
Like other JCB entities, ACL-enabled views and fields can be:
- Reset to pull upstream permission changes
- Forked and customized for per-project needs
- Exported/imported with ACL settings intact
Conclusion
ACL in JCB allows you to enforce data privacy, editing boundaries, and customized user experiences โ all directly from the builder interface. With field-, item-, and view-level controls, youโre free to build secure, scalable Joomla components that respect every userโs role and rights.