SlideShare a Scribd company logo
1 of 36
UKLUG 2012 – Cardiff, Wales
@matthew_fyleman@matthew_fyleman September 2012
Presenter: Matthew Fyleman
Company: We4IT Group
Alternative Solutions for
Providing Additional Functionality in your Xpages Apps
Oranges are not the only fruit
UKLUG 2012 – Cardiff, Wales
@matthew_fyleman@matthew_fyleman
Agenda
•About me
•Beyond the borders of OpenNTF:
•Bootstrap alternatives
•Charting components
•Calendar views
•Office integration
•Questions
UKLUG 2012 – Cardiff, Wales
@matthew_fyleman@matthew_fyleman
About Me
•Senior Developer and Product
Manager for We4IT
•Over 22 years as an IBM Domino
Developer
•Now working almost entirely with
Xpages
•Film addict!
UKLUG 2012 – Cardiff, Wales
@matthew_fyleman@matthew_fyleman
Beyond the borders of OpenNTF
•OpenNTF is an excellent resource!!!
- but it doesn’t have all the answers
•Why would you want to do this?
o Solution unavailable
o Deployment restrictions
o Differentiation
UKLUG 2012 – Cardiff, Wales
@matthew_fyleman@matthew_fyleman
Bootstrap Alternatives
Foundation
http://foundation.zurb.com
For
Very nice base style
Against
Heavyweight
Utilises
SASS, jQuery, Foundation Icon Fonts
Features
Grids, UI elements, Customiser
Supports
IE 9+
UKLUG 2012 – Cardiff, Wales
@matthew_fyleman@matthew_fyleman
Bootstrap Alternatives
Pure
http://purecss.io
For
Super lightweight
Against
No LESS/SASS
Utilises
jQuery
Features
Grids, Basic UI elements
Supports
IE 7+
UKLUG 2012 – Cardiff, Wales
@matthew_fyleman@matthew_fyleman
Bootstrap Alternatives
UIKit
http://getuikit.com/
For
Very simple structure
Easy to style
Against
Not commonly used
Utilises
jQuery
Features
Grids, UI elements, Themeroller
Supports
IE 9+
UKLUG 2012 – Cardiff, Wales
@matthew_fyleman@matthew_fyleman
Bootstrap
UKLUG 2012 – Cardiff, Wales
@matthew_fyleman@matthew_fyleman
Foundation
UKLUG 2012 – Cardiff, Wales
@matthew_fyleman@matthew_fyleman
Pure
UKLUG 2012 – Cardiff, Wales
@matthew_fyleman@matthew_fyleman
UIKit
UKLUG 2012 – Cardiff, Wales
@matthew_fyleman@matthew_fyleman
Bootstrap Alternatives
•Bootstrap4XPages can generally be implemented faster
•By implementing an alternative …
• Committing to a little more work
• Can achieve a more individual result
• Potentially a nicer result (of course subjective)
UKLUG 2012 – Cardiff, Wales
@matthew_fyleman@matthew_fyleman
Bootstrap Alternatives
We use UIKit:
<script src="js/jquery.min.js"></script>
<script src="js/uikit.min.js"></script>
<link rel="stylesheet" href="css/uikit.min.css">
<div class="uk-container">
<div class="uk-grid">
<div class="uk-width-1-3"></div>
<div class="uk-width-1-3"></div>
<div class="uk-width-1-3"></div>
</div>
</div>
DocType = HTML5
UKLUG 2012 – Cardiff, Wales
@matthew_fyleman@matthew_fyleman
Bootstrap Alternatives
Demo
UKLUG 2012 – Cardiff, Wales
@matthew_fyleman@matthew_fyleman
Charting Components
Projects on OpenNTF use:
jqPlot
http://www.jqplot.com
JFreeChart
http://www.jfree.org/jfreechart/
dojox.charting
http://dojotoolkit.org/reference-guide/1.10/dojox/charting.html
UKLUG 2012 – Cardiff, Wales
@matthew_fyleman@matthew_fyleman
Charting Components
Alternative
Chart.js
http://www.chartjs.org
• Dynamic
• Responsive
• IE9+ and all modern Browsers
Example code:
<canvas id="canvas" height="450" width="600"></canvas>
var ctx = document.getElementById("canvas").getContext("2d");
new Chart(ctx).Line(JSONOBJECT, {responsive: true});
UKLUG 2012 – Cardiff, Wales
@matthew_fyleman@matthew_fyleman
Charting Components
Demo 1
UKLUG 2012 – Cardiff, Wales
@matthew_fyleman@matthew_fyleman
Charting Components
Dynamically loading values:
XAgent for the rest Service:
http://openntf.org/XSnippets.nsf/snippet.xsp?id=xagent
JSON – generate with Simple:
https://code.google.com/p/json-simple/
UKLUG 2012 – Cardiff, Wales
@matthew_fyleman@matthew_fyleman
Charting Components
Demo 2
UKLUG 2012 – Cardiff, Wales
@matthew_fyleman@matthew_fyleman
Charting Components
AMD - Loader problem
From Sven Hasselbach:
“Looks like an AMD loader problem with Dojo & JQM. I have tried out to disable the
Factory scan in a test page and this worked for me. To do this I have added the
following parameters in the xsp.properties:
xsp.client.script.dojo.djConfig=dojo-amd-factory-scan: false
Maybe this can help you with your problems in ND9.”
Three solutions…
UKLUG 2012 – Cardiff, Wales
@matthew_fyleman@matthew_fyleman
Charting Components
AMD - Loader problem – Solution 1
Change the JavaScript Library:
UKLUG 2012 – Cardiff, Wales
@matthew_fyleman@matthew_fyleman
Charting Components
AMD - Loader problem – Solution 2
Change the xsp.properties:
http://xomino.com/2013/05/14/xpages-nd9-dojo-1-8-does-not-work-
with-other-amd-loaders-and-the-work-around/
xsp.client.script.dojo.djConfig=dojo-amd-factory-scan: false
UKLUG 2012 – Cardiff, Wales
@matthew_fyleman@matthew_fyleman
Charting Components
AMD - Loader problem
Change the order in which the scripts are loaded:
http://hasselba.ch/blog/?p=1216
Only works if the scripts are consolidated:.
UKLUG 2012 – Cardiff, Wales
@matthew_fyleman@matthew_fyleman
Charting Components
Demo 3
UKLUG 2012 – Cardiff, Wales
@matthew_fyleman@matthew_fyleman
Calendar views
FullCalendar
http://fullcalendar.io
Utilises
jQuery, moment.js
Supports
IE8+
UKLUG 2012 – Cardiff, Wales
@matthew_fyleman@matthew_fyleman
Calendar views
FullCalendar
http://fullcalendar.io
Utilises
jQuery, moment.js
Supports
IE8+
Sample Code
<div id='calendar'></div>
$('#calendar').fullCalendar();
UKLUG 2012 – Cardiff, Wales
@matthew_fyleman@matthew_fyleman
Calendar views
Demo 1
UKLUG 2012 – Cardiff, Wales
@matthew_fyleman@matthew_fyleman
Calendar views
Dynamically loading values:
XAgent for the rest Service:
http://openntf.org/XSnippets.nsf/snippet.xsp?id=xagent
JSON – generate with Simple:
https://code.google.com/p/json-simple/
UKLUG 2012 – Cardiff, Wales
@matthew_fyleman@matthew_fyleman
Calendar views
Demo 2
UKLUG 2012 – Cardiff, Wales
@matthew_fyleman@matthew_fyleman
Office Integration
docx4j
http://www.docx4java.org/
For
•Still supported and developed, better
handling of .docx files
•HTML can be included (Rich Text)
Against
•No .doc support, exclusively .docx (.pptx,
.xlsx)
UKLUG 2012 – Cardiff, Wales
@matthew_fyleman@matthew_fyleman
Office Integration
Demo
UKLUG 2012 – Cardiff, Wales
@matthew_fyleman@matthew_fyleman
Office Integration – Problem 1
Security exception occurred servicing request for: /demo.xsp - HTTP Code: 403
You need to adjust the java security policy:
[notes program]/jvm/lib/security/java.policy
Solution 1: Only for Developers! (and 8.5.x users)
grant { permission java.security.AllPermission; };
Solution 2: The better way:
grant codeBase "xspnsf://server:0/yourdatabase.nsf/-" {
permission java.security.AllPermission;
};
See Stephan Wissel’s blog: http://www.wissel.net/blog/d6plinks/SHWL-8JYAT5
UKLUG 2012 – Cardiff, Wales
@matthew_fyleman@matthew_fyleman
Office Integration – Problem 2
After downloading the file once, the page stops responding
Solution: CSJS:
XSP.allowSubmit();
UKLUG 2012 – Cardiff, Wales
@matthew_fyleman@matthew_fyleman
Questions?
UKLUG 2012 – Cardiff, Wales
@matthew_fyleman@matthew_fyleman
Attend our next session to win a BB-8 Sphero!:
Today, 13:30, Room 1
Simon Peek - „Need XPages apps fast? Need
apps on Mobile devices? Don’t have XPages
knowledge? We4IT brings you Aveedo!”
UKLUG 2012 – Cardiff, Wales
@matthew_fyleman@matthew_fyleman
Matthew Fyleman
We4IT Group
email: matthew.fyleman@we4it.com :

