Diagrams


This page will show various diagrams about the framework structure.

Class View Diagram Tree


All class views tree reflect functionality each layer is responsible for a certain goal. You will be essentially using BaseViews, IndexViews and the leafs ModelView, chart views and form views.

Next is a summary explanation for each class:

BaseView

Collects all the exposed methods, creates the Flask blueprint and registers the URLs, initializes base permissions.

UtilView

Implements exposes back for special back UI functionality.

IndexView

Special view for rendering the index page.

SimpleFormView

Subclass it to render WTForms.

PublicFormView

Same as SimpleFormView but with public access only.

BaseModelView

Class responsible for an initial datamodel layer, implements search form and filters.

BaseChartView

Basic chart view functionality.

GroupByChartView

Subclass it to render Google charts with group by queries.

DirectByChartView

Subclass it to render Google charts with queries.

BaseCRUDView

Implement base functionality for add, edit, delete, creates all forms.

RestCRUDView

Exposes the JSON REST API for CRUD methods and more.

ModelView

Subclass it to render your views based on models, with complete CRUD UI functionality.

MasterDetailView

Renders a master ModelView and multiple detail ModelViews thar are database related.

MultipleView

Renders multiple views on the same page (ex: ModelView and GroupByChartView)

Class Data Diagram Tree


All classes for data access aim for abstracting the backend.

BaseInterface

Interface class, imposes a unique API layer for data access.

SQLAInterface

Data access for SQLAlchemy.

MongoEngineInterface

Data access for MongoEngine (MongoDB).

GenericInterface

Data access for custom data structures.

Class Security Diagram Tree


Classes that are involved in implementing security. Register security views, implement various methods of authentication manage permissions (insert/remove all permission on the backend).

BaseManager

Base class for all Manager classes, holds AppBuilder class.

AbstractSecurityManager

Abstract class for Security managers, defines the must have methods.

BaseSecurityManager

Base class for security, registers security views, implements authentication, inserts/removes all permission on the database, manages roles/users and views.

sqla.SecurityManager

Implements BaseSecurityManager for SQAlchemy.

mongoengine.SecurityManager

Implements BaseSecurityManager for MongoEngine.

Security Models ERD


This is the ERD of the frameworks security models.