SlideShare a Scribd company logo
XPages Workshop: Customizing OneUI
Mike McGarel
   Collaborative Solutions Developer at Czarnowski Display Services
   Working with Notes/Domino since version 4.6
   Working on the Web for over 12 years
   Involved with community projects: Blogger Open (at Lotusphere),
    SkiLUG and MWLUG
Roy Rumaner
 Principal, Rumaner Consulting
 Working with Notes/Domino since v2.0? (anyone remember OS2?)
What is an XPages Theme?
 Design element
 Contains resources for entire application, for example:
    style sheets
    JavaScript files
 Separates the visual from the functional
 Can inherit from other themes
 Main goal: standardize user interface (UI)
Theme Example
<theme extends=“webstandard">
  <resource>
     <content-type>text/css</content-type>
     <href>site.css</href>
  </resource>
</theme>
What is OneUI?
   IBM’s common look and feel for Web and mobile applications
   Big benefit: OneUI takes care of browser incompatibilities
   Evolving, currently version 2.1
   More than just visual (e.g. design patterns)
OneUIv2.1 Framework




Source page for graphic: http://infolib.lotus.com/resources/oneui/2.1/docPublic/components/framework.htm
OneUIv2.1 Visual Example 1




Source page for graphic: http://infolib.lotus.com/resources/oneui/2.1/docPublic/examples.htm?content=2colGrid.htm
OneUIv2.1 Visual Example 2




Source page for graphic: http://infolib.lotus.com/resources/oneui/2.1/docPublic/examples/interactive.htm
OneUIv2.1 Available Themes
   oneuiv2.1
   oneuiv2.1_blue
   oneuiv2.1_gen1
   oneuiv2.1_gold
   oneuiv2.1_green
   oneuiv2.1_onyx
   oneuiv2.1_orange
   oneuiv2.1_pink
   oneuiv2.1_purple
   oneuiv2.1_red
   oneuiv2.1_silver
OneUIv2.1 Red Theme Example




Source page for graphic: http://infolib.lotus.com/resources/oneui/2.1/docPublic/examples.htm?content=2colGrid.htm&theme=red
OneUIv2.1 Green Theme Example




Source page for graphic: http://infolib.lotus.com/resources/oneui/2.1/docPublic/examples.htm?content=2colGrid.htm&theme=green
OneUIv2.1 Components Descriptions




Source page for graphic: http://infolib.lotus.com/resources/oneui/2.1/docPublic/components/overview.htm
OneUIv2.1 Buttons Descriptions




Source page for graphic: http://infolib.lotus.com/resources/oneui/2.1/docPublic/components/buttons.htm
OneUIv2.1 Button Implementation




Source page for graphic: http://infolib.lotus.com/resources/oneui/2.1/docPublic/components/buttons.htm
OneUIv2.1 Button Code




Source page for graphic: http://infolib.lotus.com/resources/oneui/2.1/docPublic/components/buttons.htm
Style Sheet
 Design element
 Separate file to standardize formatting
 Contains style classes
