Author: Ben Brown
Title: The Universal Content Management System (UCMS)
Advisor: Bill Ames
Abstract: There are millions of content management systems out there in the world, each fitted with a fairly narrow purpose. These systems can range from very simple ones to very advanced ones, but what they all have in common is that they require a programmer (or even team of programmers) to build them.
What I have attempted to do is to create a universal content management system—one which allows for (ideally) any kind of feature or set of features to be created with as little dependence on programmers and on other people with any significant understanding of technology. In other words, this system generates whole features and specific pages for these features on its own, with the user only specifying what sort of fields and other content he wants on those pages. This is code that writes code.
In order to make this possible, I have looked at the most general and most common design patterns for content management systems—specifically database design patterns—and incorporated them into this system. What pattern or set of patterns we use is entirely contingent on what options the user chooses, but the user does not need to know more than basic database relationship concepts in order to use the system effectively (assuming, of course, that he take some time to familiarize himself with the system and the terminology it uses).
UCMS can generate blogs and simple forums, among other features. At this stage, it is powerful enough to be a simple—moderate content management system, in terms of complexity. This is because UCMS still has some limitations, as there are some general design patterns and issues that have not yet been covered by it. Additionally, it is limited only to PHP and MySQL based content management systems (as this is the language and database system, respectively, that it has been built on and for).
[NOTE: PDF form of this thesis is not currently available.]