Technical Details

JarisCMS uses a php file system to store any kind of information. Menus, categories, blocks, users, groups, settings, etc.. are stored in easy to edit php files. Pages are no exception and use the same php file system mechanism, they are stored individually on seperate files. This in combination with a directory structure that is easily resolvable by a given URI, serves as a fast way to retrieve the content of a page to be displayed.

From plain text files to relational

As already mentioned Jaris does not depends on any RDBMS, with an exception on the search engine as some other parts that list content. Since SQLite is easy to use, comes enabled with PHP and doesn't depends on a client/server model it was the perfect choice to keep things simple. SQLite support was added to the core in order to facilitate and improve the performance of searching and listing content as listing users, also modules can take benefit of SQLite by implementing features that are easier done using a RDBMS. The search engine and users list database can be re-generated easily and the whole system still relies on plain text files.


On its current state without entering into much details, Jaris will scale as much as your data storage can scale. The easiest example of scaling would be to have multiple servers sharing the php site load. This server would access a shared distributed data storage that stores the site content, sessions, etc. Scaling is a big subject and there are always modifications and optimizations needed depending on the current circumstances.