Skip to main content

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.