Enezaframework — Developer Documentation Index

Entry point for the Enezaframework developer guides. Start here, then follow the links to the topic you need.

Table of Contents

  1. What Enezaframework Is
  2. How a Feature Fits Together
  3. Feature Map
  4. Documentation Map
  5. Suggested Reading Paths
  6. A Note on Testing

What Enezaframework Is

Enezaframework is a low-code framework for Django for building CRUD (Create, Read, Update, Delete) functionality in ERP-style systems. Instead of hand-writing list, detail, create, and delete views for every model, a developer:

  1. Defines a model that inherits from a framework base model.
  2. Declares a view that inherits from a framework base view.
  3. Describes the form layout in a small configuration method.
  4. Registers the view with a decorator and adds a menu entry.

The framework then supplies the generic templates, the CRUD behavior, navigation, and URL routing.

Who it is for: Django developers and coding agents building Small to Medium Enterprise (SME) business applications on top of Enezaframework.


How a Feature Fits Together

Every standard feature follows the same chain, from model to menu.

flowchart LR
    MODEL[Model<br/>inherits an Eneza base model] --> VIEW[View<br/>inherits a Base CRUD view]
    VIEW --> LAYOUT[detail_ui_view<br/>tabs + columns]
    VIEW --> DECORATE["@auto_url_register"]
    DECORATE --> URLS[urls.py<br/>get_registered_urls]
    VIEW --> MENU[apps.py menus<br/>fast tabs + items]
    URLS --> PAGE[Rendered CRUD pages<br/>generic templates]
    MENU --> PAGE
  1. Model — pick the right base (EnezaMaster, EnezaDocument, EnezaSetup, and others) and declare fields.
  2. View — pick the right base (BaseListView, BaseDetailView, and others) and set model.
  3. Layout — implement detail_ui_view to organize fields into tabs and columns.
  4. URLs — decorate with @auto_url_register; the app's urls.py spreads *dynamic_urls into urlpatterns.
  5. Navigation — add the generated URL names to the app's menus list in apps.py.

Related records (children, one-to-one extensions) are handled by inline views declared in get_inline_related_objects.


Feature Map

flowchart LR
    IDX[Developer Index] --> GS[Get Started]
    IDX --> MOD[Models]
    IDX --> VIEWS[Views]
    IDX --> ROUTE[Routing and Navigation]
    IDX --> FE[Frontend]
    IDX --> SEC[Security & RBAC]
    IDX --> CLI[CLI & Deployment]
  • Get Started — what the framework is, how an app is structured, and the build order.
  • Models — the base models, how to add a model, field conventions, document numbering, and lifecycle hooks.
  • Views — CRUD base views, form/inline UI configuration, specialized views, and actions.
  • Routing and Navigation — URL auto-registration and menu configuration.
  • Frontend — reusing the shipped templates, static assets, HTMX, and Alpine.js.
  • Security & RBAC — elements, task privileges, roles, the readiness checklist and the agent access-request playbook.
  • CLI & Deployment — project/app scaffolding, ENEZA_APPS, Docker/Coolify, workers and release notes.

Documentation Map

Get Started

Pos Guide What it covers
1 Framework Overview Purpose, core tech, the three app types, dependency rules.
2 Standardized App Structure Required app layout, package re-export rules, templates, migrations.
3 Developer Workflow The ordered build steps and a completion checklist.
4 End-to-End CRUD Example (VendorTable) A complete worked example from models to menus to URLs.

Models

Pos Guide What it covers
1 Base Models & Model Types Every base model, how to choose one, the Entity model.
2 How to Add a Model Atomic steps to add, re-export, and migrate a model.
3 Model Field Conventions The mandatory field rules and model-level image sizing.
4 Document Sequences & Numbering SequenceMixin, SequenceConfig, and failure modes.
5 Lifecycle Hooks (Events) @hook, hook moments, conditions, EnezaEvents, and automatic support on EnezaModel.

Views

