Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > BIRT
BIRT Forum d'entraide sur BIRT (Business Intelligence and Reporting Tools). Avant de poster --> FAQ BIRT,Tutoriels BIRT
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 08/01/2007, 09h42   #1
Membre confirmé
 
Inscription : septembre 2005
Messages : 508
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 508
Points : 237
Points : 237
Par défaut [Debutante] utilisation des *.rptdesign

bonjour,
je ne sais pas trop comment faire, on ma demandé de travailler sur les rapport via BIRT, dans un environnement deja établie (c'est à dire que le plugion BIRT avait déjà été installé... sous eclipse pour avoir l'interface 'ReportDesign'.)
donc j'ai créé quelques rapport *.rptdesign et je souhaiterais maintenant les utiliser via une application java, sous forme d'un simple bouton pouvoir éditer un rapport. mais seulement je ne sais pas vraiment comment faire ...
j'ai vu des exemples de code :
Code :
1
2
3
4
5
6
7
8
9
10
11
EngineConfig engineConfig = new EngineConfig();
		engineConfig.setEngineHome("Chemin A");
		ReportEngine engine = new ReportEngine(engineConfig);
		IReportRunnable design = null;
		try {
			design = engine
					.openReportDesign("Chemin B");
		} catch (EngineException e) {
			e.printStackTrace();
		}
		IRunAndRenderTask task = engine.createRunAndRenderTask(design);
le truc c'est que je ne connais pas le résultat de ce code ! est cette partie de code qui me permet d'ouvrir un rapport ? si oui quelles sont les chemins à préciser ? le B, j'ai compris que c'était celui du rapport, par contre le chemin A ? dans les exemples on voit souvent "C:/birt-runtime-2_0_1/Report Engine" sauf que moi je n'ai pas de répertoire :birt-runtime-2_0_1/Report Engine ? alors est ce que lors de l'installation du plugin il fallait le créer et donc il est préférable que je réinstalle le plugin ou est ce normal ?
pour l'instant mes plugin pour birt sont dans le repertoire des plugin d'eclipse !
merci de votre aide !
lilou77 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/01/2007, 09h53   #2
BiM
Modératrice
 
Avatar de BiM
 
Femme
Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
Inscription : janvier 2005
Messages : 7 299
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 26
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

Informations forums :
Inscription : janvier 2005
Messages : 7 299
Points : 8 650
Points : 8 650
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
/* Partie initialisation */
EngineConfig engineConfig = new EngineConfig();
engineConfig.setEngineHome("Chemin A");
ReportEngine engine = new ReportEngine(engineConfig);
IReportRunnable design = null;
RenderOptionBase option = new RenderOptionBase();
option.setOutputFormat(RenderOptionBase.OUTPUT_FORMAT_PDF);	//Format du fichier de sortie
/* Fin initialisation */
 
/* Préparation de l'édition */
try {
	design = engine.openReportDesign("Chemin B");
} catch (EngineException e) {
	e.printStackTrace();
}
IRunAndRenderTask task = engine.createRunAndRenderTask(design);
/* Fin de la préparation */
 
/* Création PDF */
option.setOutputFileName("Chemin C");	//Nom du fichier de sortie
task.setRenderOption(option);		//Chargement du fichier
/* Fin création PDF */
task.run();					//Déclenchement de l'édition
Chemin A = C:/birt-runtime-2_0_1/Report Engine. Dans mon cas, j'ai copier/coller le répertoire Report Engine dans mon répertoire lib où je rassemble toutes mes librairies. Donc tu mets le chemin correspondant à ce répertoire (pas de chemin relatif).

Chemin B = Nom de ton édition (.rptdesign), toujours pas de chemin relatif.

Chemin C = Nom de ton fichier de sortie (.pdf)
__________________
__~{@ BiM - Modératrice "Business Intelligence" @}~
Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
___________.~{@ Lapine crétine @}~
BiM est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/01/2007, 10h05   #3
Membre confirmé
 
Inscription : septembre 2005
Messages : 508
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 508
Points : 237
Points : 237
En fait la personne qui avait crée mon espace de travail n'avait pas installé le ReportEngine API, du coup je n'avais pas tous ce qu'il fallait, j'ai réinstallé, et rajouté dans mon classPath les *.jar issue du répertoire 'C:\birt-runtime\ReportEngine\lib' et depuis ca marche presque...
en fait ce que j'aimerais maintenant c'est gérer le viewer pour pouvoir utiliser mes rapport comme le ferais l'utilisateur.
J'ai trouvé des exemples de code pour intégrer le viewer mais l'Application implémente IPlatformRunnable et je me demande si cette application pourra être exécuté à partir d'une interface SWT ???... car pour l'instant je le lance via eclipse en faisant Run As / Eclipse Application.
Donc sans eclispe d'ouvert cela fonctionnera-t-il encore.
Car j'ai vu que le plus simple était d'utiliser des servlet... mais comme je n'utilise pas de serveur...
lilou77 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/01/2007, 10h15   #4
BiM
Modératrice
 
Avatar de BiM
 
Femme
Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
Inscription : janvier 2005
Messages : 7 299
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 26
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

