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

Ireport 01.gif

Résultat

Si nous générons un fichier PDF, nous obtenons :

Ireport 02.gif

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

BIRTReport 01.gif

Résultat

Si nous générons un fichier PDF, nous obtenons :

BIRTReport02.gif

Liens

Eclipse BIRT Home : http://www.eclipse.org/birt/phoenix/