An Open Source CMS System in C++
Create an Open Source CMS in C++ that blows my socks off.
Snap! Websites run your CMS using binary code written in C and C++. (We use some libraries that are written in C, all of our server code is written in C++.)
The basic concept is taken from a large set of Drupal 6.x modules from Drupal Core and necessary 3rd party modules (we've been using over 220 modules on top of the Core modules.) The result is quite extensible as it offers a plug-in mechanism that everyone is welcome to use to create their own extensions.
The Implementation book lists all the features we're considering implementing in our C++ Snap! Websites.
The main idea of having this written in C++ is for speed of execution. PHP is an interpreted language and although it is fast to develop, it remains slow to execute1.
The other big change from Drupal is the backend. We want to use a data manager, not a full blown SQL database. This introduces a problem: we cannot as easily gather data. However, quite often, this data gathering in Drupal can be quite slow2. Not only that, it is difficult to maintain, difficult to backup for easy restore, difficult to move from one system to another. With a data manager that does all of that work automatically, the small draw back of some extra work for data gathering looks acceptable.
We are still in the early stages of development, although we're just starting to get things to connect. We've got the basic features covered as found in our Projects section. We also already have the Snap CGI and Snap Server in place. Now we need the server plug-ins to work out the content of a website. That's the part we're working on right now. Creating a few tables and writing the code that generates the pages (we already have a robots.txt and a default page too, all working. Hang in there, we'll soon have something you can try.)