break your designer dependency
TRANSCRIPT
Dev03Break Your Domino Designer Dependency
Keith Strickland
Challenge the way you think about Notes data
Change the way you approach your next project
Change the way you develop applications for Notes Data
We Talking About?
What Are
No More DesignerWe’re Talking About
CustomizationWe’re Talking About
AutomationWe’re Talking About
FreedomWe’re Talking About
The ToolsWe’re Talking About
Base RequirementsIBM Domino Server with DDS Enabled
NSF with DDS Enabled for Views and Documents and possibly a custom servlet
Willingness and determination to learn
Desired OutcomesA custom JavaScript application running from anywhere other than within an NSF and we didn’t have to open Domino Designer to get there.
Where to get started?
Application Layer
REST API
HTML 5Structure
CSS 3Style
JavaScriptBehaviourD
omino
Web Application
Architecture
Dev Ops
Dev Ops ToolsSublime Text
Node.js
Yeoman
Bower
Grunt/Gulp
Atlassian Suite
Sublime Text – What?
Text Editor
JavaScript IDE
Sublime Text – Why?
Productivi
ty
Sublime Text v DDEThe JavaScript editor
sucks
Sublime Text – Demo
Node.js – What?
JavaScript driven web server
Node.js – Why?
Almost every tool we’ll be using depends on Node.js.
Yeoman – What?Automated application scaffolding tool
Yeoman – Why?
One Day 10-15 minutes
Yeoman v XPages
Starter Template
Yeoman – Demo
Bower – What?Manage
s Applicatio
n dependencie
s
Bower – Why?
Saves
TimePrevents Mistakes
Bower v XPages
In XPages…
Everything is Manual
Bower – Demo
Grunt/Gulp – What?
TaskRunners
Grunt/Gulp – Why?
Productivity
Less Mistakes
Grunt/Gulp v XPages
XPages doesn’t compile LESS or
SASS code
Grunt/Gulp - Demo
GIT – What?
Source Code Management
GIT – Why?
Disaster Recovery
Team Development
GIT v XPages
On Disk Project
Jira – What?
TicketingAgile Development
Process
Confluence – What?
Wiki
Bamboo – What?
Continuous Integration
Server
Atlassian – Why?
Productivity
Integration
Price
Atlassian v XPages
Connections?
Application Level Technologies
JavaScriptUniversa
l programming language for
web browsers
jQuery
The new JavaScript
Backbone.js
Single Page
ApplicationsMVC Model
Marionette.js
Builds on Backbone.js
Require.js
Runtime Dependenc
y Manageme
nt
Polymer
Google’s implementation
of Web
Componentsand Material
Design
XPages (Combo Box)
<table role="presentation" id="view:_id1:comboBox1"> <tbody> <tr> <td>Test 2</td> </tr> </tbody></table>
<span class="fieldValue">Test 2</span>
Modern
Flexible
Well Engineered
Non-Proprietary
Career Enhancing