Date: Fri, 29 Mar 2024 03:13:19 +0100 (CET) Message-ID: <2030020845.79.1711678399658@orioai-1.uphf.fr> Subject: Exported From Confluence MIME-Version: 1.0 Content-Type: multipart/related; boundary="----=_Part_78_1858764117.1711678399658" ------=_Part_78_1858764117.1711678399658 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Content-Location: file:///C:/exported.html
Notez que diff=C3=A9rentes technologies et notions sont install=C3=A9es = tout au long de ce support pour l'installation et la configuration de ORI-O= AI. M=C3=AAme si la connaissance de ces technologies n'est pas requise, il = est pr=C3=A9f=C3=A9rable de les ma=C3=AEtriser en partie pour une installat= ion plus rapide et avanc=C3=A9e de ORI-OAI :
Le projet ORI-OAI est enti=C3=A8rement d=C3=A9velopp=C3=A9 dans un envir= onnement J2EE. Aussi, le support qui vous est propos=C3=A9 ici se base enti= =C3=A8rement sur un environnement Linux pour se rapprocher au mieux d'une m= ise en production. Les notions cit=C3=A9es ci-apr=C3=A8s sont donc n=C3=A9c= essaires :
Nous verrons dans ce document que certains composants ext=C3=A9rieurs so= nt n=C3=A9cessaires au bon fonctionnement de ORI-OAI :
Nous d=C3=A9finissons ici les diff=C3=A9rentes variables globales utilis= =C3=A9es dans ce support :
Vous devrez remplacer toutes les variables cit=C3=A9es ci-dessus par leu= r valeur r=C3=A9elle chaque fois que celles-ci apparaissent dans le documen= t.
Dans ce tutoriel, nous utilisons des mots de passe simples. Lors d'un d= =C3=A9ploiement en production d'ORI-OAI, utilisez des mots de passe complex= es et en phase avec la politique de mot de passe (si elle existe) mise en p= lace dans votre =C3=A9tablissement.
La version 1.6 de ORI-OAI a =C3=A9t=C3=A9 valid=C3=A9e sous un JDK6.
L'installation des serveurs Tomcat peut =C3=AAtre faite automatiquement = lors des diff=C3=A9rentes proc=C3=A9dures de d=C3=A9ploiement. Dans le cas = o=C3=B9 vous souhaitez d=C3=A9ployer sur un Tomcat existant, sachez que la = version minimale requise est la 6.
Si toutefois vous souhaitiez d=C3=A9ployer un ou plusieurs modules sur u= n Tomcat 5, vous devrez modifier le fichier build.xml des = modules en question. En effet, la diff=C3=A9rence =C3=A0 notre niveau entre= un Tomcat 6 et un Tomcat 5 est l'emplacement du dossier lib (Tomcat 6) ou common/lib (Tomcat 5). C'est ce chemin qu= 'il est n=C3=A9cessaire de modifier manuellement dans le fichier build.xml.=
ori-oai-workflow comme ori-oai-harvester requi=C3=A8rent l'utilisation d'une base de donn=C3=A9es transactionnell= e. On recommande l'usage de MySql avec le moteur Innodb.
Aussi, dans le cas de MySQL, il faut s'assurer que vous utilisez (par ex= emple mais on vous le recommande) le moteur InnoDB (le moteur MyISAM usuell= ement configur=C3=A9 par d=C3=A9faut n'=C3=A9tant pas transactionnelle, cel= ui-ci ne convient pas).
Sous linux, dans my.cnf, pour les versions de mysql r=C3=A9centes, on po= urra v=C3=A9rifier que l'on a :
default= -storage_engine =3D innodb
Pour une version plus ancienne, l'option est de la forme :
default= -table-type =3D innodb
Commandes pour v=C3=A9rifier en ligne de commande (client mysql) le stor= age utilis=C3=A9 sur une table de votre base :
mysql&g= t; use `ori-oai-workflow`; Database changed mysql> show table status like 'ORI_WORKFLOW_ACL_ROLE'; \+\+-\--\--\--\--\--\--\--\--\--\--\--{-}+\-+-\-\--\---\--\--\-\--\--\--{-}= +\-\-+-\-\--\--\--\--{+}{+-}\--\--\--\--{-}+\-+-\--\--\--\--\---\--\--\--\-= -\--\--\--\--{-}+\-+-\--\-\--\--\--\---\--\--\--\--\--{-}{+}{+{-}+}{+}-\--\= --\--\-\--\--\--\---\--\--\--\--\--\--{-}+\-+-\--\--\--\--\---\--\--\-\--\-= -\--{-}{+}{+{-}+}{+}-\--\--\--\-\--\--\--\---\--\--\--\--\--\--\--\--\--\--= \--\---------------------------------------------------------\--\--\--\--\-= -\--\--\--\--\--\--\--\--\--\--\--\--\--\--\--\--\--\--\--\--\--\--+\+\++{-= }{-+}\| Name &am= p;nbsp; &nbs= p; \| Type \| Row_format = \| Rows \| Avg_row_length \| Data_length \| Max_data_length \| Index_length= \| Data_free \| Auto_increment \| Create_time \| Update_time \| Check_time= \| Create_options \| Comment &n= bsp; &= amp;nbsp; &n= bsp; &= amp;nbsp; &n= bsp; &= amp;nbsp; &n= bsp; &= amp;nbsp; &n= bsp; &= amp;nbsp; &n= bsp; &= amp;nbsp; &n= bsp; &= amp;nbsp; &n= bsp; &= amp;nbsp; &n= bsp; \|+{-}{-+}\++{-}+\-+-\--\--\--\--\--\--\--\--\--\--{-}{-}{-}+\-+-\-\--= \-\--\--\--\-\--\--\--{-}{-}{-}+\-\-+{-}+\-\-+-\--\-\--\--\--\--\--\--{-}{-= }{-}+\-+{-}+\-+-\--\--\--\-\--\--\--\--\--\--\--\--\--{-}{-}{-}+\-+-\--\-\-= -\--\--\-\--\--\--\--\--\--{-}{-}{-}+\-+-\--\--\-\--\--\--\-\--\--\--\--\--= \--\--{-}{-}{-}+\-+-\--\--\--\--\-\--\--\--\-\--\--\--{-}{-}{-}+\-+-\--\--\= -\--\--\--\-\--\--\--\--\--\--\--\--\--\--\--\--\--\--\--\--\--\--\--\--\--= ---------------------------------------\--\--\--\--\--\--\--\--\--\--\--\--= \--\--\--\--\--\--\--\--\--\--\--\--\--\--\--\| ORI_WORKFLOW_ACL_ROLE \| In= noDB \| Dynamic \| &nb= sp; 5 \| &nb= sp; 3276 \| &= ;nbsp; 16384 \| = NULL= \| 1= 6384 \| &nbs= p; 0 \| &nbs= p; 6 = \| NULL &nbs= p; \| NULL &= nbsp; \| NULL \= | &= ;nbsp;  = ; \|-{-}{+}{+{-}+}{+}-\-\--\--{-}{+}{+{-}+}{+}-\--\--\--\--\- *{-}InnoDB{-}= * -\--\--\--{-}+\-+{-}+\-+{-}-\--free: 3072 kB; (`oriAclObjectIdentityId`) = REFER `ori-oai-workflow/ORI_WORKFLOW_ACL_OBJECT_IDENTITY`(`oriAclObjectIden= tityId`) \|-+\-+{-}+\-+-\--\--\--\--\--\--\--\--\--{+}{+-}{-}-\--\-\--\-\--= +\-+-\--\-\--\--\--{-}-\--\--\-\--+\-+-\-\--\--\--\--\--\--{-}{-}-\--\--\--= +\-+{-}+\-+-\-\--\--\--\--\--\--\--\--\--{-}{-}-\--\--+\-\-+{-}+\-+-\--\-\-= -\--\--\--\--\--{-}{-}-\--\--\--+\-\-+-\--\--\-\--\--\--\--\--\--\-\--\--\-= -\--\-\+-\--\-\--\--\--\-\--\--\--{-}{-}-\-\+-\--\--\-\--\--\--\-\--\--\--\= --\--\---------------------------------------------------------------------= --------------------------------------------------------\+ 1 row in set (0.00 sec)
On notera enfin que PostgreSQL a l'avantage ici d'avoir un moteur transa= ctionnel par d=C3=A9faut.
Le positionner en tant qu'option Tomcat est =C3=A9galement pr=C3=A9f=C3= =A9rable:
CATALIN= A_OPTS=3D-Dfile.encoding=3DUTF-8
Pour MySQL, le plus simple est de configurer l'UTF-8 =
=C3=A0 la fois au niveau des "Connection Character Sets" e=
t des "Collations".
Pour ce faire, on ajoute dans la configuration de mysql (sous debian /etc/=
mysql/my.cnf) la confiuration suivante (apr=C3=A8s [mysqld] au m=C3=AAme ni=
veau que default-storage_engine =3D innodb :
charact= er-set-server=3Dutf8 collation-server=3Dutf8_general_ci
On notera qu'apr=C3=A8s une telle modification il faut red=C3=A9marrer l= e serveur mysql.
On peut ensuite v=C3=A9rifier la bonne prise en compte de ces variables :<=
/p>
mysql&g= t; SHOW VARIABLES LIKE 'character_set%'; +--------------------------+----------------------------+ | Variable_name | Value | +--------------------------+----------------------------+ | character_set_client | latin1 | | character_set_connection | latin1 | | character_set_database | utf8 | | character_set_filesystem | binary | | character_set_results | latin1 | | character_set_server | utf8 | | character_set_system | utf8 | | character_sets_dir | /usr/share/mysql/charsets/ | +--------------------------+----------------------------+ 8 rows in set (0.00 sec) mysql> SHOW VARIABLES LIKE 'collation%'; +----------------------+-------------------+ | Variable_name | Value | +----------------------+-------------------+ | collation_connection | latin1_swedish_ci | | collation_database | utf8_general_ci | | collation_server | utf8_general_ci | +----------------------+-------------------+ 3 rows in set (0.00 sec)
Si comme indiqu=C3=A9 au dessus, on a positionn=C3=A9 =C3=A0 la fois les=
collation et les character set =C3=A0 utf-8, cette configuration c=C3=B4t=C3=A9 Hibernate n'est a priori pas n=C3=A9cessaire.
Ici on force Hibernate =C3=A0 demander un dialogue UTF-8 avec la base de= donn=C3=A9es, cela en ajoutant dans les param=C3=A8tres de connection
Pour ori-oai-workflow, dans conf/properties/spring/common/dao/da=
o.xml
On mettra =C3=A0 la place de
<pro= perty name=3D"url"> <value>${hibernate.connection.url}?emulateLocators=3Dtrue</value= > </property>
cela :
<pro= perty name=3D"url"> <value>${hibernate.connection.url}?emulateLocators=3Dtrue&us= eUnicode=3Dtrue&characterEncoding=3Dutf8&useOldUTF8Behavior= =3Dtrue</value> </property>
Le projet ESUP-ECM utilis=
=C3=A9 pour le stockage des documents n=C3=A9cessite l'utilisation d'une ba=
se de donn=C3=A9es transactionnelle.
La base de donn=C3=A9es recommand=C3=A9e par Nuxeo (projet sur lequel s'ap=
puie ESUP-ECM) est PostgreSQL. Cependant, une compatibilit=C3=A9 avec MySQL=
a =C3=A9t=C3=A9 =C3=A9tablie dans le projet ESUP-ECM.
Il est extr=C3=AAmement important de souligner les remarques sp=C3=A9cif= iques =C3=A0 chacun de ces 2 SGBD:
L'utilisation de PostgreSQL 8.3 n=C3=A9cessite la d=C3=A9finition de cer= taines fonctions particuli=C3=A8res. Avant de vous lancer dans l'installati= on, veuillez suivre la documentation suivante: http://doc.nuxeo.org/xwiki/bin/view/FAQ/UsingPostgreSQL83
Lorsque vous passerez =C3=A0 l'=C3=A9tape d'installation, =C3=A0 aucun m= oment ne vous sera demand=C3=A9 de cr=C3=A9er les tables de la base de donn= =C3=A9es. En effet, toutes les tables sont cr=C3=A9=C3=A9es automatiquement= lors du premier d=C3=A9marrage de ESUP-ECM.
Si vous utilisez MySQL, il est n=C3=A9cessaire de proc=C3=A9der =C3=A0 u= ne modification d'un type d'attribut de la base de donn=C3=A9es avant de fa= ire le premier d=C3=A9p=C3=B4t.
En effet, dans la version courante de ESUP-ECM, le champ n=C3=A9cessaire= au stockage du plein texte a un format trop restrictifs pour les fichiers = de taille moyenne.
Les modifications =C3=A0 faire portent donc sur l'attribut binar=
ytext dans la table fulltext.
Il faut changer son type de text =C3=A0 longtext<=
/strong>.
Dans le cas o=C3=B9 vous ne faites pas cette modification avant, vous ob= tiendrez certainement l'erreur suivante lors du d=C3=A9p=C3=B4t d'un fichie= r trop volumineux:
Exception: com.mysql.jdbc.MysqlDataTruncation. message: Data truncation:= Data too long for column 'binarytext' at row 1