SlideShare a Scribd company logo
Adding Pentaho
Dashboards to Angular 5
applications
Let’s see it in action
Francesco Corti
#PUM18FrkCorti
fcorti.com
https://github.com/fcorti
1
#PUM182
Francesco Corti
• Alfresco Evangelist

• Author for Pack Publishing

• Pentaho User Group Italia founder

• Developer and blogger
#PUM183
I became father*
(for the first time)
three weeks ago
(*) If I did it, it is never
too late for everyone!
#PUM184
…but let’s start
from the
beginning
#PUM185
Last year I was
playing with
51
#PUM186
#PUM187
#PUM188
JS Frameworks are real
silver bullets for quick
web app development
#PUM189
How to develop
dashboards for
an Angular app?
#PUM1810
How to develop
dashboards for
an Angular app?
• Rapidly
• Low code
• Real BI app
#PUM1811
Lots of nice
solutions exist
Mainly libraries
They heavily
require
development
#PUM1812
Pentaho CTools
are so great in
terms of fast
development and
low code
#PUM1813
Pentaho Business
Analytics Platform
offers a real BI
solution
#PUM1814
Could be great to
use CTools
directly into an
Angular app
#PUM1815
Pentaho
Ctools give
the reliability
of a solid BI
tool and
framework
Francesco - 1971
16
How to make them work together?
17
+ =
+ =
1
2
#PUM18
18
Can it really work?
19
I needed an idea…
#PUM1820
<pentaho-dashboard>
npm package
#PUM1821
<pentaho-dashboard>
npm package
npm is:
1. The website
2. The registry
3. The Command
Line Interface
(CLI)
#PUM1822
<pentaho-dashboard>
npm package
npm is:
1. The website
2. The registry
3. The Command
Line Interface
(CLI)
An npm package
is a dependency
of an Angular
application
#PUM1823
#PUM1824
How
to
install?
Assuming
you have
your own
Angular app*
(*) And a Pentaho Business
Analytics Platform
#PUM1825
How
to
install?
1. Add the dependency
2. Setup the proxy
3. Include the JS script
4. Import the
PentahoDashboardModule
5. Install the package
#PUM1826
How
to
install?
1. Add the dependency
2. Setup the proxy
3. Include the JS script
4. Import the
PentahoDashboardModule
5. Install the package
#PUM1827
How
to
install?
1. Add the dependency
2. Setup the proxy
3. Include the JS script
4. Import the
PentahoDashboardModule
5. Install the package
#PUM1828
How
to
install?
1. Add the dependency
2. Setup the proxy
3. Include the JS script
4. Import the
PentahoDashboardModule
5. Install the package
Browser
Web appPentaho
CORS
#PUM1829
How
to
install?
1. Add the dependency
2. Setup the proxy
3. Include the JS script
4. Import the
PentahoDashboardModule
5. Install the package
Browser
Web appPentaho
#PUM1830
How
to
install?
1. Add the dependency
2. Setup the proxy
3. Include the JS script
4. Import the
PentahoDashboardModule
5. Install the package
#PUM1831
How
to
install?
1. Add the dependency
2. Setup the proxy
3. Include the JS script
4. Import the
PentahoDashboardModule
5. Install the package
#PUM1832
How
to
install?
1. Add the dependency
2. Setup the proxy
3. Include the JS script
4. Import the
PentahoDashboardModule
5. Install the package
#PUM1833
Well done
dad!
#PUM1834
How
to
use it?
Now that
the npm
package is
installed…
if (this.pentahoService.isLoggedIn()) {
this.pentahoService.logOut(null);
}
#PUM1835
The pentaho-dashboard package
PentahoDashboardService pentaho-dashboard component
• Login
• Logout
this.pentahoService.setUsername('admin');
this.pentahoService.setPassword('admin');
this.pentahoService.logIn(null); Typescript
Typescript
HTML
<pentaho-dashboard
id = 'dashboard1'
pentahoPath = '/public/sample1.wcdf'>
</pentaho-dashboard>
if (this.pentahoService.isLoggedIn()) {
this.pentahoService.logOut(null);
}
#PUM1836
The pentaho-dashboard package
PentahoDashboardService pentaho-dashboard component
• Login
• Logout
this.pentahoService.setUsername('admin');
this.pentahoService.setPassword('admin');
this.pentahoService.logIn(null);
<pentaho-dashboard
id = "dashboard1"
pentahoPath = "/public/sample1.wcdf"
[params] = "['param1']"
[masterHtmlElementIds] = "['htmlId']"
[setDefaults]="true">
</pentaho-dashboard>
Typescript
Typescript
HTML
if (this.pentahoService.isLoggedIn()) {
this.pentahoService.logOut(null);
}
#PUM1837
The pentaho-dashboard package
PentahoDashboardService pentaho-dashboard component
• Login
• Logout
this.pentahoService.setUsername('admin');
this.pentahoService.setPassword('admin');
this.pentahoService.logIn(null); Typescript
Typescript
HTML
<pentaho-dashboard
id = "dashboard1"
pentahoPath = "/public/sample1.wcdf"
[params] = "['param1']"
masterDashboardId = "dashboard2"
[masterDashboardParams] = "['param2']">
</pentaho-dashboard>
#PUM1838
Let’s see it
in action!
login
#PUM1839
Let’s see it
in action!
pentaho-dashboard
component
#PUM1840
Let’s see it
in action!
What about
controlling the
dashboard
parameters from the
Angular application?
#PUM1841
Let’s see it
in action!
Can we “link” two
dashboards in
the same page?
#PUM1842
Well done
dad!
#PUM1843
Tired?

