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


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

SOPE 4.4
- gnustep-make (gstep-make 1.9.2 or 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:

  make -s debug=yes strip=yes 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 -s debug=yes strip=yes install

Or to install in an FHS location:

  make -s debug=yes strip=yes FHS_INSTALL_ROOT=/usr/local install

Important: ensure that GNUstep.sh from gnustep-make is properly loaded into the
           shell environment, otherwise you will see errors like "/common.make"
           not being found.

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

TODO: write configuration guide for OGo 1.0.

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

links
*****
  - pushd $GNUSTEP_USER_ROOT
    - ln -s ~/myogosrctree/WebUI/Resources .
    - ln -s ~/myogosrctree/WebUI/Templates Library/OpenGroupware.org-1.0a/
    - ln -s ~/myogosrctree/Themes/WebServerResources .
  - for FHS layout:
    - ln -s ~/myogosrctree/WebUI/Resources \
            $FHS_INSTALL_ROOT/share/opengroupware.org-1.0a/translations 
    - ln -s ~/myogosrctree/WebUI/Templates \
            $FHS_INSTALL_ROOT/share/opengroupware.org-1.0a/templates
    - ln -s ~/myogosrctree/Themes/WebServerResources \
            $FHS_INSTALL_ROOT/share/opengroupware.org-1.0a/www

database
********
  su - postgres
  createuser OGo
  createdb   OGo
  psql -h localhost OGo OGo (must work)
  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
    => Note: not required for standard locations!
    Defaults write NSGlobalDomain NGBundlePath \
      '"$(GNUSTEP_USER_ROOT)/Library/OpenGroupware.org-1.0a/Commands:$(GNUSTEP_USER_ROOT)/Library/OpenGroupware.org-1.0a/DataSources:$(GNUSTEP_USER_ROOT)/Library/OpenGroupware.org-1.0a/WebUI:$(GNUSTEP_USER_ROOT)/Library/OpenGroupware.org-1.0a/"'


UPGRADE NOTES
=============

.. 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.0a 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.0a/www

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

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