Add update authorization features. Perhaps have changes signed by the author.
Deploying the wiki
All of the processes use the same headless image into which they all load the same runtime parcel.
Setting up the runtime directory structure
Do each of the following as necessary on the target host:
- Add an mms group using addgroup wiki. Check by looking in /etc/group.
- Add your account to the wiki group, using adduser xxxx wiki. Check by running groups. You'll have to log out and back in for the new group to take effect for you.
- Create the directories:
- Set the group of the directory to wiki: chgrp -R wiki /opt/wiki/
- Give the group read, write and execute permissions on the directory: chmod g+rwx /opt/wiki/
- Place the following files in the /opt/wiki/bin directory:
- The 01-Start script (see below). Give the wiki group execute permision to this file(chmod g+x /opt/wiki/bin/01-Start).
- The wiki.im file (see below).
- The WikiBundle.pcl and WikiBundle.pst files.
- The vwlinux86 (the VisualWorks virtual machine for Linux). Copy from the VisualWorks installation directory ($VISUALWORKS/bin/...)
Creating the base headless image.
- Start a clean VisualWorks image
- Load the version of the Wiki Development bundle you wish to build a base image for. Note, a base image may well be good for several versions of the system. You'll only need to build a new image if there is a new version of VisualWorks, or you change the WikiBaseImageElements bundle.
- Save the WikiBaseImageElements bundle as a parcel.
- Close the image (no need to save it).
- Start another clean image (do not load Store or any other development tools into this image).
- Load the WikiBaseImageElements parcel you just made into the image. This will pull in all the prerequisite parcels needed by the MMS system.
- Evaluate: "WikiBootstrap makeHeadlessImageAndSaveAs: 'wiki'". This will save a headless image called "wiki.im". This is your new base image.
- Exit from the image without saving it.
Creating the application parcel
The application is deployed as a parcel (well, both the .pcl and .pst). So, simlpy load the version of the development app containing the version of the system you wish to deploy and publish-as-parcel the WikiBundle bundle. Include the package structure in the parcel (this does not affect the runtime, but will help debugging).