plite: Website development très simple

Introduction
Does it work?
Problems and drawbacks
A word about Mati
Download
Upgrading
Installation

Whats new?
plite no longer exists as a separate package. This page is here only for historical reasons.
I'm currently spending more time upgrading Mati. While I will continue to develop other plite modules, only the Mati photo gallery will be available as a packate. See the Mati page for details.

Introduction
plite started off as a personal project to develop a community website for my college alumni. I tried PHP-Nuke, phpWebSite, and several others. After careful evaluation I decided to write my own because:
  1. All these sites made heavy use of MySQL, even for the frontend. This made them slow and bulky (e.g. personalizing each users UI was overkill).
  2. I wanted a CMS that had dynamic content but static configuration, so using configuration files made sense, rather than using MySQL.
  3. I wanted a CMS that was easy to modify and extend. I therefore make significant use of classes in plite.
  4. I had very specific requirements for user registration/validation. Modifying these packages was turning out to be more difficult than writing my own CMS.
When I had reached a certain stage in development I figured why not share it with others. So here it is.

Does it work?

Oh yeah!!! As I said, it started as a way to develop a real website. I now use it for two websites I adminster and some of my friends have also started using the Mati package.
See the latest versions in action at:

Shortcomings
If plite is so good how come nobody uses it?
  1. I haven't been able to make is user friendly. I have no time to impove the documentation, install scripts, etc. What little time I get, I put into adding functionality.
  2. The other packages are already extensive and very feature rich. I have no illusions at catching up with them. But plite is good at what it does and it does that fast.
  3. Just to use plite you need to have at least a working knowledge of PHP (at the very least, open a config file, read the comments and edit the values specified).
  4. Not user friendly, again.
A word about Mati
More details on Mati.
One of the modules I added to plite was pop: Photo Organizer in PHP. I am an avid photographer and need to share several hundred photos with friends. For sometime now I have expended all my energy into improving this module. And, having seen my friends use it as well, I made it available as a separate package, christened Mati.

What it means
Mati: Greek for "eyes". See what I see, as I see it.

While the benefits of plite may not be obvious for all, Mati is more powerful, flexible, and easier to use than other software (such as gallery). So read more about it, download it, and start sharing those photos.

Download
Plite can be downloaded from sourceforge (http://www.soureforge.net/projects/plite). A list of recent changes (as of version 0.3.16)
Coming soon:

Upgrades
New to version 0.3.16 is the ability to upgrade from one version to the next. It is necessary to follow the instructions below every time you upgrade to a new version, even if nothing seems to have changed.

Installation
To install plite you need:

Till the new installer arrives, probably in version 0.4.0, installation is not very intuitive. If installing for the first time do the follow:
  1. Extract package to where you will be running it from. Must be in your apache directory.
  2. Point your browser to http://localhost/<installpath>/install.php
  3. Based on the configuration shown, edit the configuration file config.inc.php, and the module config files in each module directory.
  4. To disable modules you don't want delete the relevant module directories (in installpath/mod). Also remove references to that module in mod_config.inc.php.
  5. If you have root access to MySQL, provide the root user/password to the install.php script.
  6. If you don't have root access create the MySQL database and create a user for your installation. Provide the database name, user, and password in config.inc.php (see install.php to see the MySQL query to create the user - function install_create_user).
That should do it. There is some documentation, that I would not rely on, in the README and INSTALL files. Mostly though, file headers are your best documentation and are fairly detailed.
To extend an existing module or write your own module, see files in mod/examples and documentation.

License
Ah. The drab legal stuff. In short, there is no license. I wrote this under the MIT license (file LICENSE included) which allows you to do what you want with this code. If you like it and find it useful, I'd appreciate an email so I know its proving useful to others.