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.
Several modules are gaining shape:
In the above schema, you can see what modules are required by every other module.
The central module that other modules depend on is
Schema. It collects information about data classes and properties, and puts them into 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
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 module defines how data objects are stored, and where they are retrieved from.
Queries module defines the query syntax for retrieving objects from storages, and storing them.
Tables module creates database tables for storing data objects there.
Scopes implements scopes, and creates database tables for storing scope-specific data.