DownloadsScreenshotsMail FeedbackAbout VempainTechnical informationVempain documentation

Vempain is a publishing system that supports remote updating of pages as well as remote administration. The distributed architecture makes it very scalable and thus suitable even for highvolume sites.

As Java, PHP and SQL is used, any platform that support these can be used (Windows, Linux, Unix, Apache, iPlanet, mySQL, PostgreSQL, Oracle, MSSQL to name a few). Vempain is developed on x86 Linux, Apache, mySQL-combination and is it´s primary platform. Internet Information Service is not supported due to it´s lack of basic features such as internal redirection with matching.

Vempain is divided into four separate parts, the web-server, publishing-server, publisher-client and the database, the two first ones both connecting to the database.

Web server
Publisher-server
Binary upload
Users, units and roles

Web-server

The webserver runs a PHP-module which enables it to parse and run PHP-scripts. All requests to pages are redirected to a single page which in turn parses the request-string and searches the database for a corresponding document as well as its form and additional components which the script combines and runs. The product is then sent back to the requesting visitor.

If the requested page is marked restricted, then the credentials are checked.

Publisher-server

The publisher is written in Java using RMI as the c/s-protocol. The client in itself does not contain any editor, instead the user configures his/her favorite editor to be called (provided that the editor supports filename as command-line parameters).

Binary upload

The binary files (image, executable, zip etc.) are handled differently from the pages in that they are stored on the harddisk and are listed in two tables on the SQL-server, binary_file and binary_file_referer. The first lists uniquely the path+filename as well as the ACL_id of the page (the owner), MD5Sum and of course the creator, modifier, dates of creation and last modification. The second table lists all the references to the file, including the ACL_id of the referencing page, order of referrer (the owner-referrer is the first), page_id of the referrer-page, creator and date of creation. The version of the binary file is checked by computing the MD5Sum of the file.

Users, units and roles

Since Vempain has no built-in definitions of administrators, authors and web users extra care must be used when an user is assigned to a unit since the unit may have assigned indirect privileges.

Instead of built-in privileges Vempain has the following definition of admin, author and web user units:

Web user unit:
Web user unit contains all the users who have read-access to pages where the default ´webuser´-user is removed. This always requires login of the user otherwise the privilege falls back to the anonymous ´webuser´ web user.

Author unit:
Author unit has the additional privileges to write, delete and modify pages as well as read part of the administrative pages of vempain itself (those currently residing under /Edit/). Since each page consists of many parts (layout, layout_order, form. component and page) the role of the author can be established with a fine-granularity. IE. some authors may have the privilege to modify the components and layouts while others can only create new page content with the given template.

Administrator unit:
Those belonging to the administration unit has the full access (both read as well as write, delete and modify) to the administrative pages.

Notes

  • Administrators are the only ones who can create new users.
  • Since the privileges work in an explicit way, the administrators do not have automatic access to all web-pages (neither through browsing the site nor through editing the pages).
  • Similarly the viewable pages can be split among the authors so that only part of the unit as access to some pages while the others update the rest.
  • There is one group whose authority supersedes even the administrator-unit and that is the operator of the server. Since the operator has access to the database passwords, he can in effect see all the content of the site. Therefore it

For a small site the features described above seems perhaps unnecessary, but as soon as the site begins to grow the maintaining becomes more complex and a migration to a new platform is very expensive, both in terms of downtime, additional cost of investments in hardware and software as well as the re-education of the staff.