Vous êtes sur la page 1sur 13

Intgration dAlfresco Intr@ssoc

15/09/2011

Tutoriel pour la mise en place dAlfresco

SOMMAIRE
I. A. B. C. II. A. 1. 2. 3. B. C. D. E. III. A. B. C. 1. 2. 3. D. E. F. Prsentation et installation dAlfresco ----------------------------------------------------------------------------- 2 Prsentation ---------------------------------------------------------------------------------------------------------- 2 Installation Alfresco 3.4.d avec MSSQL Server (attention le paramtrage fonctionne diffremment) ---- 2 Installation Alfresco 3.3.g avec MySQL (conforme au paramtrage ci-dessous) ---------------------------- 4 Personnalisation et paramtrage ------------------------------------------------------------------------------------ 5 Paramtrage de laccs Google Docs --------------------------------------------------------------------------- 5 Condition de cration dun compte utilisateur Google --------------------------------------------------------- 5 Paramtrage dAlfresco --------------------------------------------------------------------------------------------- 5 Observations----------------------------------------------------------------------------------------------------------- 8 Paramtrage de la langue utilise --------------------------------------------------------------------------------- 8 Ajout de la fonctionnalit de sondages ---------------------------------------------------------------------------- 9 Personnalisation de la charte graphique ------------------------------------------------------------------------- 9 Rduction des fonctionnalits proposes ------------------------------------------------------------------------ 10 Interaction avec Intr@ssoc ------------------------------------------------------------------------------------- 11 Gestion par Web services ----------------------------------------------------------------------------------------- 11 Intgration dans larchitecture dIntr@ssoc ------------------------------------------------------------------- 11 Gnration automatique des sites collaboratifs ---------------------------------------------------------------- 11 Gnration automatique : ses tapes ---------------------------------------------------------------------------- 11 Ajout du script custom-site.js ------------------------------------------------------------------------------------ 12 Observations--------------------------------------------------------------------------------------------------------- 12 Accs la liste des sites depuis Intr@ssoc --------------------------------------------------------------------- 12 Synchronisation entre les annuaires ----------------------------------------------------------------------------- 12 Rcupration des arborescences documentaires existantes -------------------------------------------------- 13

Page 1 sur 13

Intgration dAlfresco Intr@ssoc

15/09/2011

I. Prsentation et installation dAlfresco


A. Prsentation
Alfresco est un systme de gestion de contenu (en anglais ECM pour Enterprise Content Management) open source en langage Java. Il est la base le rsultat des travaux d'une quipe qui provient massivement de Documentum, leader historique du march, mais aussi d'Interwoven pour la partie gestion de contenu web. Le co-fondateur d'Alfresco est aussi le co-fondateur de Documentum et vient s'ajouter la liste des entrepreneurs ayant dcid de btir une nouvelle socit articule sur le logiciel libre. La mission que se donne Alfresco est : ouvrir le monde de la Gestion de Contenu afin daugmenter les innovations grce la participation de la communaut et au libre accs au code source, et viser fournir une application complte moindre cot, et avec plus d'agilit . La version dite Community est sous licence LGPL, donc librement tlchargeable, modifiable, redistribuable et utilisable, dans les limites des rgles tablies par cette licence. La version Entreprise s'en dmarque principalement par l'offre de support technique associe; n'y sont intgres cependant que les nouveauts dment testes et valides, ce qui la fait diffrer trs lgrement de la version communautaire. Alfresco revendique une communaut de plus de 120 000 personnes dans le monde, pour plus de 60 000 serveurs en utilisation et plus de 1 500 clients souscripteurs. Il est compatible avec de nombreux systmes dexploitation, serveurs dapplications et bases de donnes. Son interface utilisateur Web permet ladministration et laccs aux contenus; Elle est complte par des possibilits daccs aux documents via CIFS, NFS, WebDAV et FTP. Alfresco est la base plutt orient stockage de documents mais dispose dun module WCM (Web Content Management). Il propose des fonctionnalits en standard telles que : gestion des permissions, indexation automatique, recherche simple et volue, workflows, application automatique de rgles sur les documents, versionnage, verrouillage de documents en modification, conversion de documents (base sur OpenOffice), scripting, templates de prsentation freemarker,

