Astuces techniques pour initier son projet Intranet documentaire avec Alfresco et Liferay

L’association optimisée d’une solution de gestion de contenu et d’une solution de portail d’entreprise permet de couvrir un large spectre fonctionnel de développement d’un projet d’intranet collaboratif et documentaire.

Ce billet présente les premières étapes nécessaires au démarrage du développement d’un projet intranet basé sur 2 solutions open source, dans un environnement Microsoft Windows :

  • Alfesco, solution de gestion de contenu d’entreprise, est une alternative sérieuse aux solutions propriétaires majeures telles que Microsoft Sharepoint et IBM Filenet,
  • Liferay, est l’une des meilleures plate-formes de portail d’entreprise.


L’environnement technique choisi ici est :

  • Alfresco Community 4.2.c avec PostgreSQL,
  • Liferay portal tomcat 6.1.1-ce-ga
  • Microsoft Office : version 2010
  • Serveur Microsoft Windows 2008 R2

1. Activer le mode développement dans Liferay et dans Alfresco

Liferay et Alfresco offrent 2 modes d’exécutions :

  • Production: Ce mode est celui configuré par défaut. Il permet de garantir des performances optimisées pour la compilation et la mise en cache des fichiers JavaScript et des modèles FreeMarker.
  • Développement: Ce mode est adapté pour les phases développement et de paramétrage. Il évite un redémarrage à chaque modification des fichiers HTML, XML, JavaScript, FTL ou CSS,…

L’activation du mode développement dans les 2 solutions s’effectue de manière manuelle.

1-Mode développement dans Alfresco

Deux méthodes sont possibles :

1ère méthode: localiser le fichier surf.xml disponible dans le dossier alfrescotomcatwebappsshareWEB-INF,et écraser le contenu de la balise par le contenu suivant :

surf.xml

[code lang=”xml”] <autowire>
<!– Pick the runtime: classpath, webapp, local, alfresco –>
<runtime>alfresco</runtime>
<!– Pick the mode: development, production –>
<mode>development</mode>
</autowire>
[/code]

2ème méthode: trouver le fichier share-config-custom.xml disponible sous l’arborescence tomcatsharedclassesalfrescoweb-extension, et ajouter les lignes suivantes :

share-config-custom.xml

[code lang=”xml”] <config evaluator="string-compare" condition="WebFramework">
<web-framework>
<!– SpringSurf Autowire Runtime Settings –>
<!–
Developers can set mode to ‘development’ to disable; SpringSurf caches,
FreeMarker template caching and Rhino JavaScript compilation.
–>
<autowire>
<!– Pick the mode: "production" or "development" –>
<mode>development</mode>
</autowire>
<!– Allows extension modules with <auto-deploy> set to true to be automatically deployed –>
<module-deployment>
<mode>manual</mode>
<enable-auto-deploy-modules>true</enable-auto-deploy-modules>
</module-deployment>
</web-framework>
</config>

[/code]

2-Mode développement dans Liferay

Chercher la variable JAVA_OPTS dans le fichier de Tomcat de Liferay : setenv.bat, disponible dans le dossier :liferaytomcatbin, et ajouter -Dexternal-properties=portal-developer.properties à la fin de la ligne.

setenv.bat

[code lang=”shell”] JAVA_OPTS="-Xms256m -Xmx1024m -XX:PermSize=32m -XX:MaxPermSize=160m -Dfile.encoding=UTF8 -Duser.timezone=GMT+2 -Djava.security.auth.login.config=$CATALINA_HOME/conf/jaas.config -Dorg.apache.catalina.loader.WebappClassLoader.ENABLE_CLEAR_REFERENCES=false -Dexternal-properties=portal-developer.properties"
[/code]

2- Visualiser des documents Alfresco depuis le portail Liferay

Pouvoir consulter sa GED ou une partie des documents de référence depuis le portail est un cas d’usage fréquent. Le portlet Doclib d’Alfresco permet de visualiser une bibliothèque de documents Alfresco depuis le portail, en l’occurrence Liferay. Les étapes clés de cette intégration comprennent :

1. Configuration d’Alfresco

1) Localiser le fichier: server.xml dans l’arborescence: $HOME_ALFRESCO/tomcat/conf/

2) Effectuer les modifications suivantes :

server.xml

