This repository has been archived by the owner on Apr 1, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 8
Architecture
vronk edited this page Jan 2, 2013
·
8 revisions
The application runs within an instance of an eXist XML-database within a servlet container. This can be fetched and built with the build-script, or only the application scripts can be packaged as XAR-packages and installed into a already existing/running eXist-db installation.
This is the structure of collections within the database (starting from /db/sade/
or, adopting the recent change in exist-db collections structure, /db/apps/sade/
)
- core
- core scripts
- modules
- individual modules, each in its own collection (e.g.
/db/apps/sade/modules/index/index.xqm
) - more information in docs/modules.md
- templates
- place to store different layouts (of the web user interface)
- has to provide at least:
index.html
- more information in docs/templating.md
- projects
- place to store individual projects (each in its own collection). Mainly for project-data and configuration but optionally project-specific xql, css, html can be stored here.
- the projects collection should be outside of the sade-application for easier updates
- the default collection is
/db/apps/sade-projects
(planning to move to/db/sade-projects
, but there were problems with resource resolution for now), and will be generated by the installation script - default project:
/db/apps/sade-projects/default
- structure of every project-collection:
- ./config.xml
- data
- static/content
- (templates) - optional: project's layout is dictated by the template (refered to from the projects' configuration), but the project can have its own templates, or even partial overrides of the refered templates
- config
- under
projects/{project}/config.xml
stores settings of the project, mainly:- which data to use
- which template to use
- which modules are required and where within the templates, they should be placed (also allows setting default values for the parameters of the module functions)
- more information in docs/config.md
The deployment is being put on the basis of XAR-packages (specification, tools) - so that both the basic application, the individual modules and actual projects shall be available and deployable as such packages.