Présentation de Alfresco
              L’outil de GED open-source java



Fabien Baligand
Cliquez pour ajouter un titre
         Définition

    • Cliquez pour ajouter un plan
         G    estion




         E    lectronique




2
         D    ocumentaire
Cliquez pour ajouter un titre
    • Cliquez pour ajouter un plan


                Dans Alfresco,
                Tout est nœud

3
Cliquez pour ajouter un titre
         Document Alfresco

    • Cliquez pour ajouter un représenté par :
            Un document alfresco est
                                     plan
                 Un contenu
                 Un type de contenu (type MIME)
                 Un auteur
                 Un chemin (path) dans l’arborescence Alfresco
                 Optionnellement plusieurs autres paths
                 Des propriétés
                       Propriétés alfresco
                       Propriétés entreprise
                 Des aspects
                 Des documents associés
4
Cliquez pourutilisateursun titre
         Gestion des ajouter

    • Cliquez pour ajouter un plan
            Base interne d’utilisateurs
             Possible intégration avec un référentiel
             externe (LDAP, …)
             Gestion de groupes d’utilisateurs
             Gestion des habilitations
                 Quatre niveaux d’habilitation :
                       Consumer : lecture seulement
                       Editor : Consumer + édition
                       Contributor : Consumer + ajout de documents
                       Collaborator : Editor + Contributor
5                      Coordinator : Tous droits
Cliquez pour ajouter un titre
         Mécanismes d’authentification

    • Cliquez pour ajouter un plan fournis par
            Mécanismes d’authentification
            Alfresco :
                Login/password sur base interne (par défaut)
                NTLM
                LDAP
                JAAS
                Kerberos




6
Cliquez Webdav
          Accès pour ajouter un titre

    • Cliquez pourdéposer par simple drag&drop :
            Permet de
                      ajouter un plan
                    un fichier volumineux

                    Plusieurs fichiers

                    Un répertoire de fichiers

               Service inclus de base dans Alfresco :
                    http://localhost/alfresco/webdav/

               Gestion des habilitations :
                    Un répertoire où l’utilisateur n’a pas les droits n’est pas visible

                    Affectation de droits en lecture ou en écriture :
                            Consumer, Editor, Contributor, Coordinator

7
Cliquez pour ajouter un titre
         Indexation Lucene

    • Cliquez pour ajouter un plan utilisant Lucene.
            Tous les documents sont indexés en
             L’indexation Lucene permet de faire des recherches par :
                 Nom de document
                 Chemin de document
                 Type de document
                 Date de document
                 Propriété de document
                 Contenu de document

             Exemple :
                 TEXT: "un contenu"
                 => Retourne tous les documents dont le contenu inclut « un
                 contenu »
8
Cliquez pour règles un titre
         Définition de ajouter
            Une règle définit l’exécution d’une action sur arrivée d’un
    • Cliquez pour ajouter un plan
            évènement.
            Une règle est définie par :
                 Le répertoire sur lequel s’applique la règle
                 La(les) condition(s) des documents concernés :
                         fichier ou répertoire, fichier d’un certain type MIME ou
                         avec une certaine propriété)
                 Le type d’évènement :
                         Ajout de fichier, suppression de fichier, mise à jour de
                         fichier

                 L’action (ou les actions) à exécuter :
                         copie/déplacement du fichier vers un autre répertoire,
                         envoi d’un mail, association d’un aspect, conversion
                         du document, démarrage d’un workflow, exécution
9
                         d’un script, …
Cliquez pourAlfresco un titre
          Architecture ajouter

     • Cliquez pour ajouter un plan
                          alfresco.war



                                     Système de fichiers

                  BDD                    Documents




10
                                         Index Lucene
Cliquez pour ajouter un titre
     • Cliquez pour ajouter un plan
               ETENDRE
              ALFRESCO