Informations forums :
Inscription : janvier 2005
Messages : 7 299
Points : 8 650
Points : 8 650
Le problème de l'intégration d'un tel outil dans un client lourd, c'est que ca va largement l'alourdir...

Perso, je n'ai jamais utilisé le BIRT Viewer mais si tu cherches un peu sur le forum il y a déjà eu des discussions à ce sujet.

Ensuite, on peut utiliser le ReportEngine en client lourd mais c'est déconseillé. Et je ne sais pas si on peut utiliser le BIRT Viewer dans ce cas.
__________________
__~{@ BiM - Modératrice "Business Intelligence" @}~
Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
___________.~{@ Lapine crétine @}~
BiM est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/01/2007, 10h23   #5
Membre confirmé
 
Inscription : septembre 2005
Messages : 508
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 508
Points : 237
Points : 237
en fait je n'ai peut être pas bien compris à quoi sert ReportEngine et le Viewer...
Moi ce que je veux, c'est à partir d'une application SWT je puisse charger des rapports *.rptdesign, que l'utilisateur entre ses parametres et qu'il puisse voir le résultat sous forme de tableau comme eclispe le permet via l'interface Designer je crois....
Maintenant j'ai cru comprendre qu'il fallait utiliser le Viewer... mais dans ce cas je ne comprends pas vraiment l'utilité du ReportEngine, si c'est juste pour générer des rapports et ne pas pouvoir les utiliser... quoi que je crois qu'on peut les sauvegarder en pdf....
J'ai bien compris ?
Merci encore de toutes les reponse que vous m'apportez...
lilou77 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/01/2007, 10h34   #6
BiM
Modératrice
 
Avatar de BiM
 
Femme
Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
Inscription : janvier 2005
Messages : 7 299
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 26
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

Informations forums :
Inscription : janvier 2005
Messages : 7 299
Points : 8 650
Points : 8 650
Ben disons que si tu ne génères pas les rapport, dans ce cas, ca ne sers plus a rien d'utiliser BIRT....

BIRT permet d'extraire des données d'une base de données ou d'objets Java et de les mettre en forme dans le but de les présenter synthétiquement et généralement sous forme PDF ou HTML.

Le ReportEngine prend un *.rptdesign en entrée et d'éventuels paramètres et en ressort un fichier PDF ou HTML selon le format choisi au départ. Ce fichier peut être visualisé directement ou enregistré.

Le BIRT Viewer est une servlet qui permet de visualiser le rapport généré, elle présente une barre d'outils entre autre.

Le prévisualisation que tu vois sous BIRT directement n'est pas du tout liée à l'un ou l'autre des choses précédentes, elle permet juste de prévisualiser ce que tu as fait sans avoir à déployer compiler lancer et remplir les paramètres via ton application, c'est exclusivement révservé au développement.

Personnellement, quand j'ai fini de générer le rapport, je l'affiche dans ma page internet en cours (c'est un PDF) via Acrobat Reader.
__________________
__~{@ BiM - Modératrice "Business Intelligence" @}~
Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
___________.~{@ Lapine crétine @}~
BiM est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/01/2007, 10h45   #7
Membre confirmé
 
Inscription : septembre 2005
Messages : 508
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 508
Points : 237
Points : 237
Merci pour l'explication, c'est plus clair maintenant,

donc tu ouvre ton rapport directement en format pdf. Maintenant cela veut dire que si ton rapport nécéssite des paramètres c'est toi qui les rentre via le code java ...
D'accord.... car moi ce qu'on m'a demandé bah c'est de visualiser les rapport avec la barre d'outil, d'avoir une IHM permettant de rentrer les parametres et de pouvoir sauvegarder en pdf ou HTML suivant ce que veut l'utilisateur (donc la barre d'outil)... cela s'apparente fortement à ce que fait le viewer... donc je vais chercher de ce coté là... merci encore pour votre aide.
lilou77 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/01/2007, 10h54   #8
BiM
Modératrice
 
Avatar de BiM
 
Femme
Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
Inscription : janvier 2005
Messages : 7 299
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 26
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

Informations forums :
Inscription : janvier 2005
Messages : 7 299
Points : 8 650
Points : 8 650
Je demande d'abord les paramètres à l'utilisateur via une interface et les donne au rapport via du code Java.
__________________
__~{@ BiM - Modératrice "Business Intelligence" @}~
Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
___________.~{@ Lapine crétine @}~
BiM est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/01/2007, 09h10   #9
Membre confirmé
 
Inscription : septembre 2005
Messages : 508
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 508
Points : 237
Points : 237
Bonjour Bim,
je suis toujours sur le meme probleme, lol. (en même temps je réalise mes rapports parralelement *.rptdesign).
En fait j'ai une application qui tourne en SWING, je voulais implémenter directement le WebViewer mais apparement ce n'est pas si simple que ça... en tout cas cela ne marche pas comme je veux.
Donc je me suis dit que j'allais peut etre passé par le ReportEngine, réaliser/générer mes rapports et ensuite les ouvrir avec AbodeReader ?
Pourrais tu me passer un exemple de code qui permettrait d'implementer cela facilement...
merci d'avance
lilou77 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/01/2007, 11h02   #10
BiM
Modératrice
 