(too much info?)
https://www.gitbook.com/book/fcorti/pentaho-dashboard-project/
#PUM1844
Tired?

(too much info?)
https://www.gitbook.com/book/fcorti/pentaho-dashboard-project/
#PUM1845
How
is it
licensed?
#PUM1846
How
is it
licensed?
I Open Source Free
#PUM1847
Ehi Pentaho…
Could you be
interested to keep
this project, make
it grow and
support it?
Adding Pentaho
Dashboards to Angular 5
applications
Thank you!
Francesco Corti
#PUM18FrkCorti
fcorti.com
https://github.com/fcorti
48

More Related Content

Similar to Adding pentaho dashboards to angular 5 applications

Introduction to Python - Code Heroku
Introduction to Python - Code HerokuIntroduction to Python - Code Heroku
Introduction to Python - Code Heroku
codeheroku
 
Programming Lecture 2nd - Flask and Heroku in Python -
Programming Lecture 2nd - Flask and Heroku in Python -Programming Lecture 2nd - Flask and Heroku in Python -
Programming Lecture 2nd - Flask and Heroku in Python -
Naoki Watanabe
 
Grpc and asp.net partie 2
Grpc and asp.net partie 2Grpc and asp.net partie 2
Grpc and asp.net partie 2
MSDEVMTL
 
Continuous Improvement in PHP projects - PBC10
Continuous Improvement in PHP projects - PBC10Continuous Improvement in PHP projects - PBC10
Continuous Improvement in PHP projects - PBC10Mayflower GmbH
 
Let's Make Pentesting Fun Again! Report writing in 5 minutes.
Let's Make Pentesting Fun Again! Report writing in 5 minutes.Let's Make Pentesting Fun Again! Report writing in 5 minutes.
Let's Make Pentesting Fun Again! Report writing in 5 minutes.
DefCamp
 
Scientist meets web dev: how Python became the language of data
Scientist meets web dev: how Python became the language of dataScientist meets web dev: how Python became the language of data
Scientist meets web dev: how Python became the language of data
Gael Varoquaux
 
Google Tag Manager - Introduction & Implementation
Google Tag Manager - Introduction & ImplementationGoogle Tag Manager - Introduction & Implementation
Google Tag Manager - Introduction & Implementation
Search Commander, Inc.
 
Fuel Good 2018: Upgrades Made Easy: The Canadian Museum of History
Fuel Good 2018: Upgrades Made Easy: The Canadian Museum of HistoryFuel Good 2018: Upgrades Made Easy: The Canadian Museum of History
Fuel Good 2018: Upgrades Made Easy: The Canadian Museum of History
Sparkrock
 
