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

Chris Toohey
Chris TooheyAuthor / Speaker / Consultant at dominoGuru.com
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
Overview ,[object Object]
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”: ,[object Object]
UI/UX Design “ Project Champions” will evangelize your work, manage scope creep, and feel personally invested in the project!
1 of 13

Recommended

IBM Lotus Notes Domino XPages and XPages for Mobile by
IBM Lotus Notes Domino XPages and XPages for MobileIBM Lotus Notes Domino XPages and XPages for Mobile
IBM Lotus Notes Domino XPages and XPages for MobileChris Toohey
2.4K views49 slides
Fast by Default by
Fast by DefaultFast by Default
Fast by DefaultAbhay Kumar
3.5K views66 slides
What's new in Rails 2? by
What's new in Rails 2?What's new in Rails 2?
What's new in Rails 2?brynary
6.8K views61 slides
Flash Templates- Joomla!Days NL 2009 #jd09nl by
Flash Templates- Joomla!Days NL 2009 #jd09nlFlash Templates- Joomla!Days NL 2009 #jd09nl
Flash Templates- Joomla!Days NL 2009 #jd09nlJoomla!Days Netherlands
846 views22 slides
Game Development Using HTML 5 by
Game Development Using HTML 5Game Development Using HTML 5
Game Development Using HTML 5osa_ora
2.3K views129 slides
Use Web Skills To Build Mobile Apps by
Use Web Skills To Build Mobile AppsUse Web Skills To Build Mobile Apps
Use Web Skills To Build Mobile AppsNathan Smith
8.7K views82 slides

More Related Content

What's hot

Gadgets Intro (Plus Mapplets) by
Gadgets Intro (Plus Mapplets)Gadgets Intro (Plus Mapplets)
Gadgets Intro (Plus Mapplets)Pamela Fox
557 views9 slides
Building Secure Twitter Apps by
Building Secure Twitter AppsBuilding Secure Twitter Apps
Building Secure Twitter AppsDamon Cortesi
1.5K views30 slides
DevDays09 Internet Explorer 8 by
DevDays09 Internet Explorer 8DevDays09 Internet Explorer 8
DevDays09 Internet Explorer 8Konstantinos Pantos
1.5K views27 slides
Rey Bango - HTML5: polyfills and shims by
Rey Bango -  HTML5: polyfills and shimsRey Bango -  HTML5: polyfills and shims
Rey Bango - HTML5: polyfills and shimsStarTech Conference
787 views52 slides
PHP 5 Sucks. PHP 5 Rocks. by
PHP 5 Sucks. PHP 5 Rocks.PHP 5 Sucks. PHP 5 Rocks.
PHP 5 Sucks. PHP 5 Rocks.Adam Trachtenberg
1.8K views52 slides
From jQuery to App Store in 30 Minutes by
From jQuery to App Store in 30 MinutesFrom jQuery to App Store in 30 Minutes
From jQuery to App Store in 30 Minutesedill3484
1.4K views26 slides

What's hot(19)

