In the following series of posts, I am describing a custom file system storage, called the Toolkit, that mimics the behaviour of the Tridion File System Broker. There are a couple of noticeable differences from the File System Broker in that it:
The Toolkit offers the following functionality:
Backing the Toolkit implementation are the following:
Each of the modules above are described in following posts.
The Toolkit is written in plain Java without using any additional framework or third party data access / indexing API. The Toolkit does use FasterXML's Jackson JSON API in its interaction with JSON.
Toolkit is available as open source on the GitHub project of this blog (https://github.com/mitza13/yet-another-tridion-blog/tree/master/File System Toolkit). The distributable JARs are available in its /distributable folder.
Some performance metrics of the Toolkit can be found in post Toolkit - Performance.
Installation and configuration steps can be found in post Toolkit - Installation and Configuration.
Examples for using the Toolkit API can be found in post Toolkit - Examples.
- stores items as JSON files on the file system;
- provides dynamic queries functionality;
The Toolkit offers the following functionality:
- Dynamic linking (Component, Page and Binary)
- Component Presentation Factory
- Component Presentation Assembler
- Custom Tags execution during Component Presentation assembling
- Dynamic Content Queries based on CustomMeta criteria, sorting, and pagination
Backing the Toolkit implementation are the following:
- Model Factory offering CRUD operations on models backed by a cache for model objects and a file system provider acting as data layer abstraction;
- File System Provider acting as Data Abstraction Layer that offers CRUD operations between model objects, JSON de-/serializer, JSON files, and the underlying file system;
- Cache Factory offering EHCache memory storage for frequently used models;
- Cache invalidation mechanism that removes stale items from cache;
- Custom indexes and handling logic that provides performance for content queries;
- Tridion Deployer module and Tridion Storage extension that publish/unpublish the JSON files from the file system;
Each of the modules above are described in following posts.
The Toolkit is written in plain Java without using any additional framework or third party data access / indexing API. The Toolkit does use FasterXML's Jackson JSON API in its interaction with JSON.
Toolkit is available as open source on the GitHub project of this blog (https://github.com/mitza13/yet-another-tridion-blog/tree/master/File System Toolkit). The distributable JARs are available in its /distributable folder.
Some performance metrics of the Toolkit can be found in post Toolkit - Performance.
Installation and configuration steps can be found in post Toolkit - Installation and Configuration.
Examples for using the Toolkit API can be found in post Toolkit - Examples.
Comments