Easy contributable internationalization process with Sphinx @ PyCon APAC 2016
Easy contributable internationalization process with Sphinx @ PyCon APAC 2016Easy contributable internationalization process with Sphinx @ PyCon APAC 2016
Easy contributable internationalization process with Sphinx @ PyCon APAC 2016
Takayuki Shimizukawa
 
python training.docx
python training.docxpython training.docx
python training.docx
AkshitaYadav49
 
New Era of Plugin Development in WordPress
New Era of Plugin Development in WordPressNew Era of Plugin Development in WordPress
New Era of Plugin Development in WordPress
Liton Arefin
 
Welcome to the Cheese Shop: setuptools, virtualenv and PyPUG
Welcome to the Cheese Shop: setuptools, virtualenv and PyPUGWelcome to the Cheese Shop: setuptools, virtualenv and PyPUG
Welcome to the Cheese Shop: setuptools, virtualenv and PyPUG
dwvisser
 
Continuous delivery of embedded systems embedded meetup
Continuous delivery of embedded systems   embedded meetupContinuous delivery of embedded systems   embedded meetup
Continuous delivery of embedded systems embedded meetup
Mike Long
 
Pundit at DiXiT Convention 1: Technology, Software, Standards
Pundit at DiXiT Convention 1: Technology, Software, StandardsPundit at DiXiT Convention 1: Technology, Software, Standards
Pundit at DiXiT Convention 1: Technology, Software, Standards
Net7
 
Summer training report priyanka
Summer  training  report priyankaSummer  training  report priyanka
Summer training report priyanka
priyanka kumari
 
Deploy a php app on Google App Engine
Deploy a php app on Google App EngineDeploy a php app on Google App Engine
Deploy a php app on Google App Engine
Michele Orselli
 
Getting started with python
Getting started with pythonGetting started with python
Getting started with python
TechieHours
 
CodeIgniter4 PHPCon 2016
CodeIgniter4  PHPCon 2016CodeIgniter4  PHPCon 2016
CodeIgniter4 PHPCon 2016
Takako Miyagawa
 
O365Engage17 - Managing share point online end to-end with powershell
O365Engage17 - Managing share point online end to-end with powershellO365Engage17 - Managing share point online end to-end with powershell
O365Engage17 - Managing share point online end to-end with powershell
NCCOMMS
 
Easy contributable internationalization process with Sphinx @ pyconmy2015
Easy contributable internationalization process with Sphinx @ pyconmy2015Easy contributable internationalization process with Sphinx @ pyconmy2015
Easy contributable internationalization process with Sphinx @ pyconmy2015
Takayuki Shimizukawa
 

Similar to Adding pentaho dashboards to angular 5 applications (20)

Introduction to Python - Code Heroku
Introduction to Python - Code HerokuIntroduction to Python - Code Heroku
Introduction to Python - Code Heroku
 
Programming Lecture 2nd - Flask and Heroku in Python -
Programming Lecture 2nd - Flask and Heroku in Python -Programming Lecture 2nd - Flask and Heroku in Python -
Programming Lecture 2nd - Flask and Heroku in Python -
 
Grpc and asp.net partie 2
Grpc and asp.net partie 2Grpc and asp.net partie 2
Grpc and asp.net partie 2
 
Continuous Improvement in PHP projects - PBC10
Continuous Improvement in PHP projects - PBC10Continuous Improvement in PHP projects - PBC10
Continuous Improvement in PHP projects - PBC10
 
Let's Make Pentesting Fun Again! Report writing in 5 minutes.
Let's Make Pentesting Fun Again! Report writing in 5 minutes.Let's Make Pentesting Fun Again! Report writing in 5 minutes.
Let's Make Pentesting Fun Again! Report writing in 5 minutes.
 
Scientist meets web dev: how Python became the language of data
Scientist meets web dev: how Python became the language of dataScientist meets web dev: how Python became the language of data
Scientist meets web dev: how Python became the language of data
 
