Osm Admin: Modules
2 years ago ∙ 1 minute read
I'm still working on indexing, and it seems to get one more refactoring. But more on that later.
Meanwhile, let's review Osm Admin modules, their responsibilities and dependencies.
Contents:
Overview
Several modules are gaining shape:
In the above schema, you can see what modules are required by every other module.
Modules
Schema
The central module that other modules depend on is Schema
. It collects information about data classes and properties, and puts them into the $osm_app->schema
.
Formulas
The Formulas
module defines classes for the inner structure of a query: property selection, filters, and sorting. It also contains a rudimentary parser for expressions like parent.title
.
Indexing
The Indexing
module contains a generic engine for propagating data changes through the rest of the database. It introduces the concept of indexed properties, and it adds information about indexes and indexed properties into the schema.
Storages
The Storages
module defines how data objects are stored, and where they are retrieved from.
Queries
The Queries
module defines the query syntax for retrieving objects from storages, and storing them.
Tables
The Tables
module creates database tables for storing data objects there.
Scopes
The Scopes
implements scopes, and creates database tables for storing scope-specific data.