Pré-requis:
MySQL DB
Java JDK 1.5 installée pour Tomcat 5.5.x
Liferay
liferay-portal-tomcat-4.2.2.zip
liferay-quickstart-guide.pdf
portal-mysql.sql présent dans liferay-portal-sql-4.2.2.zip
SpagoBI
mysql-dbscript-1.9.4.zip
SpagoBI_LiferayPortal_Tomcat_Installation_Manual-1.0.1.pdf
SpagoBIUtilityFiles-1.9.4_xxx.zip
SpagoBI-bin-1.9.4_xxx.zip
sbi.security.liferay-1.9.4.jar
1.Installation base de données MYSQL
Créer un utilisateur demo/demo (login/mdp) avec deux schémas sbi et lportal.
2.Installation Serveur Liferay Portal
Décompresser l'archive liferay-portal-tomcat-4.2.2.zip dans un répertoire que l'on appelera LIFERAY_HOME.
Jouer le script portal-mysql.sql pour le schéma lportal avec l'utilisateur demo.
Ajouter le driver mysql.jar dans le répertoire LIFERAY_HOME/common/lib.
Editer le fichier ROOT.xml présent dans LIFERAY_HOME/conf/Catalina/localhost comme ci-dessous:
Lancer le serveur LIFERAY_HOME/bin/startup.bat vérifier qu'il n'y a pas d'erreur, puis arréter le LIFERAY_HOME/bin/shutdown.bat.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 <Context path="" crossContext="true"> ... <Resource name="jdbc/LiferayPool" auth="Container" type="javax.sql.DataSource" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost/lportal?useUnicode=true&characterEncoding=UTF-8" username="demo" password="demo" maxActive="100" maxIdle="30" maxWait="10000" /> ... </Context>
3.Installation de SpagoBI
3.1.Installer les librairies
Décompresser l'archive SpagoBIUtilityFiles-1.9.4_xxx.zip dans un répertoire que nous nommerons TEMP.
Copier coller les tous les fichiers de TEMP/SpagoBIUtilityFiles/tomcat-5.5-liferay/common/lib/ext dans LIFERAY_HOME/common/lib/ext.
Ajouter le driver mysql.jar dans le répertoire LIFERAY_HOME/common/lib/ext.
3.2.Installation des méta données
Décompresser l'archive mysql-dbscript-1.9.4.zip et jouer les scripts mysql pour le schéma sbi dans l'ordre suivant :MySQL_create.sql,MySQL_create_comment.sql,MySQL_create_fk.sql et MySQL_insert.sql.
3.3.Configuration des ressource JNDI
Editer le fichier LIFERAY_HOME/conf/server.xml et ajouter le code suivant:
3.4.Installation de la plateforme (spagobi.war)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43 <Server port="8005" shutdown="SHUTDOWN"> ... <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> ... <Context path="/spagobi" docBase="${catalina.home}/webapps/spagobi" debug="0" reloadable="true" crossContext="true"> <!-- DWH --> <Resource name="jdbc/classicmodels" auth="Container" type="javax.sql.DataSource" username="demo" password="demo" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost/classicmodels" /> <!-- pour les meta donnees --> <Resource name="jdbc/spagobi" auth="Container" type="javax.sql.DataSource" username="demo" password="demo" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost/sbi" /> <!-- --> <ResourceParams name="cms/spagobicms"> <PARAMETER name="repository_path" value="${catalina.home}/webapps/spagobi/jcrRepositoryFS/" /> <PARAMETER name="conf_file_path" value="${catalina.home}/webapps/spagobi/repository.xml" /> </ResourceParams> </Context> </Host> ... </Server>
Décompresser l'archive SpagoBI-bin-1.9.4_xxx.zip et copier-coller SpagoBI/spagobi.war dans LIFERAY_HOME/webbapps.
Lancer le serveur LIFERAY_HOME/bin/startup.bat et une fois démarrer arréter le LIFERAY_HOME/bin/shutdown.bat.
Supprimer l'archive LIFERAY_HOME/webbapps/spagobi.war.
Supprimer le fichier LIFERAY_HOME/webapps/spagobi/WEB-INF/conf/spagobi/spagobi.xml et renommer le fichier LIFERAY_HOME/webapps/spagobi/WEB-INF/conf/spagobi/spagobi-liferay.xml en spagobi.xml.
Supprimer le fichier LIFERAY_HOME/webapps/spagobi/WEB-INF/web.xml et renommer le fichier LIFERAY_HOME/webapps/spagobi/WEB-INF/web-liferay.xml en web.xml.
Supprimer le fichier LIFERAY_HOME/webapps/spagobi/WEB-INF/conf/cms.xml et renommer le fichier LIFERAY_HOME/webapps/spagobi/WEB-INF/conf/cms-liferay.xml en cms.xml.
Supprimer la librairie LIFERAY_HOME\webapps/spagobi/WEB-INF/lib/commons-logging-1.0.jar.
Ajouter les librairies hibernate-3.1rc2.jar,commons-lang-2.1.jar et commons-logging-1.0.4.jar présent dans EMP/SpagoBIUtilityFiles/liferay-libraries dans LIFERAY_HOME\webapps/spagobi/WEB-INF/lib.
3.4.1.Configuration d'Hibernate
Editer le fichier LIFERAY_HOME/webapps/spagobi/WEB-INF/conf/spagobi/spagobi.xml comme ci-dessous.
3.4.2.Configuration de Quartz le scheduler
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <!-- <HIBERNATE-CFGFILE>hibernate.cfg.hsql.xml</HIBERNATE-CFGFILE> --> <HIBERNATE-CFGFILE>hibernate.cfg.mysql.xml</HIBERNATE-CFGFILE>
Editer le fichier LIFERAY_HOME/webapps/spagobi/WEB-INF/conf/classes/quartz.properties comme ci-dessous.
3.4.3.Configuration CMS
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 #-------------- job store delegate class ----------------------------------- # Hsqldb delegate class #org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.HSQLDBDelegate # Mysql delegate class org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.StdJDBCDelegate
Créer un répertoire jcrRepositoryFS dans LIFERAY_HOME/webapps/spagobi.
Ajouter le fichier TEMP/SpagoBIUtilityFiles/tomcat-server/sbidata/repository.xml dans LIFERAY_HOME/webapps/spagobi/jcrRepositoryFS.
Editer le fichier LIFERAY_HOME/webapps/spagobi/WEB-INF/conf/cms.xml et changer :
par
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <PARAMETERS> <PARAMETER name="repository_path" value="${SERVER_HOME}/sbidata/jcrRepositoryFS/" /> <PARAMETER name="conf_file_path" value="${SERVER_HOME}/sbidata/jcrRepositoryFS/repository.xml" /> </PARAMETERS>
3.5 Gestion des rôles
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <PARAMETERS> <PARAMETER name="repository_path" value="${catalina.home}/webapps/spagobi/jcrRepositoryFS/" /> <PARAMETER name="conf_file_path" value="${catalina.home}/webapps/spagobi/repository.xml" /> </PARAMETERS>
Nous allons utiliser la stratégie suivante : /spagobi/admin à remplacer par /<mon entreprise>/sbi:admin ...
Nous aurons la liste suivante pour les rôles :
3.5.1.Redéfinition de sbi.security.liferay-1.9.4.jar/<mon entreprise>/sbi/admin;/<mon entreprise>/sbi/admin
/<mon entreprise>/sbi/dev;/<mon entreprise>/sbi/dev
/<mon entreprise>/sbi/user;/<mon entreprise>/sbi/user
Décompresser sbi.security.liferay-1.9.4.jar un répertoire vous devez avoir la sous-arborescence suivante :
sbi.security.liferay-1.9.4
/it
/META-INF
group.csv
Editer le fichier group.csv comme ci-dessus.
Compresser de nouveu l'archive en sbi.security.liferay-1.9.4.zip dans le répertoire sbi.security.liferay-1.9.4 et renommer la en sbi.security.liferay-1.9.4.jar.
Ajouter la librairie sbi.security.liferay-1.9.4.jar dans LIFERAY_HOME/webapps/spagobi/WEB-INF/lib.
3.5.2.Configuration des fichies xml restants
Editer le fichier LIFERAY_HOME/webapps/spagobi/WEB-INF/conf/spagobi/spagobi.xml et effecuter les modificarions suivantes :
Editer le fichier LIFERAY_HOME/webapps/spagobi/WEB-INF/conf/sbiwa_authorizations.xml et effecuter les modificarions suivantes :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 ... <SECURITY> <PORTAL-SECURITY-INIT-CLASS>it.eng.spagobi.security.init.LiferayPortalSecurityProviderInit</PORTAL-SECURITY-INIT-CLASS> <PORTAL-SECURITY-CLASS className="it.eng.spagobi.security.LiferaySecurityProviderImpl"> <CONFIG> <NAME_PORTAL_APPLICATION>portal</NAME_PORTAL_APPLICATION> </CONFIG> </PORTAL-SECURITY-CLASS> <USER-PROFILE-FACTORY-CLASS className="it.eng.spagobi.security.LiferayUserProfileFactoryImpl"> </USER-PROFILE-FACTORY-CLASS> <ROLE-NAME-PATTERN-FILTER>/<mon entreprise>/.*</ROLE-NAME-PATTERN-FILTER> </SECURITY> ... <PORTLET_EDIT_MODE_ROLES> <ROLE name="/<mon entreprise>/sbi/admin" /> </PORTLET_EDIT_MODE_ROLES>
En cours....
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 <AUTHORIZATIONS default="FALSE"> <ENTITIES> <ROLES> <ROLE roleName="Administrator" description="Administrator" /> <!-- <ROLE roleName="/spagobi/admin" description="/spagobi/admin" /> --> <BEHAVIOUR userID="admin" roleName="/<mon entreprise>/sbi/admin" /> </ROLES> </ENTITIES> <RELATIONS> <BEHAVIOURS> <BEHAVIOUR userID="admin" roleName="Administrator" /> <!-- <BEHAVIOUR userID="admin" roleName="/spagobi/admin" /> --> <BEHAVIOUR userID="admin" roleName="/<mon entreprise>/sbi/admin" /> </BEHAVIOURS> </RELATIONS> </AUTHORIZATIONS>
3.6.Ce qui n'est pas dis
A cet instant si vous redémarrez le serveur une boucle infini sera fait par le scheduler sur le portlet SBIMapCatalolgue définit dans LIFERAY_HOME/webapps/spagobi/WEB-INF/liferay-portlet.xml.
Si vous souhaitez utiliser SBIMapCatalolgue il faut éditer le fichier LIFERAY_HOME/webapps/spagobi/WEB-INF/portlet.xml et ajouter le code suivant :
Sinon commenter dans le fichier LIFERAY_HOME/webapps/spagobi/WEB-INF/liferay-portlet.xml
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45 <?xml version="1.0" encoding="UTF-8"?> <portlet-app version="1.0" xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"> ... <portlet> <description>Map Catalogue</description> <portlet-name>SBIMapCatalolgue</portlet-name> <display-name>Map Catalogue</display-name> <portlet-class>it.eng.spago.dispatching.httpchannel.AdapterPortlet</portlet-class> <init-param> <name>serviceType</name> <value>ACTION</value> </init-param> <init-param> <name>serviceName</name> <value>LOGIN_ACTION_SBI_MAP_CATALOGUE</value> </init-param> <init-param> <name>light_navigation</name> <value>ENABLED</value> </init-param> <expiration-cache>0</expiration-cache> <supports> <mime-type>text/html</mime-type> <portlet-mode>VIEW</portlet-mode> <portlet-mode>EDIT</portlet-mode> </supports> <supported-locale>en</supported-locale> <portlet-info> <title>Map Catalogue</title> <short-title>Map Catalogue</short-title> <keywords>Map Catalogue</keywords> </portlet-info> <portlet-preferences> <preference> <name>OBJECTS_VIEW</name> <!-- possible values for this preference are (VIEW_OBJECTS_AS_TREE/VIEW_OBJECTS_AS_LIST) --> <value>VIEW_OBJECTS_AS_LIST</value> </preference> </portlet-preferences> </portlet> ... </portlet-app>
3.7.Conclusion
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 ... <!-- <portlet> <portlet-name>SBIMapCatalolgue</portlet-name> <instanceable>true</instanceable> </portlet> --> ...
Demarrer le serveur et suivre le guide liferay-quickstart-guide.pdf de liferay et utiliser spagoBI comme sur exo-platform.
A vous de jouer !!!!!
Cordialement Lazarel
Partager