BlueXML Developer Studio, et plus particulièrement, le générateur Alfresco fournissent des fonctionnalités de reporting. A partir de la définition du modèle de données, nous générons des définitions de rapport directement utilisables. Nos rapports permettent de voir tous les attributs. Nous avons actuellement travaillé sur iReport et BIRT Report.
Contents |
Données
Nos rapports sont basés sur des fichiers XML obtenus grâce aux web scripts. Pour obtenir tous les contenus d'un type particulier, nous avons cette URL :
http://<SEVER>:<PORT>/alfresco/services/<TYPE_NAME>.xml
Par exemple, dans un modèle de CRM, nous avons cette URL :
http://localhost:8080/alfresco/service/com_bluexml_crm_Contact.xml
Nous obtenons ce contenu XML :
<records>
<type>com_bluexml_crm_Contact</type>
<qName>crm:com_bluexml_crm_Contact</qName>
<totalCount>27</totalCount>
<items>
<item>
<id>a1d18a8a-d5a0-11dc-90b7-2fc3009d9a0f</id>
<displayPath>/Alfresco/Espace invité</displayPath>
<icon16>/images/filetypes/_default.gif</icon16>
<nodeRef>workspace://SpacesStore/a1d18a8a-d5a0-11dc-90b7-2fc3009d9a0f</nodeRef>
<com_bluexml_crm_Contact_lastName>DUPONT</com_bluexml_crm_Contact_lastName>
<com_bluexml_crm_Contact_firstName>François</com_bluexml_crm_Contact_firstName>
<com_bluexml_crm_Contact_surname>df</com_bluexml_crm_Contact_surname>
<com_bluexml_crm_Contact_title>M.</com_bluexml_crm_Contact_title>
<com_bluexml_crm_Contact_language>français </com_bluexml_crm_Contact_language>
<com_bluexml_crm_CommunicationInformation_phone>00.01.02.03.04</com_bluexml_crm_CommunicationInformation_phone>
<com_bluexml_crm_CommunicationInformation_hotline></com_bluexml_crm_CommunicationInformation_hotline>
<com_bluexml_crm_CommunicationInformation_fax></com_bluexml_crm_CommunicationInformation_fax>
<com_bluexml_crm_CommunicationInformation_mobile></com_bluexml_crm_CommunicationInformation_mobile>
<com_bluexml_crm_CommunicationInformation_email></com_bluexml_crm_CommunicationInformation_email>
<com_bluexml_crm_Project_linkedTo></com_bluexml_crm_Project_linkedTo>
<com_bluexml_crm_BroadcastList_includesContact></com_bluexml_crm_BroadcastList_includesContact>
<com_bluexml_crm_Event_organizedBy></com_bluexml_crm_Event_organizedBy>
...
</item>
...
</items>
</records>
iReport
Présentation
iReport est un outil de conception WYSIWYG (What You See Is What You Get) exclusivement réservé à la création de fichier de description pour JasperReports. Il permet donc de produire de manière assez intuitive des fichiers .jrxml (fichiers xml) exploitables par JasperReports pour générer des rapports au sein d'une application Java. Le format de rapport généré dépend ensuite de JasperReports et du code utilisé (html, pdf, csv...). C'est une application Java pure qui nécessite l'installation d'une JVM pour s'exécuter.
Définition
Données
Si nous regardons la définition iReport, nous pouvons voir que nous sélectionnons tous les items :
<queryString language="xPath"><![CDATA[1]]></queryString>
Ensuite, nous définissons tous les attributs :
<field name="com_bluexml_crm_Contact_lastName" class="java.lang.String"> <fieldDescription><![CDATA[com_bluexml_crm_Contact_lastName]]></fieldDescription> </field> <field name="com_bluexml_crm_Contact_firstName" class="java.lang.String"> <fieldDescription><![CDATA[com_bluexml_crm_Contact_firstName]]></fieldDescription> </field> <field name="com_bluexml_crm_Contact_surname" class="java.lang.String"> <fieldDescription><![CDATA[com_bluexml_crm_Contact_surname]]></fieldDescription> </field> <field name="com_bluexml_crm_Contact_title" class="java.lang.String"> <fieldDescription><![CDATA[com_bluexml_crm_Contact_title]]></fieldDescription> </field> <field name="com_bluexml_crm_Contact_language" class="java.lang.String"> <fieldDescription><![CDATA[com_bluexml_crm_Contact_language]]></fieldDescription> </field> <field name="com_bluexml_crm_CommunicationInformation_phone" class="java.lang.String"> <fieldDescription><![CDATA[com_bluexml_crm_CommunicationInformation_phone]]></fieldDescription> </field> <field name="com_bluexml_crm_CommunicationInformation_hotline" class="java.lang.String"> <fieldDescription><![CDATA[com_bluexml_crm_CommunicationInformation_hotline]]></fieldDescription> </field> <field name="com_bluexml_crm_CommunicationInformation_fax" class="java.lang.String"> <fieldDescription><![CDATA[com_bluexml_crm_CommunicationInformation_fax]]></fieldDescription> </field> <field name="com_bluexml_crm_CommunicationInformation_mobile" class="java.lang.String"> <fieldDescription><![CDATA[com_bluexml_crm_CommunicationInformation_mobile]]></fieldDescription> </field> <field name="com_bluexml_crm_CommunicationInformation_email" class="java.lang.String"> <fieldDescription><![CDATA[com_bluexml_crm_CommunicationInformation_email]]></fieldDescription> </field>
Vue
Résultat
Si nous générons un fichier PDF, nous obtenons :
Liens
iReport Project Page : http://www.jasperforge.org/sf/projects/ireport
BIRT Report
Présentation
Le projet BIRT, Business Intelligence and Reporting Tools, propose un système de création de rapports pour les applications Web. Comme tous les projets développés dans le cadre de la fondation Eclipse, BIRT est open-source et libre d'utilisation. Initié par la société Actuate, ce projet est particulièrement actif et propose notamment de nombreux exemples. Les deux principaux composants de BIRT sont un outil de conception de rapports basé sur Eclipse et un moteur d'exécution installable dans un serveur d'applications J2EE.
Définition
Données
Nous définissons une source de données XML :
<oda-data-source extensionID="org.eclipse.datatools.enablement.oda.xml" name="Data Source" id="7"> <text-property name="displayName"></text-property> <property name="FILELIST">http://localhost:8080/alfresco/service/com_bluexml_crm_Contact.xml</property> </oda-data-source>
Ensuite, nous définissons tous les attributs :
<structure name="cachedMetaData"> <list-property name="resultSet"> <structure> <property name="position">1</property> <property name="name">Nom de famille</property> <property name="dataType">string</property> </structure> <structure> <property name="position">2</property> <property name="name">Prénom</property> <property name="dataType">string</property> </structure> ... </list-property> </structure>
Nous créons la requête :
<property name="queryText">table0#-TNAME-#table0#:#[/records/items/item]#:#
{Nom de famille;STRING;/com_bluexml_crm_Contact_lastName},
{Prénom;STRING;/com_bluexml_crm_Contact_firstName},
{Surnom;STRING;/com_bluexml_crm_Contact_surname},
{Salutation;STRING;/com_bluexml_crm_Contact_title},
{Langue;STRING;/com_bluexml_crm_Contact_language},
{Téléphone;STRING;/com_bluexml_crm_CommunicationInformation_phone},
{Assistance téléphonique;STRING;/com_bluexml_crm_CommunicationInformation_hotline},
{Fax;STRING;/com_bluexml_crm_CommunicationInformation_fax},
{Portable;STRING;/com_bluexml_crm_CommunicationInformation_mobile},
{E-Mail;STRING;/com_bluexml_crm_CommunicationInformation_email}
</property>
Vue
Résultat
Si nous générons un fichier PDF, nous obtenons :
Liens
Eclipse BIRT Home : http://www.eclipse.org/birt/phoenix/