[code lang=”xml”] <server port="9005" shutdown="SHUTDOWN’"> … <Connector port="9080" protocole="HTTP/1.1" connectionTimeout="20000" redirectPort="9443" URIEncoding="UTF-8" /> … <Connector port="9009" procol="AJP/1.3" redirectPort="9443" URIEncoding="UTF-8" />
[/code]
3) Ajouter les lignes suivantes dans le fichier de propriétés Alfresco :
alfresco-global.properties, disponible dans le dossier :$HOME_ALFRESCO/tomcat/shared/classes/alfresco-global.properties
[code lang=”shell”] ### the default authentification chain
#authentification.chain=myldap:ldap
authentication.chain=alfrescoNtlm1:alfrescoNtlm,external1:external
external.authentication.proxyUserName=
[/code]

4) Créer un utilisateur (adresse mail, mot de passe et login), identique pour Alfresco et Liferay

2- Configuration Liferay

1) Déploiement de l’application web « Share » dans Liferay : Copier le fichier share.war disponible dans le dossier :$HOME_ALFRESCO/tomcat/webapps/ dans le dossier $HOME_LIFERAY/deploy de Liferay.

2) Configuration de l’application Share dans Liferay :

  • Éditer le fichier catalina.properties disponible dans le dossier : $HOME_LIFERAY/tomcat-7.0.23/conf/
  • Rechercher la chaîne de caractère : shared.loader
  • Introduire les valeurs suivantes :

catalina.properties

[code lang=”shell”] shared.loader=${catalina.home}/shared/classes,${catalina.home}/shared/lib/*.jar
[/code]
  • Créer l’arborescence de dossiers dans Liferay : $HOME_LIFERAY/tomcat-7.0.23/shared/classes/alfresco/web-extension/
  • Puis dans le dossier web-extension, créer le fichier suivant : share-config-custom.xml
  • Éditer le et copier les lignes suivantes :

share-config-custom.xml

[code lang=”xml”] <alfresco-config>
<config evaluator="string-compare" condition="Remote">
<remote>
<endpoint>
<id>alfresco-noauth</id>
<name>Alfresco – unauthenticated access</name>
<description>Access to Alfresco Repository WebScripts that do not require authentication</description>
<connector-id>alfresco</connector-id>
<endpoint-url>http://localhost:9080/alfresco/s</endpoint-url>
<identity>none</identity>
</endpoint>
<endpoint>
<id>alfresco-feed</id>
<name>Alfresco Feed</name>
<description>Alfresco Feed – supports basic HTTP authentication</description>
<connector-id>http</connector-id>
<endpoint-url>http://localhost:9080/alfresco/s</endpoint-url>
<basic-auth>true</basic-auth>
<identity>user</identity>
</endpoint>
<connector>
<id>alfrescoCookie</id>
<name>Alfresco Connector</name>
<description>Connects to an Alfresco instance using cookie-based authentication</description>
<class>org.springframework.extensions.webscripts.connector.AlfrescoConnector</class>
</connector>
<endpoint>
<id>alfresco</id>
<name>Alfresco – user access</name>
<description>Access to Alfresco Repository WebScripts that require user authentication</description>
<connector-id>alfrescoCookie</connector-id>
<endpoint-url>http://localhost:9080/alfresco/wcs</endpoint-url>
<identity>user</identity>
<external-auth>true</external-auth>
</endpoint>
</remote>
</config>
</alfresco-config>

[/code]

3) Créer un utilisateur (adresse mail, mot de passe et login) dans liferay identique à celui créé dans Alfresco

3. Activer l’édition en ligne des documents Microsoft Office dans Alfresco

Alfresco offre la possibilité d’éditer les documents Microsoft Office diectement depuis le portail. Pour activer cette fonctionnalité il faut suivre les étapes suivantes:

1) Ajouter l’url Alfresco dans les sites de confiance (Allez dans Internet Explorer > Outils > Options Internet > Securité > sites de confiance)

2) Éditer les deux clés de registre Microsoft Office 2010:

[code lang=”shell”] HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesWebClientParameters
[/code]

Modifier BasicAuthLevel, et mettre dans Value data2″.

[code lang=”shell”] HKEY_CURRENT_USERSoftwareMicrosoftOffice14.0CommonInternet
[/code]
    • Ajouter une nouvelle “DWORD Value”.
    • Mettre BasicAuthLevel,
    • Modifier BasicAuthLevel,et introduire la valeur 2 dans Value data.

Recommandations