I have been looking at several other projects like Joomla, WordPress, Drupal to find ideas for building my own CMS. There are no requirements to this project but those I add myself and there are no one waiting for deliveries from this project. This is just a hobby project and a chance for me to create my own CMS.

The way I want my implementation to distinguish from the other CMS’s is through a different user/usergroup workarea isolation scheme.

WebBase must be able to host a number of element or plugins. The functionality must be available to the entire system, configured by the system administration.

To access to functionality the user must be a member of a ‘Zone’ (an isolated work area) with a number of elements attached.

All data entered via elements of one Zone cannot be found in another Zone. That is the basic idea.

The implementation is done in PHP and data is stored in MySQL. All implementation towards MySQL is done through a few files. They can be rewritten and the system will support your chose of database server (e.g. MSSQL).

User Story


You as a supplier in the area of SaaS want to provide some custom made functionality to one or more customers. The customers do not have any relations, and should not share any data.

You will need:

  • A web based program to host services.
  • A login panel that direct you to the place of your services.
  • A user access rights system to manage what services should be available for each customer.
  • A ‘zone’ where the services can be accessed and where data owned by the Zone owner is not shared with anyone else.


A typical scenario in this environment.

  1. You as a user want to access e.g. files (or any other information accessible from the services implemented – called elements)
  2. Go to the login page of ‘WebBase’
  3. Enter you credentials and press login.
  4. If you are member of more than one Zone 4.a else 4.b
    1. Select the Zone you would like to enter and press ok you will be redirected to the selected zone and services you have access to there.
    2. You will access the zone and the services you have access to there.
    3. Apply your changes to the in the Zone, and no one else but other zone members will be able to see your information.
    4. Log out.

Places where this could be used (Examples):

You might have some custom made SW/HW products in the market, and want to give the customers the option of providing feed-back (bug reports, feature requests etc.). There is no reason to let one customer see what another customer reported, but you need to see what each of them reported.

To meet these requirements you need:

  • to install WebBase
  • create/install elements to handle the reporting the way you want it.
  • Define a zone for each customer and invite the personnel representing the customer (they will be users of the system).
  • Make sure your personnel also are member of the Zones.

With that you have an environment where you can see all the customers but they cannot see each other.



‘Zone’ – Zone is the term used for an isolated room of data. Data cannot be shared from one Zone to another. Users can be invited to a zone and that way get access to the information related to that. A zone can have one or more users attached. A zone can have one or more elements (or plugins) attached. The setup of a zone is done through System Administrator.


‘Element’ – Element is a set of functionality. Examples of already implemented elements are “Administration of  Users on Zone”, “Link Library”, “Upload Library”.


‘User’ – If you have a set of credentials username(e-mail address) and password that can be verified by the system you are a user. Users can have different access levels in different zone. There one access profile per Zone. A user can have access one or more elements attached to a Zone. To each of the elements where the user have access the rights can be “Read/Write”, “Read”.

Feature list so fare


  • Regular Login
  • Forgotten Password
  • Change Password
  • Flaming Counter
  • Change Zone
    • If you are member of more than one Zone you can, from the login panel, change to another Zone


  • Invite Users
  • Remove Users
  • Add/Remove User Rights

Language Management

  • At any time you can chose among implemented languages.
  • You can choose a preferred language.
  • If you are system administrator you can:
    • Edit the language tags of the different languages.
    • Create new constant for new implementations.


System Administration

  • Create new Zones
    • Configure what elements should be available to the Zone
    • Define the admin user of the Zone
    • Access the system log
    • Create new users, and see list of all users of the system
    • Block and Unblock User