Gadgets Intro (Plus Mapplets) by Pamela Fox
Gadgets Intro (Plus Mapplets)Gadgets Intro (Plus Mapplets)
Gadgets Intro (Plus Mapplets)
Pamela Fox557 views
Building Secure Twitter Apps by Damon Cortesi
Building Secure Twitter AppsBuilding Secure Twitter Apps
Building Secure Twitter Apps
Damon Cortesi1.5K views
From jQuery to App Store in 30 Minutes by edill3484
From jQuery to App Store in 30 MinutesFrom jQuery to App Store in 30 Minutes
From jQuery to App Store in 30 Minutes
edill34841.4K views
Enterprise Google Gadgets Integrated with Alfresco - Open Source ECM by Alfresco Software
Enterprise Google Gadgets Integrated with Alfresco - Open Source ECM Enterprise Google Gadgets Integrated with Alfresco - Open Source ECM
Enterprise Google Gadgets Integrated with Alfresco - Open Source ECM
Alfresco Software3.3K views
Page Caching Resurrected by Ben Scofield
Page Caching ResurrectedPage Caching Resurrected
Page Caching Resurrected
Ben Scofield4.5K views
Class 1 handout (2) html exercises by Erin M. Kidwell
Class 1 handout (2) html exercisesClass 1 handout (2) html exercises
Class 1 handout (2) html exercises
Erin M. Kidwell3.9K views
HTML5 workshop, part 1 by Robert Nyman
HTML5 workshop, part 1HTML5 workshop, part 1
HTML5 workshop, part 1
Robert Nyman5.7K views
Grails and Dojo by Sven Haiges
Grails and DojoGrails and Dojo
Grails and Dojo
Sven Haiges3.1K views
Progressive Web Apps: o melhor da Web appficada by Caelum
Progressive Web Apps: o melhor da Web appficadaProgressive Web Apps: o melhor da Web appficada
Progressive Web Apps: o melhor da Web appficada
Caelum75.8K views
All you need to know about JavaScript loading and execution in the browser - ... by Caelum
All you need to know about JavaScript loading and execution in the browser - ...All you need to know about JavaScript loading and execution in the browser - ...
All you need to know about JavaScript loading and execution in the browser - ...
Caelum13.6K views
User Experience is dead. Long live the user experience! by Greg Bell
User Experience is dead. Long live the user experience!User Experience is dead. Long live the user experience!
User Experience is dead. Long live the user experience!
Greg Bell1.5K views
Performance as User Experience [An Event Apart Denver 2017] by Aaron Gustafson
Performance as User Experience [An Event Apart Denver 2017]Performance as User Experience [An Event Apart Denver 2017]
Performance as User Experience [An Event Apart Denver 2017]
Aaron Gustafson647 views
WordPress Standardized Loop API by Chris Jean
WordPress Standardized Loop APIWordPress Standardized Loop API
WordPress Standardized Loop API
Chris Jean2.6K views

Viewers also liked

AD201: IBM Domino Application Development Today And Tomorrow by
AD201: IBM Domino Application Development Today And TomorrowAD201: IBM Domino Application Development Today And Tomorrow
AD201: IBM Domino Application Development Today And TomorrowMartin Donnelly
1.7K views39 slides
AD201 - IBM Domino Application Development Today And Tomorrow by
AD201 - IBM Domino Application Development Today And TomorrowAD201 - IBM Domino Application Development Today And Tomorrow
AD201 - IBM Domino Application Development Today And Tomorrowpjanzen11
3.6K views36 slides
Lotus Notes 8.5 version to version comparison by
Lotus Notes 8.5 version to version comparisonLotus Notes 8.5 version to version comparison
Lotus Notes 8.5 version to version comparisonEd Brill
9.2K views17 slides
Presentation about Lotus Notes 8 functionality by
Presentation about Lotus Notes 8 functionalityPresentation about Lotus Notes 8 functionality
Presentation about Lotus Notes 8 functionalitydominion
4.3K views65 slides
UKLUG - IBM Lotus Notes/Domino Application Development Competitive Advantage ... by
UKLUG - IBM Lotus Notes/Domino Application Development Competitive Advantage ...UKLUG - IBM Lotus Notes/Domino Application Development Competitive Advantage ...
UKLUG - IBM Lotus Notes/Domino Application Development Competitive Advantage ...John Head
2.4K views116 slides
Overview of lotus notes/domino 8.5 by
Overview of lotus notes/domino 8.5Overview of lotus notes/domino 8.5
Overview of lotus notes/domino 8.5Nilabh Verma
2.4K views33 slides

Viewers also liked(7)

AD201: IBM Domino Application Development Today And Tomorrow by Martin Donnelly
AD201: IBM Domino Application Development Today And TomorrowAD201: IBM Domino Application Development Today And Tomorrow
AD201: IBM Domino Application Development Today And Tomorrow
Martin Donnelly1.7K views
AD201 - IBM Domino Application Development Today And Tomorrow by pjanzen11
AD201 - IBM Domino Application Development Today And TomorrowAD201 - IBM Domino Application Development Today And Tomorrow
AD201 - IBM Domino Application Development Today And Tomorrow
pjanzen113.6K views
Lotus Notes 8.5 version to version comparison by Ed Brill
Lotus Notes 8.5 version to version comparisonLotus Notes 8.5 version to version comparison
Lotus Notes 8.5 version to version comparison
Ed Brill9.2K views
Presentation about Lotus Notes 8 functionality by dominion
Presentation about Lotus Notes 8 functionalityPresentation about Lotus Notes 8 functionality
Presentation about Lotus Notes 8 functionality
dominion4.3K views
UKLUG - IBM Lotus Notes/Domino Application Development Competitive Advantage ... by John Head
UKLUG - IBM Lotus Notes/Domino Application Development Competitive Advantage ...UKLUG - IBM Lotus Notes/Domino Application Development Competitive Advantage ...
UKLUG - IBM Lotus Notes/Domino Application Development Competitive Advantage ...
John Head2.4K views
Overview of lotus notes/domino 8.5 by Nilabh Verma
Overview of lotus notes/domino 8.5Overview of lotus notes/domino 8.5
Overview of lotus notes/domino 8.5
Nilabh Verma2.4K views
Introducing IBM Lotus Notes and Domino 8.5 by Thomas Coustenoble
Introducing IBM Lotus Notes and Domino 8.5Introducing IBM Lotus Notes and Domino 8.5
Introducing IBM Lotus Notes and Domino 8.5
Thomas Coustenoble21.8K views

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