More Related Content

Similar to Oranges are not the only fruit (Alternative Solutions for Providing Additional Functionality in your Xpages Apps)

ITB2019 ColdBox APIs + VueJS - powering Mobile, Desktop and Web Apps with 1 V...
ITB2019 ColdBox APIs + VueJS - powering Mobile, Desktop and Web Apps with 1 V...ITB2019 ColdBox APIs + VueJS - powering Mobile, Desktop and Web Apps with 1 V...
ITB2019 ColdBox APIs + VueJS - powering Mobile, Desktop and Web Apps with 1 V...Ortus Solutions, Corp
 
Out of the Blue - the Workflow in Bluemix Development
Out of the Blue - the Workflow in Bluemix DevelopmentOut of the Blue - the Workflow in Bluemix Development
Out of the Blue - the Workflow in Bluemix DevelopmentOliver Busse
 
2017 Q2 uPortal Open Source Support Briefing
2017 Q2 uPortal Open Source Support Briefing2017 Q2 uPortal Open Source Support Briefing
2017 Q2 uPortal Open Source Support BriefingBenito Gonzalez
 
How You Convince Your Manager To Adopt Scala.js in Production
How You Convince Your Manager To Adopt Scala.js in ProductionHow You Convince Your Manager To Adopt Scala.js in Production
How You Convince Your Manager To Adopt Scala.js in ProductionBoldRadius Solutions
 