B. Installation Alfresco 3.4.d avec MSSQL Server (attention le paramtrage fonctionne diffremment)
Tlcharger sur le site dAlfresco la version Community 3.4d ou rcuprer lexcutable dans mon dossier des fichiers dinstallation. Cration de la base de donnes MS SQL Server, nomme eedf_alfresco.

Lancer linstallation sur le serveur Windows. Voir ci-dessous les tapes de linstallation.

Page 2 sur 13

Intgration dAlfresco Intr@ssoc

15/09/2011

Page 3 sur 13

Intgration dAlfresco Intr@ssoc

15/09/2011

Ouverture avec WinRAR du fichier tomcat/webapps/alfresco.war et ajout dans le dossier \WEB-INF\classes des fichiers extraits de larchive SQLServer2008R2.zip fournie dans mon dossier des fichiers dinstallation. Ajout du fichier jtds-1.2.5.jar fourni dans mon dossier des fichiers dinstallation au dossier tomcat\lib. Remplacement du fichier \tomcat\shared\classes\alfresco-global.properties par celui de mon dossier. Modification du fichier \tomcat\bin\setenv.bat en remplaant la deuxime ligne par : set JAVA_OPTS=%JAVA_OPTS% -Dfile.encoding=UTF8 -Duser.timezone=GMT Xmx1024m -XX:MaxPermSize=256m Lancement du serveur : \tomcat\bin\startup.bat Remarque : pour arrter le serveur => \tomcat\bin\shutdown.bat

C. Installation Alfresco 3.3.g avec MySQL (conforme au paramtrage ci-dessous)


Tlcharger sur le site dAlfresco la version Community 3.3.g ou rcuprer lexcutable dans mon dossier des fichiers dinstallation. Lancer linstallation sur le serveur Windows. Choisir la langue English (impratif). Choisir linstallation personnalise.

Lancer le serveur. Remarques sur la configuration de linstallation pour les tests : Serveur : sup-srvt710 Installation de tous les fichiers dans F:\EEDF\Alfresco admin (mail = admin@alfresco.com, idGoogle = supralog1@hotmail.fr) Accs un espace http://sup-srv-t710:8080/share/page/site/site2/dashboard (ici site2) Accs la console admin http://sup-srv-t710:8080/share/page/console/admin-console/ Paramtres Google Docs Compte gnral Alfresco supralog@hotmail.fr Comptes annexes pour les tests utilisateurs, supralog[1,2]@hotmail.fr Page 4 sur 13

Intgration dAlfresco Intr@ssoc

15/09/2011

II. Personnalisation et paramtrage


A. Paramtrage de laccs Google Docs
1. Condition de cration dun compte utilisateur Google
Conditions cration adresse gmail : Conditions 5.5 Sauf si vous y avez t expressment autoris par un accord distinct conclu avec Google, vous acceptez de ne pas reproduire, dupliquer, copier, vendre, ngocier ou revendre les Services quelque fin que ce soit. 8.5 Vous acceptez tre le seul et unique responsable de tout Contenu que vous crez, transmettez ou affichez dans le cadre de votre utilisation des Services; vous assumez par ailleurs la responsabilit des vos actes (y compris toute perte ou tout prjudice souffert par Google) cet gard. Vous reconnaissez que Google ne saurait tre responsable ni votre gard ni celui d'autrui de ce fait. 9.6 Sauf si vous y avez t expressment autoris par crit par Google, vous reconnaissez que, dans le cadre de votre utilisation des Services, vous n'utiliserez aucune marque commerciale, marque de service, nom commercial, logo appartenant une socit ou organisation dans des conditions susceptibles engendrer, dlibrment ou non, une confusion quant au propritaire ou la personne licencie pour utiliser ces marques, noms ou logos. 10. Licence de Google 10.1 Google vous concde, titre gratuit, une licence personnelle, non-cessible, non-exclusive et pour le monde entier, dutilisation du logiciel qui vous est fourni par Google dans le cadre des Services tels que fournis par Google (dsign ci-aprs le Logiciel ). Cette licence est exclusivement destine vous permettre dutiliser et de bnficier des Services fournis par Google, dans le respect des prsentes Conditions. 10.2 Vous ne pouvez pas (et vous ne pouvez autoriser aucune tierce personne ) copier, modifier, crer une uvre drive, dsassembler, effectuer lingnierie inverse, dcompiler ou tenter de toute autre manire d'extraire le code source de tout ou partie du Logiciel, sauf si la loi le permet ou lexige expressment ou si vous y avez t expressment autoris par crit par Google. 10.3 Sauf autorisation expressment accorde par crit par Google, vous ne pouvez pas cder (ou sous-licencier) vos droits d'utilisation du Logiciel, consentir une sret sur le Logiciel ou vos droits dutilisation ou cder de toute autre manire tout ou partie de vos droits d'utilisation du Logiciel.

