3. Under the hood

CMS platform

The web engine is composed of the CMS section and the archive section:
  • For the the CMS section we apply the WikkaWiki engine. The dynamic wiki pages are embedded in a static frame definded by means of a script, see below. The design of the embedded pages is defined by specially tailored templates for page header an footer. The layout of the content is definded by specially tailored style sheets. The dynamic pages are managed by means of a MySQL database.
  • The archive section is essentially a directory structure. A couple of scripts serve for handling its content and for interconnetions with the wiki pages.

Data structure

Three root directories contain the complete web engine:
  • /b/: root directory
  • /b/Content/: contains the complete wiki engine
/b/Content/plugins/templates/bme1/: defines the framework and styles
/b/Content/plugins/actions/: contains scripts for specific functions (= "actions")
  • /b/Archive/: main image storage
  • /b/PHP/: contains the scripts for the framework and for the archive functionality

Main PHP scripts

A set of scripts constitute the framework of the wiki engine and the independent archive section:
  • /index.php: includes /template_bme1.php
  • /template_bme1.php: framework main script, builds menu and footer, embeds pages generated by the wiki engine
  • /login.php: redirects to 'UserSettings'
  • /PHP/newfolder.php: creates a new folder in /Archive/, copies into it /PHP/preview.php
  • /PHP/index.php: includes /PHP/preview.php
  • /PHP/preview: builds thumbnail list of folder content
  • /Archive/any_subfolder/index.php): includes /PHP/preview.php
  • /Archive/ArchiveDirectory.php: redirects to page 'Archive'

Auxiliary actions

An action is a code entity which will be inserted into the code of a page at the location where it is quoted as {{action parameter(optional)}}. Actions are mostly PHP-scripts or sometimes pieces of HTML-code.

All piggybacked actions are located in /b/Content/plugins/actions/:
  • adminadduser: create a new user (by admin only)
  • changesteaser: Wikka-action, lists recently modified pages
  • clear: insert a forced break after type float items
  • close:
  • colend:
  • colleft:
  • collefthalf:
  • colright:
  • colrighthalf:
  • colslim:
  • format: parameter = textalign leftmargin rightmargin topmargin bottommargin indent fontsize contcolor → TestFormat
  • files: upload files (Wikka-action, not applied)
  • folder: list the content of /b/folder/, parameter = "foldername"
  • hiddenpage: place a right-aligned hidden link, parameter = page or url:link-name(optional)
  • hiddenarchive: ditto, default link-name "Archive"
  • image: see 1. Management and Programming
  • imagelink: ditto
  • insert: ditto
  • line: draw a horizontal line ...
  • mailchimp: insert the application form for a subscription to a mailchimp list
  • more: ...
  • ownerlink: ...
  • pagename: display the name of the present page linked to a list of pages linking to the present page ('backlinks')
  • pageurl: generate a link to the present page
  • picture: ...
  • revisionlink: ...
  • rightlink: place a right-aligned link, Parameter = page/url|link-name(optional)
  • slimoff: ...
  • slimon: ...
  • survey: ...
  • teaser: include content of a target page, truncated at first occurrence of an an asterix, at the point of invocation
  • text: ...
  • upload: to upload images into archive subfolders
  • vimeo: to insert Vimeo video, parameters: code + width