Vles Are For More Than Objects 2003 Version
Vles Are For More Than Objects 2003 VersionVles Are For More Than Objects 2003 Version
Vles Are For More Than Objects 2003 Versionkevinbrace
 
Some essential moodle 2 plugins pecha kucha 2012
Some essential moodle 2 plugins   pecha kucha 2012Some essential moodle 2 plugins   pecha kucha 2012
Some essential moodle 2 plugins pecha kucha 2012Gavin Henrick
 
Citizen Science Architecture: A Standards Based Approach
Citizen Science Architecture: A Standards Based ApproachCitizen Science Architecture: A Standards Based Approach
Citizen Science Architecture: A Standards Based ApproachIngo Simonis
 
Agile4 com method-uk_v3.675
Agile4 com method-uk_v3.675Agile4 com method-uk_v3.675
Agile4 com method-uk_v3.675all2com
 
What's New and Next in OpenNTF Domino API (ICON UK 2014)
What's New and Next in OpenNTF Domino API (ICON UK 2014)What's New and Next in OpenNTF Domino API (ICON UK 2014)
What's New and Next in OpenNTF Domino API (ICON UK 2014)Paul Withers
 
DMPonline overview, OpenAIRE/COAR 2014
DMPonline overview, OpenAIRE/COAR 2014DMPonline overview, OpenAIRE/COAR 2014
DMPonline overview, OpenAIRE/COAR 2014Patrick McCann
 
Enabling Open Source for the Enterprise Breakfast Event in NYC - June 17, 2014
Enabling Open Source for the Enterprise Breakfast Event in NYC - June 17, 2014Enabling Open Source for the Enterprise Breakfast Event in NYC - June 17, 2014
Enabling Open Source for the Enterprise Breakfast Event in NYC - June 17, 2014Appnovation Technologies
 