Google Tag Manager - Introduction & Implementation
Google Tag Manager - Introduction & ImplementationGoogle Tag Manager - Introduction & Implementation
Google Tag Manager - Introduction & Implementation
 
Fuel Good 2018: Upgrades Made Easy: The Canadian Museum of History
Fuel Good 2018: Upgrades Made Easy: The Canadian Museum of HistoryFuel Good 2018: Upgrades Made Easy: The Canadian Museum of History
Fuel Good 2018: Upgrades Made Easy: The Canadian Museum of History
 
Easy contributable internationalization process with Sphinx @ PyCon APAC 2016
Easy contributable internationalization process with Sphinx @ PyCon APAC 2016Easy contributable internationalization process with Sphinx @ PyCon APAC 2016
Easy contributable internationalization process with Sphinx @ PyCon APAC 2016
 
python training.docx
python training.docxpython training.docx
python training.docx
 
New Era of Plugin Development in WordPress
New Era of Plugin Development in WordPressNew Era of Plugin Development in WordPress
New Era of Plugin Development in WordPress
 
Welcome to the Cheese Shop: setuptools, virtualenv and PyPUG
Welcome to the Cheese Shop: setuptools, virtualenv and PyPUGWelcome to the Cheese Shop: setuptools, virtualenv and PyPUG
Welcome to the Cheese Shop: setuptools, virtualenv and PyPUG
 
Continuous delivery of embedded systems embedded meetup
Continuous delivery of embedded systems   embedded meetupContinuous delivery of embedded systems   embedded meetup
Continuous delivery of embedded systems embedded meetup
 
Pundit at DiXiT Convention 1: Technology, Software, Standards
Pundit at DiXiT Convention 1: Technology, Software, StandardsPundit at DiXiT Convention 1: Technology, Software, Standards
Pundit at DiXiT Convention 1: Technology, Software, Standards
 
Summer training report priyanka
Summer  training  report priyankaSummer  training  report priyanka
Summer training report priyanka
 
Deploy a php app on Google App Engine
Deploy a php app on Google App EngineDeploy a php app on Google App Engine
Deploy a php app on Google App Engine
 
Getting started with python
Getting started with pythonGetting started with python
Getting started with python
 
CodeIgniter4 PHPCon 2016
CodeIgniter4  PHPCon 2016CodeIgniter4  PHPCon 2016
CodeIgniter4 PHPCon 2016
 
O365Engage17 - Managing share point online end to-end with powershell
O365Engage17 - Managing share point online end to-end with powershellO365Engage17 - Managing share point online end to-end with powershell
O365Engage17 - Managing share point online end to-end with powershell
 
Easy contributable internationalization process with Sphinx @ pyconmy2015
Easy contributable internationalization process with Sphinx @ pyconmy2015Easy contributable internationalization process with Sphinx @ pyconmy2015
Easy contributable internationalization process with Sphinx @ pyconmy2015
 

Recently uploaded

0x01 - Newton's Third Law: Static vs. Dynamic Abusers
0x01 - Newton's Third Law:  Static vs. Dynamic Abusers0x01 - Newton's Third Law:  Static vs. Dynamic Abusers
0x01 - Newton's Third Law: Static vs. Dynamic Abusers
OWASP Beja
 
Supercharge your AI - SSP Industry Breakout Session 2024-v2_1.pdf
Supercharge your AI - SSP Industry Breakout Session 2024-v2_1.pdfSupercharge your AI - SSP Industry Breakout Session 2024-v2_1.pdf
Supercharge your AI - SSP Industry Breakout Session 2024-v2_1.pdf
Access Innovations, Inc.
 
Doctoral Symposium at the 17th IEEE International Conference on Software Test...
Doctoral Symposium at the 17th IEEE International Conference on Software Test...Doctoral Symposium at the 17th IEEE International Conference on Software Test...
Doctoral Symposium at the 17th IEEE International Conference on Software Test...
Sebastiano Panichella
 
International Workshop on Artificial Intelligence in Software Testing
International Workshop on Artificial Intelligence in Software TestingInternational Workshop on Artificial Intelligence in Software Testing
International Workshop on Artificial Intelligence in Software Testing
Sebastiano Panichella
 