Style Classes
   Preset formatting
   Designated with a dot “.”
   Can apply globally or to specific design elements
   Examples
    Global:
         .bigbox {border:6px solid #0000FF; padding:18px;}
    Specific:
         td.bigbox {background-color: blue; color: #FFF;}
    More specific:
         table.contactTable td.bigbox {font-weight: bold;}
Why Use Style Classes?
 More efficient than inline styles (for you and browser)
 Inline usage example:
  <xp:span style=“color:red;”>MWLUG</xp:span>
 Class example:
   .corporate {color:red;}
  Usage:
  <xp:span styleClass=“corporate”>MWLUG</xp:span>
Applying Style Classes
 Property of design element
 For XPages, it’s “styleClass” not “class” as in HTML
  XPages example:
  <xp:span styleClass=“title”>MWLUG</xp:span>
  Standard HTML example:
  <span class=“title”>MWLUG</span>
 Element can have more than one class
  <xp:span styleClass=“title corporate”>MWLUG</xp:span>
CSS – Display Precedence
 “CSS” stands for “Cascading Style Sheets”
 Last file loaded wins
 Important exception: !important
    td.corporate {color:blue !important;}
 Rule of specificity
    table.itemTable th {background-color:#EFEFEF;}
 Inline styles win
 More information on specificity:
  http://www.htmldog.com/guides/cssadvanced/specificity/
Core Control Formatting
Example that changes Submit button background to blue:
  <control override=“true”>
      <name>Button.Submit</name>
      <property>
            <name>style</name>
            <value>background-color: blue;</value>
      </property>
  </control>




 Note: The override=“true” setting replaces the existing style.
References
 Mastering XPages, Chapter 14, “XPages Theming”
 OneUIv2.1 developer documentation
http://infolib.lotus.com/resources/oneui/2.1/docPublic/components/overview.htm
 Themes page on Notes/Domino Application Development Wiki:
http://www-10.lotus.com/ldd/ddwiki.nsf/dx/5.1_Themes
Browser Tools
   Firefox plugin – Firebug
   Internet Explorer – Developer Tools
   Chrome – Web Developer
   Safari – Develop menu
XPages Workshop: Customizing OneUI
Final Thoughts
   Theme can be a resource for a group of applications
   Can extend OneUI to build your own corporate theme
   Very useful with Extension Library controls
   Caveat: Themes are loaded last!
     Theme JS functions are not available during the page load
 Use these tools to explore and customize other frameworks
   Examples:
     Twitter Bootstrap (http://twitter.github.com/bootstrap/)
     Blueprint (http://www.blueprintcss.org)
     Responsive Layout on OpenNTF.org
      (http://www.openntf.org/internal/home.nsf/project.xsp?action=openDocu
      ment&name=Responsive%20Website)
Contact Us
Mike McGarel
Blog (http://www.bleedyellow.com/blogs/McGarelGramming/)
Twitter (@mmcgarel)
Email: mcgarelgramming@gmail.com

Roy Rumaner
Blog (http://rrumaner.blogspot.com)
Twitter (@rrumaner)
Email: rrumaner@gmail.com
Thank You For Attending
The authors appreciate any feedback or comments you care to give.




               Your universe will never be the same
               We’re glad you came
               We’re glad you came

More Related Content

PDF
XPages Binary Output
ODP
BP210 XPages: Enter The Dojo
PDF
XPages Application Layout Control - TLCC March, 2014 Webinar
PPTX
Bootstrap4XPages webinar
PPTX
Responsive Layout Frameworks for XPages Application UI
ODP
XPages OneUIv2 Theme Deep Dive
PDF
Bootstrap and XPages (DanNotes 2013)
PDF
Creating a Great XPages User Interface, TLCC Teamstudio Webinar - Feb, 2014
XPages Binary Output
BP210 XPages: Enter The Dojo
XPages Application Layout Control - TLCC March, 2014 Webinar
Bootstrap4XPages webinar
Responsive Layout Frameworks for XPages Application UI
XPages OneUIv2 Theme Deep Dive
Bootstrap and XPages (DanNotes 2013)
Creating a Great XPages User Interface, TLCC Teamstudio Webinar - Feb, 2014

What's hot (20)

ODP
Bootstrap4 x pages
PPT
Engage - Expanding XPages with Bootstrap Plugins for ultimate usability
PPT
Implementing xpages extension library
PDF
Bootstrap4XPages
PDF
JMP402 Master Class: Managed beans and XPages: Your Time Is Now
PDF
Building Responsive Applications Using XPages
ODP
Get the best out of Bootstrap with Bootstrap4XPages (AD202)
PDF
JMP401: Masterclass: XPages Scalability
PDF
Expanding XPages with Bootstrap Plugins for Ultimate Usability
PPTX
Dojo tutorial
PPTX
XPages and Java (DanNotes 50th conference, November 2013)
PDF
Building Web Sites that Work Everywhere
PPTX
Zimmertwins Presentation
PDF
Angular mobile angular_u
PDF
JSN Gruve Customization Manual
PPT
Architecture of Drupal - Drupal Camp
PDF
JSN Gruve Configuration Manual
PPTX
MWLUG 2016 : AD117 : Xpages & jQuery DataTables
PDF
IBM Connect 2016 - AD1548 - Building Responsive XPages Applications
Bootstrap4 x pages
Engage - Expanding XPages with Bootstrap Plugins for ultimate usability
Implementing xpages extension library
Bootstrap4XPages
JMP402 Master Class: Managed beans and XPages: Your Time Is Now
Building Responsive Applications Using XPages
Get the best out of Bootstrap with Bootstrap4XPages (AD202)
JMP401: Masterclass: XPages Scalability
Expanding XPages with Bootstrap Plugins for Ultimate Usability
Dojo tutorial
XPages and Java (DanNotes 50th conference, November 2013)
Building Web Sites that Work Everywhere
Zimmertwins Presentation
Angular mobile angular_u
JSN Gruve Customization Manual
Architecture of Drupal - Drupal Camp
JSN Gruve Configuration Manual
MWLUG 2016 : AD117 : Xpages & jQuery DataTables
IBM Connect 2016 - AD1548 - Building Responsive XPages Applications
Ad

Similar to XPages Workshop: Customizing OneUI (20)

PDF
Connect 2014 SHOW102: XPages Still No Experience Necessary
PDF
SHOW102 XPages: Still No Experience Necessary IBM Connect 2014
ODP
Taking themes to the next level
PDF
XPages Blast - Lotusphere 2013
PDF
Ad107 - Enhance Your Existing Applications with XPages
PDF
Just the Facets, Ma'am
PPT
XPages -Beyond the Basics
PDF
Harness the power of XPages in Lotus Domino
ODP
SHOW202: How to customize Lotus Quickr Templates Using HTML, Javascript and C...
PPT
IBM Lotus iNotes 8.5 Customization
PDF
Connect 2014 - BP202: Rapid XPages Development Using the Application Layout C...
ODP
IBM Lotus Notes Domino XPages and XPages for Mobile
PPTX
[DanNotes] XPages - Beyound the Basics
PDF
Application Layout Control
PPT
Customizing the look and-feel of DSpace
PDF
XPages: No Experience Needed
PDF
XPages Blast - Ideas, Tips and More
PDF
UKLUG 2012 - XPages, Beyond the basics
PPTX
Entwickler camp2012 make the impossible possible with x_pages
PDF
IBM Connect 2014 BP204: It's Not Infernal: Dante's Nine Circles of XPages Heaven
Connect 2014 SHOW102: XPages Still No Experience Necessary
SHOW102 XPages: Still No Experience Necessary IBM Connect 2014
Taking themes to the next level
XPages Blast - Lotusphere 2013
Ad107 - Enhance Your Existing Applications with XPages
Just the Facets, Ma'am
XPages -Beyond the Basics
Harness the power of XPages in Lotus Domino
SHOW202: How to customize Lotus Quickr Templates Using HTML, Javascript and C...
IBM Lotus iNotes 8.5 Customization
Connect 2014 - BP202: Rapid XPages Development Using the Application Layout C...
IBM Lotus Notes Domino XPages and XPages for Mobile
[DanNotes] XPages - Beyound the Basics
Application Layout Control
Customizing the look and-feel of DSpace
XPages: No Experience Needed
XPages Blast - Ideas, Tips and More
UKLUG 2012 - XPages, Beyond the basics
Entwickler camp2012 make the impossible possible with x_pages
IBM Connect 2014 BP204: It's Not Infernal: Dante's Nine Circles of XPages Heaven
Ad

More from Michael McGarel (9)

PPTX
Next Level Coding
PPTX
Object(ive) Thinking
PDF
Extreme Development: Pair Programming
PPTX
MWLUG2014 AD107 First Java App Tips
PDF
BP204 It's Not Infernal: Dante's Nine Circles of XPages Heaven
ODP
How To Build a Multi-Field Search Page For Your XPages Application
ODP
Two CCs of Layout -- Stat
ODP
XPages - The Ties That Bind
ODP
Approaches to Enhancing the User Experience
Next Level Coding
Object(ive) Thinking
Extreme Development: Pair Programming
MWLUG2014 AD107 First Java App Tips
BP204 It's Not Infernal: Dante's Nine Circles of XPages Heaven
How To Build a Multi-Field Search Page For Your XPages Application
Two CCs of Layout -- Stat
XPages - The Ties That Bind
Approaches to Enhancing the User Experience

Recently uploaded (20)

PPTX
MYSQL Presentation for SQL database connectivity
PDF
cuic standard and advanced reporting.pdf
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PPTX
sap open course for s4hana steps from ECC to s4
PPTX
Cloud computing and distributed systems.
PDF
Approach and Philosophy of On baking technology
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
Electronic commerce courselecture one. Pdf
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Review of recent advances in non-invasive hemoglobin estimation
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
MYSQL Presentation for SQL database connectivity
cuic standard and advanced reporting.pdf
Unlocking AI with Model Context Protocol (MCP)
Spectral efficient network and resource selection model in 5G networks
Per capita expenditure prediction using model stacking based on satellite ima...
“AI and Expert System Decision Support & Business Intelligence Systems”
sap open course for s4hana steps from ECC to s4
Cloud computing and distributed systems.
Approach and Philosophy of On baking technology
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Mobile App Security Testing_ A Comprehensive Guide.pdf
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Electronic commerce courselecture one. Pdf
NewMind AI Weekly Chronicles - August'25 Week I
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Encapsulation_ Review paper, used for researhc scholars
Reach Out and Touch Someone: Haptics and Empathic Computing
Review of recent advances in non-invasive hemoglobin estimation
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...

XPages Workshop: Customizing OneUI

  • 2. Mike McGarel  Collaborative Solutions Developer at Czarnowski Display Services  Working with Notes/Domino since version 4.6  Working on the Web for over 12 years  Involved with community projects: Blogger Open (at Lotusphere), SkiLUG and MWLUG
  • 3. Roy Rumaner  Principal, Rumaner Consulting  Working with Notes/Domino since v2.0? (anyone remember OS2?)
  • 4. What is an XPages Theme?  Design element  Contains resources for entire application, for example:  style sheets  JavaScript files  Separates the visual from the functional  Can inherit from other themes  Main goal: standardize user interface (UI)
  • 5. Theme Example <theme extends=“webstandard"> <resource> <content-type>text/css</content-type> <href>site.css</href> </resource> </theme>
  • 6. What is OneUI?  IBM’s common look and feel for Web and mobile applications  Big benefit: OneUI takes care of browser incompatibilities  Evolving, currently version 2.1  More than just visual (e.g. design patterns)
  • 7. OneUIv2.1 Framework Source page for graphic: http://infolib.lotus.com/resources/oneui/2.1/docPublic/components/framework.htm
  • 8. OneUIv2.1 Visual Example 1 Source page for graphic: http://infolib.lotus.com/resources/oneui/2.1/docPublic/examples.htm?content=2colGrid.htm
  • 9. OneUIv2.1 Visual Example 2 Source page for graphic: http://infolib.lotus.com/resources/oneui/2.1/docPublic/examples/interactive.htm
  • 10. OneUIv2.1 Available Themes  oneuiv2.1  oneuiv2.1_blue  oneuiv2.1_gen1  oneuiv2.1_gold  oneuiv2.1_green  oneuiv2.1_onyx  oneuiv2.1_orange  oneuiv2.1_pink  oneuiv2.1_purple  oneuiv2.1_red  oneuiv2.1_silver
  • 11. OneUIv2.1 Red Theme Example Source page for graphic: http://infolib.lotus.com/resources/oneui/2.1/docPublic/examples.htm?content=2colGrid.htm&theme=red
  • 12. OneUIv2.1 Green Theme Example Source page for graphic: http://infolib.lotus.com/resources/oneui/2.1/docPublic/examples.htm?content=2colGrid.htm&theme=green
  • 13. OneUIv2.1 Components Descriptions Source page for graphic: http://infolib.lotus.com/resources/oneui/2.1/docPublic/components/overview.htm
  • 14. OneUIv2.1 Buttons Descriptions Source page for graphic: http://infolib.lotus.com/resources/oneui/2.1/docPublic/components/buttons.htm
  • 15. OneUIv2.1 Button Implementation Source page for graphic: http://infolib.lotus.com/resources/oneui/2.1/docPublic/components/buttons.htm
  • 16. OneUIv2.1 Button Code Source page for graphic: http://infolib.lotus.com/resources/oneui/2.1/docPublic/components/buttons.htm
  • 17. Style Sheet  Design element  Separate file to standardize formatting  Contains style classes
  • 18. Style Classes  Preset formatting  Designated with a dot “.”  Can apply globally or to specific design elements  Examples Global: .bigbox {border:6px solid #0000FF; padding:18px;} Specific: td.bigbox {background-color: blue; color: #FFF;} More specific: table.contactTable td.bigbox {font-weight: bold;}
  • 19. Why Use Style Classes?  More efficient than inline styles (for you and browser)  Inline usage example: <xp:span style=“color:red;”>MWLUG</xp:span>  Class example: .corporate {color:red;} Usage: <xp:span styleClass=“corporate”>MWLUG</xp:span>
  • 20. Applying Style Classes  Property of design element  For XPages, it’s “styleClass” not “class” as in HTML XPages example: <xp:span styleClass=“title”>MWLUG</xp:span> Standard HTML example: <span class=“title”>MWLUG</span>  Element can have more than one class <xp:span styleClass=“title corporate”>MWLUG</xp:span>
  • 21. CSS – Display Precedence  “CSS” stands for “Cascading Style Sheets”  Last file loaded wins  Important exception: !important  td.corporate {color:blue !important;}  Rule of specificity  table.itemTable th {background-color:#EFEFEF;}  Inline styles win  More information on specificity: http://www.htmldog.com/guides/cssadvanced/specificity/
  • 22. Core Control Formatting Example that changes Submit button background to blue: <control override=“true”> <name>Button.Submit</name> <property> <name>style</name> <value>background-color: blue;</value> </property> </control> Note: The override=“true” setting replaces the existing style.
  • 23. References  Mastering XPages, Chapter 14, “XPages Theming”  OneUIv2.1 developer documentation http://infolib.lotus.com/resources/oneui/2.1/docPublic/components/overview.htm  Themes page on Notes/Domino Application Development Wiki: http://www-10.lotus.com/ldd/ddwiki.nsf/dx/5.1_Themes
  • 24. Browser Tools  Firefox plugin – Firebug  Internet Explorer – Developer Tools  Chrome – Web Developer  Safari – Develop menu
  • 26. Final Thoughts  Theme can be a resource for a group of applications  Can extend OneUI to build your own corporate theme  Very useful with Extension Library controls  Caveat: Themes are loaded last!  Theme JS functions are not available during the page load  Use these tools to explore and customize other frameworks Examples:  Twitter Bootstrap (http://twitter.github.com/bootstrap/)  Blueprint (http://www.blueprintcss.org)  Responsive Layout on OpenNTF.org (http://www.openntf.org/internal/home.nsf/project.xsp?action=openDocu ment&name=Responsive%20Website)
  • 27. Contact Us Mike McGarel Blog (http://www.bleedyellow.com/blogs/McGarelGramming/) Twitter (@mmcgarel) Email: mcgarelgramming@gmail.com Roy Rumaner Blog (http://rrumaner.blogspot.com) Twitter (@rrumaner) Email: rrumaner@gmail.com
  • 28. Thank You For Attending The authors appreciate any feedback or comments you care to give. Your universe will never be the same We’re glad you came We’re glad you came