Pos Guide What it covers
1 CRUD Base Views BaseListView, BaseDetailView, BaseCreateView, BaseDeleteView, BaseParameter, BaseAutocompleteView.
2 Field & Inline UI Configuration detail_ui_view schema, disabling fields, ManyToMany autocomplete, inline declarations.
3 Inline & Specialized Views Inline views, journals, setups, document header/lines views, images.
4 Base Actions (Custom Actions) The BaseAction contract and how actions surface on detail views.
5 Ribbon & Action Menus Ribbon profiles, tabs, list/detail handoff, related workspaces, inline menus, permissions and DB overlays.
6 Adding Ribbon Tabs, Groups & Menus Step-by-step recipes for adding ribbon tabs, groups, menu items, list/detail contexts and actions.

Routing and Navigation

Pos Guide What it covers
1 URL Auto-Registration @auto_url_register, get_registered_urls, generated URL names.
2 Menu & Navigation Configuration apps.py menus, fast tabs, menu items, icons.

Frontend

Pos Guide What it covers
1 Frontend Templates & UI Reuse Reusing the Vristo template, static assets, HTMX/Alpine.
2 Migrating Templates to the EZ Surface Style Moving legacy panel/table/btn templates onto the current ez-* surface language without changing behaviour.

Security & RBAC

Pos Guide What it covers
1 Security & RBAC Elements, task privileges, roles, default-deny and code formats.
2 Security Readiness Checklist Every step a developer must complete for a new element.
3 Creating Roles and Privileges The agent playbook for access requests and minimal grants.
4 Troubleshooting Access Diagnosing unexpected access and the /admin/ bypass.

Dashboards

Pos Guide What it covers
0 Dashboards — Developer Index Series map, the two workflows, and reading paths.
1 Dashboards Overview Concepts, architecture, identifiers, publication, security, and v1 scope.
2 Creating a Dashboard Data Source Opting reports in, exposing dimensions/measures, permissions, and verification.
3 Defining and Seeding Dashboards Declarative definitions, widget composition, seeding, ownership, and versioning.
4 Dashboard Designer and Publication Browser workflow: create, wireframe, bind widgets, preview, publish, versions, preferences.
5 Dashboard Reference Full attributes, metadata, widget, layout, parameter, filter, settings, route, and error-code reference.
6 Worked Example: frameworkapp The real report and dashboard, end to end.
7 Operations and Troubleshooting Deployment checklist, failure matrix, error codes, and user validation steps.

The original monolith this series slices is preserved at enezaframework/requirement/framework.md.

CLI and Deployment

Guide What it covers
Eneza CLI Developer Guide startproject, startapp, adddeployment, ENEZA_APPS, Docker/Coolify scaffolding and runtime services.
Deployment section Compose services, init/seeding, db_worker, run_periodic, Redis, media and Coolify setup.
Release notes — v0.4.1 AI assistant coverage across framework templates, including audit trail, setup, journal, attachment, workflow and notification pages.
Changelog Version history and release notes.

Suggested Reading Paths

Creating a new project 1. Eneza CLI Developer Guide 2. Standardized App Structure 3. Menu & Navigation Configuration 4. Docker/Coolify deployment

New to the framework 1. Framework Overview 2. Base Models & Model Types 3. CRUD Base Views 4. End-to-End CRUD Example (VendorTable)

Adding a new entity to an existing app 1. How to Add a Model 2. Model Field Conventions 3. CRUD Base Views 4. URL Auto-Registration 5. Menu & Navigation Configuration

Adding related or child records 1. Inline & Specialized Views 2. Field & Inline UI Configuration

Working on layout and UI 1. Frontend Templates & UI Reuse 2. Field & Inline UI Configuration 3. Model Field Conventions

Adding security to a new feature 1. Security & RBAC 2. Security Readiness Checklist 3. Creating Roles and Privileges


A Note on Testing

Per project rules, the developer or agent does not run or claim test results. The user is solely responsible for all testing and validation of the output described in these guides.