The World Wide Web has evolved and matured in a way that requires countless hours of webpage maintenance for anyone administering a website. In a typical setting, a website administrator is usually responsible for keeping the website running as well as keeping its information current. The people who create the information are often not responsible for keeping it current on the web. This information responsibility creates a need for a link between the people who are in charge of its creation, and the actual displaying of the information on the web.
This need has been recognized since the early stages of the web, and as a result there have been many attempts at solving this problem. Portals and content management systems aim to create a means for easier website management and content updating. For instance, a corporate intranet displays current company information, and its webmaster has the responsibility of maintaining it. Although the webmaster is responsible for administering the intranet’s website he/she may not be responsible for the actual information being displayed. Portals and content management systems do the work of allowing the people responsible for information to be accountable for how and when it’s displayed.
Portals/CMS systems are designed with several goals in mind. As stated above, they create the vital link between information responsibility and the actual means for a person to keep this information current on the web. There are several features common to most systems including, but not limited to: user state control, modules that allow a user to do a predefined task such as updating a page’s text, and the ability to extend a system’s capabilities. User state control refers to the process of how a user logs in and out of the system. It requires that a person who wishes to access the system be authorized. The idea of user state control also includes controlling what modules a user has access to, thus controlling how they (the user) interact with the system. For example, someone who works for the dining services on site can login and access the dining pages in order to update the menu daily, while the main administrative assistant can login and only edit information pertaining to their role, such as a building’s working hours. The system assigns users into groups that allow them access to various modules. The modules of a system implement solutions to the problems that the system is designed to solve. A system may have a module that facilitates updating a database containing personnel information that is then displayed automatically on the web. These modules are a result of the system being highly and easily extensible. The system should have a well documented interface that allows a programmer to create new modules or add additional functionality with relative ease. Any new module should be easily integrated into the system without any major changes or service outages.
There are several open source portal systems available, and all do their job well, but most are not a very good fit for general business-oriented use. Many of these systems attempt to do too much. Forums, blogs and community-oriented features often unnecessarily complicate their (portals) use. A simpler solution is usually best for websites that mainly use the web as a means to display information, and have no need for any of the extras that complicate and clutter many open-source solutions. Their complexity often requires a large amount of time to configure properly and understand. As a result, it is often easier to build a simpler, more directed in-house solution rather than rely on a bloated poorly documented solution.
The goals of this portal system are very specific to the needs of a webmaster that administers a small to medium business-oriented website. A typical website in such a form would be more geared to displaying information in a clear efficient manner rather than maintaining a community-oriented site. In addition to the features listed above, the more specific aim of this system is to: create a simpler portal system that is easier for a webmaster to configure and run in a general setting, create an extensible framework that facilitates the growth of the system, have drop in capabilities, and be cross-platform compatible. As stated above, this system will provide ease of use and configuration for webmasters who administer websites that are not geared toward a community setting. This eliminates many of the extra configuration needs and results in a more streamline, simple solution. The system will be able to be dropped into a web root and configured to work in a simple and timely manner. The system will have a well documented interface that allows anyone to add modules and extend it. Finally, the technologies the system use are cross-platform and as a result the system itself should work on both Windows and Linux platforms.
Specifically, the system will be coded in php with a mySQL server backend. The administrator and user pages will be coded using CSS for layout and style. The system should work on any webserver that supports php any mySQL. This includes any current Windows and Linux variants that are able to have php and mySQL installed. The initial version of the system will have only a few modules for use such as a page updating module, and a generic database front-end. The page updating module will require and open-source web editor called the FCK editor. The module will give a user an interface to change and edit webpages. The generic database front-end will basically update a database with any information the user enters. The administrator will have to add new users, enter machine specific configuration information, and setup all the modules. These tasks will all be done by a php script. I will test the functionality of the system and such modules by attempting to install and run the system on a machine hosting a website that I’ll have created for that purpose.