Professional Documents
Culture Documents
• Why – Objectives
• Exploration –rich HTML5 component, reusable in ADF
• Approach
– Stand alone AngularJS/HTML5 application
– Extract ‘3D Tag Cloud component’
– Create ADF Taskflow wrapper around Tag Cloud component
– Creating ‘plumbing’ – connect Tag Cloud to HTML5 ADF
pageFlowScope and contextual events AngularJS Faces
– Further integration: absorb ADF skins, i18n and customization
into Tag Cloud component
• Demonstration
• Conclusion:
– We can leverage the world of HTML5/AngularJS resources to add spiffy, productive
functionality to ADF Faces Web Applications
3
ViewController MatchCenter.jspx
Taskflow match
Rich Table
Taskflow taglist
Popup
Taskflow match-details
5
Client == Browser
Presentation Logic
Presentation Presentation
Logic Logic
Business
Business Logic
Logic
Presentation
Presentation
Logic
Logic
Server
Business Business Business
Business Logic Logic Logic
Logic
Enterprise Resources
(Data & Documents)
Angular ADF APEX
session state
Rich Client Thin Client
Client
HTML5/JS
SPA
Client
XML
Server HTML HTML
session state
Web Application
JSON JSON
XML XML
stateless
Presentation Services
POJO
XML
Business Services
Enterprise Resources
8
Final Result
Web Developer
community
World Cup
database
schema
3D interactive,
animated Tag Cloud
tagcloud.html
tagcloud.js
Angular Module myApp Angular
myController Module
$scope.tags = [ … ];
$scope.tagClicked = function (tag) {…} tagcloud
Angular scope
log
tags
tagClicked()
13
Step 2 - Bridge
angularGuest.js
tagcloud.html
tagcloud.js
tagcloud-
bridge.html
angularGuest.js
tagcloud.html
tagcloud.js
16
MainPage.jspx
Taskflow tagcloud
ViewController
Page Fragment tagcloud.jsff
Taskflow tagcloud
integration.js
OTNBridge
OTNBootstrapper
pageflowScope
tagcloud.js
otnBridge
angularGuest
tagCloudBean
tagcloud
18
3 2
TagCloudBean
5
19
Taskflow tagcloud
viewScope
animalCloud
pageflowScope
otnBridge
tags tagCloudBean
Two TagClouds embedded in20
ADF page
ViewController
`
Taskflow tagcloud
viewScope
animalCloud
carsCloud
pageflowScope
otnBridge
tags tagCloudBean
Taskflow tagcloud
pageflowScope
otnBridge
tags tagCloudBean
21
Taskflow tagcloud
zebra
pageflowScope
viewScope tagCloudBean
zooKeeper
22
ViewController
Taskflow tagcloud
OTNBridge
hostCallBack()
zebra
pageflowScope
tagCloudBean
23
ViewController
Taskflow tagcloud
1
7
5
horse pageflowScope
4 tagCloudBean
6
3
2 viewScope
zooKeeper
parkingAttendant
25
Taskflow tagcloud
pageflowScope
tagCloudBean
integration.js
sendMessage
ToGuest
inspectStyles
28
Taskflow tagcloud
pageflowScope
tagCloudBean
integration.js
sendMessage
ToGuest
extractTagsFor
Resource
BundleEntries
31