Modular and Extensible

Learning from pitfalls with the existing design, I set to revamp the CMS into something that is both familiar, easy to use, and modular. The latter is a key element, something that the existing code lacked. If one wanted to add a page that, for example, managed a list of books or handled a donation, it was possible, but created a mess during implementation. The focus on modularity in TouchPointCMS allows for the creation, installation, and removal of plug-ins or modules as independent entities.
Modules are simply ASP.NET user controls inside a dedicated folder, alongside a special meta.config file which provides the CMS with instructions relating to CMS interfaces, front-end interfaces, database installation, and other meta data.
By using modules, custom functionality can be implemented cleanly and without having to customize entire pages to get them to work. All functionality for that module happens within that module’s folder. Modules are commonly specified by the page type, but they may also be instantiated manually by specifying the name of the control on your .ASPX page.