10 things you're not doing [ibm lotus notes domino application development]

Download 10 Things You're Not Doing [IBM Lotus Notes Domino Application Development]

If you can't read please download the document

Upload: chris-toohey

Post on 16-Apr-2017

3.076 views

Category:

Documents


2 download

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