2. Paramtrage dAlfresco
Pour activer google docs sur Alfresco, il faut : Aller dans ./tomcat/shared/classes/alfresco-global.properties et ajouter : Page 5 sur 13

Intgration dAlfresco Intr@ssoc

15/09/2011

# Enables google editable functionality googledocs.googleeditable.enabled=true # Google docs application name googledocs.application.name=Alfresco ECM system # Google docs URL (ne pas modifier cette adresse) googledocs.url=http://docs.google.com/feeds/default/private/full # System google docs authentication credentials googledocs.username=supralog@hotmail.fr googledocs.password=supradmin # Google docs spreadsheet service name googledocs.spreadsheet.service.name=wise

Aller dans \tomcat\shared\classes\alfresco\web-extension\share-config-custom.xml et ajouter (ou simplement remplacer par mon fichier) :
<!-- Document Library config section --> <config evaluator="string-compare" condition="DocumentLibrary" replace="true"> <!-Whether the folder Tree component should enumerate child folders or not. This is a relatively expensive operation, so should be set to "false" for Repositories with broad folder structures. --> <tree> <evaluate-child-folders>false</evaluate-child-folders> </tree> <!-Used by the "Manage Aspects" action For custom aspects, remember to also add the relevant i18n string(s) cm_myaspect=My Aspect --> <aspects> <!-- Aspects that a user can see --> <visible> <aspect name="cm:generalclassifiable" /> <aspect name="cm:complianceable" /> <aspect name="cm:dublincore" /> <aspect name="cm:effectivity" /> <aspect name="cm:summarizable" /> <aspect name="cm:versionable" /> <aspect name="cm:templatable" /> <aspect name="cm:emailed" /> <aspect name="emailserver:aliasable" /> <aspect name="cm:taggable" /> <aspect name="app:inlineeditable" /> <aspect name="gd:googleEditable" /> </visible> <!-- Aspects that a user can add. Same as "visible" if left empty --> <addable> </addable>

Page 6 sur 13

Intgration dAlfresco Intr@ssoc

15/09/2011

<!-- Aspects that a user can remove. Same as "visible" if left empty --> <removeable> </removeable> </aspects> <!-Used by the "Change Type" action Define valid subtypes using the following example: <type name="cm:content"> <subtype name="cm:mysubtype" /> </type> Remember to also add the relevant i18n string(s): cm_mysubtype=My SubType --> <types> <type name="cm:content"> </type> <type name="cm:folder"> </type> </types> <!-If set, will present a WebDAV link for the current item on the Document and Folder details pages. Also used to generate the "View in Alfresco Explorer" action for folders. --> <repository-url>http://localhost:8080/alfresco</repository-url> <!-Google Docs integration --> <google-docs> <!-Enable/disable the Google Docs UI integration (Extra types on Create Content menu, Google Docs actions). If enabled, remember to also make sure the gd:googleEditable aspect is made visible in the <aspects> section above. --> <enabled>true</enabled> <!-The mimetypes of documents Google Docs allows you to create via the Share interface. The I18N label is created from the "type" attribute, e.g. google-docs.doc=Google Docs&trade; Document --> <creatable-types> <creatable type="doc">application/msword</creatable> <creatable type="xls">application/vnd.ms-excel</creatable> <creatable type="ppt">application/vnd.ms-powerpoint</creatable> </creatable-types> </google-docs> </config>

Redmarrer Alfresco Page 7 sur 13

Intgration dAlfresco Intr@ssoc

15/09/2011

