SlideShare une entreprise Scribd logo
1  sur  40
Télécharger pour lire hors ligne
WEBCENTER SITES GOOGLE GADGET
DEVELOPMENT TECHNIQUES
JOHN BRUNSWICK
702
•  Common Gadget Use Cases
•  Gadget Capabilities
•  Reference Architecture for Gadgets
•  Sites Server, Gadget Server and Data Sources
•  Live Development of Gadget that Surfaces Backend Data
•  General Developer Tips and Tricks
•  Q&A
OURJOURNEY
•  Understand the WebCenter Sites Gadget capabilities and
structure
•  Explain reference architecture to surface information via
the WebCenter Sites Gadget from another source system
•  Develop WebCenter Sites Gadgets that connect to
backend systems and surface data within WebCenter Sites
interface
LEARNING
OBJECTIVES
OMG! These
Gadgets are
amazing!
USE
CASES
•  Reusable Dynamic Application Component
•  Similar to “Portlets” – Client Side, Platform Agnostic
•  SDLC not tied to Content Server lifecycle
•  Resource isolation
•  “Instance configurability”
GADGET
USECASES
CAPABILITIES
GADGETIN
ACTION
GADGETIN
PREFERENCES
GADGETIN
ACTION
OPEN SOCIAL?
•  API Capabilities for
Social Networking
•  Some advanced APIs
like persistence
•  Google Gadgets are a
component within the
OpenSocial
capabilities
WHATABOUT
OPENSOCIAL?
ARCHITECTURE
•  Industry Standards
•  HTML
•  Javascript
GADGET
ARCHITECTURE
GADGET
AUTHENTICATION
GADGET
XMLDOCUMENT
STRUCTURE
GADGET
DESCRIPTOR
GADGET
BASIC
GADGET
INTERMEDIATE
•  Content area will always leverage a CDATA block for type
HTML
GADGET
FORMAT
GADGET
ASSETS
CORE GADGET
FUNCTIONALITY
1. Standard HTML header, opening tag and tag. information is
optional. Gadgets run in browser quirks mode.
2. Core gadgets JavaScript libraries and any additional libraries
specified in the gadget. The server SHOULD consolidate all
librariess into a single request to minimize the number of
HTTP requests made by the client browser. This MAY be
followed by JavaScripte required to initialize the included
libraries.
3. Results from parsing the Gadget XML file and processing
the sections that match the specified View name.
GADGET
PROCESS1
1. A single call to gadgets.util.runOnLoadHandlers().
2. Standard HTML closing tags.
3. Containers must also be able to process Data
Pipelining (Section 13) and Templating [OpenSocial­
Templating] elements in the gadget XML spec.
GADGET
PROCESS2
User Preferences
•  Set by user
•  Save information specific to a given user
Gadget Preferences
•  Set by Developer
•  Information like sizing, start node of a dynamic query
of content, etc
•  OpenSocial offers a more extensive persistence API -
http://wiki.opensocial.org/index.php?
title=The_Persistence_API
PREFERENCE
BASICS
Once you have a preference object
prefs.set(‘mypref’, ‘some value’);
or…
prefs.setArray(‘myPrefArray’, [‘Sites’, ’Content’, ‘Portal’]);
SETTING
PREFERENCES
GETTING
PREFERENCES
•  Must include <Require feature=”pubsub”/> in your
<ModulePrefs>
PUB
SUB
SITES SERVER
GADGET SERVER
DATA SOURCES
GADGET
DATA
WC Sites
Runtime
GADGET
JS Library (JQuery,
etc)
J
S
O
N
REST
Services JDBC
G
E
T
/
P
O
S
T
•  Client side JS calls into RESTful services on
server
•  Authentication via OAuth2, etc
•  Manually iterate over response object from
server
•  JQuery and other JS frameworks provide
elegant handling of the call and iteration
GADGET
DATA
TOOLS AND TIPS
CROSSSITE
SCRIPTING
DEVELOPMENT
TOOLS
•  Eclipse Plugin Includes
Gadget / Social API
Harness
•  Run HTTP Server Locally
•  Debug via Chrome
Developer Tools
DEVELOPMENT
RUNTIMETIPS
LIVE CODE
REVIEW &
DEMONSTRATION
•  WebCenter Sites Developer’s Guide for Creating Gadgets
http://docs.oracle.com/cd/E29495_01/doc.1111/
developer_guide_for_creating_gadgets_11gr1.pdf
•  Google Gadgets – Development Fundamentals
https://developers.google.com/gadgets/docs/fundamentals
•  Google Gadgets – Creating a User Interface
https://developers.google.com/gadgets/docs/ui
•  Google Gadgets – Gadgets XML Reference
https://developers.google.com/gadgets/docs/xml_reference
•  OAuth – Getting Started
http://oauth.net/
FURTHERREADING
Session 702 - Webcenter Sites Google
Gadget Development Techniques
http://www.johnbrunswick.com/2012/10/
webcenter-sites-gadget-development-concepts-
quickstart/
SOURCE
DOWNLOAD
Q&A
LET’S
CONNECT
@johnbrunswick	
  
	
  
