๐งฉ 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
Internal Documentation Tables
JCB includes built-in internal documentation fields for nearly every entity โ allowing you to describe, annotate, and track logic, behavior, and usage details across components without relying on external documentation tools
๐ง What Are Internal Documentation Tables?
Internal documentation tables are structured note fields attached directly to key entities inside JCB โ including:
- Views (Admin, Site, Custom Admin)
- Templates
- Layouts
- Snippets
- Dynamic GETs
- Field Types
- Custom Code Blocks
- Packaging blueprints
- Component root metadata
These fields allow developers to annotate how or why an entity was built, what itโs intended to do, and what assumptions or dependencies it carries.
You can think of them as:
- Inline architectural notes
- Developer-facing readmes
- Metadata for future maintainers
They help teams (and solo developers over time) remember what each piece of logic was designed to do โ directly where it lives.
๐งญ Where Are They Used?
Internal documentation tables are visible in the GUI for most major objects. For example:
- Inside an Admin View: โDescriptionโ and โDocumentationโ
- Inside a Snippet: โDescriptionโ, โSample usageโ, โLinked viewsโ
- Inside a Field Type: โTechnical Notesโ, โRulesโ, โJoomla version behaviorโ
These fields are available in both the JCB interface and in the generated README files (if configured).
๐ ๏ธ How Do You Use Them?
- Click into any major entity (e.g., a Dynamic GET, Field, Template)
- Locate the documentation field (usually in a โDetailsโ or โMetaโ tab)
- Write Markdown-formatted or plain text explanations
- Save โ your notes are now stored with the entity and exported during build
In team environments, this ensures future developers understand logic even if they didnโt create it.
๐ Output Options
JCBโs internal documentation system supports:
- Export to Git-managed blueprint repos
- Inclusion in generated READMEs
- Visibility in GUI for all users with access
- Markdown rendering in some views
โ Benefits
- โ Improve project maintainability
- โ Reduce onboarding time for new developers
- โ Serve as in-place documentation alongside GUI configuration
- โ Prevent โtribal knowledgeโ loss in large or long-running projects
- โ Extend with custom fields if more structure is needed
๐ก Pro Tip
Use naming conventions (like starting with ๐ or ๐ ๏ธ) to tag different types of notes (e.g. technical, UI logic, usage instructions).
Example:
- ๐ง This Dynamic GET expects the current userโs ID as input.
- ๐ Used only for ACL-protected views.
- ๐ ๏ธ See related Template: โuser_tasks_list.tpl.phpโ
๐ Conclusion
JCBโs Internal Documentation Tables give you a centralized, structured, and version-controlled way to annotate your component logic as you build. Stop hunting through external docs โ describe your logic where it lives.