About XML CMS…A powerful ASP.NET CMS written in C#/ASP.NET. It approaches content management with the underlying goals of simplicity and openness. You can build anything and gives designers and developers a complete control over Xml files/structures and provides a lean, flexible way to build dynamic websites with few XML files.
That is well suited for personal portfolio, blog, or any kind of business website. You can simply control your website look and content without any special knowledge in C# or ASP.NET. It does not use the default .NET Controls and offers an enhanced performance using Html Outputs Compression, Html comments removal and a powerful .NET Caching System and much more…
Please note that the Open Source version of the XML ASP.Net CMS will be available only on codecanyon.net.
A Bief HistoryHaving more than 200 domain names, updating .NET assemblies, static contents, common graphics and plugins was a hard task. Because of this hard maintenance task, I coded the XML Content Management System to have the same .NET code running different on domain names at the same time.
I kept in minde the following goals :
A. Running the CMS on both Microsoft IIS and Common Linux webservers.
B. Running the CMS on Mono using Mono Fast CGI.
C. Sharing common images and Jquery plugins between all domains.
D. Using the same .NET assemblies for all domains.
E. Using a template engine that handles .NET Objects.
F. Editing any domain content from a SSH console.
XML CMS .NET Projects OverviewThe Content Management System .NET projects are well-architectured with a strong C#/ASP.NET Object Oriented Programming model. Its C# code follows and respects the .NET/C# and ASP.NET good naming conventions. The XML CMS comes with useful .NET projects that could be used on other .NET Projects ( Winforms & ASP.NET )
A. Framework.Core :
Contains common .NET Helpers. The .NET Helpers include
1. Serialization Utility
2. IO Utility.
3. Encryption Utility ( MD5, RSA, DES, ..) etc..
B. Framework.TemplateEngine :
This project a .NET factory for NVelocity Project. The template engine project could use both file based templates and memory based templates. The Framework.TemplateEngine is a standalone project and you can use it for both Winforms & ASP.NET Projects.
This project is a .NET Interfaces one for the Framework.TemplateEngine project. So you can override or implement the interfaces as you like for any Winforms or ASP.NET project.
The Web.Core contains all the Models of the XML CMS. Besides, the Web.Core comes with a PageBase super class that inherits from System.Web.Page and make coding easier and better..
This is the ASP.NET Project. The Project contains a unique page : Index.aspx. The Index.aspx inherists from Framework.Web.Core.PageBase and there’s few code in the Framework.Web.XmlContentManagement Project.
The XML CMS is an MVC Content Management System. The Framework.XmlContentManagement.Services .NET Project contains the XMl CMS Controllers. All Http Requests are sent to a Main Controller : XmlService.cs. This one uses internal controllers to validate and serve Html Outputs.
XML CMS .NET Projects MaintainabilityMaintainability Index calculates an index value between 0 and 100 that represents the relative ease of maintaining the code. A high value means better maintainability. The Maintainability Index can be used to quickly identify trouble spots in your code. A green rating is between 20 and 100 and indicates that the code has good maintainability. A yellow rating is between 10 and 19 and indicates that the code is moderately maintainable. A red rating is a rating between 0 and 9 and indicates low maintainability. Each .NET project has a good Code Metrics results and a minimum of 80% Maintainability Index.
What’s new in Upcoming Updates ?For the moment, All updates are done in XML Files. I’m working on the version where the CMS definitions will be stored in an SQLite Database. Administrators will have an full Administration section and all updates will be strored in the SQLite Database. Besides, the XML CMS will still have XML files support and could run with an [ Hibrid Mode ] so you can use both SQLite and XML Files at the same time.
The next version will come with a Powerful .NET O/R Mapper that supports most common databases like : SQLite, Microsoft SQL Server, MySQL & Oracle and offers a kind of LINQ Query Language that makes coding very easy.