3. Observations
On gre correctement ldition avec Google Docs. Sur la page de modification dun document, dans le menu Actions sur le document , on clique sur Checkout sous Google Docs puis sur View in Google Docs . On effectue alors les modifications et on sauvegarde dans Google Docs en cliquant sur la disquette par exemple. On quitte Google Docs pour revenir sous Alfresco Share et on clique sur Checkin from Google Docs . On observe que lon doit notifier ses identifiants et mots de passe lorsque lon veut diter en ligne (lidentifiant doit correspondre lidentifiant google ou dfaut ladresse mail de lutilisateur). Les checkout/checkin se font quant eux automatiquement avec les identifiants mis en paramtres. Rq : Le fichier \tomcat\webapps\alfresco\WEB-INF\classes\alfresco\subsystems\googledocs\ default\googledocs-context.xml contient les proprits daccs au service GoogleDocs, et en particulier les identifiants et mots de passe utiliss sont accds par les proprits globales (cf point 2 ci-dessus).

B. Paramtrage de la langue utilise


Tlcharger le package de langue franaise . Le pack doit tre dcompress dans : \tomcat\shared\classes\alfresco\

Editer le fichier \tomcat\shared\classes\alfresco\extension\web-client-config-custom.xml Retirer les marques de commentaire autour des listes des langues dsires. Ne conserver que la ou les langues dsires. Modifier et/ou crer les fichiers : \tomcat\shared\classes\alfresco\messages\slingshot_fr.properties \tomcat\shared\classes\alfresco\messages\common_fr.properties \tomcat\webapps\share\WEB-INF\classes\alfresco\messages\common.properties (changer directement dans la version anglaise) \tomcat\shared\classes\alfresco\web-extension\sitewebscripts\org\alfresco\components\navigation\collaboration-navigation.get_fr.properties \tomcat\shared\classes\alfresco\web-extension\sitewebscripts\org\alfresco\components\dashboard\customise-dashlets.get_fr.properties et le dossier \tomcat\shared\classes\alfresco\web-extension\sitewebscripts\org\alfresco\components\dashlets pour certains oublis et/ou prcisions de traduction.

Ajouter le dossier \tomcat\shared\classes\alfresco\web-extension\sitewebscripts\org\alfresco\components\data-lists pour des oublis de traduction.

Page 8 sur 13

Intgration dAlfresco Intr@ssoc

15/09/2011

C. Ajout de la fonctionnalit de sondages


Si vous voulez des infos sur le module => http://code.google.com/p/shareextras/wiki/SitePollDashlet. Rcuprer mon fichier site-poll-dashlet-0.4.1.jar dans mon dossier dinstallation OU Ouvrir avec Eclipse par exemple le fichier jar site-poll-dashlet-0.4.1.jar qui se trouve dans \tomcat\shared\lib ou tlcharger les sources directement sur le site ci-dessus. Il y a un problme avec le fichier de traduction \config\alfresco\site-webscripts\org\ sharextras\components\dashlets\site-poll.get_fr.properties (il a lair correct mais cest son homologue anglais qui est pris en compte => dboguer ou craser le fichier anglais). Il y a un problme avec la gestion des dates (de dmarrage de publication et de clture du sondage) => dboguer cette fonctionnalit ou la supprimer en modifiant le fichier \config\alfresco\web-extension\poll-datalist-config-custom.xml Commenter les lignes ci-dessous (3 occurrences)
<show id="cm:from" /> <show id="cm:to" />

Recrer le fichier jar, avec les commandes ant (cf le readme et/ou le site ci-dessus) ou avec loption dextraction en JAR dEclipse. Ajouter le nouveau fichier jar site-poll-dashlet-0.4.1.jar dans \tomcat\shared\lib. Pour crer de nouveaux sondages, cliquer sur longlet sondages. Crer un groupe de sondages (sil ny en a dj ou si vous souhaitez crer un sondage dans une autre catgorie). Puis, cliquer sur ajouter un lment et remplir le formulaire de cration du sondage. Retourner sur le tableau de bord du site et dans le bloc Mes sondages , configurer le sondage afficher.(Dans le cas de laffichage sous forme de liste, pas besoin)

D. Personnalisation de la charte graphique