www.johnbrunswick.com	
  
	
  
www.linkedin.com/in/johnbrunswick	
  
	
  
youtube.com/johnbrunswick	
  
	
  
profiles.google.com/johnbrunswick	
  
WWW	
  

Contenu connexe

Similaire à Webcenter Sites Google Gadget Development Techniques

Extjs3.4 Migration Notes
Extjs3.4 Migration NotesExtjs3.4 Migration Notes
Extjs3.4 Migration Notes
SimoAmi
 
SharePoint 2014: Where to save my data, for devs!
SharePoint 2014: Where to save my data, for devs!SharePoint 2014: Where to save my data, for devs!
SharePoint 2014: Where to save my data, for devs!
Ben Steinhauser
 
Implemeting Sencha Ext JS in Drupal
 Implemeting Sencha Ext JS in Drupal Implemeting Sencha Ext JS in Drupal
Implemeting Sencha Ext JS in Drupal
drupalsydney
 
Best Practices in Widget Development - Examples and Counterexamples
Best Practices in Widget Development  - Examples and CounterexamplesBest Practices in Widget Development  - Examples and Counterexamples
Best Practices in Widget Development - Examples and Counterexamples
ROLE Project
 
Open social gadgets in ibm connections
Open social gadgets in ibm connectionsOpen social gadgets in ibm connections
Open social gadgets in ibm connections
Vincent Burckhardt
 
Challenges of Simple Documents: When Basic isn't so Basic - Cassandra Targett...
Challenges of Simple Documents: When Basic isn't so Basic - Cassandra Targett...Challenges of Simple Documents: When Basic isn't so Basic - Cassandra Targett...
Challenges of Simple Documents: When Basic isn't so Basic - Cassandra Targett...
Lucidworks
 

Similaire à Webcenter Sites Google Gadget Development Techniques (20)

Shindig Apachecon Asia 09
Shindig Apachecon Asia 09Shindig Apachecon Asia 09
Shindig Apachecon Asia 09
 
Extjs3.4 Migration Notes
Extjs3.4 Migration NotesExtjs3.4 Migration Notes
Extjs3.4 Migration Notes
 
Treinamento S60 WRT - CETELI UFAM INDT
Treinamento S60 WRT - CETELI UFAM INDTTreinamento S60 WRT - CETELI UFAM INDT
Treinamento S60 WRT - CETELI UFAM INDT
 
SharePoint 2014: Where to save my data, for devs!
SharePoint 2014: Where to save my data, for devs!SharePoint 2014: Where to save my data, for devs!
SharePoint 2014: Where to save my data, for devs!
 
CUST-2 New Client Configuration & Extension Points in Share
CUST-2 New Client Configuration & Extension Points in ShareCUST-2 New Client Configuration & Extension Points in Share
CUST-2 New Client Configuration & Extension Points in Share
 
Implemeting Sencha Ext JS in Drupal
 Implemeting Sencha Ext JS in Drupal Implemeting Sencha Ext JS in Drupal
Implemeting Sencha Ext JS in Drupal
 
InterConnect 2016 Java EE 7 Overview (PEJ-5296)
InterConnect 2016 Java EE 7 Overview (PEJ-5296)InterConnect 2016 Java EE 7 Overview (PEJ-5296)
InterConnect 2016 Java EE 7 Overview (PEJ-5296)
 
