RAM-CMS is a simple content management system designed to be portable and easy to use. It includes the ease of management Wiki software offers, without the offbeat wiki markup.
RAM-CMS is targeted at those of us that long for a simple solution that is extremely flexible.
RAM-CMS is not a typical CMS system because we appeal to those that know HTML, but don't want to just use plain HTML because of the overhead of maintaining HTML pages. RAM-CMS acts as a combination template system and content organizer, with the added benefit of reduced bandwidth as a result.
A sample website is included to give you some ideas, as I find the best way learn something is by example, and indeed will be more accurate and understood than this documentation :)
The index.php file is the key file that handles all requests - it contains everything to make this work.
The functions.php file contains all the routines that do all the heavy lifting and hard work. (if you know some PHP, you might enjoy looking in here).
The config.php file contains all the stuff that makes RAM-CMS your own, including:
The index.php file is never called directly; it is assumed your server has the index.php file name set as what Apache would call a "DocumentIndex" - the index.html file acts similarly. The reason for this it so index.php can be renamed to index.php3, index.phtml, or index.cgi - depending on how your web server is configured. If your web server does not act this way you will need to modify parts of the code. Most web servers with PHP installed should not require this, however. The other reason for this is that I plan to make versions of this that support other server languages, like Perl or ASP, and have basic pages interchangable. Note that if your server support a different "DocumentIndex" file name for PHP (like default.php), then simply rename index.php to whatever is configured to be the "DocumentIndex" for PHP scripts.
To link from one page to another the convention is to use the following basic format: <a href="./?page=page-name">Page Name</a> This makes all the pages portable should they be moved in the future, and also hides the underlying technology (in this case PHP) from user view - Tim Berners-Lee would be proud.
RAM-CMS is very fast - much faster than virtually all other CMS systems.
This code is very well written. It is clean and very easy to follow. This code is so well written that it runs on all version of PHP - PHP 3, PHP 4, and PHP 5. From what i've read, it should also run on PHP 6 without modification also. In addition to that, RAM-CMS-Lite has already been ported to Perl with only a few changes required - none of them involving code organization.
Q. What does RAM-CMS stand for? A. Well, originally the RAM part stood for the authors initials. Now, RAM-CMS in this context stands for "Really Amazing Modest Content Management System" Q. What did you use to develop RAM-CMS? A. I used gedit on Debian GNU/Linux. No RAD tools or fancy IDE's, just gedit and a local Apache2 setup with PHP 3.0.18 and PHP 4.0.10. That and a local php.net mirror from before the official php.net site took off the PHP-version specific info from the doc pages in early 2007. Update: In later versions, I also use "Notepad2" (google it for more info) on MS Windows. Today, I develop RAM-CMS with Notepad2 and gedit - it depends where I happen to be when I decide to do some work on this. Update: in early 2008 development platform changed from Apache2 to Apache1. The last version of RAM-CMS tested with PHP 3 and PHP 4 is 0.8. Now I develop on an Apache 1 server with mod_php5 5.2 and mod_perl 1.27 Compatibility with PHP 3 and PHP 4 persists, however, although we must warn that if you are using any of these legacy platforms that eventually RAM-CMS may stop working after you upgrade one day. (but why upgrade RAM-CMS if you won't even upgrade PHP!)
A bug tracker is now available for viewing bugs that have been fixed, but no bug reporting functionality is in the Bug Tracker (yet). Please post bug reports to the RAM Networks Forum at this time (under Bug Reports => RAM-CMS Bugs)
The Bug Tracker is available at: http://freeprogs.us.tt/?page=bugs The RAM Networks Forum is available at: http://ramnet.z27.net/forum
The author of this program can be contacted directly at: ram@robertmarder.info
All bug reports are welcome, just make sure that you tell me how to reproduce the bug, otherwise I cannot fix it. Provide what you were doing before the bug occured, and what exactly happened as a result. If you are good with PHP and have had good use of this program, consider writing your own bug fix and posting it to to the forum.
Copyright (c) 2007,2008 Robert Alex Marder. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the file FDL.TXT.