Flash templates for Joomla! by
Flash templates for Joomla!Flash templates for Joomla!
Flash templates for Joomla!Herman Peeren
3.3K views22 slides
Ruby & Python with Silverlight O RLY? YA RLY! by
Ruby & Python with Silverlight O RLY? YA RLY!Ruby & Python with Silverlight O RLY? YA RLY!
Ruby & Python with Silverlight O RLY? YA RLY!Martha Rotter
1.2K views18 slides
Building Complex GUI Apps The Right Way. With Ample SDK - SWDC2010 by
Building Complex GUI Apps The Right Way. With Ample SDK - SWDC2010Building Complex GUI Apps The Right Way. With Ample SDK - SWDC2010
Building Complex GUI Apps The Right Way. With Ample SDK - SWDC2010Sergey Ilinsky
1.5K views24 slides
Developing and testing ajax components by
Developing and testing ajax componentsDeveloping and testing ajax components
Developing and testing ajax componentsIgnacio Coloma
2.1K views31 slides
Silver Light By Nyros Developer by
Silver Light By Nyros DeveloperSilver Light By Nyros Developer
Silver Light By Nyros DeveloperNyros Technologies
893 views18 slides
Creating Yahoo Mobile Widgets by
Creating Yahoo Mobile WidgetsCreating Yahoo Mobile Widgets
Creating Yahoo Mobile WidgetsRicardo Varela
1.7K views35 slides

Similar to 10 Things You're Not Doing [IBM Lotus Notes Domino Application Development](20)

