DomDisc and the Domino data api

Preview:

Citation preview

DomDiscAn Open Source Android app that

replicateswith Domino discussion databases

(Primarily) a presentation on the Domino DataService API

By Jens Bruntt – jbr@convergens.dkhttp://www.convergens.dk

Orhttp://www.jens.bruntt.dk

16/5-2013

Purpose of the DomDisc App

● Mobility by– Accessing one or multiple standard Notes

discussion databases on a Smartphone (or tablet)

– Having offline capability

– Having Create option

– Synchronizing in the background

Screen dumps from app

Installation of the DomDisc app

https://play.google.com/store/apps/details?id=org.openntf.domdisc

Or scan this:

Working with the Domino Data Service API

Domino Data Service API

● What is it?● A REST-api for IBM Domino

– PUT, POST, DEL

– JSON in and out from the service

● Lets you access and work with Notes (Documents) in NSFs hosted on Domino

Reading documents1/3 the full list of notes in the db

Sample urlhttp://dev.openntf.org/demos/domdiscdemo.nsf/api/data/documents/Returns small entries – not full notes

Reading documents 2/3

● We now have a complete list of document-references. With minimal data:– Modified date/time

– Unid

– href

● If we need the full note we can visit the href

Reading documents 3/3The full note

Next time we need to replicate basic workflow - server-to-app

● Read the same start-URL (all notes in small format) for an updated list

● Pseudo code for each UNID in the list● Have we saved this UNID before?

– Yes: Check if @modified local<> server value● Yes: get the update note and update local storage● No: ignore

– No: Get the note and save in local storage

Authentication with Domino

Getting an authentication token from Domino with SSO configuration

● POST a form that has the same content as the one seen here ->

● Response from server:– Set-Cookie: DominoAuthSessID=xyz

or– Set-Cookie: LtpaToken=abc

● Copy this value. Insert it in the HTTP header for all your GETs, POSTs

● Bob is your uncle. Domino accepts your requests - you are logged in

What happens when you click Log in

Code walkthru

More information

Test the app with openntf.org

Parameters to put in the app● Host name: dev.openntf.org● Path to database:

/demos/domdiscdemo.nsf● Username for login: your

openntf.org name● Password: your openntf.org

password● Use SSL: no● Http Port: 80

Check in browser● http://dev.openntf.org/demos/domdiscdemo.nsf

Install ->

Getting the app code

● Code is available from– Openntf.org

– https://github.com/OpenNTF/DomDIsc

● Apache License 2.0 which means:– You can copy and use the code

● Must link to the source of the code● Can create closed-source code from the source

Working with the Domino Data Service API and other technologies

used in the app

● There are pointers - links in the app source: github.com developer.txt on these subjects– Accessing Domino Data Service

– Using SPRING Rest template

– Using ActionBar Sherlock - lets you have the action bar design pattern on older Android devices

– Including libraries in Android

Recommended