Lien Lien Tekonorma Copier un thme existant (ex : greenTheme) dans le dossier tomcat/webapps/share/themes/ en le nommant eedfTheme. Remplacer toutes les rfrences greenTheme par eedfTheme . Modifier les fichiers .css et les images votre convenance. Cration du fichier suivant dans /tomcat\webapps\share\WEB-INF\classes\alfresco\sitedata\themes : Fichier eedfTheme.xml
<?xml version='1.0' encoding='UTF-8'?>

Page 9 sur 13

Intgration dAlfresco Intr@ssoc


<theme> <title>Theme EEDF</title> <title-id>theme.eedfTheme</title-id> </theme>

15/09/2011

En mode console administrateur http://127.0.0.1:8080/share/page/console/admin-console/ , changer le thme dAlfresco. Utiliser le module complmentaire firebug du navigateur firefox par exemple pour modifier les fichiers css (certains, comme le header, sont dans le dossier \tomcat\webapps\share\components\header) Rafrachir son navigateur (touche F5) pour voir les modifications

E. Rduction des fonctionnalits proposes


Fichier modifi \tomcat\webapps\share\WEB-INF\classes\alfresco\sitedata\presets\presets.xml Pourquoi? - Rorganisation du tableau de bord des sites - Simplification de la barre des menus \tomcat\webapps\alfresco\WEB- Suppression des INF\classes\alfresco\model\datalistModel.xml fonctionnalits autres que sondage dans les DataLists de longlet Sondages \tomcat\webapps\share\WEB-INF\classes\alfresco\siteSuppression des icnes webscripts\org\alfresco\components\header\header.get.html.ftl dans lentte \tomcat\webapps\share\WEB-INF\classes\alfresco\siteSuppression onglet webscripts\org\alfresco\components\navigation\collaborationMembres dans la barre navigation.get.html.ftl des menus \tomcat\webapps\share\WEB-INF\classes\alfresco\siteSuppression des webscripts\org\alfresco\components\title\collaborationboutons sur la ligne des title.get.html.ftl titres \tomcat\webapps\share\WEB-INF\classes\alfresco\siteModifier la liste des webscripts\org\alfresco\components\document-details\documentactions disponibles dans actions.get.config.xml la page des details dun document \tomcat\webapps\share\WEBPage des details dun INF\classes\alfresco\templates\org\alfresco\document-details.ftl document \tomcat\shared\classes\alfresco\web-extension\share-configGestion des aspects custom.xml visibles ou non dun document \tomcat\webapps\share\WEB-INF\classes\alfresco\siteSuppression avatar sur webscripts\org\alfresco\components\dashlets\colleagues.get.html.ftl la page daccueil

http://localhost:8080/share/page/user/{user}/dashboard Accs tableau de bord utilisateur http://localhost:8080/share/page/user/{user}/dashboard Accs profil utilisateur http://localhost:8080/share/page/site-finder Recherche des sites http://localhost:8080/share/page/people-finder Recherche dans lannuaire Page 10 sur 13

Intgration dAlfresco Intr@ssoc http://localhost:8080/share/page/repository Entrept http://localhost:8080/share/page/console/admin-console/ Administration http://www.alfresco.com/help/33/community/sharehelp/ Aide

15/09/2011

III.Interaction avec Intr@ssoc


A. Gestion par Web services
Utilisation du WebService RestAPI pour la cration des sites collaboratifs, lajout de membres, etc. Pour la syntaxe dutilisation dune telle API en C#, se reporter syntaxe API Yahoo.

B. Intgration dans larchitecture dIntr@ssoc


Dans la page Main.master.aspx, on ajoute longlet Espaces collaboratifs la barre des menus et les sous-menus pour crer et lister des espaces collaboratifs. On ajoute au fichier App_Code\Pages.cs la description des pages qui seront accdes par le menu. Dans le dossier des pages aspx (C:\Projets\Intrassoc\trunk\trunk_eedf\src\intrassoc\www), on cre un dossier Alfresco contenant les pages CreerEspace.aspx, ListeEspaces.aspx et SupprimerEspaces.aspx qui respectivement permettent de donner accs au formulaire de cration dun nouvel espace collaboratif, de lister les liens vers les espaces collaboratifs dont lutilisateur est membre et de supprimer des espaces. Dans le dossier LogiqueMetier , on cre un dossier Alfresco contenant les classes : - RequetesHttpManager pour effectuer les requtes get, post, put et delete. - AnnuaireAlfrescoManager pour ajouter, modifier, supprimer une personne et pour obtenir la liste des personnes de lannuaire. - SiteAlfrescoManager pour crer des sites collaboratifs, leur ajouter des membres et supprimer des membres ou des sites. - IEBrowserManager pour gnrer un navigateur virtuel pour lappel dun webService le ncessitant

