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)