OpenGroupware.org Installation Guide
====================================


Prerequisites
=============

SOPE 4.4
- gnustep-make (gstep-make 1.10 from www.gnustep.org)
- Foundation library (eg ThirdParty/libFoundation)
- libxml2/libxml2-dev
- autoconf
- openldap2/openldap2-dev
- libical (eg ThirdParty/libical)
- postgresql-dev

PDA
- libpisock (eg ThirdParty/pilot-link or libpisock-dev on Debian)

(Internal) Dependencies
=======================

Logic
- SOPE 4.4

DocumentAPI
- Logic

WebUI
- Logic
- DocumentAPI

Tools
- Logic
- DocumentAPI

XmlRpcAPI
- Logic
- DocumentAPI

ZideStore
- Logic

PDA
- Logic
- DocumentAPI

Building
========

If the prerequisites are properly fulfilled, building OpenGroupware.org is
a simple:

  ./configure
  make all

Get a coffee, compiling all the OGo packages takes about 8 minutes on Debian 
Athlon 1.8+ (and about 17 minutes on a MacOSX G4 1.25, 13min on YDL).

Installation:

  make install

Configuration
=============

TODO: write configuration guide for OGo 1.0.

- mod_ngobjweb setup
- init script
- starting OGo on the shell
- ZideStore
- nhsd

links
*****

ln -s ~/myogosrctree/WebUI/Resources \
            $FHS_INSTALL_ROOT/share/opengroupware.org-1.0/translations
ln -s ~/myogosrctree/WebUI/Templates \
            $FHS_INSTALL_ROOT/share/opengroupware.org-1.0/templates
ln -s ~/myogosrctree/Themes/WebServerResources \
            $FHS_INSTALL_ROOT/share/opengroupware.org-1.0/www

If you use the GNUstep environment (you probably don't), the links are different:
  - pushd $GNUSTEP_USER_ROOT
    - ln -s ~/myogosrctree/WebUI/Resources .
    - ln -s ~/myogosrctree/WebUI/Templates Library/OpenGroupware.org-1.0/
    - ln -s ~/myogosrctree/Themes/WebServerResources .

database
********
  su - postgres
  createuser OGo
  createdb   OGo

  psql -h localhost OGo OGo (must work)
    => if this doesn't work, you need to allow TCP/IP in pg_hba.conf, eg:
       "host OGo OGo 127.0.0.1 255.255.255.255 trust"
       (you should use appropriate password auth in deployments!)

  cd Database/PostgreSQL/
  psql -h localhost OGo OGo < pg-build-schema.psql

defaults
********
  If you are upgrading, removing defaults should work fine if you use
  defaults values, thats is:
    Defaults delete NSGlobalDomain LSModelName
    Defaults delete NSGlobalDomain NGBundlePath
    Defaults delete NSGlobalDomain LSAdaptor

  LSConnectionDictionary
  => no need to set if you use user=OGo, pwd emtpy, DB=OGo

  NGBundlePath
    => IMPORTANT: not required for standard locations!
    Defaults write NSGlobalDomain NGBundlePath \
      '"$(GNUSTEP_USER_ROOT)/Library/OpenGroupware.org-1.0/Commands:$(GNUSTEP_USER_ROOT)/Library/OpenGroupware.org-1.0/DataSources:$(GNUSTEP_USER_ROOT)/Library/OpenGroupware.org-1.0/WebUI:$(GNUSTEP_USER_ROOT)/Library/OpenGroupware.org-1.0/"'

init-scripts
************

Init-Scripts depend on the actual platform, so you need to
come up with an own. The templates used for the RPM packages can
be found in:
  maintenance/rpm_buildenvironment/initscript_templates/


Upgrading from 1.0a to 1.0
==========================

For users which upgrade from one of the 1.0 alpha versions to OGo 1.0.

If you want to keep your settings, copy your .plist files, eg:

  cp ogo-webui-1.0a.plist    ogo-webui-1.0.plist
  cp ogo-zidestore-1.3.plist ogo-zidestore-1.4.plist

Upgrading from pre-1.0 alpha
============================

For users which upgrade from a CVS based "non-FHS" installation.

a) note that the daemons now live in

     /usr/local/sbin/ (or /usr/sbin)

   and are not wrappers anymore (eg ogo-webui-1.0 instead of 
   OpenGroupware.woa)

b) the PostgreSQL adaptor was renamed from PostgreSQL72 to PostgreSQL
   - you might need to fix your defaults for that

c) the Alias for the WebServerResources now starts with
     /OpenGroupware10a.woa/
   instead of
     /OpenGroupware.woa/

d) the webserver resources now live in
     /usr[/local]/share/opengroupware.org-1.0/www

e) translations (formerly the "Resources" link in $GNUSTEP_USER_ROOT) now live
   in:
     /usr[/local]/share/opengroupware.org-1.0/translations/

f) you might need to remove your NGBundlePath, its not required anymore (for
   FHS installs):
     Defaults delete NSGlobalDomain NGBundlePath
