10 things you're not doing [ibm lotus notes domino application development]
TRANSCRIPT
GBS Presents
10 Things You're Not Doing
A Developer's Guide to Simple Yet Overlooked Techniques &
Resources for the IBM Lotus Domino Application Developer
Chris Toohey
Guru, GBS
Three pillars & strategy
Live
PaaS for ISVs (Public Cloud)
Corporate Cloud (Infrastructure & PaaS)
Application Framework
Business applications
Cont. merger
Freedom of choice for the market (Saas-ified or client/server-based)
Framework
Corporate Cloud (PaaS)
Services
Hosting & Infrastructure
Upgrades
Administration
Development (xPages) using framework
3
Overview
Empowering your Project Champions with Wireframes
Employing CSS & JavaScript Frameworks
Coding for the User Agent
Progressive Enhancement for Software Development
Cloud Services Integration
Domino Designer Package Explorer
Controlling the XPage Content Type
Leveraging Pass-Thru Markup in XPages
Dev.Opera
The Lotus Online Community
Empowering your Project Champions with Wireframes
Include a business owner in the early stages:
Functional Spec
UI/UX Design
Project Champions will evangelize your work, manage scope creep, and feel personally invested in the project!
Employing CSS & JavaScript Frameworks
Create rich user experiences and interfaces, maintained by a global community!
3 simple options:Inline as File Resources
Remote/Cloud Hosted
src=http://...
Domino Server
data\domino\html\[framework]
Coding for the User Agent
XPage with Custom Controls
SSJS render() Function
function render(key) {render = false;var ua = header.get("User-Agent");var ua = ua.toLowerCase();
switch (key) {case "browser" :if(ua.indexOf('android') == -1 && ua.indexOf('iphone') == -1 && ua.indexOf('ipad') == -1 && ua.indexOf('blackberry') == -1) {render = true;};break;case "blackberrywebkit" :if(ua.indexOf('blackberry') != -1 && ua.indexOf('webkit') != -1) {render = true;};break;default :if (ua.indexOf(key) != -1) {var render = true;}break;}
return render;}
Progressive Enhancement for Software Development
Design for base functionality across all clients, but provide enhanced features & functionality based on User Agent/Client Device capabilities.
Leveraging GPS via JavaScript
var clng = getLongitude();var clat = getLatitude();var message = document.getElementById("message"); message.innerHTML="Longitude: " + clng + "";message.innerHTML+="Latitude: " + clat + "";
Cloud Services Integration
Most Cloud Services
expose their solution via
integration APIs... but are
often even more simple
to employ.
REALLY Simple:
Domino Designer Package Explorer
Explore your NSFsApplication properties
Design elements
Resources
Web content
PE != Folders | DirectoriesFolders exist to display
content in hierarchy; most
not available to OS browsing
Controlling the XPage Content Type
One-click Microsoft Excel (or Symphony Spreadsheets) via XPages and SSJS
var writer = facesContext.getResponseWriter();var response = exCon.getResponse();var projects:NotesView = database.getView('projects')var viewNav:NotesViewNavigator = projects.createViewNav();var viewEnt:NotesViewEntry = viewNav.getFirst();var output:string = "";while (viewEnt != null) { output += ""; output += "" + viewEnt.getColumnValues()[0]; + ""; output += "" + viewEnt.getColumnValues()[2] + ""; output += "" + viewEnt.getColumnValues()[1] + ""; output += "" + viewEnt.getColumnValues()[3] + ""; output += "";viewEnt = viewNav.getNext(viewEnt);}response.setContentType("application/vnd.ms-excel");response.setHeader("Content-disposition", "attachment; filename=projects.xls");response.setHeader("Cache-Control", "no-cache");writer.write("");writer.write("");writer.write("Project");writer.write("Developer");writer.write("Estimate ( Hours )");writer.write("Estimate ( Budget )");writer.write("");writer.write(output);writer.write("");writer.endDocument();}]]>
Leveraging Pass-Thru Markup in XPages
Inline Markup including HTML, CSS, JavaScript, XML combined with native XPages markup:
Easily adopt Frameworks and extend the RAD [Rapid Application Development] output and perceived capabilties of the IBM Lotus Notes Domino Platform!
Dev.Opera
HTML, CSS, JavaScript, XML, and more!
The premier destination to learn HTML5, CSS3, SVG, JavaScript, and other cutting-edge technologies and techniques from the browser with the Open Web at its core.
http://dev.opera.com
The Lotus Online Community
Connect with your fellow Lotus IT Professionals online and across the various social networks!
http://greenhouse.lotus.com [sametime.lotus.com Sametime]http://bleedyellow.com [community Sametime]http://planetlotus.org [Lotus-themed blogger community]http://twitter.com/LotusTechInfo [Official LTIE Twitter]http://facebook.com/LotusTechInfo [Official LTIE Facebook Fan & Events Page]http://linkedIn.com Groups:Lotus Notes ProfessionalsLotus Professionals (3500+ Members)
For more...
Contact Me
Chris TooheyGuru, GBShttp://www.gbs.com
My blog: dominoGuru.com
Social Networking
Facebook.com/christooheyTwitter.com/christooheyLinkedIn.com/christoohey
NEW YORK ATLANTA BOSTON TORONTO LONDON MANCHESTER COPENHAGEN FRANKFURT DRESDEN KARLSRUHE VARNA
Click to edit Master title style
Click to edit the outline text formatSecond Outline LevelThird Outline LevelFourth Outline LevelFifth Outline LevelSixth Outline LevelSeventh Outline LevelEighth Outline LevelNinth Outline Level
Click to edit Master text styles
Second level
Third level
Fourth level
Fifth level