Software Engineering for Startups (University of St Andrews, 2013)
Software Engineering for Startups (University of St Andrews, 2013)Software Engineering for Startups (University of St Andrews, 2013)
Software Engineering for Startups (University of St Andrews, 2013)RightScale
 
J1 2015 "Building a Microservice Ecosystem: Some Assembly Still Required"
J1 2015 "Building a Microservice Ecosystem: Some Assembly Still Required"J1 2015 "Building a Microservice Ecosystem: Some Assembly Still Required"
J1 2015 "Building a Microservice Ecosystem: Some Assembly Still Required"Daniel Bryant
 
Data vault - a platform for archiving research data
Data vault - a platform for archiving research dataData vault - a platform for archiving research data
Data vault - a platform for archiving research dataJisc
 
Project Management Project Assignment - Project Schedule & Resource Allocatio...
Project Management Project Assignment - Project Schedule & Resource Allocatio...Project Management Project Assignment - Project Schedule & Resource Allocatio...
Project Management Project Assignment - Project Schedule & Resource Allocatio...Shuchi Joshi
 
Knockout, TypeScript, and Nested Grids, Oh My!
Knockout, TypeScript, and Nested Grids, Oh My!Knockout, TypeScript, and Nested Grids, Oh My!
Knockout, TypeScript, and Nested Grids, Oh My!Sam Larko
 
Mobile Web App development multiplatform using phonegap-cordova
Mobile Web App development multiplatform using phonegap-cordovaMobile Web App development multiplatform using phonegap-cordova
Mobile Web App development multiplatform using phonegap-cordovaKhirulnizam Abd Rahman
 
Agile Network India | Event | Agile Implementation in distributed teams |
Agile Network India | Event | Agile Implementation in distributed teams | Agile Network India | Event | Agile Implementation in distributed teams |
Agile Network India | Event | Agile Implementation in distributed teams | AgileNetwork
 
Cloud for Research and Innovation - UK USA HPC workshop, Oxford, July 205
Cloud for Research and Innovation - UK USA HPC workshop, Oxford, July 205Cloud for Research and Innovation - UK USA HPC workshop, Oxford, July 205
Cloud for Research and Innovation - UK USA HPC workshop, Oxford, July 205Martin Hamilton
 

Similar to Oranges are not the only fruit (Alternative Solutions for Providing Additional Functionality in your Xpages Apps) (20)

ITB2019 ColdBox APIs + VueJS - powering Mobile, Desktop and Web Apps with 1 V...
ITB2019 ColdBox APIs + VueJS - powering Mobile, Desktop and Web Apps with 1 V...ITB2019 ColdBox APIs + VueJS - powering Mobile, Desktop and Web Apps with 1 V...
ITB2019 ColdBox APIs + VueJS - powering Mobile, Desktop and Web Apps with 1 V...
 
Out of the Blue - the Workflow in Bluemix Development
Out of the Blue - the Workflow in Bluemix DevelopmentOut of the Blue - the Workflow in Bluemix Development
Out of the Blue - the Workflow in Bluemix Development
 
2017 Q2 uPortal Open Source Support Briefing
2017 Q2 uPortal Open Source Support Briefing2017 Q2 uPortal Open Source Support Briefing
2017 Q2 uPortal Open Source Support Briefing
 
Introduction to Angular
Introduction to AngularIntroduction to Angular
Introduction to Angular
 
How You Convince Your Manager To Adopt Scala.js in Production
How You Convince Your Manager To Adopt Scala.js in ProductionHow You Convince Your Manager To Adopt Scala.js in Production
How You Convince Your Manager To Adopt Scala.js in Production
 
Vles Are For More Than Objects 2003 Version
Vles Are For More Than Objects 2003 VersionVles Are For More Than Objects 2003 Version
Vles Are For More Than Objects 2003 Version
 
Some essential moodle 2 plugins pecha kucha 2012
Some essential moodle 2 plugins   pecha kucha 2012Some essential moodle 2 plugins   pecha kucha 2012
Some essential moodle 2 plugins pecha kucha 2012
 
Citizen Science Architecture: A Standards Based Approach
Citizen Science Architecture: A Standards Based ApproachCitizen Science Architecture: A Standards Based Approach
Citizen Science Architecture: A Standards Based Approach
 