11
Cliquez pour ajouter un titre
          Module Alfresco
             Un module Alfresco est une archive AMP déployable sur alfresco,
     • Cliquez pour ajouter un plan
             qui définit un ensemble de services et de vues additionnels.
             Avec un module Alfresco, il est possible de :
                  Définir des services métiers Spring
                  Définir de micro-vues JSF : dashlets
                  Définir ses propres mécanismes d’authentification
                  Définir des actions associables à une règle
                  Définir des aspects
                  Définir des web scripts
                  Définir des workflows alfresco

             Intégration Maven :
                  Possibilité de générer un artefact « Module Alfresco »
                  Possibilité de générer un artefact « Extension Alfresco »
12
Cliquez pour ajouter Alfresco
          Structure d’un module un titre

     • Cliquez pour ajouter un plan
             config
                   alfresco/module/<moduleId>
                           module-context.xml (conf spring)
                           …
             lib
                   *.jar

             web
                   jsp
                           *.jsp
             module.properties
13
Cliquez pour ajouter un titre
           Web Scripts

     • Cliquez pour: Permet de fournir des web services RESTful dans
             Définition
             Alfresco
                        ajouter un plan
                Alfresco fournit de base toute son API bas niveau sous forme de
                web scripts

                Pour définir un web script, il faut :
                      Créer une classe Java implémentant WebScript :
                      void execute(WebScriptRequest request,
                      WebScriptResponse response) throws IOException;

                      Déclarer le web script dans la configuration spring :
                      <bean
                      id="webscript.org.alfresco.sample.helloworld.get"
                      class="my.java.package.structure.HelloWorld"
                      parent="webscript" />

14
Cliquez pour workflowsun titre
           Définition de ajouter

     • Cliquez pourd’associer un document à un workflow
             Possibilité
                         ajouter un plan
                Possibilité de définir un workflow spécifique :
                     Etats

                     Transitions

                     Tâches

                     Association d’une tâche à un user ou un groupe

                     IHM pour voir ses tâches assignées, et les traiter

                     API java pour piloter les workflows

                Moteur de workflow par défaut actuel : jBPM

                Futur moteur de workflow par défaut : Activiti
15
Cliquez pour ajouter un titre
          Licence

     • Cliquez pour la versionun plan
             Jusqu’à ajouter 3.2 : GPL
             Depuis la version 3.3 : LGPL
             Existe une version commerciale très chère
             (environ 8000 euros par machine et par an)




16

