The Interface IOpenCD has been designed to be as free as possible, with the hope that it will be easy to modify the CD to accomodate new software, as well as update the software already present on the CD. The CD has a directory structure that reflects what the menu browser application looks like. The directory names are unique code words for menus and applications (not necessarily what would be displayed in the browser... see summary.txt), ideally lowercase with no spaces. In the base directory, there exists a generate script (generate.pl) that magically generates the necessary HTML files using the directory structure. This results in an easy to understand and relatively extensible system for future creators and modifiers of the CD.
You can have a look at the current menu structure implementation here: http://user.interface.org.nz/~gringer/iopencd/menudata/
And the current browser implementation here: http://user.interface.org.nz/~gringer/iopencd/browser/home.html
Generation Scripts
The script to generate the browser files from the menu structure is here: http://user.interface.org.nz/~gringer/iopencd/generate.txt
The best way to run this script and clean up any possible mess left over from previous runs is to remove the browser directory first, then run the script (which will regenerate the browser directory and put necessary files inside it).
Another script is able to generate a LaTeX input file that produces a PDF booklet including screenshots and descriptions of each program (taken from the same menudata structure): http://user.interface.org.nz/~gringer/iopencd/generate-book.txt
Readme file
'README.txt' in the base directory of the CD should have a listing of all the programs (and versions) on the CD. This is not automatically generated. It is a good idea to manually update this when updating the installation files linked to a particular program.
Program / Installation Files
Installation files are typically stored in 'programs/<appname>'. Please keep the file name the same as the downloaded file, and update the relevant InstallFile link in the menudata directory. The browser generation script will produce warnings for InstallFile links that point to a file that does not exist.
Menudata Files
These files are found in 'menudata/<category>/Appname'.
The minimum required to add a new program to the HTML browser is a blank description.txt file, and a summary.txt file in the same directory with 'Apptitle: <string>' and 'InstallFile: <string>' lines. The InstallFile line points to the installation file for the program, which is typically added to the 'programs/<appname/' directory on the CD.
description.txt
This is a HTML formatted text file that will be pasted verbatim into the content of the 'description' tab.
summary.txt
If DiscSize, ComplexityRating, License and InstallFile are not present (or blank), then do not insert the install sidebar. Unsorted items appear after those with SortOrder non-blank. If summary.txt only has AppTitle and WebsiteURL, then treat WebsiteURL as a URL in the menu (like navigate -> home, navigate -> exit). Otherwise, if no description.txt, then don't hyperlink anything (like the application menus). If a MenuTitle is given, then it will be used for the title in the menus, rather than the AppTitle.
AppTitle: <title>
MenuTitle: <title>
DiscSize: <x.y MB>
ComplexityRating: <1-5>
License: <license acronym>
WebsiteURL: <URL>
InstallFile: <program>
SortOrder: <number>
links.txt
Appear after summary on a page (could probably be tacked on to the end of summary.txt). LinkLaunch, if it exists, will replace LinkDescription, and launch a program / web address in a similar fashion to the extras and install icon.
Icon: <icon number>
LinkTitle: <title>
LinkAddress: <URL>
LinkLaunch: <program>
LinkDescription: <short description>
screenshots.txt
If no screenshots, don't show the tab. Needs screenshot, with thumbnails being generated as necessary (assuming an installed 'convert' program).
ScreenShot: <screenshot number>
ScreenDescription: <short description>
extras.txt
If no extras, don't show the tab. Needs thumbnail.
Extra: <extra number>
ExtraTitle: <title>
ExtraLaunch: <program>
ExtraDescription: <short description>
The title for the specific tab will be taken from summary.txt
other files
- screen01 .. screen99.png -- screenshots (.jpg also allowed)
- lthumb01 .. lthumb99.png -- thumbnails/icons for links
- sthumb01 .. sthumb99.png -- thumbnails for screenshots
- ethumb01 .. ethumb99.png -- thumbnails for extras
Note: the first screenshot is used for the program picture in the PDF booklet.
Browser
The browser used for the application has a file name of 'start.exe', which appears to be a customised version of the k-meleon browser. This is modified to begin at the root HTML file (in this case, home.html). The browser loads a splash screen (start.bmp) which appears before the program browser.
CD Cover
An origami CD cover can be found at 'iopencd_cdcase.svg'. This SVG file uses two [square] PNG files, 'cd_back.png' and 'cd_front.png'.