C. Gnration automatique des sites collaboratifs


1. Gnration automatique : ses tapes
Appel de la mthode AjouterSite de la classe SiteAlfrescoManager pour crer le site au niveau dAlfresco (on obtient alors les dtails du site dans linterface Alfresco Share mais le site nest pas fonctionnel). Navigation dans un lment WebBrowser (mulateur WindowsForm de navigateur internet) http://localhost:8080/share/service/modules/custom-site? ladresse
shortName={siteID}&sitePreset=site-dashboard, pour appeler en mthode GET le script en JavaScript custom-site.js.

Page 11 sur 13

Intgration dAlfresco Intr@ssoc

15/09/2011

2. Ajout du script custom-site.js


Cration des fichiers suivants dans share\WEB-INF\classes\alfresco\sitewebscripts\org\alfresco \modules : Fichier custom-site.get.desc.xml
<webscript> <shortname>Utility Service for creating site programmatically</shortname> <description>Utility Service for creating site programmatically</description> <url>/modules/custom-site</url> </webscript>

Fichier custom-site.get.html.ftl vide Fichier custom-site.get.js


var tokens = new Array(); tokens["siteid"] = args.shortName; sitedata.newPreset(args.sitePreset, tokens);

3. Observations
Le script create-site.js (inclus dans Alfresco) appel par la mthode AjouterSite contient les lignes de code du script custom-site.js. Or quand on nappelle que le premier, le site est prsent dans la liste des sites mais son initialisation nest pas effectue. De plus, le script custom-site.js ne fonctionne pas lorsquil est appel laide des HttpWebRequest en C# => do lutilisation dun mulateur de navigateur (une instance de WebBrowser). Remarque : Voir dans les versions ultrieures dAlfresco Share si le script create-site.js devient fonctionnel par son seul appel.

D. Accs la liste des sites depuis Intr@ssoc


Dans la classe SiteAlfrescoManager, la mthode string ObtenirListeSites(string renvoie une chane de caractres au format JSON qui contient la liste des sites dont lutilisateur didentifiant personneID est membre. Il ne reste donc plus qu dsrialiser cette chane et afficher dans la page web la liste des liens vers chacun des sites. Cest ce moment que lon identifie lutilisateur sur Alfresco en masqu (identifiant et mot de passe passs en clair dans lurl : ou alors ressayer en les passant en mthode POST).

personneID)

E. Synchronisation entre les annuaires


La synchronisation entre les annuaires est prvue de manire unilatrale, ie toute modification de lannuaire dintr@ssoc recensant les personnes ayant accs aux espaces collaboratifs sera rpercute dans lannuaire dAlfresco et on veillera ce que les fonctionnalits de modifications directes de lannuaire dAlfresco soient dsactives ou tout du moins masques.

Page 12 sur 13

Intgration dAlfresco Intr@ssoc Dans la classe AnnuaireAlfrescoManager, les mthodes

15/09/2011

string AjouterPersonne(string identifiant, string prenom, string nom, string email,string mot_de_passe), string SupprimerPersonne(string identifiant), string ModifierPersonne(string identifiant, string prenom, string nom, string email, string mdp_ancien, string mdp_nouveau), string ObtenirListePersonnes(),

permettent respectivement dajouter , de supprimer et de modifier une personne de lannuaire dAlfresco. La dernire mthode renvoie quant elle une chane JSON (donc dsrialiser) indiquant la liste de tous les utilisateurs prsents dans lannuaire dAlfresco.

F. Rcupration des arborescences documentaires existantes


Utile pour les EEDF ? http://forums.alfresco.com/fr/viewtopic.php?f=13&t=4825

Page 13 sur 13

Vous aimerez peut-être aussi