The Home Of <plop>

Welcome to the home of <plop>, the Website Management System (WMS for short) that I am making. It is named so, because of the simplicity with which you can (ideally) bring your audience and your information together, in a friendly, community-like environment. This is going to be my first completely database-driven website management package, but I am hoping that it will be very successful despite that.

What's a Website Management System, and What Is It's Purpose

I call this project a Website Management System because it is a system I can use to manage all aspects of my website. This site is not merely a content outlet, and thus I don't call <plop> a Content Management System. <plop> will simplify all aspects of the operation of my website, including the administration, development, appearance, and content authoring on my website. In doing so, it will greatly simplify the work involved in carrying out the above tasks, as they are made independent from each other. For example, if I update the underlying coding or appearance of the website, I do not need to manually apply these changes to every page utilized by the site. I will be able to offer alternative website appearance templates, which can immediately be used, without affecting any other aspect of the website's operation.

Ideally, <plop> should handle the tasks from a web interface, so I can control everything from a remote location, without needing direct file system or database access. This not only simplifies the process, but improves the security as well.

My website has been using an older, crude, file-based system I made, which although is easy for editing purposes, is cumbersome, and doesn't cope well with code changes. Sometimes when I change the underlying programming a great deal, I have to adjust each page by hand as well! This is not an option for websites with hundreds or thousands of pages, and so I am hoping to move away from this technique before my website gets much larger.

What Can It Do?

The <plop> system is going to control several common web functions and applications and merge them together for the audience, to give a more seamless user experience. This doesn't necessarily have to mean things have to be more complex or rigidly implemented, thanks to the templating system, the extensively database-driven back end, and better logical separation of website management functions. A number of modules will be incorporated into the <plop> system, including:

  • Global Login System - Allows setting flexible page, category, or module-specific permissions to individual users or non-users browsing the site, or entire groups of user-types.
  • Flexible Templating - Allowing many appearance options to be changed on a per-user, without having to change the PHP source code.
  • StickyNotes - Allows users to place personal notice boxes that appear over all pages on the site until they hide or delete them.
  • Communication - Merges a Forum, Interactive Chat, and E-Mail-like functionality into one module, allowing the users to communicate with each other, as well as site administrators and moderators, easily and efficiently, without harshly interrupting what the user was doing beforehand, which greatly facilitates multitasking.
  • Image Gallery - Attach a selection of images to articles on a per-article basis, as well as a categorized central database of the site images.
  • Opinion Polls - Add Opinion polls to specific forum threads, articles, or to the entire site!

How Does This Improve Things, Without Making Everything Too Complex?

My motto for this project is that it will be "Complex for me, but simple for you". When it is complete, it should be ridiculously simple to administrate a website using this system (perhaps depending on the scale of the website), simple to add content, and the security should be something to be relied upon. I don't think that security and features should have to be a trade-off, as long as the features are implemented properly. This system is going to offer several such improvements to simplicity, security, reliability, and should easily adapt to future needs. A logical, easy to use and understand system is a significant focus in this project, as I wish for it to be easily scalable from a small, personal website, to a professional website, or even to a large corporate knowledge base, and team-coordination framework, or perhaps you can run one of each from one domain name!

  • Pulling all the info from the central database means no more direct file system connections, as well as better management of the contents of the entire website.
  • Option to program new pages with PHP/HTML, HTML, plain text, and possibly BBCode, without breaking the uniform look of the site (unless this is desired).
  • Site Navigation system which automatically places links to other articles in the site hierarchy, and lets the author of an article manually add links to other relevant pages, on a per-page basis.
  • Integrated web statistics gathering and display, for design, or administrative purposes.
  • Flexible use of the generated web statistics.
  • Breadcrumb bar - A session-specific history of all visits to my website.
  • Cleaner website look due to better code and less complication in CSS style sheet generation.
  • Validated XHTML compliant code.
  • More logical category separation.
  • Option to create non-database defined pages for PHP scripted pages that are not likely compatible with the automatically generated pages.
  • Possible to track page revision and CMS module/core version numbers, and include as part of page statistics and news updates.
  • Ability to fully administrate and update website from almost any Internet connection around the world.
  • Page-specific content advisory system - Let the visitors be warned if the page they are about to view may contain potentially offensive material, such as coarse language, bias, violence, mature subject matter, or controversial opinions, as well as the option to prevent them from seeing the page altogether.
  • Will use Apache mod_rewrite to generate URL forwarding, to give articles a more logical URL than something like http://www.example.com/plop/view.php?id=357356

Possible Difficulties

  • Redefining my login system so that it works with this new system
  • Ensuring the site navigation links can be dynamically generated for each page
  • Finding a way to generate default links based on the documents position in the site hierarchy
  • Determining when to clear the breadcrumb bar - perhaps looking at the referring page will determine whether or not to start with a clear breadcrumb bar, but page refreshes or back-linking from browser history may mess it up
  • Determining how to lay out the website hierarchy
  • Thinking up a new name for this site and my future professional web design sub-section as well
  • Doing all this, and also storing web page statistics, without causing each page to load slowly
  • Remembering to stop and eat during development so that I do not die of starvation in the process

Knowing all this, it is obvious to see that this system will not likely be ready for quite some time.

$_SERVER[HTTP_HOST]: redscourge.servehttp.com
$_SERVER[SERVER_NAME]: redscourge.servehttp.com
$_SERVER[PHP_SELF]: /newsite/plop/index.php

This is a footer. Wicked.