Acorn Recovery: Restore IT infra within minutes
Acorn Recovery: Restore IT infra within minutesAcorn Recovery: Restore IT infra within minutes
Acorn Recovery: Restore IT infra within minutes
IP ServerOne
 
somanykidsbutsofewfathers-140705000023-phpapp02.pptx
somanykidsbutsofewfathers-140705000023-phpapp02.pptxsomanykidsbutsofewfathers-140705000023-phpapp02.pptx
somanykidsbutsofewfathers-140705000023-phpapp02.pptx
Howard Spence
 
Media as a Mind Controlling Strategy In Old and Modern Era
Media as a Mind Controlling Strategy In Old and Modern EraMedia as a Mind Controlling Strategy In Old and Modern Era
Media as a Mind Controlling Strategy In Old and Modern Era
faizulhassanfaiz1670
 
Obesity causes and management and associated medical conditions
Obesity causes and management and associated medical conditionsObesity causes and management and associated medical conditions
Obesity causes and management and associated medical conditions
Faculty of Medicine And Health Sciences
 
Sharpen existing tools or get a new toolbox? Contemporary cluster initiatives...
Sharpen existing tools or get a new toolbox? Contemporary cluster initiatives...Sharpen existing tools or get a new toolbox? Contemporary cluster initiatives...
Sharpen existing tools or get a new toolbox? Contemporary cluster initiatives...
Orkestra
 
Bonzo subscription_hjjjjjjjj5hhhhhhh_2024.pdf
Bonzo subscription_hjjjjjjjj5hhhhhhh_2024.pdfBonzo subscription_hjjjjjjjj5hhhhhhh_2024.pdf
Bonzo subscription_hjjjjjjjj5hhhhhhh_2024.pdf
khadija278284
 
Eureka, I found it! - Special Libraries Association 2021 Presentation
Eureka, I found it! - Special Libraries Association 2021 PresentationEureka, I found it! - Special Libraries Association 2021 Presentation
Eureka, I found it! - Special Libraries Association 2021 Presentation
Access Innovations, Inc.
 
Competition and Regulation in Professional Services – KLEINER – June 2024 OEC...
Competition and Regulation in Professional Services – KLEINER – June 2024 OEC...Competition and Regulation in Professional Services – KLEINER – June 2024 OEC...
Competition and Regulation in Professional Services – KLEINER – June 2024 OEC...
OECD Directorate for Financial and Enterprise Affairs
 
Getting started with Amazon Bedrock Studio and Control Tower
Getting started with Amazon Bedrock Studio and Control TowerGetting started with Amazon Bedrock Studio and Control Tower
Getting started with Amazon Bedrock Studio and Control Tower
Vladimir Samoylov
 
Announcement of 18th IEEE International Conference on Software Testing, Verif...
Announcement of 18th IEEE International Conference on Software Testing, Verif...Announcement of 18th IEEE International Conference on Software Testing, Verif...
Announcement of 18th IEEE International Conference on Software Testing, Verif...
Sebastiano Panichella
 
María Carolina Martínez - eCommerce Day Colombia 2024
María Carolina Martínez - eCommerce Day Colombia 2024María Carolina Martínez - eCommerce Day Colombia 2024
María Carolina Martínez - eCommerce Day Colombia 2024
eCommerce Institute
 
Bitcoin Lightning wallet and tic-tac-toe game XOXO
Bitcoin Lightning wallet and tic-tac-toe game XOXOBitcoin Lightning wallet and tic-tac-toe game XOXO
Bitcoin Lightning wallet and tic-tac-toe game XOXO
Matjaž Lipuš
 

Recently uploaded (16)

0x01 - Newton's Third Law: Static vs. Dynamic Abusers
0x01 - Newton's Third Law:  Static vs. Dynamic Abusers0x01 - Newton's Third Law:  Static vs. Dynamic Abusers
0x01 - Newton's Third Law: Static vs. Dynamic Abusers
 
