Installer ZEN - PimenTech Garage : On code aussi en Français

publicité
DÉVELOPPEMENT ET SERVICE INFORMATIQUES
Installer ZEN
Tags : zen crm zope
1 - Pre-requis
a) Debian sarge
Ajouter dans le chier /etc/apt/sources.list la ligne
deb http ://ftp.pimentech.net/debian/ sarge pimentech backport deb http ://www.backports.org/debian/
sarge-backports main
Pour ne pas poluer la sarge, ajouter dans le chier /etc/apt/preferences
Package: *
Pin: release a=sarge-backports
Pin-Priority: 200
puis
# apt-get install task-pimentech zope-libcommon zope2.7 python2.2-psycopg \
python2.2-egenix-mxdatetime python2.2-egenix-mxtools \
python2.3-psycopg zope-psycopgda zope-cookiecrumbler \
python-pychart tetex-extra
# ln -s /usr/lib/zope/lib/python/Products/CookieCrumbler /usr/lib/zope2.7/lib/python/Products
# ln -s /usr/lib/zope/lib/python/Products/ZPsycopgDA /usr/lib/zope2.7/lib/python/Products
# apt-get install postgresql-common postgresql-8.1 postgresql-contrib-8.1
(la section backport ajoute la version postgresql-8.1, supprimer backport pour debian testing/unstable).
Postgresql 8.0 fonctionne egalement.
b) Autres
Installer :
{ Python2.3
{ Zope2.7
{ Cookiecrumbler
{ PostgreSQL >= 8.0 (8.1 recommande) et trgm - Trigram matching for PostgreSQL (present
dans postgresql-contrib)
{ Zope-PsycopgDA (http ://initd.org/projects/psycopg1)
{ Python-Pychart (for SVG chats)
{ Tetex-extra (for TeX => PDF generation)
{ Librairies pimentech : * pimentech-scripts (http ://ftp.pimentech.net/src/pimentech-scripts.tgz
ou packet debian pimentech-scripts) * zope-libcommon (http ://ftp.pimentech.net/src/libcommonZope.tar.gz
ou packet debian zope-libcommon) * python-libcommon (http ://ftp.pimentech.net/src/libcommonPython.tgz
ou packet debian python-libcommon) * pimentech-dbutils (http ://ftp.pimentech.net/src/dbutils.tgz
ou packet debian pimentech-dbutils)
1/4
DÉVELOPPEMENT ET SERVICE INFORMATIQUES
2 - ZEN
a) Creer un utilisateur 'crm'
: : # adduser crm # su - postgres $ psql -U postgres template1 template1=# alter user postgres
with encrypted password 'your postgresql password' ; ALTER USER template1=# q
# su - crm $ mkdir src ; cd src
$ wget http ://ftp.pimentech.net/src/crm.tar.gz $ tar zxf crm.tar.gz
b) Parametrage SQL
Il est possible (et fortement recommande) de modier 2 chiers de chargement de PostgreSQL.
Il s'agit des types d'activite de vos clients et de leur origine. Si vous en ajoutez apres avoir ni
l'installation, il faudra instancier Zen a nouveau. Ne touchez PAS aux autres chiers, Zen ne
fonctionnerait plus ! Ces chiers sont du type : UID j CODE j TITRE , ils sont codes en UTF8.
Ne PAS mettre d'UID a Zero !
{ aller dans le repertoire crm/src/lst
{ editer activite societe.lst et changer les intitules CODE et TITRE, vous pouvez bien
s^ur ajouter de nouvelles entrees.
{ faites de m^eme pour type origine.lst
Parametrer son pg hba.conf : voici un chier type, notez la necessite de l'avant derniere ligne
(host all md5) pour le fonctionnement de Zen !
# cat /etc/postgresql/8.1/main/pg hba.conf
# \local" is for Unix domain socket connections only local all postgres,root ident sameuser local
crm crm ident sameuser local all all md5
# IPv4 local connections : host all all 127.0.0.1/32 md5 host all all 192.168.1.0/24 md5 host all
all 0.0.0.0/0 reject
b-bis) Petit parametrage Python
Il faut parametrer la variable : import sys sys.setdefaultencoding('latin-1')
dans le chier : /usr/lib/zope2.7/lib/python/sitecustomize.py
c) Conguration et installation
Editer le chier crm/cong/globals.mak et indiquer les parametres de la base / apache
(mettre au moins un mot de passe dans DBPWD)
creation de la base
$ cd ~/src/crm/base/generation
$ make install
doing createuser.ok
password (postgres) : your_postgres_password
CREATE USER
doing create.ok
CREATE DATABASE
loading crm.ok
psql:crm.sql:11: NOTICE: CREATE TABLE cr
eera des s
equences implicites statut_uid_seq pour l
psql:crm.sql:11: NOTICE: CREATE TABLE / PRIMARY KEY cr
eera un index implicite statut_pkey p
psql:crm.sql:24: NOTICE: CREATE TABLE cr
eera des s
equences implicites object_uid_seq pour l
psql:crm.sql:24: NOTICE: CREATE TABLE / PRIMARY KEY cr
eera un index implicite object_pkey p
psql:crm.sql:191: NOTICE: CREATE TABLE / UNIQUE cr
eera un index implicite userid_login_key
loading vital_generation.ok
chargement de la base initiale
DÉVELOPPEMENT ET SERVICE INFORMATIQUES
$ cd ~/src/crm/base/chargement
$ make install
### Ajout des fonctions de similarit
e de postgresql-contrib :
# cd /usr/share/postgresql/8.X/contrib/
# psql -U postgres crm -h localhost
crm=# \i pg_trgm.sql
crm=# \q
installation du produit zope crm : : $ cd ~/src/crm $ make install
### backup & crontab pour le module d'envoi de mails : $ cd ~/admin $ make start
### droits : $ exit # ln -s /home/crm/bin/ZEN /usr/lib/zope2.7/lib/python/Products #
chgrp zope /home/crm/cong
conguration de la base par defaut de ZOPE :
### Bien lire les commentaires, un nom d'instance *ZOPE* (et non ZEN !) est demand
e,
### mettre 'default' par exemple et un r
epertoire 'default' sera cr
ee
### ainsi qu'un login/pass administrateur de *ZOPE* :
# mkzope2.7instance
# /etc/init.d/zope restart
parametrage d'une instance(annexe A) ZEN (et non ZOPE !) : : $ ln -s ~/cong/globals.py
~/cong/globals ZEN.py
### la chaine 'ZEN' correspond au nom de l'instance(annexe A) que nous allons creer dans
ZOPE ### Cette instance sera donc joignable a l'adresse http//mon serveur :9673/ZEN
{ Relancer Zope, y creer une instance(annexe A) de ZEN avec d'ID 'ZEN'
{ Ajoutez egalement a la racine une instance de 'Virtual Host Monster' (id sans importance)
{ Pour nir, denissez une entree dans le chier httpd.conf ou equivalent de votre serveur
apache
AddDefaultCharset UTF-8
RewriteEngine on
RewriteRule ^/static/(.*) http://localhost:80/$1 [P,l]
RewriteRule ^/scripts/(.*) http://localhost:80/scripts/$1 [P,l]
RewriteRule ^/misc_(.*) http://localhost:9673/VirtualHostBase/http/%{SERVER_NAME}:80/misc
RewriteRule ^/p_(.*) http://localhost:9673/VirtualHostBase/http/%{SERVER_NAME}:80/p_/Virt
RewriteRule ^/ZEN(.*) http://localhost:9673/VirtualHostBase/http/%{SERVER_NAME}:80/ZEN/Vi
lien pour avoir pimentech-scripts disponible
# ln -s /usr/local/share/pimentech /var/www/
re-chargement d'apache : : # /etc/init.d/apache reload
3 - Premiere utilisation
{
{
{
{
{
{
{
{
Allez sur http ://votreserveurweb/ZEN et identiez vous en Manager zope
Creer un administrateur (les champs jaunes sont obligatoires)
Fermer le navigateur et le relancer puis se connecter en administarteur de ZEN
Creer les autres utilisateurs (commerciaux, assistants)
Creer un departement (ou service, division). Puis aecter un assistant dans ce departement.
Enn aecter un commercial \dans" l'aectation de l'assistant.
Vous pourrez ensuite ajouter des cartouche pour le mailing, etc...
Lisez la doc de l'utilisateur realisee par l'Indicateur Bertrand : http ://ftp.pimentech.net/src/crm/doc/ZENDOC-USER.pdf
DÉVELOPPEMENT ET SERVICE INFORMATIQUES
4 - Champagne
{ Au tour des commerciaux de travailler maintenant !
ANNEXES
A) Instances de Produits Zope
A ne pas confondre avec l'instance de Zope cree par mkzope2.7instance !
Zope utilise une base de donnees interne, dans laquelle nous pouvons \instancier" des objets. Zen est un object instanciable, on peut m^eme en mettre plusieurs ! Quand vous ^etes dans
http ://mon serveur :9673/manage, Zope vous propose un bouton \Add" avec une boite de selection. Cela permet d'ajouter des instances de dierents objets.
Pour que Zen fonctionne, il faudra selectionnez \Virtual Host Monster" et faites \add" (id quelconque). Pour (enn !) creer Zen, il faudra faire la m^eme chose en selectionnant\ZEN"et faire\add".
L'ID demande pour Zen (par defaut la chaine 'ZEN') correspond au chier globals ZEN.py dans
~/cong. Pour creer une instance de Zen INSTANCE 2, il faut un chier globals INSTANCE 2.py
avec les parametres de cette instance, par exemple, dans lequel nous avons change DBNAME
ou DBHOST. Il faut bien s^ur avoir cree une autre base dans postgresql ! On a alors 2 ZEN
http ://mon serveur/ZEN et http ://mon serveur/INSTANCE 2 sur 2 bases dierentes.
B) Problemes de localisation
Si certains onglets sont en anglais :
{ verier que vous avez installe la locale fr FR.UTF8
{ en Manager Zope : lancer http ://mon serveur/ZEN/update locales
{ en Manager Zope : aller dans Cong Panel -> Products -> Zen -> Onglet Refresh -> cliquer
sur 'refresh this product'
=> Zen est maintenant en francais.
C) Mise a jour de Zen
{ Faire un dump de votre base ! (cela devrait deja ^etre fait dans le repertoire 'dump')
{ Installer les nouvelles versions des paquets dependants avec 'apt-get dist-upgrade'
{ PimenTech fournie toujours un chier de patch SQL dans crm/src/sql/patch X.X-Y.Y.sql {
X.X correspond a votre version de Zen, Y.Y correspond a la version obtenue une fois
patchee.
{ Passer le patch dans votre base avec psql puis \i crm/src/sql/patch_X.X-Y.Y.sql
{ Si le patch n'existe pas, c'est qu'il n'y en a pas besoin.
{ En Manager Zope, selectioner Zen et cliquer sur 'delete' (vos donnees ne seront pas perdues)
{ Reconstruire l'intance de Zen (A), cela peut prendre plusieurs minutes.
{ Vider le cache de votre navigateur
{ Il est possible qu'il faille (re)faire (B)
Téléchargement