|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 | |
![]() ![]() Inscription : juillet 2006 Messages : 2 662 ![]() |
Bonjour,
![]() Enfin la FAQ BIRT est arrivée N'hésitez pas à participer ![]() Pour cela, veuillez ajouter à ce topic vos suggestions de questions / réponses. Les remarques pertinentes seront ainsi ajoutées à la FAQ. Pour proposer une Q/R, merci de bien vouloir procéder comme ci-dessous : Citation:
[EDIT BiM 25/02/2011] A ajouter : 18 A mettre à jour : 2 [/EDIT]
__________________
la culture c'est comme la confiture moins on en a plus on l'étale. Vous souhaitez contribuer aux rubriques Solutions d'entreprises ou BI, contactez-moi Mes tutos |
|
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() ![]() Inscription : avril 2008 Messages : 1 053 ![]() |
Voici un lien vers la FAQ complète de BIRT rendue publique.
http://www.birt-exchange.com/modules...g_BIRT_Reports A votre dispo pour le partage des modules à traduire. Je pense que la création de rapports et des charts serait à privilègier dans un premier temps Egalement voici un lien vers la BIRT Report API http://www.birt-exchange.com/documen...w-summary.html RAJOUT : Confirmation officielle de M. Rich Guth , VP Actuate ( Java Reporting Group ) sur l'authorisation de traduire la FAQ de BIRT en français |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : octobre 2008 Messages : 1 ![]() |
Bonjour,
En utilisant la méthode de lazarel sous BIRT 2.3.0 cela ne fonctionne que si je mets le paramètre en dur. Pour que cela fonctionne il a fallu rajouter le fonction Array.join() à la suite de "params["type"].value" pour obtenir : Code :
params["type"].value.join().replace(/,/g,"','") OpenBizz |
|
|
00
|
|
|
#4 | |
|
Invité(e)
Messages : n/a ![]() |
Citation:
[Q]Comment mettre certaines valeurs d'un graphique en couleur selon des critères de valeur/ordre/arbitraire via du code Java avec Birt Engine ? [Q]Comment mettre en évidence certaines valeurs d'un graphique (Highlighting) lorsque'on les survol avec la souris (Toujours avec Birt Engine)? |
|
00
|
|
|
#5 |
![]() ![]() Inscription : juillet 2006 Messages : 2 662 ![]() |
Bonjour,
Enfin la FAQ BIRT est arrivée N'hésitez pas à participer
__________________
la culture c'est comme la confiture moins on en a plus on l'étale. Vous souhaitez contribuer aux rubriques Solutions d'entreprises ou BI, contactez-moi Mes tutos |
|
|
00
|
|
|
#6 |
|
Futur Membre du Club
![]() Inscription : juin 2009 Messages : 25 ![]() |
Ca c'est une très bonne nouvelle pour le jeune stagiaire, qui travail avec BIRT, que je suis.
Birt est un framework très complet, disposant d'énormement de possibilités mais il manque cruellement d'une bonne documentation. Longue vie à cette FAQ! |
|
|
00
|
|
|
#7 |
![]() ![]() Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT Inscription : janvier 2005 Messages : 7 299 ![]() |
Comment rediriger et/ou changer le niveau de log de BIRT ?
En appel Java, il est possible de configurer le niveau de log comme ceci : Code Java :
engine.changeLogLevel(Level.ERROR); On peut également le modifier au niveau de la configuration : Code Java :
config.setLogConfig(IEngineConfig.LOG_DESTINATION, Level.ERROR); Sur chacun de ces deux objets, il est possible d'attribuer un autre logger (pour avoir les logs dans un fichier commun à l'application par exemple). En batch, ce n'est à priori pas possible. Et via l'utilisation des taglib, on peut le faire via le web.xml : http://www.eclipse.org/birt/phoenix/...erUsage2.2.php |
|
|
00
|
|
|
#8 | ||||
![]() ![]() Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT Inscription : janvier 2005 Messages : 7 299 ![]() |
Quelle est la différence entre le Design Engine API (DEAPI) et le Report Engine API (REAPI) ?
Il faut distinguer le DesignEngine du ReportEngine. Un DesignEngine sert à dessiner un rapport alors que le ReportEngine sert à générer le rapport. Pour quelques éléments simples il est possible de modifier ou créer des petites choses dans un rapport directement à partir du ReportEngine. Voici un exemple d'instanciation pour chaque moteur :
|
||||
|
|
00
|
|
|
#9 | ||||
![]() ![]() Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT Inscription : janvier 2005 Messages : 7 299 ![]() |
Comment détecter si un rapport contient des données ?
Pour cela, il faut bien séparer les étapes Run & Render. De plus, cette opération peut uniquement être effectuée via du code Java. Ce qui veut dire que cela implique l'utilisation de l'API BIRT. L'opération doit être faite entre la tâche Run et la tâche Render à partir du Report Document (*.rptdocument) récupéré après avoir effectué la tâche Run. Voici comment détecter si un rapport contient des données. A partir de là, on peut prévenir l'utilisateur que le rapport n'a pas de données et empêcher le rendu : Code Java :
Il est également possible de faire la même chose en listant les noms des DataSet puis en ignorant ceux suffixés par "_ignored" par exemple : Code Java :
Pour récupérer le nom du DataSet :
Merci à gronono pour son aide |
||||
|
|
00
|
|
|
#10 | ||||
![]() ![]() Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT Inscription : janvier 2005 Messages : 7 299 ![]() |
Comment créer et utiliser un Handler en Java pour remplacer les scripts ?
Dans BIRT, les utilisateurs avancés utilisent souvent des scripts qui permettent de faire des opérations particulières sur le rapport. Il n'est pas facile de maintenir un rapport BIRT quand les scripts sont directement écrits dans celui-ci. D'autre part, cela empêche la réutilisation de code (à moins de passer par des fonctions définies dans une librairie commune) et donc augmente les risques d'erreurs. Enfin, le déboguage est beaucoup moins évident lorsqu'on a des scripts. BIRT propose cependant une solution : Externaliser ses scripts dans des Handler Java. Cela demande plusieurs pré-requis :
Nous allons prendre pour exemple un cas classique de scripts pour un ScriptedDataSet. Ces DataSets permettent notamment de traiter des objets Java pour les insérer dans un DataSet qui sera utilisé dans le rapport. Il y a deux principales étapes :
Vu qu'on récupère un paramètre contenant la liste des personnes, il faut aussi passer ce paramètre au rapport au moment de l'appel à la tâche d'exécution (run). Dans mon rapport, j'ai simplement un ScriptedDataSet nommé Personnes qui contient cinq colonnes (Id, Nom, Prénom, Sexe, Age) et j'ai glisser/déposer ce tableau dans mon rapport. |
||||
|
|
00
|
|
|
#11 |
|
Membre confirmé
![]() Nicolas Vives Inscription : avril 2010 Messages : 178 ![]() |
Quelles sont les sources de documentation disponibles pour BIRT ?
---- Note : Je propose cette question, en gros, pour m'obliger à arrêter les recherches Google dès que j'ai besoin d'une information. Il n'y a pas des masses de sources différentes pour BIRT, surtout si on réduit sa recherche aux sources francophones, alors autant les lister exhaustivement (en filtrant celles que l'on considère sans intérêt, bien sûr). Cette réponse n'est qu'une ébauche, qui ne traite que des ressources web, et les commentaires sont très discutables. ---- Plusieurs sites internet sont des sources d'information pour les utilisateurs de BIRT. Il y a plusieurs types d'information différents : - Tutoriels généraux ou spécifiques - Documents de références techniques - Discussion générale (forums) - Traçage de bugs La plupart des sites proposent plusieurs types d'information, et/ou des liens vers d'autres sites. Voici les plus importants : Sources francophones :
Sources anglophones :
|
|
|
00
|
|
|
#12 |
![]() ![]() Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT Inscription : janvier 2005 Messages : 7 299 ![]() |
Quels sont les différents types de fichiers existants dans BIRT ?
Modèle (*.rpttemplate) Permet de créer un nouveau rapport à partir d’un modèle. Ainsi, à la création d’un rapport, on peut faire apparaître les modèles utilisés dans le Designer. Attention, si un modèle est modifié les rapports ne sont pas mis à jour en conséquence. Cependant, cela peut servir pour mettre en place le lien avec les librairies, les CSS et la page maître (entête, pied de page, fond de page, format, marges, etc.). Librairie (*.rptlibrary) Permet de mettre en place des objets pour les réutiliser dans les rapports. Ces objets peuvent être des sources de données, des jeux de données, des cubes, des paramètres, des tableaux, des libellés, des tableaux, des grilles, des images, des pages maîtres, des scripts (JavaScript), des thèmes, etc. Une librairie peut-être utilisée dans un template. Rapport (*.rptdesign) C’est la représentation d’un rapport. C’est le fichier que l’on va appeler lors de la génération d’un document. On peut lui passer différents paramètres dont la langue et les informations de connexion. Document (*.rptdocument) Le document est le format intermédiaire de génération. C’est le format généré avec les données mais pas encore sous son format final : PDF, XLS, DOC, etc. Ce format permet une génération multiple dans différents formats. Processus Lors de la création d’un état, on utilise un rapport (*.rptdesign). Un rapport peut-être créé à partir d’un modèle (*.rpttemplate). Le rapport comme le modèle peuvent faire appel à une ou plusieurs librairies (*.rptlibrary), les librairies permettent de disposer d’éléments prédéfinis, en particulier les sources de données et jeux de données. Lors de la génération il y a deux étapes : run (exécution) et render (rendu). Lors de l’exécution on passe du rapport au document (*.rptdocument). Le document contient tous les éléments (tableaux, libellés, graphiques, etc.) avec les données mais n’est pas affichable tel quel par l’utilisateur avec quelconque logiciel que ce soit. Pour voir ce que donne un document, il faut passer à l’étape de rendu. Dans ce cas, on génère le document final dans le format de son choix (HTML, PDF, XLS, DOC, etc.). Le format document (dérivé du XML) permet d’avoir un format intermédiaire générant effectivement l’état mais sans définir le format final. Ainsi, cela permet de régénérer le document à sa guise et dans le format souhaité. En résumé : - Création : Modèle (*.rpttemplate) <==créé à partir de== Rapport (*.rptdesign) ou Modèle ==dépend de==> Librairie (*.rptlibrary) Un rapport est toujours créé à partir d’un modèle (au moins celui de base) est n’est pas toujours lié à des librairies. - Génération : Rapport (*.rptdesign) ==run==> Document (*.rptdocument) == render==> Fichier final (HTML, PDF, CLS, DOC, etc.) |
|
|
00
|
|
|
#13 | ||||
|
Membre à l'essai
![]() Jean-François ARNAUDInscription : novembre 2007 Messages : 76 ![]() |
Quand on construit un chart, l'interface graphique de BIRT permet de changer la couleur des points pour chaque élément au sein d'une même série.
La version 2.6 de BIRT permet même d'attribuer des "patterns" pour chaque point d'une série, cependant, à ce jour il n'est pas possible d'utiliser l'interface graphique du "BIRT Report Designer" pour changer la forme des marqueurs à chaque point d'une série. Aussi, pour parvenir à réaliser cela, on peut passer par les scripts de BIRT. Voici un exemple qui permet de changer la forme des marqueurs d'une série composée de 3 éléments. Dans la partie "initialize" du rapport, on déclare une variable globale pour mémoriser le numéro du point de graphe à afficher : Code javascript :
Dans la partie onRender du chart, fonction "beforeDrawMarker": avant de dessiner chaque marquer, on va regarder le numéro du point à dessiner, et lui attribuer un type de marqueur: Code javascript :
Voir http://www.eclipse.org/birt/phoenix/...kerscripts.png pour un autre exemple de modification dynamique des marqueurs d'un graphe sous BIRT. |
||||
|
|
00
|
|
|
#14 | ||
![]() ![]() David S.Etudiant en alternance Inscription : août 2010 Messages : 1 170 ![]() |
Comment rendre le viewer de BIRT en français ?
- dézipper viewservlets.jar (birt-viewer\WEB-INF\lib) - dans le dossier dé-zippé, ajouter dans le dossier org\eclipse\birt\report\resource le ficher Messages_fr.properties (fournie dans un fichier zip en pièce jointe) - rezipper le tout 'viewservlets.zip': attention à ne pas créer un niveau de plus dans l'arborescence du zip - renommer en viewservlets.jar (donc écraser l'ancien) - modifier la valeur BIRT_VIEWER_LOCALE dans le fichier birt-viewer\WEB-INF\web.xml de "en-US" à "fr-FR" Code :
Si le Viewer est intégré à eclipse et/ou au RCP: Même démarche avec le fichier org.eclipse.birt.report_[version].jar _______________________________________ Note: Synthèse d'une conversation. Solutions proposées par BIM, miaou et 46_Alex
__________________
![]() ![]() ![]() David55 |
||
|
|
00
|
|
|
#15 |
|
Invité de passage
![]() Inscription : octobre 2008 Messages : 1 ![]() |
Bonjour,
Un exemple pour afficher/masquer via un lien un élément dans la vue html d'un report BIRT |
|
|
00
|
|
|
#16 | ||||
![]() ![]() Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT Inscription : janvier 2005 Messages : 7 299 ![]() |
MAJ : Comment faire une classe générique de génération BIRT en Java ?
Dans une application J2EE ou RCP, il est possible de créer une classe qui acceptera n'importe quels :
Cette classe gère également la gestion des conflits grâce à ses méthodes synchronized et la division des étapes de génération et de rendu. Code Java :
Pour lancer l'édition. Il suffira de faire : Code Java :
Note 1 : Il n'est pas nécessaire de détruire le moteur après chaque instanciation, c'est même déconseillé dans le cas d'applications qui feront potentiellement plusieurs appels à BIRT. L'instanciation du moteur prend plusieurs secondes et est une opération relativement lourde, il faut donc éviter de réinstancier le moteur à chaque utilisation et plutôt reprendre le moteur déjà instancié à chaque fois, en ne le détruisant pas à chaque fin de génération. Note 2 : Pour les versions anciennes, il y a quelques changements à noter dans le constructeur, particulièrement l'utilisation de la classe org.eclipse.birt.report.engine.api.RenderOptionBase au lieu de classe RenderOption et la méthode setParametersValues(...) qui n'existe pas forcément à remplacer par une boucle et setParameterValue(...). |
||||
|
|
00
|
|
|
#17 |
|
Membre Expert
![]() ![]() Consultant informatique Inscription : mai 2007 Messages : 893 ![]() |
Comment appeler un paramètre dans un graphique ?
Dans les graphiques, nous n'avons pas directement accès aux paramètres du rapport, il est cependant possible de les récupérer grâce au contexte du rapport. Dans chaque méthode scriptable du Chart, on a le paramètre icsc de type IChartScriptContext, on peut alors récupérer le ReportContext qui a accès à toutes sortes d'éléments du rapport, notamment les paramètres : Code Java :
icsc.getExternalContext().getScriptable().getParameterValue("param"); |
|
|
00
|
|
|
#18 |
|
Membre Expert
![]() ![]() Consultant informatique Inscription : mai 2007 Messages : 893 ![]() |
Comment appeler une variable dans un graphique ?
Uniquement les variables persistantes sont accessibles depuis un Chart. Par exemple, j'en définis une dans l'initialisation du rapport avec le code suivant : Code java :
reportContext.setPersistentGlobalVariable("toto", "lol"); Code java :
icsc.getExternalContext().getScriptable().getPersistentGlobalVariable("toto");
|
|
|
00
|
|
|
#19 | ||
|
Membre Expert
![]() ![]() Consultant informatique Inscription : mai 2007 Messages : 893 ![]() |
Comment changer le titre d'un graphique ?
Mode dynamique Dans le rptdesign au niveau du script du graphique dans la méthode beforeGeneration. Code java :
|
||
|
|
00
|
|
|
#20 | ||
|
Membre Expert
![]() ![]() Consultant informatique Inscription : mai 2007 Messages : 893 ![]() |
Comment accéder aux abscisse/ordonnées d'un graphique ?
Mode dynamique Dans le rptdesign au niveau du script du graphique dans la méthode beforeGeneration. Code java :
|
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com