Chromium Blog


0.0 Notes
1.0 Introduction
2.0 Feature List
3.0 Platform Details
4.0 Data Map
5.0 3rd Party Components

Chromium Blog is released under the GNU General Public License (GPL).

0.0 - Notes

Published: 2006-12-12
Document Version: 1.2

1.0 - Introduction

The Chromium project is an Open-Source Blog/CMS being developed for the ASP.NET platform in C#.  Chromium will be a data-driven system  which will make use of some of the newest and most exciting Web 2.0 technologies and put them to use in a system which is easy and fast to install and configure.

Chromium, though based on a proprietary technology in Microsoft's .NET framework and not a true open-source capability like PHP, will make use of, and demonstrate some of the capabilities available in the new free developer tools that have been made available by Microsoft.  Admitedly these are not open-source tools, but they provide more flexibility to hobbyist and enthusiast developers than ever before, and at no cost to them.

With the advent of the Express editions of the Microsoft Development suite, it will be easier than ever for tools and applications to be developed using this technology, and Chromium hopes to serve as an example of this.

Though there has been many delays I'm hoping that we're going to get this rolling over the next few weeks, and have something more concrete of a download ready early in 2007.

2.0 - Features

  • Installation Wizard -- Including DB setup
  • WYSIWYG Editor
  • Multiple blog support
  • Web-Based admin console
  • Support for comments
  • Support for trackbacks
  • Support for .NET Master Pages & Skins
  • Search Engine Safe (SES) permalink URLs
  • XML/RSS Syndication
  • Post by Email
  • Images in Blogs
  • File Repository
  • Advanced Archiving
  • Communal Bookmarking Integration

3.0 - Platform Details 

The initial releases will target MS-Windows environments running version 2.0+ of the .NET framework and capable of supporting a SQL Server type database (MSDE, SQL Server Express etc) or a MySQL database.

Future plans do include support for Linux environments with Apache 2.0+ and the Mono add-on -- but this is a longer-term plan.

  • Programming Languages: C# (2.0), ASP.NET (2.0)
  • Web Platform: IIS, Apache w/ Mono support
  • Target OS: Windows Pro (2000+), Windows Server (2000+), Linux
  • Supported Databases: MS SQL Server, MySQL 

4.0 - Data Map 

Here are the proposed tables for the system.  At some point,  a more detailed layout including field lists will be made available.  For now, a list of the applicable tables and a brief description of their function.
  • CR_Users - User table will contain all the registered users, and will also contain permission information for administrative privileges etc.
  • CR_UserGroups - Will contain the data & metadata for individual groups
  • CR_GroupMembers - Will contain the user : group mappings
  • CR_PermissionList - Lists all of the various permission classes for the system
  • CR_GroupPermissions - Maps permissions to specific groups.
  • CR_UserPermissions - Maps permissions to specific users.  Will override group permissions.
  • CR_Posts - Table will contain the data and metadata for each post or news entry.  The posts & comments will be stored in raw XHTML, but will be filtered by a server-side call before posting to the database.  This will allow the administrator to allow/deny content on a tag-by-tag basis keeping the system secure, but extensible.
  • CR_PostTypes - Table will contain the metadata for the different types of posts.  Keeping this separate allows for easy extensibility
  • CR_Comments - Will contain the comments made to each post or news entry
  • CR_Categories - Table will contain categories for the posts or news entries
  • CR_Links - Links to be displayed on the site's pages
  • CR_LinkCategories - Category metadata for the links

5.0 - 3rd Party Components 

Here are a list of the components and tools that have been identified as pieces to the Chromium puzzle.  All components listed here are either freely available at no charge, are open-source projects, or have explicit permission from the author(s).