Eventually I reincarnated my personal site using alpha version of Sapid CMF 2. I’m still in progress refining the CMS release, but actually the only what I brought from old version is its name. So, what is going to be? First of all that’s a new explicit architecture. According to the request dispatcher finds controller. The controller using services prepares data for the view. Services access raw data via DAOs, which respectively use DTOs (Data Transfer Objects).
Renderer deriving output can encounter within the template or layout a request for controller. In the case, there will be created a nested instance of the view. It works like application within another application. In fact, layouts are meant to point where such mini-applications are located on the page. Every application is associated with a controller, which defines a template to decorate its output. So when an AJAX-request occurs to update application HTML the same MVC is used as when the whole page is generated.
I’ve been creating component library of CMF inspired by Zend Framework. That’s a marvelous tool, my best kudos to the team. That’s true everything can be created under this framework, but , as for me, it’s too big and weighty for my average private projects.
Now Sapid is built as a platform to serve many of clients. By default it’s frontend and admin clients, but additional ones can be added easily. They can be bound via configuration file.
CMS document model is simplified as much as I found possible. I refused ‘idée fixe’ of separation content by pages and records. Now that’s always content nodes, belonging to different content types.