SlideShare une entreprise Scribd logo
1  sur  16
Télécharger pour lire hors ligne
1
Pentaho Ctools : tips & tricks
trucs et astuces pour le développement de vos dashboards
Pentaho
Présenté par Benoît Mouchard
2 2
Liste déroulante et « Tous »
● Besoin : filtrer ou non selon un élément id/libellé parmi une liste
provenant d'une table de référence
3 3
Liste déroulante et « Tous »
●
Requête du composant « select »Requête du composant « select »
Requête du tableau
4 4
Export Excel d'une query existante
● Ouvrir le fichier .cda correspondant au dashboard
● Sélectionner la query et remplir les paramètres , puis Query URL
●
5 5
Export Excel d'une query existante
On obtient l'url correspondant à la requête
http://mon_serveur/pentaho/plugin/cda/api/doQuery
?path=/chemin_solution/mon_cda.cda
&dataAccessId=tarteQuery
&paramparamFruit=-1
6 6
Export Excel d'une query existante
● Ajouter les paramètres suivants
&outputType=xls
&settingattachmentName=tartes.xls
➔ Url directement appelable depuis un lien
➔ Url appelable depuis l’extérieur avec une authentification par url 
7 7
Export des graphiques en images
● Les graphiques affichés dans les dashboards : format svg (dessin
vectoriel), un format standard mais nécessitant une conversion en
image pour être exploitable facilement
● Grâce au CGG (Community Graphics Generator), on peut générer
un script Javascript permettant la conversion
Shift + GShift + G
8 8
Export des graphiques en images
● Url générée
http://mon_serveur/pentaho/plugin/cgg/api/services/draw?script=
/chemin_solution/mon_gaph.js&outputType=png
● Ajouter les paramètres nécessaires au graphique
&paramparamFruit=-1
9 9
Export des graphiques en images
– Avantage:
● Facilité de mise en œuvre
● Url directement appelable depuis un lien
● Accès externe possible en authentification par url
– Limitation
● le script n'utilise pas le graphique affiché dans le dashboard en
svg, mais fait un nouveau rendu
→ les customisations codées ne sont pas reportées!
10 10
Export des graphiques en images
● Alternative : convertir le svg affiché à l'écran en image
– Avantage:
● Sauvegarde exacte du graphique affiché
– Inconvénient
● Développement spécifique nécessaire, avec utilisation de différentes
librairies Javascript
– Faire un rendu du svg dans un canvas Html ( librairie canvg
github.com/gabelerner/canvg )
– Convertir le canvas en Blob ( librairie canvas-toBlob.js
github.com/eboyjr )
– Sauvegarder le Blob en fichier ( FileSaver.js même auteur)
11 11
Exemple
https://drive.google.com/file/d/0BwocIDK0A2zXVXNtUllvcHNkTnM/view?usp=sharing
12 12
Filtres réutilisables
● Couramment nous avons plusieurs dashboards ayant des filtres
en commun. Les développer une seule fois et les réutiliser est un
gain de temps et gage de maintenabilité
● La solution Ctools : la création et utilisation de widget
13 13
Filtres réutilisables (widget)
● Créer un dashboard avec le
contenu nécessaire au filtre et
le sauvegarder en widget
● Syntaxe particulière au widget, toute référence à un paramètre, un
composant ou un élément HTML du widget doit-être de la forme :
${p:parameterName} , ${c:componentName}, ${h:htmlObject}
Le Principe
14 14
Filtres réutilisables (widget)
● Définir les paramètres accessible du widget
15 15
Filtres réutilisables (widget)
● Utiliser le widget dans le dashboard
Note : les widgets sont stockés dans /public/cde/widgets
16 16
Filtres réutilisables (widget)
● Communication dashboard ↔ widget
Dashboard
param1
param2
Dashboard
Widget
param1 = paramIn
param2 = paramOut
Listener sur paramIn
Listener sur param2

Contenu connexe

Similaire à Pentaho Ctools : tips & tricks

Drupal7 - Bonnes Pratiques (Partie 1)
Drupal7 - Bonnes Pratiques (Partie 1)Drupal7 - Bonnes Pratiques (Partie 1)
Drupal7 - Bonnes Pratiques (Partie 1)Alexandre Marie
 
Nouveautés de DataDrill EXPRESS 3.8 & 4.0
Nouveautés de DataDrill EXPRESS 3.8 & 4.0Nouveautés de DataDrill EXPRESS 3.8 & 4.0
Nouveautés de DataDrill EXPRESS 3.8 & 4.0Olivier Pinette
 
Play Framework
Play FrameworkPlay Framework
Play FrameworkArmaklan
 
Decouvrez Les Dernieres Innovations Tableau 2020
Decouvrez Les Dernieres Innovations Tableau 2020Decouvrez Les Dernieres Innovations Tableau 2020
Decouvrez Les Dernieres Innovations Tableau 2020Wiiisdom
 
Une gestion efficace du changement de vos structures de données relationnelle...
Une gestion efficace du changement de vos structures de données relationnelle...Une gestion efficace du changement de vos structures de données relationnelle...
Une gestion efficace du changement de vos structures de données relationnelle...Olivier DASINI
 