Supercharge your AI - SSP Industry Breakout Session 2024-v2_1.pdf
Supercharge your AI - SSP Industry Breakout Session 2024-v2_1.pdfSupercharge your AI - SSP Industry Breakout Session 2024-v2_1.pdf
Supercharge your AI - SSP Industry Breakout Session 2024-v2_1.pdf
 
Doctoral Symposium at the 17th IEEE International Conference on Software Test...
Doctoral Symposium at the 17th IEEE International Conference on Software Test...Doctoral Symposium at the 17th IEEE International Conference on Software Test...
Doctoral Symposium at the 17th IEEE International Conference on Software Test...
 
International Workshop on Artificial Intelligence in Software Testing
International Workshop on Artificial Intelligence in Software TestingInternational Workshop on Artificial Intelligence in Software Testing
International Workshop on Artificial Intelligence in Software Testing
 
Acorn Recovery: Restore IT infra within minutes
Acorn Recovery: Restore IT infra within minutesAcorn Recovery: Restore IT infra within minutes
Acorn Recovery: Restore IT infra within minutes
 
somanykidsbutsofewfathers-140705000023-phpapp02.pptx
somanykidsbutsofewfathers-140705000023-phpapp02.pptxsomanykidsbutsofewfathers-140705000023-phpapp02.pptx
somanykidsbutsofewfathers-140705000023-phpapp02.pptx
 
Media as a Mind Controlling Strategy In Old and Modern Era
Media as a Mind Controlling Strategy In Old and Modern EraMedia as a Mind Controlling Strategy In Old and Modern Era
Media as a Mind Controlling Strategy In Old and Modern Era
 
Obesity causes and management and associated medical conditions
Obesity causes and management and associated medical conditionsObesity causes and management and associated medical conditions
Obesity causes and management and associated medical conditions
 
Sharpen existing tools or get a new toolbox? Contemporary cluster initiatives...
Sharpen existing tools or get a new toolbox? Contemporary cluster initiatives...Sharpen existing tools or get a new toolbox? Contemporary cluster initiatives...
Sharpen existing tools or get a new toolbox? Contemporary cluster initiatives...
 
Bonzo subscription_hjjjjjjjj5hhhhhhh_2024.pdf
Bonzo subscription_hjjjjjjjj5hhhhhhh_2024.pdfBonzo subscription_hjjjjjjjj5hhhhhhh_2024.pdf
Bonzo subscription_hjjjjjjjj5hhhhhhh_2024.pdf
 
Eureka, I found it! - Special Libraries Association 2021 Presentation
Eureka, I found it! - Special Libraries Association 2021 PresentationEureka, I found it! - Special Libraries Association 2021 Presentation
Eureka, I found it! - Special Libraries Association 2021 Presentation
 
Competition and Regulation in Professional Services – KLEINER – June 2024 OEC...
Competition and Regulation in Professional Services – KLEINER – June 2024 OEC...Competition and Regulation in Professional Services – KLEINER – June 2024 OEC...
Competition and Regulation in Professional Services – KLEINER – June 2024 OEC...
 
Getting started with Amazon Bedrock Studio and Control Tower
Getting started with Amazon Bedrock Studio and Control TowerGetting started with Amazon Bedrock Studio and Control Tower
Getting started with Amazon Bedrock Studio and Control Tower
 
Announcement of 18th IEEE International Conference on Software Testing, Verif...
Announcement of 18th IEEE International Conference on Software Testing, Verif...Announcement of 18th IEEE International Conference on Software Testing, Verif...
Announcement of 18th IEEE International Conference on Software Testing, Verif...
 
María Carolina Martínez - eCommerce Day Colombia 2024
María Carolina Martínez - eCommerce Day Colombia 2024María Carolina Martínez - eCommerce Day Colombia 2024
María Carolina Martínez - eCommerce Day Colombia 2024
 
Bitcoin Lightning wallet and tic-tac-toe game XOXO
Bitcoin Lightning wallet and tic-tac-toe game XOXOBitcoin Lightning wallet and tic-tac-toe game XOXO
Bitcoin Lightning wallet and tic-tac-toe game XOXO
 

Adding pentaho dashboards to angular 5 applications