Présentation de alfresco - l'outil de GED open-source java

  • 1.
    Présentation de Alfresco L’outil de GED open-source java Fabien Baligand
  • 2.
    Cliquez pour ajouterun titre Définition • Cliquez pour ajouter un plan G estion E lectronique 2 D ocumentaire
  • 3.
    Cliquez pour ajouterun titre • Cliquez pour ajouter un plan Dans Alfresco, Tout est nœud 3
  • 4.
    Cliquez pour ajouterun titre Document Alfresco • Cliquez pour ajouter un représenté par : Un document alfresco est plan Un contenu Un type de contenu (type MIME) Un auteur Un chemin (path) dans l’arborescence Alfresco Optionnellement plusieurs autres paths Des propriétés Propriétés alfresco Propriétés entreprise Des aspects Des documents associés 4
  • 5.
    Cliquez pourutilisateursun titre Gestion des ajouter • Cliquez pour ajouter un plan Base interne d’utilisateurs Possible intégration avec un référentiel externe (LDAP, …) Gestion de groupes d’utilisateurs Gestion des habilitations Quatre niveaux d’habilitation : Consumer : lecture seulement Editor : Consumer + édition Contributor : Consumer + ajout de documents Collaborator : Editor + Contributor 5 Coordinator : Tous droits
  • 6.
    Cliquez pour ajouterun titre Mécanismes d’authentification • Cliquez pour ajouter un plan fournis par Mécanismes d’authentification Alfresco : Login/password sur base interne (par défaut) NTLM LDAP JAAS Kerberos 6
  • 7.
    Cliquez Webdav Accès pour ajouter un titre • Cliquez pourdéposer par simple drag&drop : Permet de ajouter un plan un fichier volumineux Plusieurs fichiers Un répertoire de fichiers Service inclus de base dans Alfresco : http://localhost/alfresco/webdav/ Gestion des habilitations : Un répertoire où l’utilisateur n’a pas les droits n’est pas visible Affectation de droits en lecture ou en écriture : Consumer, Editor, Contributor, Coordinator 7
  • 8.
    Cliquez pour ajouterun titre Indexation Lucene • Cliquez pour ajouter un plan utilisant Lucene. Tous les documents sont indexés en L’indexation Lucene permet de faire des recherches par : Nom de document Chemin de document Type de document Date de document Propriété de document Contenu de document Exemple : TEXT: "un contenu" => Retourne tous les documents dont le contenu inclut « un contenu » 8
  • 9.
    Cliquez pour règlesun titre Définition de ajouter Une règle définit l’exécution d’une action sur arrivée d’un • Cliquez pour ajouter un plan évènement. Une règle est définie par : Le répertoire sur lequel s’applique la règle La(les) condition(s) des documents concernés : fichier ou répertoire, fichier d’un certain type MIME ou avec une certaine propriété) Le type d’évènement : Ajout de fichier, suppression de fichier, mise à jour de fichier L’action (ou les actions) à exécuter : copie/déplacement du fichier vers un autre répertoire, envoi d’un mail, association d’un aspect, conversion du document, démarrage d’un workflow, exécution 9 d’un script, …
  • 10.
    Cliquez pourAlfresco untitre Architecture ajouter • Cliquez pour ajouter un plan alfresco.war Système de fichiers BDD Documents 10 Index Lucene
  • 11.
    Cliquez pour ajouterun titre • Cliquez pour ajouter un plan ETENDRE ALFRESCO 11
  • 12.
    Cliquez pour ajouterun titre Module Alfresco Un module Alfresco est une archive AMP déployable sur alfresco, • Cliquez pour ajouter un plan qui définit un ensemble de services et de vues additionnels. Avec un module Alfresco, il est possible de : Définir des services métiers Spring Définir de micro-vues JSF : dashlets Définir ses propres mécanismes d’authentification Définir des actions associables à une règle Définir des aspects Définir des web scripts Définir des workflows alfresco Intégration Maven : Possibilité de générer un artefact « Module Alfresco » Possibilité de générer un artefact « Extension Alfresco » 12
  • 13.
    Cliquez pour ajouterAlfresco Structure d’un module un titre • Cliquez pour ajouter un plan config alfresco/module/<moduleId> module-context.xml (conf spring) … lib *.jar web jsp *.jsp module.properties 13
  • 14.
    Cliquez pour ajouterun titre Web Scripts • Cliquez pour: Permet de fournir des web services RESTful dans Définition Alfresco ajouter un plan Alfresco fournit de base toute son API bas niveau sous forme de web scripts Pour définir un web script, il faut : Créer une classe Java implémentant WebScript : void execute(WebScriptRequest request, WebScriptResponse response) throws IOException; Déclarer le web script dans la configuration spring : <bean id="webscript.org.alfresco.sample.helloworld.get" class="my.java.package.structure.HelloWorld" parent="webscript" /> 14
  • 15.
    Cliquez pour workflowsuntitre Définition de ajouter • Cliquez pourd’associer un document à un workflow Possibilité ajouter un plan Possibilité de définir un workflow spécifique : Etats Transitions Tâches Association d’une tâche à un user ou un groupe IHM pour voir ses tâches assignées, et les traiter API java pour piloter les workflows Moteur de workflow par défaut actuel : jBPM Futur moteur de workflow par défaut : Activiti 15
  • 16.
    Cliquez pour ajouterun titre Licence • Cliquez pour la versionun plan Jusqu’à ajouter 3.2 : GPL Depuis la version 3.3 : LGPL Existe une version commerciale très chère (environ 8000 euros par machine et par an) 16