1. Introduction

This document should help to maintain the Siduction manual.

2.Directory Structure

DirectoryDescription
adminDjango stuff
binScript(s), see /usr/bin
configI18N for the dialog pages and the common parts of the static pages (template)
debianDebian package stuff
docMaintenance documentation
etcPackage configuration: embedding into pywwetha...
iconsLogo
sidu-manualThe central Django definitions)
templatesThe common part of pages
websiteThe site specific code (a Django application)
website/staticThe support files of the site
website/static/$fooThe support files of the site: CSS, JavaScript, pictures, icons...
website/static/<language>
  • The files containing the content of the manual
  • The language specific pictures (screenshots ...)

3.Cookbook

3.1.Get the Sources

Note: You must get the sources of sidu-base too! Otherwise some some things will fail, e.g. the build of the configuration database.


cd <parent_directory_of_the_source>
git clone git3@git.siduction.org:code/sidu-base
git clone git3@git.siduction.org:code/sidu-manual
SIDU_MANUAL_HOME=$(pwd)/sidu-manual
echo >>~/.bashrc "export  SIDU_MANUAL_HOME=$SIDU_MANUAL_HOME"

# Install the package if not done:
test -x /usr/bin/sidu-manual-control || sudo apt-get install sidu-manual

# Prepare pywwetha to show the development sources:
sudo perl -pi -e "s%/usr/share/sidu-manual%$SIDU_MANUAL_HOME%" /etc/pywwetha/sidu-manual.conf

Alternative package download.

3.2.Show the Changed Sources

ChangesTo Do
*.htm file changedReload the page in your browser (F5)
config/*.conf changed
  • Create DB: import_config.sh
  • Execute import_config.sh
template/pageframe.html file changedReload the page in your browser (F5)

3.3.Add a New Page

Task: A new page should be created, e.g. "Manual Maintainance".

3.4.Translate a Page

Task: A given English page, e.g. manual-maint-en.htm should be translated, e.g. into German.

3.5.Menu Entries

Note: Each page must be anchored at least one time in the menu.

If the page is large more than one entry can be put into the menu, e.g. a link to each main head line.

Task: The entry should be extended by a link to the headline "Tips and Tricks"

  • Make an anchor:
    Change the header
    <h2>Tips and Tricks<h2>
    to
    <h2 name="tips_and_tricks">Tips and Tricks<h2>
  • Put a new entrie into config/menu_en.conf:
    *** - manual-maint#tips_and_tricks Tips and Tricks

3.5.1.Format of the Menu Definitions

  • Each line not starting with '*' is a comment and will be ignored.
  • The fields of a definition line: <indent> <id> <link> <title>
    • indent: the number of '*' is the indention level of the menu
    • id: '-' or the id of the XML tag. Not used.
    • link: The relative link, e.g. manual-maint#tips_and_tricks
      • the name of the file without language and extension
      • Optional: an anchor in the file beginning with '#'

4. Tools

ToolDescription
sidu-manual-control <command> Commands: start | stop
  • start: starts the webserver and the browser with sidu-manual
  • stop: stops the webserver
import_config.sh Puts the files config/*.conf into the SqLite database config.db
pywwetha-control <command> Controls the webserver.
Commands: start | restart | status | stop