Académique Documents
Professionnel Documents
Culture Documents
Alfresco Jasper Report
Alfresco Jasper Report
par Landry KOUAM (Centre de Service Alfresco/jBPM, Koossery Technology) Bak Jc. BAKENEGHE (Software Coordinator, Koossery Technology)
Date de publication : 24 juin 2009 Dernire mise jour :
Cet article traite d'un exemple de dveloppement GED Alfresco: modlisation de contenu et utilisation de jasper report. Il s'adresse aux dveloppeurs java de projet GED/ECM base d'Alfresco. Vos ractions par l'intermdiaire de ce fil:
I - INTRODUCTION..................................................................................................................................................... 3 II - ETUDE DE CAS: SPECIFICATIONS FONCTIONNELLES DE L'EXEMPLE........................................................ 3 III - MODELISATION DE CONTENU DANS ALFRESCO...........................................................................................3 III-1 - Modle de donnes......................................................................................................................................3 III-2 - Modlisation du contenu Alfresco................................................................................................................ 3 III-2-1 - Petit rappel sur le dictionnaire de donnes Alfresco........................................................................... 3 III-2-2 - Modle M2 de notre projet : productModel.xml................................................................................... 4 III-2-3 - Internationalisation I18N relative au modle M2 (productModel.xml).................................................. 6 III-2-4 - Enregistrement du modle M2 (productModel.xml) et des bundles d'internationalisation i18n............7 IV - CONFIGURATION DU CLIENT WEB DANS ALFRESCO...................................................................................7 IV-1 - Configuration du client web......................................................................................................................... 7 IV-1-1 - Sous section de dfinition des actions................................................................................................8 IV-1-2 - Sous section de dfinition des menus................................................................................................ 9 IV-1-3 - Section de dfinition du Dialog......................................................................................................... 10 IV-2 - Dialog Alfresco - Formulaire de saisie.......................................................................................................10 IV-2-1 - Design de la JSP.............................................................................................................................. 10 IV-2-2 - Externalisation et internationalisation des labels de la JSP..............................................................10 IV-2-3 - Ecriture du code du Bean Manag................................................................................................... 10 IV-2-4 - Configuration JSF du Bean Manag.................................................................................................11 V - UTILISATION DE JASPER REPORT..................................................................................................................11 V-1 - Gnration du document PDF avec Jasper Report et enregistrement.......................................................11 V-1-1 - Cration du template jasper de la fiche du produit............................................................................ 11 V-1-2 - Compilation du template jasper report............................................................................................... 13 V-1-3 - Utilisation du template dans le projet et gnration du PDF..............................................................13 VI - COMPILATION ET DEPLOIEMENT DU PROJET............................................................................................. 14 VI-1 - Import de l'extension dans le SDK Alfresco.............................................................................................. 14 VI-2 - Construction du WAR................................................................................................................................ 15 VI-3 - Dploiement sur un Web Container.......................................................................................................... 15 VII - EXECUTION: CREATION, RECHERCHE FULL-TEXT, MODIFICATION, VERSIONNING.............................. 15 VII-1 - Cration d'une fiche produit......................................................................................................................16 VII-2 - Modification et versionnage d'une fiche produit....................................................................................... 19 VII-3 - Historique des versions d'une fiche produit..............................................................................................19 VII-4 - Recherche d'une fiche produit : 'recherche full-text'................................................................................. 19 VIII - TELECHARGEMENT CODE SOURCE DU PROJET......................................................................................21
Tutorial dveloppement Alfresco: modlisation de contenu et utilisation de jasper report par Landry KOUAM (Centre de Service Alfresco/jBPM, Koossery Technology) Bak Jc. BAKENEGHE (Software Coordinator, Koossery Technology)
http://koossery-tech.developpez.com/tutoriels/java/ecm/alfresco/tutorial-developpement-alfresco-modelisation-contenu-et-utilisation-jasper-report/
-2-
I - INTRODUCTION
Tutorial dveloppement Alfresco: modlisation de contenu et utilisation de jasper report par Landry KOUAM (Centre de Service Alfresco/jBPM, Koossery Technology) Bak Jc. BAKENEGHE (Software Coordinator, Koossery Technology)
Le Centre de Comptences Alfresco-jBPM de Koossery Technology publie travers cet article un tutorial traitant: - de la modlisation de contenus dans Alfresco - de l'utilisation de Jasper Report pour la production de documents au format PDF qui sont par la suite stocks dans le Repository Alfresco. - enfin de l'archivage, de la recherche full-text, du versionning et de l'historisation des documents PDF stocks.
III-2 - Modlisation du contenu Alfresco III-2-1 - Petit rappel sur le dictionnaire de donnes Alfresco
Pour que les entits du modle de donnes du paragraphe III-1 soient prises en compte et gres sous forme de contenus dans Alfresco, il faut dcrire ces entits l'aide du dictionnaire de donnee Alfresco. Le dictionnaire de donnes Alfresco est un ensemble de modles de base (appels modles M1) qui permettent de dcrire la structure des contenus traiter. Un modle M1 contient la dfinition des types primitifs comme 'Double', 'Float', 'Integer' etc., ou des types complexes comme le type 'content' (type contenu pour contenir l'information sous forme binaire), 'folder' (pour les dossiers), 'person' (pour les personnes), etc.
http://koossery-tech.developpez.com/tutoriels/java/ecm/alfresco/tutorial-developpement-alfresco-modelisation-contenu-et-utilisation-jasper-report/
-3-
Il existe plusieurs fichiers XML constituant le modle M1. On peut citer: - dictionaryModel.xml (types primitifs) - contentModel.xml (types complexes)
Tutorial dveloppement Alfresco: modlisation de contenu et utilisation de jasper report par Landry KOUAM (Centre de Service Alfresco/jBPM, Koossery Technology) Bak Jc. BAKENEGHE (Software Coordinator, Koossery Technology)
Pour avoir une vue plus complte sur le Dictionnaire de donnes d'Alfresco, le Centre de Comptences AlfrescojBPM de Koossery Technology conseille la documentation ci-dessous: 1 http://wiki.alfresco.com/wiki/ Data_Dictionary_Guide
http://koossery-tech.developpez.com/tutoriels/java/ecm/alfresco/tutorial-developpement-alfresco-modelisation-contenu-et-utilisation-jasper-report/
Tutorial dveloppement Alfresco: modlisation de contenu et utilisation de jasper report par Landry KOUAM (Centre de Service Alfresco/jBPM, Koossery Technology) Bak Jc. BAKENEGHE (Software Coordinator, Koossery Technology)
48 <type>d:float</type> 49 <mandatory>true</mandatory> 50 </property> 51 <property name="product:stock"> 52 <title>Stock</title> 53 <type>d:int</type> 54 </property> 55 </properties> 56 57 <associations> 58 <!-- ci-dessous l'association qui lie le produit ses images 59 <association name="product:image"> 60 <target> 61 <class>product:picture</class> 62 <mandatory>false</mandatory> 63 <many>false</many> 64 </target> 65 </association> 66 </associations> 67 68 <!-- on greffe les aspect/comportements versionable et auditable --> 69 <mandatory-aspects> 70 <aspect>cm:versionable</aspect> 71 <aspect>cm:auditable</aspect> 72 </mandatory-aspects> 73 </type> 74 75 <!-- The product image --> 76 <type name="product:picture"> 77 <title>Picture</title> 78 <parent>cm:content</parent> 79 <properties> 80 <property name="product:pictureLegend"> 81 <title>Legend</title> 82 <type>d:text</type> 83 <mandatory>false</mandatory> 84 </property> 85 </properties> 86 </type> 87 88 </types> 89 90</model>
-->
Dcrivons de bout en bout le contenu de ce fichier. - Ligne 4: le modle est dfini dans le corps de la balise "model". L'attribut "name" reprsente le nom du modle : ce nom doit tre unique au sein de la plateforme Alfresco. Le nom du modle ici est "product:model". Remarquez qu'il est form de deux mots spars par deux points " : ". Le premier mot reprsente le prfixe du modle. Le prfixe est un symbole de votre choix qui permet d'identifier le modle une fois enregistr dans la plateforme. Ce prfixe doit tre unique. Pour finir on distingue l'url du modle de base du dictionnaire de donnes: http://www.alfresco.org/ model/dictionary/1.0. - Ligne 7 ligne 9: on distingue les sous lments de description , d'auteur et de version du modle. - Ligne 12 ligne 17: la dclaration des imports des modles de base M1. Tout modle M2 est construit partir d'lments des modles de base M1. Ici nous importons le modle M1 (identifi par le prfix 'd') des types primitifs et le modle M1 (identifi par le prfix 'cm') des types de contenu. - Ligne 23: on dclare le namespace de notre modle que nous sommes entrain d'crire. Nous avons donn comme prefix (qui doit tre unique dans le systme Alfresco) le mot 'product'. Nous avons donn comme uri l'url 'http://www.koossery-tech.com/model/product/1.0'
http://koossery-tech.developpez.com/tutoriels/java/ecm/alfresco/tutorial-developpement-alfresco-modelisation-contenu-et-utilisation-jasper-report/
-5-
- Ligne 28: dfinition du type de contenu 'product'.Ce type de contenu correspond la modlisation de l'entity 'Product' du paragraphe III-1. L'attribut 'name' du type de contenu doit tre au format 'prefix : nom' o 'prefix' reprsente le prefix de notre modle et 'nom' reprsente le nom qu'on veut donner au type de contenu. Chaque proprit de notre type de contenu est dfinie dans un sous lment "property". On distingue pour une proprit les lments suivants : son titre, son type, son caractre non obligatoire ou pas ("mandatory"). - Ligne 57 ligne 66: on reprsente l'association entre un produit et son image. Cette association ici est reprsente par la composition "child-association": la destruction d'un produit entrane la destruction de son image. - Ligne 69 ligne 72: une autre partie trs importante lors de la dfinition d'un type de contenu est la partie de la dclaration des aspects, reprsente par le l'lment "mandatory-aspects". Celui-ci permet de greffer un aspect gnrique (ou comportement gnrique). Dans notre exemple, deux aspects sont greffs au modle: l'aspect de versioning et l'aspect d'audit du contenu. - Ligne 76 ligne 86: dfinition du type de contenu "image" Les types de contenu ainsi dfinis vont reprsenter le contrat entre le client web et le Server Repository d'Alfresco pour ce qui concerne les manipulations sur le produit. Lorsque le client web va afficher le formulaire de saisie des informations d'un produit, les labels qui seront affichs seront les valeurs de l'lment "title" des proprits de notre type de contenu 'product:product'. Comme dans toute application web les labels sont externaliss et dfinis dans des bundles d'internationalisation i18n. C'est l'objet du paragraphe III-2-3.
Tutorial dveloppement Alfresco: modlisation de contenu et utilisation de jasper report par Landry KOUAM (Centre de Service Alfresco/jBPM, Koossery Technology) Bak Jc. BAKENEGHE (Software Coordinator, Koossery Technology)
http://koossery-tech.developpez.com/tutoriels/java/ecm/alfresco/tutorial-developpement-alfresco-modelisation-contenu-et-utilisation-jasper-report/
-6-
Tutorial dveloppement Alfresco: modlisation de contenu et utilisation de jasper report par Landry KOUAM (Centre de Service Alfresco/jBPM, Koossery Technology) Bak Jc. BAKENEGHE (Software Coordinator, Koossery Technology)
bundles
sont
enregistrs
dans
le
Repository
via
le
bean
http://koossery-tech.developpez.com/tutoriels/java/ecm/alfresco/tutorial-developpement-alfresco-modelisation-contenu-et-utilisation-jasper-report/
Figure 5: web-client-config-custom.xml
Tutorial dveloppement Alfresco: modlisation de contenu et utilisation de jasper report par Landry KOUAM (Centre de Service Alfresco/jBPM, Koossery Technology) Bak Jc. BAKENEGHE (Software Coordinator, Koossery Technology)
<!-- action :modifier une fiche produit --> <action id="update_product"> <permissions> <permission allow="true">Write</permission> </permissions> <evaluator>com.koossery.web.action.evaluator.UpdateProductEvaluator</evaluator> <label-id>update-product</label-id> <image>/images/icons/update.gif</image> <action-listener>#{SaveProductDialog.setupContentAction}</action-listener> <action>dialog:save_product</action> <params> <param name="id">#{actionContext.id}</param> </params> </action> <!-- ici on ajoute l'action 'crer produit' dans le groupe <action-group id="browse_create_menu"> <action idref="create_product" /> </action-group> <!-- ici on ajoute l'action 'crer produit' dans le groupe <action-group id="document_browse"> <action idref="update_product" /> </action-group> </actions> </config> <!-- configuration du Dialog--> <config> <dialogs> <dialog name="save_product" page="/jsp/extension/content/save-product-dialog.jsp" managed-bean="SaveProductDialog" icon="/images/icons/new_content_large.gif" title-id="save_product_dialog_title" description-id="save_product_description_dialog"> </dialog> </dialogs> </config> 'browse_create_menu'-->
'document_browse'-->
Le fichier web-client-config-custom.xml de la figure 5 contient deux grandes sections de configuration: les actions (une action est en quelque sorte une commande avec son menu), et les dialog (un dialog est une pages jsp) de cration/modification des fiches de produit. Dans les paragraphes qui suivent nous allons voir les configurations des actions et des dialog en dtail.
http://koossery-tech.developpez.com/tutoriels/java/ecm/alfresco/tutorial-developpement-alfresco-modelisation-contenu-et-utilisation-jasper-report/
-8-
- action: il s'agit de l'action (en quelque sorte la commande) excuter. Il peut s'agir d'afficher un Dialog (formulaire) ou un Wizard. Dans l'un ou l'autre des cas, l'identification conventionnelle Alfresco du composant doit tre spcifie. Dans notre cas les actions lancent le formulaire en mode cration ou modification et cela est spcifi par 'dialog:save_product'. Le mot "dialog" signifie au noyau Alfresco que l'on veut ouvrir un Dialog. "save_product" est l'id du dialog qu'on veut ouvrir. Voir paragraphe IV-1-3 pour la configuration des Dialogs Alfresco. - params: dfinit les paramtres du listener. Dans notre cas l'id du noeud courant est pass au listener comme paramtre. Avec cette id le listener va retrouver le noeud du contenu modifier et placer le dialog en mode modification.
Tutorial dveloppement Alfresco: modlisation de contenu et utilisation de jasper report par Landry KOUAM (Centre de Service Alfresco/jBPM, Koossery Technology) Bak Jc. BAKENEGHE (Software Coordinator, Koossery Technology)
Figure 6: Menu 'Crer' Dans la plate-forme Alfresco, l'action groupe du menu "crer" est identifie par l'id "browse_create_menu". Nous ajoutons donc l'item "create_product" ce groupe. Figure 7: Configuration de l'item menu 'create_product'
<!-- Actions Menu for Create in Browse screen --> <action-group id="browse_create_menu"> <action idref="create_product" /> </action-group>
D'autre part nous voulons que l'action de modification d'une fiche produit soit disponible dans le menu contextuel du noeud de ce document. La zone entoure en rouge de la figure 8 ci-dessous montre le menu contextuel d'une fiche produit.
Figure 8 : Menu contextuel d'une fiche produit Dans la plate-forme Alfresco, l'action groupe du menu contextuel des documents est identifie par l'id "document_browse". Nous ajoutons donc l'item "update_product" ce groupe.
http://koossery-tech.developpez.com/tutoriels/java/ecm/alfresco/tutorial-developpement-alfresco-modelisation-contenu-et-utilisation-jasper-report/
-9-
Tutorial dveloppement Alfresco: modlisation de contenu et utilisation de jasper report par Landry KOUAM (Centre de Service Alfresco/jBPM, Koossery Technology) Bak Jc. BAKENEGHE (Software Coordinator, Koossery Technology)
<!-- Actions for a document in the Browse screen --> <action-group id="document_browse"> <action idref="update_product" /> </action-group>
http://koossery-tech.developpez.com/tutoriels/java/ecm/alfresco/tutorial-developpement-alfresco-modelisation-contenu-et-utilisation-jasper-report/
- String finishImpl(FacesContext, String): cette mthode est excute lorsque l'utilisateur a fini ses saisies et qu'il enregistre la fiche (clic sur le bouton 'Terminer') de notre Dialog. Elle est utilise pour enregistrer les informations dans le Repository Alfresco.
Tutorial dveloppement Alfresco: modlisation de contenu et utilisation de jasper report par Landry KOUAM (Centre de Service Alfresco/jBPM, Koossery Technology) Bak Jc. BAKENEGHE (Software Coordinator, Koossery Technology)
Il s'agit de la configuration JSF du Bean Manag SaveProductDialog qui ralise la cration et la modification d'une fiche produit. Il est de scope session et on voit que les services du Repository sont injects.
V - UTILISATION DE JASPER REPORT V-1 - Gnration du document PDF avec Jasper Report et enregistrement
Pour la gnration de la fiche du produit au format PDF, cela est fait avec le standard Jasper Report avec son outil iReport. Avant de prsenter l'utilisation de l'API Jasper dans le projet pour la gnration du PDF, nous allons d'abord brivement faire un rappel de l'utilisation de iReport pour la construction du template.
http://koossery-tech.developpez.com/tutoriels/java/ecm/alfresco/tutorial-developpement-alfresco-modelisation-contenu-et-utilisation-jasper-report/
- 11 -
Lors de la gnration du rapport, le moteur doit prendre en entre un objet de type InputStream contenant les binaires de l'image. Les Stream de l'image seront passs au le moteur Jasper Report travers le paramtre : PRODUCT_REPORT_KOOSSERY_LOGO de type java.io.InputStream. Les valeurs des zones de textes statiques sont directement saisies (voir la figure ci-dessous). Dans la zone detail nous allons placer un composant image pour le positionnement de l'image du produit et des zones d'entre de textes pour les informations du produit. Il a aussi 5 zones de textes statiques affichant les labels du nom du produit, la description du produit, la rfrence du produit, le prix unitaire et le stock. Les valeurs sont passes au travers des paramtres : - PRODUCT_REPORT_NAME de type java.lang.String, - PRODUCT_REPORT_PRIZE de type java.lang.Float, - PRODUCT_REPORT_REFERENCE de type java.lang.String, - PRODUCT_REPORT_STOCK de type java.lang.Integer, - PRODUCT_REPORT_DESCRIPTION de type java.lang.String. - Les Stream de l'image sont passs partir du paramtre PRODUCT_REPORT_IMAGE de type java.io.InputStream. Dans la zone pageFooter nous allons placer des zones de textes statiques.
Tutorial dveloppement Alfresco: modlisation de contenu et utilisation de jasper report par Landry KOUAM (Centre de Service Alfresco/jBPM, Koossery Technology) Bak Jc. BAKENEGHE (Software Coordinator, Koossery Technology)
Figure 12 : Cration du fichier jasper avec iReport 1.3.3 Pour avoir des notions approfondies sur la cration des rapports avec Jasper Report, le Centre de Comptences Alfresco-jBPM de Koossery Technology conseille les nombreuses documentations du site developpez.com, dans la rubrique 'java'. Quelques exemples de tutoriaux :
http://koossery-tech.developpez.com/tutoriels/java/ecm/alfresco/tutorial-developpement-alfresco-modelisation-contenu-et-utilisation-jasper-report/
- 12 -
Tutorial dveloppement Alfresco: modlisation de contenu et utilisation de jasper report par Landry KOUAM (Centre de Service Alfresco/jBPM, Koossery Technology) Bak Jc. BAKENEGHE (Software Coordinator, Koossery Technology)
1 2
Gnration de rapport avec Jasper Report par Eric Reboisson (Site Web) Initiation JasperReports - iReport par JeanPhilippe Guilloux (Site Web)
http://koossery-tech.developpez.com/tutoriels/java/ecm/alfresco/tutorial-developpement-alfresco-modelisation-contenu-et-utilisation-jasper-report/
Tutorial dveloppement Alfresco: modlisation de contenu et utilisation de jasper report par Landry KOUAM (Centre de Service Alfresco/jBPM, Koossery Technology) Bak Jc. BAKENEGHE (Software Coordinator, Koossery Technology) JasperPrint jasperPrint = JasperFillManager.fillReport(new FileInputStream(file), parameters,new JREmptyDataSource()); // - Create report as PDF FIle this.reportBytes = JasperExportManager.exportReportToPdf(jasperPrint);
http://koossery-tech.developpez.com/tutoriels/java/ecm/alfresco/tutorial-developpement-alfresco-modelisation-contenu-et-utilisation-jasper-report/
- 14 -
Tutorial dveloppement Alfresco: modlisation de contenu et utilisation de jasper report par Landry KOUAM (Centre de Service Alfresco/jBPM, Koossery Technology) Bak Jc. BAKENEGHE (Software Coordinator, Koossery Technology)
La compilation est effectue avec l'outil Ant. Nous devons personnaliser le fichier build.xml en remplacer le chemin du WAR Alfresco par le notre.
Figure 16 : Personnalisation du fichier Ant Nous devons tlcharger les librairies itext-1.3.1.jar et jasperreports-1.3.3.jar et les placer dans WEB-INF/lib. Le Target ANT choisir est le Target "integrate-extension".
http://koossery-tech.developpez.com/tutoriels/java/ecm/alfresco/tutorial-developpement-alfresco-modelisation-contenu-et-utilisation-jasper-report/
- 15 -
Tutorial dveloppement Alfresco: modlisation de contenu et utilisation de jasper report par Landry KOUAM (Centre de Service Alfresco/jBPM, Koossery Technology) Bak Jc. BAKENEGHE (Software Coordinator, Koossery Technology)
Allons dans notre page d'accueil (panneau de gauche de la page d'accueil) et plaons-vous dans le dossier ddi au stockage du contenu des produits pour crer un nouveau produit. Puis allons dans le groupe de menu 'Crer' et cliquons 'Nouveau Produit'
Figure 20 : Menu crer nouveau produit La page de cration des produits apparat :
http://koossery-tech.developpez.com/tutoriels/java/ecm/alfresco/tutorial-developpement-alfresco-modelisation-contenu-et-utilisation-jasper-report/
- 16 -
Tutorial dveloppement Alfresco: modlisation de contenu et utilisation de jasper report par Landry KOUAM (Centre de Service Alfresco/jBPM, Koossery Technology) Bak Jc. BAKENEGHE (Software Coordinator, Koossery Technology)
Figure 21 : Formulaire du Dialog de saisie des informations du produit Aprs avoir saisi les informations sur un produit, appuyez sur le bouton 'OK' pour l'enregistrement. Les informations vont tre traites par Jasper report et un document PDF va tre gnr et stock dans le dossier consacr aux fiches produits. La figure ci-dessous montre les fiches de produits cres dans le dossier "Produits".
http://koossery-tech.developpez.com/tutoriels/java/ecm/alfresco/tutorial-developpement-alfresco-modelisation-contenu-et-utilisation-jasper-report/
- 17 -
Tutorial dveloppement Alfresco: modlisation de contenu et utilisation de jasper report par Landry KOUAM (Centre de Service Alfresco/jBPM, Koossery Technology) Bak Jc. BAKENEGHE (Software Coordinator, Koossery Technology)
Figure 22: Fiches produits archives Vous pouvez consulter les documents en ligne en cliquant directement dessus. La figure ci-dessous montre un document PDF d'un produit:
http://koossery-tech.developpez.com/tutoriels/java/ecm/alfresco/tutorial-developpement-alfresco-modelisation-contenu-et-utilisation-jasper-report/
- 18 -
Tutorial dveloppement Alfresco: modlisation de contenu et utilisation de jasper report par Landry KOUAM (Centre de Service Alfresco/jBPM, Koossery Technology) Bak Jc. BAKENEGHE (Software Coordinator, Koossery Technology)
Pour modifier une fiche de produit, il suffit de cliquer sur l'icne de modification de la fiche du menu contextuel du noeud reprsentant le document. Pour enregistrer vos modifications cliquez sur le bouton OK du Dialog de modification. Du fait que nous avons pris le soin de greffer l'aspect 'versionnable' sur le type de contenu 'product:product', le systme de GED Alfresco va crer une nouvelle version du document.
Nous pouvons remarquer que nous avons spcifi travers l'lment "content-types" le type de l'entit des produits. Ceci permet de spcifier la plateforme que la recherche doit tre faite sur les documents de ce type. Dans la configuration du composant search, nous avons spcifi que la recherche d'une fiche produit peut se faire sur : le titre, la description, le prix, le stock et la rfrence. En plus de ces critres, Alfresco permet aussi par dfaut de rechercher un contenu en se basant sur l'auteur, la date de modification, le type de dossier, le type de contenu et le format de contenu. La figure ci-dessous montre un exemple de recherche d'une fiche produit contenant le mot "fleur".
http://koossery-tech.developpez.com/tutoriels/java/ecm/alfresco/tutorial-developpement-alfresco-modelisation-contenu-et-utilisation-jasper-report/
- 19 -
Tutorial dveloppement Alfresco: modlisation de contenu et utilisation de jasper report par Landry KOUAM (Centre de Service Alfresco/jBPM, Koossery Technology) Bak Jc. BAKENEGHE (Software Coordinator, Koossery Technology)
Figure 25: Recherche avance Nous saisissons le mot "fleur" dans la description et clic sur le bouton 'rechercher'. La figure ci-dessous affiche le rsultat :
http://koossery-tech.developpez.com/tutoriels/java/ecm/alfresco/tutorial-developpement-alfresco-modelisation-contenu-et-utilisation-jasper-report/
- 20 -
Tutorial dveloppement Alfresco: modlisation de contenu et utilisation de jasper report par Landry KOUAM (Centre de Service Alfresco/jBPM, Koossery Technology) Bak Jc. BAKENEGHE (Software Coordinator, Koossery Technology)
http://koossery-tech.developpez.com/tutoriels/java/ecm/alfresco/tutorial-developpement-alfresco-modelisation-contenu-et-utilisation-jasper-report/
- 21 -