Agile4 com method-uk_v3.675
Agile4 com method-uk_v3.675Agile4 com method-uk_v3.675
Agile4 com method-uk_v3.675
 
What's New and Next in OpenNTF Domino API (ICON UK 2014)
What's New and Next in OpenNTF Domino API (ICON UK 2014)What's New and Next in OpenNTF Domino API (ICON UK 2014)
What's New and Next in OpenNTF Domino API (ICON UK 2014)
 
DMPonline overview, OpenAIRE/COAR 2014
DMPonline overview, OpenAIRE/COAR 2014DMPonline overview, OpenAIRE/COAR 2014
DMPonline overview, OpenAIRE/COAR 2014
 
Enabling Open Source for the Enterprise Breakfast Event in NYC - June 17, 2014
Enabling Open Source for the Enterprise Breakfast Event in NYC - June 17, 2014Enabling Open Source for the Enterprise Breakfast Event in NYC - June 17, 2014
Enabling Open Source for the Enterprise Breakfast Event in NYC - June 17, 2014
 
Software Engineering for Startups (University of St Andrews, 2013)
Software Engineering for Startups (University of St Andrews, 2013)Software Engineering for Startups (University of St Andrews, 2013)
Software Engineering for Startups (University of St Andrews, 2013)
 
J1 2015 "Building a Microservice Ecosystem: Some Assembly Still Required"
J1 2015 "Building a Microservice Ecosystem: Some Assembly Still Required"J1 2015 "Building a Microservice Ecosystem: Some Assembly Still Required"
J1 2015 "Building a Microservice Ecosystem: Some Assembly Still Required"
 
Data vault - a platform for archiving research data
Data vault - a platform for archiving research dataData vault - a platform for archiving research data
Data vault - a platform for archiving research data
 
Project Management Project Assignment - Project Schedule & Resource Allocatio...
Project Management Project Assignment - Project Schedule & Resource Allocatio...Project Management Project Assignment - Project Schedule & Resource Allocatio...
Project Management Project Assignment - Project Schedule & Resource Allocatio...
 
Knockout, TypeScript, and Nested Grids, Oh My!
Knockout, TypeScript, and Nested Grids, Oh My!Knockout, TypeScript, and Nested Grids, Oh My!
Knockout, TypeScript, and Nested Grids, Oh My!
 
Mobile Web App development multiplatform using phonegap-cordova
Mobile Web App development multiplatform using phonegap-cordovaMobile Web App development multiplatform using phonegap-cordova
Mobile Web App development multiplatform using phonegap-cordova
 
Agile Network India | Event | Agile Implementation in distributed teams |
Agile Network India | Event | Agile Implementation in distributed teams | Agile Network India | Event | Agile Implementation in distributed teams |
Agile Network India | Event | Agile Implementation in distributed teams |
 
Cloud for Research and Innovation - UK USA HPC workshop, Oxford, July 205
Cloud for Research and Innovation - UK USA HPC workshop, Oxford, July 205Cloud for Research and Innovation - UK USA HPC workshop, Oxford, July 205
Cloud for Research and Innovation - UK USA HPC workshop, Oxford, July 205
 

Recently uploaded

why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 

Recently uploaded (20)

why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Exploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the ProcessExploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the Process
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 

