Introduction
============

Overview
--------

ITYOU ESI is a *Social Intranet* solution based on the content management software Plone. 
It adds to *Plone* a set of web 2.0 technics and a fresh new frontend.

If you want to see some screenshots, please visit http://www.ityou.de/software/ityou-esi/screenshots

ITYOU ESI 1.3 runs on Plone 4.3.

**Please read the installation instructions very carefully.** 

**ITYOU ESI is not just a 'plugin'! Do not install ITYOU ESI in a production environment!**


Installation
============

Requirements
------------

**Important**: This product needs further software. Before you install ESI, 
you have to install the following packages:

1) *Plone 4.3* Content management software, based on Zope (http://plone.org)

2) *PostgreSQL* database server (http://postgresql.org/) and 

3) *Redis* key value store (http://redis.io/).


Furthermore, if you'd like to generate thumnails form websites, you should install
*cutycapt* (http://cutycapt.sourceforge.net/).

In addition you may install some optinal software package to generate thumbnails
from documents (i.e. *ImageMagick*, *unoconv*). 

We will explain the installation on *Ubuntu LTS 12.4 Server*. The installation on other 
Linux distributions is simular. Installation on Mac OS or Windows may differ, please 
refer to the corresponding support.


**1) Install PostgreSQL**::
    
    sudo apt-get install postgresql postgresql-server-dev-all


**2) Install Redis**::

    sudo apt-get install redis hiredis


**3) Install Plone 4.3**

There are several ways to install Plone. The easyest way is to download Plone
form http://plone.org/products/plone/, untar it and install it with::

    sudo ./install.sh --target=<where to put your instance> standalone

This will install a standalone Plone instance. For futher information on how to
install Plone, see http://docs.plone.org/manage/installing/index.html.


Installing ITYOU ESI
--------------------

ESI is an Plone add on. You may install it with *buildout*. First, you have to 
configure your **buildout.cfg** (in this example situated in /src/zope/esi/zinstance/):


* Add ``ityou.ESI`` to the list of eggs to install, e.g. ::

    [buildout]
    ...
    eggs =
        ...
        ityou.ESI

       
* Tell the *plone.recipe.zope2instance* recipe to install a ZCML slug::

    [instance]
    recipe = plone.recipe.zope2instance
    ...
    zcml =
        ityou.ESI

      
* Re-run buildout, e.g. with::

    $ ./bin/buildout
        

Configuration of postgresql
---------------------------

You need to create a *postgres* user and to grand the nessesary rights::

    sudo -u postgres psql
    
    create database ityou_esi;

    create user <YOUR DATABASE USER> with password '<DATABASE USERS PASSWORD>';

    grant all on database ityou_esi to ityou_esi_user;

Start *postgresql* if not yet running::

    sudo service postgresql start

Then you have to add in *buildout.cfg* in the section 'zope-conf-additional' the following
lines so that Plone finds your postgres database::

    zope-conf-additional =
      
      ...

      <product-config ityou_esi>
          # -- postgresql parameters 
          psql_db         ityou_esi
          psql_username   <DATABASE USER>
          psql_password   <DATABASE USERS PASSWORD> 
          psql_host       localhost
          psql_port       5432
      </product-config>

      ...

Re-run buildout and restart Plone


Adding the zope clock server
----------------------------
If you want the users to receive emails when a object is added/updated, you need 
to install the zope clock server.

Add the following lines in *buildout.cfg* in the section ''zope-conf-additional ::

    zope-conf-additional =
        ...

        <clock-server>
            host <YOUR HOST>
            method /esi/@@send-notification
            period 60
            user admin
            password <ADMINISTRATION PASSWORD>
        </clock-server>
        ...
    
for further information about how to configure the clock server, please visit
http://docs.plone.org/develop/plone/misc/asyncronoustasks.html


Start Redis
-----------

The Redis server should be running after installation or you have to start it
manually:: 

    sudo service redis-server start


That's it. Enjoy. 



