Setup of an installed open theory server
========================================

Date of the SETUP file: 04.05.2002

If you don't have installed the ot-server yet, please refer to INSTALL. This
document describes the setup of an installed ot-server by the adminstrator.


Background
----------

All pages of the website driven by the ot-server are generated dynamically
in a comprehensive sense. This means, that data and functions are completely
separated. Data are static and dynamic texts. Static texts are all
descriptions of the website, of their funtions etc. Dynamic texts are all
text projects which can be done using the ot-server functions - at least,
this is the sense of open theory;-)

The separation of static texts from website functions make it relatively
easy to translate the ot-server. If want to do that - you're welcome! - then
refer to document TRANSLATE.

The ot-server comes with no project, although some descriptions of the ot
funtionality is done using ot-projects. So, you are highly recommended to
include some of them by founding them (see below). These basic projects are
initially linked inside the website you installed up to now. These links
and their texts reside in database, too. If you want to renounce of some
projects you have to adjust these links.

In the following it is assumed that you take over all basic projects coming
with this server. Hints will be given what has to be done if you don't want
to take all basic projects.


1st step: become a member
------------------------

Introduce yourself as an ot member using normal member functions on page
http://yourdomain/member.phtml. Type first name, last name, e-mail address,
and a password an click the button. You will be automatically logged on.

You will be the fourth member. By initialisation three members are inserted:
- anonym@yourdomain.dom: for anonymous comments, no login
- listmaster@yourdomain.dom: for listsender user, no login
- webmaster@yourdomain.dom: for webmaster user, login with 'password'

See /anypath/otsql/ot_init.sql. If not done previously, than replace
'yourdomain.dom' with your domain in table 'member'.


2nd step: create projects
------------------------

Click on link "Founding projects" (in given language) which is
http://yourdomain/setupform.phtml - including your session id, which is
appended to this link. Fill in the form with
- project title
- short title
- language
- keywords
- short description
Take those projects from the following list you want. Titles and
descriptions are only proposals. You will find all basic texts under its
short title names followed by '.txt' in directory /anypath/ottxt.

1. What is ot?
- project title: Das Projekt: open theory (german only)
- short title: open_theory
- description: Die Anwendung von <b><i>ot</i></b> auf <b><i>ot</b></i>! In
  diesem Hauptprojekt wird die Grundidee des gesamten open theory Projektes
  beschrieben. Die untergeordneten Texte enthalten weitergehende Details
  zum Hintergrund und zur Funktionsweise von <b><i>ot</i></b>-Projekten.

2. Rules
- project title: Wie ein Projekt funktioniert (german only)
- short title: regeln
- description: Hier werden die Regeln beschrieben - fr Projektmitglieder
  und fr Maintainer.

3. Links
- project title: Links auf verwandte Projekte (german only)
- short title: links
- description: Diese Seite kommentiert Links auf verwandte, mehr oder
  weniger offene Theorieprojekte.

4. FAQ
- project title: Frequently Asked Questions (german only)
- short title: faq
- description: Frequently Asked Questions versammelt die hufig gestellten
  Fragen zu <b><i>ot</b></i>-Projekten und der <b><i>ot</b></i>-Website - 
  und die entsprechenden Antworten.

5. What's new?
- project title: Was hat sich bei open theory geaendert (german only)
- short title: change_history
- description: In diesem Text werden die letzten nderungen der
  <b><i>ot</i></b>-Software beschrieben.

6. Sketch of idea's
- project title: Ideenskizze des open-theory-Projekts (german only)
- short title: initial
- description: Das Initial-Projekt beschreibt die ursprnglichen Ideen vor
  der Entwicklung von open theory. Ein historisches Dokument!

7. To-do list
- project title: Wunsch- und Fehlerliste (german only)
- short title: todo_and_bugs
- description: In diesem Text werden die Wnsche der Nutzer/innen ber
  erweiterte <b><i>ot</i></b>-Funktionen sowie die bekannten Fehler in der
  aktuellen Version dokumentiert.

8. Development
- project title: Hacker-Seiten von open theory (german)
- short title: dev_de
- description: Das ist die deutsche Version der Entwicklungs-Seite von open
  theory.
or
- project title: Hacker's page of open theory (english)
- short title: dev
- description: This is the english version of the development page of open
  theory.

The first four projects are used in the menu bar, so I recommend to use
them, maybe in a modified form. Projects 5 to 8 give a little bit more
insight in sense and development of open theory project. They appear in
default configuration in the right menu bar on home page. Change them if you
want.