uMobile Development Strategies
uMobile Development StrategiesuMobile Development Strategies
uMobile Development Strategies
 
jQuery On Rails
jQuery On RailsjQuery On Rails
jQuery On Rails
 
Internet Explorer 8
Internet Explorer 8Internet Explorer 8
Internet Explorer 8
 
Overview of Java EE 6 by Roberto Chinnici at SFJUG
Overview of Java EE 6 by Roberto Chinnici at SFJUGOverview of Java EE 6 by Roberto Chinnici at SFJUG
Overview of Java EE 6 by Roberto Chinnici at SFJUG
 
Office 365 Saturday (Sydney) - SharePoint framework – build integrated user e...
Office 365 Saturday (Sydney) - SharePoint framework – build integrated user e...Office 365 Saturday (Sydney) - SharePoint framework – build integrated user e...
Office 365 Saturday (Sydney) - SharePoint framework – build integrated user e...
 
2/15/2012 - Wrapping Your Head Around the SharePoint Beast
2/15/2012 - Wrapping Your Head Around the SharePoint Beast2/15/2012 - Wrapping Your Head Around the SharePoint Beast
2/15/2012 - Wrapping Your Head Around the SharePoint Beast
 
Drupal 7 - The Top 40 Core Modules and What They Mean for You
Drupal 7 - The Top 40 Core Modules and What They Mean for YouDrupal 7 - The Top 40 Core Modules and What They Mean for You
Drupal 7 - The Top 40 Core Modules and What They Mean for You
 
Best Practices in Widget Development - Examples and Counterexamples
Best Practices in Widget Development  - Examples and CounterexamplesBest Practices in Widget Development  - Examples and Counterexamples
Best Practices in Widget Development - Examples and Counterexamples
 
Tech Talk Live on Share Extensibility
Tech Talk Live on Share ExtensibilityTech Talk Live on Share Extensibility
Tech Talk Live on Share Extensibility
 
SPSDenver - Wrapping Your Head Around the SharePoint Beast
SPSDenver - Wrapping Your Head Around the SharePoint BeastSPSDenver - Wrapping Your Head Around the SharePoint Beast
SPSDenver - Wrapping Your Head Around the SharePoint Beast
 
Vincent Burckhardt - Exending Connections with OpenSocial Gadgets
Vincent Burckhardt - Exending Connections with OpenSocial GadgetsVincent Burckhardt - Exending Connections with OpenSocial Gadgets
Vincent Burckhardt - Exending Connections with OpenSocial Gadgets
 
Open social gadgets in ibm connections
Open social gadgets in ibm connectionsOpen social gadgets in ibm connections
Open social gadgets in ibm connections
 
Challenges of Simple Documents: When Basic isn't so Basic - Cassandra Targett...
Challenges of Simple Documents: When Basic isn't so Basic - Cassandra Targett...Challenges of Simple Documents: When Basic isn't so Basic - Cassandra Targett...
Challenges of Simple Documents: When Basic isn't so Basic - Cassandra Targett...
 

Dernier

Salient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsSalient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functions
KarakKing
 

Dernier (20)

General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - English
 
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdf
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdfUnit 3 Emotional Intelligence and Spiritual Intelligence.pdf
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdf
 
Salient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsSalient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functions
 
Wellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptxWellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptx
 
Jamworks pilot and AI at Jisc (20/03/2024)
Jamworks pilot and AI at Jisc (20/03/2024)Jamworks pilot and AI at Jisc (20/03/2024)
Jamworks pilot and AI at Jisc (20/03/2024)
 
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptxSKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
Fostering Friendships - Enhancing Social Bonds in the Classroom
Fostering Friendships - Enhancing Social Bonds  in the ClassroomFostering Friendships - Enhancing Social Bonds  in the Classroom
Fostering Friendships - Enhancing Social Bonds in the Classroom
 
Spatium Project Simulation student brief
Spatium Project Simulation student briefSpatium Project Simulation student brief
Spatium Project Simulation student brief
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POS
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentation
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docx
 
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17
 