Oranges are not the only fruit (Alternative Solutions for Providing Additional Functionality in your Xpages Apps)

  • 1. UKLUG 2012 – Cardiff, Wales @matthew_fyleman@matthew_fyleman September 2012 Presenter: Matthew Fyleman Company: We4IT Group Alternative Solutions for Providing Additional Functionality in your Xpages Apps Oranges are not the only fruit
  • 2. UKLUG 2012 – Cardiff, Wales @matthew_fyleman@matthew_fyleman Agenda •About me •Beyond the borders of OpenNTF: •Bootstrap alternatives •Charting components •Calendar views •Office integration •Questions
  • 3. UKLUG 2012 – Cardiff, Wales @matthew_fyleman@matthew_fyleman About Me •Senior Developer and Product Manager for We4IT •Over 22 years as an IBM Domino Developer •Now working almost entirely with Xpages •Film addict!
  • 4. UKLUG 2012 – Cardiff, Wales @matthew_fyleman@matthew_fyleman Beyond the borders of OpenNTF •OpenNTF is an excellent resource!!! - but it doesn’t have all the answers •Why would you want to do this? o Solution unavailable o Deployment restrictions o Differentiation
  • 5. UKLUG 2012 – Cardiff, Wales @matthew_fyleman@matthew_fyleman Bootstrap Alternatives Foundation http://foundation.zurb.com For Very nice base style Against Heavyweight Utilises SASS, jQuery, Foundation Icon Fonts Features Grids, UI elements, Customiser Supports IE 9+
  • 6. UKLUG 2012 – Cardiff, Wales @matthew_fyleman@matthew_fyleman Bootstrap Alternatives Pure http://purecss.io For Super lightweight Against No LESS/SASS Utilises jQuery Features Grids, Basic UI elements Supports IE 7+
  • 7. UKLUG 2012 – Cardiff, Wales @matthew_fyleman@matthew_fyleman Bootstrap Alternatives UIKit http://getuikit.com/ For Very simple structure Easy to style Against Not commonly used Utilises jQuery Features Grids, UI elements, Themeroller Supports IE 9+
  • 8. UKLUG 2012 – Cardiff, Wales @matthew_fyleman@matthew_fyleman Bootstrap
  • 9. UKLUG 2012 – Cardiff, Wales @matthew_fyleman@matthew_fyleman Foundation
  • 10. UKLUG 2012 – Cardiff, Wales @matthew_fyleman@matthew_fyleman Pure
  • 11. UKLUG 2012 – Cardiff, Wales @matthew_fyleman@matthew_fyleman UIKit
  • 12. UKLUG 2012 – Cardiff, Wales @matthew_fyleman@matthew_fyleman Bootstrap Alternatives •Bootstrap4XPages can generally be implemented faster •By implementing an alternative … • Committing to a little more work • Can achieve a more individual result • Potentially a nicer result (of course subjective)
  • 13. UKLUG 2012 – Cardiff, Wales @matthew_fyleman@matthew_fyleman Bootstrap Alternatives We use UIKit: <script src="js/jquery.min.js"></script> <script src="js/uikit.min.js"></script> <link rel="stylesheet" href="css/uikit.min.css"> <div class="uk-container"> <div class="uk-grid"> <div class="uk-width-1-3"></div> <div class="uk-width-1-3"></div> <div class="uk-width-1-3"></div> </div> </div> DocType = HTML5
  • 14. UKLUG 2012 – Cardiff, Wales @matthew_fyleman@matthew_fyleman Bootstrap Alternatives Demo
  • 15. UKLUG 2012 – Cardiff, Wales @matthew_fyleman@matthew_fyleman Charting Components Projects on OpenNTF use: jqPlot http://www.jqplot.com JFreeChart http://www.jfree.org/jfreechart/ dojox.charting http://dojotoolkit.org/reference-guide/1.10/dojox/charting.html
  • 16. UKLUG 2012 – Cardiff, Wales @matthew_fyleman@matthew_fyleman Charting Components Alternative Chart.js http://www.chartjs.org • Dynamic • Responsive • IE9+ and all modern Browsers Example code: <canvas id="canvas" height="450" width="600"></canvas> var ctx = document.getElementById("canvas").getContext("2d"); new Chart(ctx).Line(JSONOBJECT, {responsive: true});
  • 17. UKLUG 2012 – Cardiff, Wales @matthew_fyleman@matthew_fyleman Charting Components Demo 1
  • 18. UKLUG 2012 – Cardiff, Wales @matthew_fyleman@matthew_fyleman Charting Components Dynamically loading values: XAgent for the rest Service: http://openntf.org/XSnippets.nsf/snippet.xsp?id=xagent JSON – generate with Simple: https://code.google.com/p/json-simple/
  • 19. UKLUG 2012 – Cardiff, Wales @matthew_fyleman@matthew_fyleman Charting Components Demo 2
  • 20. UKLUG 2012 – Cardiff, Wales @matthew_fyleman@matthew_fyleman Charting Components AMD - Loader problem From Sven Hasselbach: “Looks like an AMD loader problem with Dojo & JQM. I have tried out to disable the Factory scan in a test page and this worked for me. To do this I have added the following parameters in the xsp.properties: xsp.client.script.dojo.djConfig=dojo-amd-factory-scan: false Maybe this can help you with your problems in ND9.” Three solutions…
  • 21. UKLUG 2012 – Cardiff, Wales @matthew_fyleman@matthew_fyleman Charting Components AMD - Loader problem – Solution 1 Change the JavaScript Library:
  • 22. UKLUG 2012 – Cardiff, Wales @matthew_fyleman@matthew_fyleman Charting Components AMD - Loader problem – Solution 2 Change the xsp.properties: http://xomino.com/2013/05/14/xpages-nd9-dojo-1-8-does-not-work- with-other-amd-loaders-and-the-work-around/ xsp.client.script.dojo.djConfig=dojo-amd-factory-scan: false
  • 23. UKLUG 2012 – Cardiff, Wales @matthew_fyleman@matthew_fyleman Charting Components AMD - Loader problem Change the order in which the scripts are loaded: http://hasselba.ch/blog/?p=1216 Only works if the scripts are consolidated:.
  • 24. UKLUG 2012 – Cardiff, Wales @matthew_fyleman@matthew_fyleman Charting Components Demo 3
  • 25. UKLUG 2012 – Cardiff, Wales @matthew_fyleman@matthew_fyleman Calendar views FullCalendar http://fullcalendar.io Utilises jQuery, moment.js Supports IE8+
  • 26. UKLUG 2012 – Cardiff, Wales @matthew_fyleman@matthew_fyleman Calendar views FullCalendar http://fullcalendar.io Utilises jQuery, moment.js Supports IE8+ Sample Code <div id='calendar'></div> $('#calendar').fullCalendar();
  • 27. UKLUG 2012 – Cardiff, Wales @matthew_fyleman@matthew_fyleman Calendar views Demo 1
  • 28. UKLUG 2012 – Cardiff, Wales @matthew_fyleman@matthew_fyleman Calendar views Dynamically loading values: XAgent for the rest Service: http://openntf.org/XSnippets.nsf/snippet.xsp?id=xagent JSON – generate with Simple: https://code.google.com/p/json-simple/
  • 29. UKLUG 2012 – Cardiff, Wales @matthew_fyleman@matthew_fyleman Calendar views Demo 2
  • 30. UKLUG 2012 – Cardiff, Wales @matthew_fyleman@matthew_fyleman Office Integration docx4j http://www.docx4java.org/ For •Still supported and developed, better handling of .docx files •HTML can be included (Rich Text) Against •No .doc support, exclusively .docx (.pptx, .xlsx)
  • 31. UKLUG 2012 – Cardiff, Wales @matthew_fyleman@matthew_fyleman Office Integration Demo
  • 32. UKLUG 2012 – Cardiff, Wales @matthew_fyleman@matthew_fyleman Office Integration – Problem 1 Security exception occurred servicing request for: /demo.xsp - HTTP Code: 403 You need to adjust the java security policy: [notes program]/jvm/lib/security/java.policy Solution 1: Only for Developers! (and 8.5.x users) grant { permission java.security.AllPermission; }; Solution 2: The better way: grant codeBase "xspnsf://server:0/yourdatabase.nsf/-" { permission java.security.AllPermission; }; See Stephan Wissel’s blog: http://www.wissel.net/blog/d6plinks/SHWL-8JYAT5
  • 33. UKLUG 2012 – Cardiff, Wales @matthew_fyleman@matthew_fyleman Office Integration – Problem 2 After downloading the file once, the page stops responding Solution: CSJS: XSP.allowSubmit();
  • 34. UKLUG 2012 – Cardiff, Wales @matthew_fyleman@matthew_fyleman Questions?
  • 35. UKLUG 2012 – Cardiff, Wales @matthew_fyleman@matthew_fyleman Attend our next session to win a BB-8 Sphero!: Today, 13:30, Room 1 Simon Peek - „Need XPages apps fast? Need apps on Mobile devices? Don’t have XPages knowledge? We4IT brings you Aveedo!”
  • 36. UKLUG 2012 – Cardiff, Wales @matthew_fyleman@matthew_fyleman Matthew Fyleman We4IT Group email: matthew.fyleman@we4it.com :