Instead of using the above project as parts of your ot-server system, you
also can use simple links to the _original_ open theory projects at
http://www.opentheory.org. How to do this is described in the next chapter.


3rd step: adjust parameters
--------------------------

All static texts stored in the database can be modified using web front end
at http://yourdomain/otauth/param.phtml. This page is secured by http-auth
mechanism. Enter your e-mail address (as "name") and your password.
Initially the first user in system (with memb_id=1) is administrator. This
can be changed later.

From the drop down list you can choose all text list for the web site. Some
of them include special parameters influencing behavior and outfit of the
side.

- general parameters [en] (Allgemeine Parameter [de])

Here you find parameters for fonts, colors etc. used for ot website.

The most important field here is the first one (with number zero), which
contains the memb_id(s) of the adminstrator(s). More then one memb_ids are
separated through hashmarks ('#'). Check the database memb_id carefully
before you replace old values. A good idea might be to add the new memb_id
using the hashmark first, and then, in a second step after testing that
the new memb_id works, to remove the old id.

Row 9 contains forbidden project short titles, separated by '#'.
Row 10 contain 5 colors for body tag (page, text, link, vlink, alink).
Row 11 contains 5 background colors and row 12 contains 6 foreground
colors.

Row 13 contains a pair of default value for "option" and default language,
e.g. "21#en" means default options 4, 2 and 0 (bitwise coded: 2^4+2^2+2^0)
are set (refer to /anypath/otperl/ot_const.pm), and default language is
english.

Row 14 contains a chain of colors each separated from each other by '*'.
These colors are used for the font color of the "activity" ranging from 0 to
100%. The range is devided by the number of colors, and than each portion is
associated with one color of the chain starting from left (or 0%) and moving
to right (or 100%).

Rows 15 to 19 describe fonts.

From row 20 to 37 you can adjust links for the horizontal menu bar. The
menu bar is devided in three parts - two variable parts left and right an a
fixed part in the middle (links for member and maintainer). Left and right
variable parts can own up to 7 links each.

Row 20 contains the number of links of the left variable menu part. This row
must be followed by that number of rows describing links. Default is 'Home',
'What is ot?', and 'Rules'.

Row 30 contains the number of links of the right variable menu part. This row
must be followed by that number of rows describing links. Default is 'Links'
and 'FAQ'.

For both you can use external link, e.g. to the corresponding pages of the
original open theory server. Note: Using external links means, that a user
leaves your site clicking such link. On the external site he/she might not
be a member of that site - which might confuse the user. For this special
case it makes sense to use a different outfit for your site to give some
distinctions between your and the external site.

Rows 40 to 46 contains informations about your site, which should fit to
your parameter (e.g. appearing in the footer).

Row 49 is the time for automatically (cron driven, refer to INSTALL, chapter 7.)
sending mails from the mail queue (default = 6, 24h-format).

All other values should only be changed with a parallel testing of the
corresponding web pages. See document TRANSLATE.

- parameters driving the homepage (ot-index [en]/[de])

Row 5 contains the number of new projects to be shown on the homepage.
Row 11 contains three numbers separated by '#', and (separated by '--')
a comment, e.g.:
8#8#8#--0=Most active projects,1=members,2=projects 


4th step: adjust path to man pages of open theory
-------------------------------------------------

Finally, if you want to use man pages of open theory, append the path
/anypath/otman to variable $MANPATH in your .profile or .bashrc file:

	export MANPATH=$MANPATH:/anypath/otman

Then change to /anypath/otman and call the manual build script:

	cd /anypath/otman
	./build.sh,

This automatically generates all open theory man pages. These man pages are
the systems documentation and apply only to the admin and hackers level.
Users find all informations on web pages.

Now, you can use following manual pages by calling "man <pagename>":
- ot_tabs: all tables of database (MySQL)
- ot_aut: authentication of admin access
- ot_activity: calculates project activity
- ot_sender: sends waiting comments from table par_mail (usually cronjob)
- ot_mail: general mail interface
- ot_const: constants
- ot_dblib: database access library
- ot_maillib: mail library
- ot_receive: mail receive module
- ot_parse_a: mail parser, address based mode
- ot_parse_b: mail parser, body based mode
- ot_validate: mail command validator
- ot_execute: mail command executor

The funtionality of these modules is described in a more detail at
http://www.opentheory.org/ot_per_mail.