Webcenter Sites Google Gadget Development Techniques

  • 1. WEBCENTER SITES GOOGLE GADGET DEVELOPMENT TECHNIQUES JOHN BRUNSWICK 702
  • 2. •  Common Gadget Use Cases •  Gadget Capabilities •  Reference Architecture for Gadgets •  Sites Server, Gadget Server and Data Sources •  Live Development of Gadget that Surfaces Backend Data •  General Developer Tips and Tricks •  Q&A OURJOURNEY
  • 3. •  Understand the WebCenter Sites Gadget capabilities and structure •  Explain reference architecture to surface information via the WebCenter Sites Gadget from another source system •  Develop WebCenter Sites Gadgets that connect to backend systems and surface data within WebCenter Sites interface LEARNING OBJECTIVES
  • 6. •  Reusable Dynamic Application Component •  Similar to “Portlets” – Client Side, Platform Agnostic •  SDLC not tied to Content Server lifecycle •  Resource isolation •  “Instance configurability” GADGET USECASES
  • 12. •  API Capabilities for Social Networking •  Some advanced APIs like persistence •  Google Gadgets are a component within the OpenSocial capabilities WHATABOUT OPENSOCIAL?
  • 14. •  Industry Standards •  HTML •  Javascript GADGET ARCHITECTURE
  • 20. •  Content area will always leverage a CDATA block for type HTML GADGET FORMAT
  • 23. 1. Standard HTML header, opening tag and tag. information is optional. Gadgets run in browser quirks mode. 2. Core gadgets JavaScript libraries and any additional libraries specified in the gadget. The server SHOULD consolidate all librariess into a single request to minimize the number of HTTP requests made by the client browser. This MAY be followed by JavaScripte required to initialize the included libraries. 3. Results from parsing the Gadget XML file and processing the sections that match the specified View name. GADGET PROCESS1
  • 24. 1. A single call to gadgets.util.runOnLoadHandlers(). 2. Standard HTML closing tags. 3. Containers must also be able to process Data Pipelining (Section 13) and Templating [OpenSocial­ Templating] elements in the gadget XML spec. GADGET PROCESS2
  • 25. User Preferences •  Set by user •  Save information specific to a given user Gadget Preferences •  Set by Developer •  Information like sizing, start node of a dynamic query of content, etc •  OpenSocial offers a more extensive persistence API - http://wiki.opensocial.org/index.php? title=The_Persistence_API PREFERENCE BASICS
  • 26. Once you have a preference object prefs.set(‘mypref’, ‘some value’); or… prefs.setArray(‘myPrefArray’, [‘Sites’, ’Content’, ‘Portal’]); SETTING PREFERENCES
  • 28. •  Must include <Require feature=”pubsub”/> in your <ModulePrefs> PUB SUB
  • 30. GADGET DATA WC Sites Runtime GADGET JS Library (JQuery, etc) J S O N REST Services JDBC G E T / P O S T
  • 31. •  Client side JS calls into RESTful services on server •  Authentication via OAuth2, etc •  Manually iterate over response object from server •  JQuery and other JS frameworks provide elegant handling of the call and iteration GADGET DATA
  • 35. •  Eclipse Plugin Includes Gadget / Social API Harness •  Run HTTP Server Locally •  Debug via Chrome Developer Tools DEVELOPMENT RUNTIMETIPS
  • 37. •  WebCenter Sites Developer’s Guide for Creating Gadgets http://docs.oracle.com/cd/E29495_01/doc.1111/ developer_guide_for_creating_gadgets_11gr1.pdf •  Google Gadgets – Development Fundamentals https://developers.google.com/gadgets/docs/fundamentals •  Google Gadgets – Creating a User Interface https://developers.google.com/gadgets/docs/ui •  Google Gadgets – Gadgets XML Reference https://developers.google.com/gadgets/docs/xml_reference •  OAuth – Getting Started http://oauth.net/ FURTHERREADING
  • 38. Session 702 - Webcenter Sites Google Gadget Development Techniques http://www.johnbrunswick.com/2012/10/ webcenter-sites-gadget-development-concepts- quickstart/ SOURCE DOWNLOAD
  • 39. Q&A
  • 40. LET’S CONNECT @johnbrunswick     www.johnbrunswick.com     www.linkedin.com/in/johnbrunswick     youtube.com/johnbrunswick     profiles.google.com/johnbrunswick   WWW