Flash templates for Joomla! by Herman Peeren
Flash templates for Joomla!Flash templates for Joomla!
Flash templates for Joomla!
Herman Peeren3.3K views
Ruby & Python with Silverlight O RLY? YA RLY! by Martha Rotter
Ruby & Python with Silverlight O RLY? YA RLY!Ruby & Python with Silverlight O RLY? YA RLY!
Ruby & Python with Silverlight O RLY? YA RLY!
Martha Rotter1.2K views
Building Complex GUI Apps The Right Way. With Ample SDK - SWDC2010 by Sergey Ilinsky
Building Complex GUI Apps The Right Way. With Ample SDK - SWDC2010Building Complex GUI Apps The Right Way. With Ample SDK - SWDC2010
Building Complex GUI Apps The Right Way. With Ample SDK - SWDC2010
Sergey Ilinsky1.5K views
Developing and testing ajax components by Ignacio Coloma
Developing and testing ajax componentsDeveloping and testing ajax components
Developing and testing ajax components
Ignacio Coloma2.1K views
Creating Yahoo Mobile Widgets by Ricardo Varela
Creating Yahoo Mobile WidgetsCreating Yahoo Mobile Widgets
Creating Yahoo Mobile Widgets
Ricardo Varela1.7K views
jQuery Performance Rules by nagarajhubli
jQuery Performance RulesjQuery Performance Rules
jQuery Performance Rules
nagarajhubli457 views
HTML5 Overview by reybango
HTML5 OverviewHTML5 Overview
HTML5 Overview
reybango1.7K views
Real-World AJAX with ASP.NET by goodfriday
Real-World AJAX with ASP.NETReal-World AJAX with ASP.NET
Real-World AJAX with ASP.NET
goodfriday2.2K views
Mechanize at the Ruby Drink-up of Sophia, November 2011 by rivierarb
Mechanize at the Ruby Drink-up of Sophia, November 2011Mechanize at the Ruby Drink-up of Sophia, November 2011
Mechanize at the Ruby Drink-up of Sophia, November 2011
rivierarb2.4K views
Building apps for multiple devices by Terry Ryan
Building apps for multiple devicesBuilding apps for multiple devices
Building apps for multiple devices
Terry Ryan4.1K views
Even Faster Web Sites at jQuery Conference '09 by Steve Souders
Even Faster Web Sites at jQuery Conference '09Even Faster Web Sites at jQuery Conference '09
Even Faster Web Sites at jQuery Conference '09
Steve Souders1.2K views
Beholding the giant pyramid of application development; why Ajax applications... by Javeline B.V.
Beholding the giant pyramid of application development; why Ajax applications...Beholding the giant pyramid of application development; why Ajax applications...
Beholding the giant pyramid of application development; why Ajax applications...
Javeline B.V.552 views
Interoperable Web Services with JAX-WS by Carol McDonald
Interoperable Web Services with JAX-WSInteroperable Web Services with JAX-WS
Interoperable Web Services with JAX-WS
Carol McDonald4.9K views
Boston Computing Review - Ruby on Rails by John Brunswick
Boston Computing Review - Ruby on RailsBoston Computing Review - Ruby on Rails
Boston Computing Review - Ruby on Rails
John Brunswick1.2K views
Yahoo Mobile Widgets by Jose Palazon
Yahoo Mobile WidgetsYahoo Mobile Widgets
Yahoo Mobile Widgets
Jose Palazon562 views

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

  • 1. 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
  • 2.
  • 3. Employing CSS & JavaScript Frameworks
  • 4. Coding for the User Agent
  • 5. “ Progressive Enhancement” for Software Development
  • 8. Controlling the XPage Content Type
  • 11. The Lotus Online Community
  • 12.
  • 13. UI/UX Design “ Project Champions” will evangelize your work, manage scope creep, and feel personally invested in the project!
  • 14.
  • 17. Coding for the User Agent XPage with Custom Controls <? xml version = &quot;1.0&quot; encoding = &quot;UTF-8&quot; ?> < xp:view xmlns:xp = &quot;http://www.ibm.com/xsp/core&quot; xmlns:xc = &quot;http://www.ibm.com/xsp/custom&quot; pageTitle = &quot;#{javascript:database.title;}&quot; createForm = &quot;false&quot; > < xp:this.resources > < xp:script src = &quot;/core.jss&quot; clientSide = &quot;false&quot; ></ xp:script > </ xp:this.resources > < xc:index_Android loaded = &quot;${javascript:return render('android');}&quot; ></ xc:index_Android > < xc:index_BlackBerry_OS5 loaded = &quot;${javascript:return render('blackberry');}&quot; ></ xc:index_BlackBerry_OS5 > < xc:index_BlackBerry_OS6 loaded = &quot;${javascript:return render('blackberrywebkit');}&quot; ></ xc:index_BlackBerry_OS6 > < xc:index_Browser loaded = &quot;${javascript:return render('browser');}&quot; ></ xc:index_Browser > < xc:index_iPad loaded = &quot;${javascript:return render('ipad');}&quot; ></ xc:index_iPad > < xc:index_iPhone loaded = &quot;${javascript:return render('iphone');}&quot; ></ xc:index_iPhone > </ xp:view > SSJS render() Function function render(key) { render = false ; var ua = header .get( &quot;User-Agent&quot; ); var ua = ua.toLowerCase(); switch (key) { case &quot;browser&quot; : if (ua.indexOf( 'android' ) == -1 && ua.indexOf( 'iphone' ) == -1 && ua.indexOf( 'ipad' ) == -1 && ua.indexOf( 'blackberry' ) == -1) { render = true ; }; break ; case &quot;blackberrywebkit&quot; : if (ua.indexOf( 'blackberry' ) != -1 && ua.indexOf( 'webkit' ) != -1) { render = true ; }; break ; default : if (ua.indexOf(key) != -1) { var render = true ; } break ; } return render; }
  • 18. “ 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 < script > var clng = getLongitude(); var clat = getLatitude(); var message = document.getElementById(&quot;message&quot;); message.innerHTML=&quot; < li > Longitude: &quot; + clng + &quot; </ li > &quot;; message.innerHTML+=&quot; < li > Latitude: &quot; + clat + &quot; </ li > &quot;; </ script >
  • 19. Cloud Services Integration Most “Cloud Services” expose their solution via integration APIs... but are often even more simple to employ. REALLY Simple: < iframe width = &quot;425&quot; height = &quot;350&quot; frameborder = &quot;0&quot; scrolling = &quot;no&quot; marginheight = &quot;0&quot; marginwidth = &quot;0&quot; src = &quot;http://maps.google.com/maps?f=q&amp;source=s_q&amp;hl=en&amp;q=dolphin+hotel, +disney&amp;aq=&amp;sll=28.367235,-81.559539&amp;sspn=0.006278,0.011362&amp;ie=UTF8 &amp;rq=1&amp;ev=zo&amp;split=1&amp;t=h&amp;radius=0.41&amp;hq=dolphin+hotel,+disney &amp;hnear=&amp;ll=28.369057,-81.560633&amp;spn=0.003738,0.005783&amp;output=embed&quot; > </ iframe >
  • 20.
  • 23.
  • 24. Controlling the XPage Content Type One-click Microsoft Excel (or Symphony Spreadsheets) via XPages and SSJS <? xml version = &quot;1.0&quot; encoding = &quot;UTF-8&quot; ?> < xp:view xmlns:xp = &quot;http://www.ibm.com/xsp/core&quot; rendered = &quot;false&quot; > < xp:this.afterRenderResponse ><![CDATA[ #{javascript:var exCon = facesContext.getExternalContext(); 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 = &quot;&quot;; while (viewEnt != null) { output += &quot;<tr>&quot;; output += &quot;<td>&quot; + viewEnt.getColumnValues()[0]; + &quot;</td>&quot;; output += &quot;<td>&quot; + viewEnt.getColumnValues()[2] + &quot;</td>&quot;; output += &quot;<td>&quot; + viewEnt.getColumnValues()[1] + &quot;</td>&quot;; output += &quot;<td>&quot; + viewEnt.getColumnValues()[3] + &quot;</td>&quot;; output += &quot;</tr>&quot;; viewEnt = viewNav.getNext(viewEnt); } response.setContentType(&quot;application/vnd.ms-excel&quot;); response.setHeader(&quot;Content-disposition&quot;, &quot;attachment; filename=projects.xls&quot;); response.setHeader(&quot;Cache-Control&quot;, &quot;no-cache&quot;); writer.write(&quot;<table>&quot;); writer.write(&quot;<thead><tr>&quot;); writer.write(&quot;<td><b>Project</b></td>&quot;); writer.write(&quot;<td><b>Developer</b></td>&quot;); writer.write(&quot;<td><b>Estimate ( Hours )</b></td>&quot;); writer.write(&quot;<td><b>Estimate ( Budget )</b></td>&quot;); writer.write(&quot;</tr></thead>&quot;); writer.write(output); writer.write(&quot;</table>&quot;); writer.endDocument();} ]]></ xp:this.afterRenderResponse > </ xp:view >
  • 25. Leveraging Pass-Thru Markup in XPages Inline Markup including HTML, CSS, JavaScript, XML combined with native XPages markup: <? xml version = &quot;1.0&quot; encoding = &quot;UTF-8&quot; ?> < xp:view xmlns:xp = &quot;http://www.ibm.com/xsp/core&quot; createForm = &quot;false&quot; pageTitle = &quot;iPages&quot; > < xp:this.data > < xp:dominoDocument var = &quot;thisdoc&quot; formName = &quot;document&quot; ></ xp:dominoDocument > </ xp:this.data > < xp:this.resources > < div id = &quot;topbar&quot; class = &quot;transparent&quot; > < div id = &quot;leftnav&quot; > < a href = &quot;index.xsp&quot; > < img alt = &quot;home&quot; src = &quot;images/home.png&quot; /> </ a > </ div > … Easily adopt Frameworks and extend the RAD [Rapid Application Development] output and “perceived capabilties” of the IBM Lotus Notes Domino Platform!
  • 26. 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
  • 27. 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 Professionals Lotus Professionals (3500+ Members)
  • 28. For more... Contact Me Chris Toohey Guru, GBS http://www.gbs.com My blog: dominoGuru.com Social Networking Facebook.com/christoohey Twitter.com/christoohey LinkedIn.com/christoohey

Editor's Notes

  1. Three pillars &amp; strategy Live PaaS for ISV’s (Public Cloud) Corporate Cloud (Infrastructure &amp; 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 &amp; Infrastructure Upgrades Administration Development (xPages) using framework 3