Break Your Designer Dependency

Post on 08-Jan-2017

1,259 views 3 download

transcript

Dev03Break Your Domino Designer Dependency

Keith Strickland

Keith Strickland

keith@redpillnow.com

@keithstric

redpillnow.comwww

Atlanta, Georgia

Keithstric.com

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