Introduction à CakePHP
Introduction à CakePHPIntroduction à CakePHP
Introduction à CakePHPPierre MARTIN
 
Un exemple élémentaire d'application MVC en PHP
Un exemple élémentaire d'application MVC en PHPUn exemple élémentaire d'application MVC en PHP
Un exemple élémentaire d'application MVC en PHPKristen Le Liboux
 
Analyse et optimisation des performances du moteur SQL Serveur
Analyse et optimisation des performances du moteur SQL ServeurAnalyse et optimisation des performances du moteur SQL Serveur
Analyse et optimisation des performances du moteur SQL ServeurMicrosoft Technet France
 
Big Data Viz (and much more!) with Apache Zeppelin
Big Data Viz (and much more!) with Apache ZeppelinBig Data Viz (and much more!) with Apache Zeppelin
Big Data Viz (and much more!) with Apache ZeppelinBruno Bonnin
 
Sybase Connect Atelier Power Builderv2
Sybase Connect Atelier Power Builderv2Sybase Connect Atelier Power Builderv2
Sybase Connect Atelier Power Builderv2apratt72
 
Dévelopement extensions WordPress
Dévelopement extensions WordPressDévelopement extensions WordPress
Dévelopement extensions WordPressIZZA Samir
 
Techdays 2011 : Développez en Java avec la plateforme Team Foundation Server ...
Techdays 2011 : Développez en Java avec la plateforme Team Foundation Server ...Techdays 2011 : Développez en Java avec la plateforme Team Foundation Server ...
Techdays 2011 : Développez en Java avec la plateforme Team Foundation Server ...vlabatut
 
Développement de plug in sous eclipse
Développement de plug in sous eclipseDéveloppement de plug in sous eclipse
Développement de plug in sous eclipseISIG
 
Une visite guidée d’Internet Explorer 9 et HTML5 pour les développeurs Web
Une visite guidée d’Internet Explorer 9 et HTML5 pour les développeurs WebUne visite guidée d’Internet Explorer 9 et HTML5 pour les développeurs Web
Une visite guidée d’Internet Explorer 9 et HTML5 pour les développeurs WebFrédéric Harper
 
Présentation de Django @ Orange Labs (FR)
Présentation de Django @ Orange Labs (FR)Présentation de Django @ Orange Labs (FR)
Présentation de Django @ Orange Labs (FR)Martin Latrille
 

Similaire à Pentaho Ctools : tips & tricks (20)

Drupal7 - Bonnes Pratiques (Partie 1)
Drupal7 - Bonnes Pratiques (Partie 1)Drupal7 - Bonnes Pratiques (Partie 1)
Drupal7 - Bonnes Pratiques (Partie 1)
 
Nouveautés de DataDrill EXPRESS 3.8 & 4.0
Nouveautés de DataDrill EXPRESS 3.8 & 4.0Nouveautés de DataDrill EXPRESS 3.8 & 4.0
Nouveautés de DataDrill EXPRESS 3.8 & 4.0
 
Play Framework
Play FrameworkPlay Framework
Play Framework
 
Decouvrez Les Dernieres Innovations Tableau 2020
Decouvrez Les Dernieres Innovations Tableau 2020Decouvrez Les Dernieres Innovations Tableau 2020
Decouvrez Les Dernieres Innovations Tableau 2020
 
Une gestion efficace du changement de vos structures de données relationnelle...
Une gestion efficace du changement de vos structures de données relationnelle...Une gestion efficace du changement de vos structures de données relationnelle...
Une gestion efficace du changement de vos structures de données relationnelle...
 
Drupal 8
Drupal 8Drupal 8
Drupal 8
 
Introduction à CakePHP
Introduction à CakePHPIntroduction à CakePHP
Introduction à CakePHP
 
Introduction aspnet
Introduction aspnetIntroduction aspnet
Introduction aspnet
 
Présentation1
Présentation1Présentation1
Présentation1
 
Un exemple élémentaire d'application MVC en PHP
Un exemple élémentaire d'application MVC en PHPUn exemple élémentaire d'application MVC en PHP
Un exemple élémentaire d'application MVC en PHP
 
Analyse et optimisation des performances du moteur SQL Serveur
Analyse et optimisation des performances du moteur SQL ServeurAnalyse et optimisation des performances du moteur SQL Serveur
Analyse et optimisation des performances du moteur SQL Serveur
 
Big Data Viz (and much more!) with Apache Zeppelin
Big Data Viz (and much more!) with Apache ZeppelinBig Data Viz (and much more!) with Apache Zeppelin
Big Data Viz (and much more!) with Apache Zeppelin
 
Sybase Connect Atelier Power Builderv2
Sybase Connect Atelier Power Builderv2Sybase Connect Atelier Power Builderv2
Sybase Connect Atelier Power Builderv2
 
Framework php « Codeignitor »
Framework php « Codeignitor » Framework php « Codeignitor »
Framework php « Codeignitor »
 