Avatar de BiM
 
Femme
Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
Inscription : janvier 2005
Messages : 7 299
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 26
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

Informations forums :
Inscription : janvier 2005
Messages : 7 299
Points : 8 650
Points : 8 650
Citation:
Envoyé par lilou77
Bonjour Bim,
je suis toujours sur le meme probleme, lol. (en même temps je réalise mes rapports parralelement *.rptdesign).
En fait j'ai une application qui tourne en SWING, je voulais implémenter directement le WebViewer mais apparement ce n'est pas si simple que ça... en tout cas cela ne marche pas comme je veux.
Donc je me suis dit que j'allais peut etre passé par le ReportEngine, réaliser/générer mes rapports et ensuite les ouvrir avec AbodeReader ?
Pourrais tu me passer un exemple de code qui permettrait d'implementer cela facilement...
merci d'avance
En même temps si je te dis que tu es obligée de passer par le ReportEngine, c'est que sans lui, tu n'obtiendras rien, c'est lui qui te permet de générer ton .pdf. Ensuite, il faut que tu regardes comment intégrer une application dans du JAVA (je l'avais fait dans un projet d'école il y a quelques années en Swing) ou alors comment intégrer un WebViewer dans ton application (Ca je suis certaine que c'est possible mais malheureusement dans ton cas, je pense qu'il faut que Tomcat tourne derrière, ca va trop loin pour une simple application).

Bon courage !
__________________
__~{@ BiM - Modératrice "Business Intelligence" @}~
Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
___________.~{@ Lapine crétine @}~
BiM est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/01/2007, 14h35   #11
Membre confirmé
 
Inscription : septembre 2005
Messages : 508
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 508
Points : 237
Points : 237
C'est clair qu'il faut du courage, surtout que j'ai toujours des erreurs lol.

Bon pour etre simple j'ai téléchargé l'exemple org.eclipse.birt.examples.rcpengine, qui montre avec le rcpengine comment visualiser un rapport :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
 
	EngineConfig config = new EngineConfig();
	config.setEngineHome("C:/birt_runtime/birt-runtime-2_1_0/ReportEngine");
	try {
		Platform.startup(config);
	} catch (BirtException e1) {		} 
	config.setLogConfig("C:/birt_runtime/birt-runtime-2_1_0/ReportEngine",Level.SEVERE );
	IReportEngineFactory factory = (IReportEngineFactory) Platform
	.createFactoryObject( IReportEngineFactory.EXTENSION_REPORT_ENGINE_FACTORY );
	IReportEngine engine = factory.createReportEngine( config );
	IReportRunnable design = null;
	try {
		FileInputStream fs = new FileInputStream(reportPath);
		design = engine.openReportDesign(fs);
		IRunAndRenderTask task = engine.createRunAndRenderTask(design);
		HTMLRenderContext renderContext = new HTMLRenderContext();
		renderContext.setImageDirectory("D:/Travail/ReportTest/properties");	
		HashMap<String, HTMLRenderContext> contextMap = new HashMap<String, HTMLRenderContext>();
		contextMap.put( EngineConstants.APPCONTEXT_HTML_RENDER_CONTEXT, renderContext );			
		task.setAppContext(contextMap);
 
		IRenderOption options = new HTMLRenderOption( );
		ByteArrayOutputStream bos = new ByteArrayOutputStream();
		options.setOutputStream(bos);
		options.setOutputFormat("html");
		task.setRenderOption(options);
		task.run();
		task.close();
// AFFICHAGE DANS mes composant du résultat bos-ByteArrayOutputStream 
		ReportView reportView = new ReportView(bos,report.getLabel());
		reportView.setVisible(true);
 
// browser.setText(bos.toString()); // issu de l'exemple
 
		engine.destroy();
	} catch (Exception e) {//..}
Voila donc j'ai pris le code tel quel et j'ai juste mis mais chemins et mon code pour visualiser le résultat.

Donc si je teste cela dans mon appli en sélectionnant un rapport donné A, je n'ai aucun rendu, c'est à dire que le code HTML qui m'est retourné ne contient rien, même pas le titre du rapport.
PAr contre si je teste le meme rapport A mais à partir de l'exemple téléchargé (et dont j'ai copié le code dans mon appli), j'obtiens bien un résultat avec le titre les couleurs...
Je sais que je n'obtient pas le meme résultat car j'ai fait :
System.out.println(bos.toString());

je ne comprends pas pourquoi le meme rapport ne s'éxécute pas bien, je n'ai a priori pas d'erreur....
si quelqu'un peut m'expliquer pour que je corrige merci beaucoup
lilou77 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2007, 14h09   #12
Membre confirmé
 
Inscription : septembre 2005
Messages : 508
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 508
Points : 237
Points : 237
bon j'ai trouvé la réponse et j'ai oublié de la mettre :
il ma manquait la librairie Tidy.jar...
voila
lilou77 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h33.


 
 
 
 
Partenaires

Hébergement Web