TouchPointCMS

logoTouchPointCMS is a FREE, modular, and open source Content Management System (CMS) for ASP.NET and SQL Server (Express or higher), built with simplicity and flexibility in mind.

TouchPointCMS is a project that is roughly 4-5 years in the making, though never really considered a packaged and flexible product. It began as a redesign of a classic ASP CMS into ASP.NET. Features were added and customized for each implementation. A lot of positive feedback was received for the CMS in regards to its ease of use. However, a decent amount of set up and customization was involved for implementing specific functionality and features, requiring putting “hooks” into more parts of the system than there should be. The idea was there, but the execution was sloppy.

The second iteration of the CMS I labeled as TouchPointCMS after repeated uses of the word “touchpoint” from a colleague. He suggested TouchPointCMS and the name stuck.

Effort to revamp the system began about a month ago after getting a couple requests to use and customize the project.  The new version is almost a complete internal rewrite with emphasis on modularity, templates, and numerous bug fixes and enhancements. TouchPointCMS is still an early beta, so any bugs will be squashed. Once completed, the project will be free and open-source.

Want to hear more? Read on…

Ease of use

touchpoint_navSince it’s original conception, the focus has always been on ease of use. While experimenting with dozens of other CMS systems, I’ve always had confusion about creating page structure and organizing content. It seemed like the features were there, but difficult to use or confusing.

With TouchPointCMS, your entire site structure on immediately apparent on the top left side of the screen, along with an icon indicating that page’s type. Pages use modules (also called “plugins”) to add specific functionality to a page, such as a photo gallery, contact form, or a blog. Clicking on a page gives you all information and content relating to that page.

Modularity

touchpoint_modules

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.

Templating

touchpoint_templates

Another major change is the idea of a templating interface. Though it is likely that templates would be changed as often as modules, a user can still use it to try out new templates for development purposes. Like modules, templates are kept in a dedicated Templates folder. Each template folder acts as a normal ASP.NET website, consisting of multiple pages, masterpages, scripts, stylesheets, and images.

Specifically, each page in your template folder may have a different look. You may have a home.aspx page which contains your layout for your home page, an interior.aspx page which contains your layout for any of your interior pages, and so on. Upon selecting a template in the CMS, you may set the default template page to be used with your site navigation, as well as assign individual navigation pages to a specific template file.

Open Source

Free to download. Free to modify. If writing modules is not enough to get your desired functionality, and you’re familiar with ASP.NET, hack to your heart’s content.

Server Requirements

  • Windows server running IIS 6+
  • ASP.NET 3.5
  • SQL Server Express or SQL Server Standard/Enterprise

Ready for a demo? Give it a spin! Please note that only a demo is available at this time. Downloads will be announced in the near future as development wraps up.

Leave a Reply