Dévelopement extensions WordPress
Dévelopement extensions WordPressDévelopement extensions WordPress
Dévelopement extensions WordPress
 
Techdays 2011 : Développez en Java avec la plateforme Team Foundation Server ...
Techdays 2011 : Développez en Java avec la plateforme Team Foundation Server ...Techdays 2011 : Développez en Java avec la plateforme Team Foundation Server ...
Techdays 2011 : Développez en Java avec la plateforme Team Foundation Server ...
 
Développement de plug in sous eclipse
Développement de plug in sous eclipseDéveloppement de plug in sous eclipse
Développement de plug in sous eclipse
 
Une visite guidée d’Internet Explorer 9 et HTML5 pour les développeurs Web
Une visite guidée d’Internet Explorer 9 et HTML5 pour les développeurs WebUne visite guidée d’Internet Explorer 9 et HTML5 pour les développeurs Web
Une visite guidée d’Internet Explorer 9 et HTML5 pour les développeurs Web
 
Introduction à Symfony
Introduction à SymfonyIntroduction à Symfony
Introduction à Symfony
 
Présentation de Django @ Orange Labs (FR)
Présentation de Django @ Orange Labs (FR)Présentation de Django @ Orange Labs (FR)
Présentation de Django @ Orange Labs (FR)
 

Pentaho Ctools : tips & tricks

  • 1. 1 Pentaho Ctools : tips & tricks trucs et astuces pour le développement de vos dashboards Pentaho Présenté par Benoît Mouchard
  • 2. 2 2 Liste déroulante et « Tous » ● Besoin : filtrer ou non selon un élément id/libellé parmi une liste provenant d'une table de référence
  • 3. 3 3 Liste déroulante et « Tous » ● Requête du composant « select »Requête du composant « select » Requête du tableau
  • 4. 4 4 Export Excel d'une query existante ● Ouvrir le fichier .cda correspondant au dashboard ● Sélectionner la query et remplir les paramètres , puis Query URL ●
  • 5. 5 5 Export Excel d'une query existante On obtient l'url correspondant à la requête http://mon_serveur/pentaho/plugin/cda/api/doQuery ?path=/chemin_solution/mon_cda.cda &dataAccessId=tarteQuery &paramparamFruit=-1
  • 6. 6 6 Export Excel d'une query existante ● Ajouter les paramètres suivants &outputType=xls &settingattachmentName=tartes.xls ➔ Url directement appelable depuis un lien ➔ Url appelable depuis l’extérieur avec une authentification par url 
  • 7. 7 7 Export des graphiques en images ● Les graphiques affichés dans les dashboards : format svg (dessin vectoriel), un format standard mais nécessitant une conversion en image pour être exploitable facilement ● Grâce au CGG (Community Graphics Generator), on peut générer un script Javascript permettant la conversion Shift + GShift + G
  • 8. 8 8 Export des graphiques en images ● Url générée http://mon_serveur/pentaho/plugin/cgg/api/services/draw?script= /chemin_solution/mon_gaph.js&outputType=png ● Ajouter les paramètres nécessaires au graphique &paramparamFruit=-1
  • 9. 9 9 Export des graphiques en images – Avantage: ● Facilité de mise en œuvre ● Url directement appelable depuis un lien ● Accès externe possible en authentification par url – Limitation ● le script n'utilise pas le graphique affiché dans le dashboard en svg, mais fait un nouveau rendu → les customisations codées ne sont pas reportées!
  • 10. 10 10 Export des graphiques en images ● Alternative : convertir le svg affiché à l'écran en image – Avantage: ● Sauvegarde exacte du graphique affiché – Inconvénient ● Développement spécifique nécessaire, avec utilisation de différentes librairies Javascript – Faire un rendu du svg dans un canvas Html ( librairie canvg github.com/gabelerner/canvg ) – Convertir le canvas en Blob ( librairie canvas-toBlob.js github.com/eboyjr ) – Sauvegarder le Blob en fichier ( FileSaver.js même auteur)
  • 12. 12 12 Filtres réutilisables ● Couramment nous avons plusieurs dashboards ayant des filtres en commun. Les développer une seule fois et les réutiliser est un gain de temps et gage de maintenabilité ● La solution Ctools : la création et utilisation de widget
  • 13. 13 13 Filtres réutilisables (widget) ● Créer un dashboard avec le contenu nécessaire au filtre et le sauvegarder en widget ● Syntaxe particulière au widget, toute référence à un paramètre, un composant ou un élément HTML du widget doit-être de la forme : ${p:parameterName} , ${c:componentName}, ${h:htmlObject} Le Principe
  • 14. 14 14 Filtres réutilisables (widget) ● Définir les paramètres accessible du widget
  • 15. 15 15 Filtres réutilisables (widget) ● Utiliser le widget dans le dashboard Note : les widgets sont stockés dans /public/cde/widgets
  • 16. 16 16 Filtres réutilisables (widget) ● Communication dashboard ↔ widget Dashboard param1 param2 Dashboard Widget param1 = paramIn param2 = paramOut Listener sur paramIn Listener sur param2