Front Page
Welcome to PraxisCMS
Praxis: the process by which a theory, lesson, or skill is enacted or practiced.
PraxisCMS Project
PraxisCMS is a Topic Map based CMS running on the Microsoft MVC framework. Its development was a learning exercise designed partly to become more familiar with Microsoft MVC but also for the experience of building a fully functioning content management system from the ground up.
The project itself is not fully complete but I decided to put up what I had done so far. There is still alot to be done, especially regarding the styling of the site.
Design
The backend consists of a simple MySql database. The controllers are coded in C#. I replaced the default Web Forms view engine with my own Xslt view engine that transforms the XML output from the application.
I hope one day to possibly port my application to an open source framework like ramaze form Ruby.
Features
Adding/Editing and Linking of Content
It wouldn't be much of a content management system without the ability to add a page(topic), add content to that page then link that page with other pages. This is all done using the concept of Topic Maps.
Wiki Markup
This CMS uses the .net implementation of Markdown a text-to-HTML conversion tool for web writers. Markdown allows you to write using an easy-to-read, easy-to-write plain text format, then convert it to structurally valid XHTML (or HTML).
As a side project I am writing my own wiki markup parser that I hope one day to replace Markup.
Language Switching
The ability to have the same page in multiple languages. For testing purposes I have included example versions of this page in chinese, russian and japanese.
Scope Switching
The ability to have different versions of the same page including in different languages. This allows for example to have a page in a publishing scope that only certain individuals can view before you then commit a change to a public scope where anyone can view it.
Image/Attachment Uploading
Uploading images to a page(topic) as a gallery with the ability to share those images with other pages either as a single reference inline or the gallery as a whole. Similarly the ability to upload attachments e.g. text files, pdf's etc with the ability to share between paged(topics).
User administration with Role based security
The ability to create a user and assign a role that dictates to what extent they can use the CMS. Roles can be as coarse or as fine grained as needed.
Caching
This CMS when serving content goes as little as possible to the database. Working from a thread safe cache I wrote myself that provides extremely fast returns upto and including 100,000 pages (tested).




