SlideShare a Scribd company logo
1 of 18
Download to read offline
DomDisc
An Open Source Android app that
replicates
with Domino discussion databases
(Primarily) a presentation on the
Domino DataService API
By Jens Bruntt – jbr@convergens.dk
http://www.convergens.dk
Or
http://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 url
http://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/3
The 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

More Related Content

What's hot

PHP presentation - Com 585
PHP presentation - Com 585PHP presentation - Com 585
PHP presentation - Com 585jstout007
 
PHP in one presentation
PHP in one presentationPHP in one presentation
PHP in one presentationMilad Rahimi
 
Fluentd Unified Logging Layer At Fossasia
Fluentd Unified Logging Layer At FossasiaFluentd Unified Logging Layer At Fossasia
Fluentd Unified Logging Layer At FossasiaN Masahiro
 
If You Tolerate This, Your Child Processes Will Be Next
If You Tolerate This, Your Child Processes Will Be NextIf You Tolerate This, Your Child Processes Will Be Next
If You Tolerate This, Your Child Processes Will Be NextBart Leppens
 
HTML5 and Google Chrome - DevFest09
HTML5 and Google Chrome - DevFest09HTML5 and Google Chrome - DevFest09
HTML5 and Google Chrome - DevFest09mihaiionescu
 
Symfony ile Gelişmiş API Mimarisi
Symfony ile Gelişmiş API MimarisiSymfony ile Gelişmiş API Mimarisi
Symfony ile Gelişmiş API MimarisiBehram ÇELEN
 
An open source flash workflow using HaXe (2009)
An open source flash workflow using HaXe (2009)An open source flash workflow using HaXe (2009)
An open source flash workflow using HaXe (2009)dirkcuys
 
Google Chrome Extensions - DevFest09
Google Chrome Extensions - DevFest09Google Chrome Extensions - DevFest09
Google Chrome Extensions - DevFest09mihaiionescu
 
Internationalizing and localizing wordpress theme
Internationalizing and localizing  wordpress themeInternationalizing and localizing  wordpress theme
Internationalizing and localizing wordpress themeSanjip Shah
 
Basic html5 and javascript
Basic html5 and javascriptBasic html5 and javascript
Basic html5 and javascriptwendy017
 
Last Month in PHP - March 2016
Last Month in PHP - March 2016Last Month in PHP - March 2016
Last Month in PHP - March 2016Eric Poe
 
Create your on personal website - PowerPoint Presentation
Create your on personal website - PowerPoint PresentationCreate your on personal website - PowerPoint Presentation
Create your on personal website - PowerPoint Presentationwebhostingguy
 
The Ring programming language version 1.5.3 book - Part 16 of 184
The Ring programming language version 1.5.3 book - Part 16 of 184The Ring programming language version 1.5.3 book - Part 16 of 184
The Ring programming language version 1.5.3 book - Part 16 of 184Mahmoud Samir Fayed
 

What's hot (20)

PHP presentation - Com 585
PHP presentation - Com 585PHP presentation - Com 585
PHP presentation - Com 585
 
PHP in one presentation
PHP in one presentationPHP in one presentation
PHP in one presentation
 
Fluentd Unified Logging Layer At Fossasia
Fluentd Unified Logging Layer At FossasiaFluentd Unified Logging Layer At Fossasia
Fluentd Unified Logging Layer At Fossasia
 
If You Tolerate This, Your Child Processes Will Be Next
If You Tolerate This, Your Child Processes Will Be NextIf You Tolerate This, Your Child Processes Will Be Next
If You Tolerate This, Your Child Processes Will Be Next
 
Php
PhpPhp
Php
 
Php.ppt
Php.pptPhp.ppt
Php.ppt
 
HTML5 and Google Chrome - DevFest09
HTML5 and Google Chrome - DevFest09HTML5 and Google Chrome - DevFest09
HTML5 and Google Chrome - DevFest09
 
Symfony ile Gelişmiş API Mimarisi
Symfony ile Gelişmiş API MimarisiSymfony ile Gelişmiş API Mimarisi
Symfony ile Gelişmiş API Mimarisi
 
An open source flash workflow using HaXe (2009)
An open source flash workflow using HaXe (2009)An open source flash workflow using HaXe (2009)
An open source flash workflow using HaXe (2009)
 
Google Chrome Extensions - DevFest09
Google Chrome Extensions - DevFest09Google Chrome Extensions - DevFest09
Google Chrome Extensions - DevFest09
 
Internationalizing and localizing wordpress theme
Internationalizing and localizing  wordpress themeInternationalizing and localizing  wordpress theme
Internationalizing and localizing wordpress theme
 
Client–server model
Client–server modelClient–server model
Client–server model
 
SPDY
SPDY SPDY
SPDY
 
Composer
ComposerComposer
Composer
 
Flask for cs students
Flask for cs studentsFlask for cs students
Flask for cs students
 
Basic html5 and javascript
Basic html5 and javascriptBasic html5 and javascript
Basic html5 and javascript
 
Last Month in PHP - March 2016
Last Month in PHP - March 2016Last Month in PHP - March 2016
Last Month in PHP - March 2016
 
Create your on personal website - PowerPoint Presentation
Create your on personal website - PowerPoint PresentationCreate your on personal website - PowerPoint Presentation
Create your on personal website - PowerPoint Presentation
 
Inside DocBlox
Inside DocBloxInside DocBlox
Inside DocBlox
 
The Ring programming language version 1.5.3 book - Part 16 of 184
The Ring programming language version 1.5.3 book - Part 16 of 184The Ring programming language version 1.5.3 book - Part 16 of 184
The Ring programming language version 1.5.3 book - Part 16 of 184
 

Viewers also liked

Brugen af os2 kle i sbsip - os2kle workshop 3-3-2016
Brugen af os2 kle i sbsip - os2kle workshop 3-3-2016Brugen af os2 kle i sbsip - os2kle workshop 3-3-2016
Brugen af os2 kle i sbsip - os2kle workshop 3-3-2016Jens Bruntt
 
Udvikling af en app med brug af Domino Data Dervice Apiet
Udvikling af en app med brug af Domino Data Dervice ApietUdvikling af en app med brug af Domino Data Dervice Apiet
Udvikling af en app med brug af Domino Data Dervice ApietJens Bruntt
 
Decreto 170 y su aplicación en el sistema
Decreto 170 y su aplicación en el sistemaDecreto 170 y su aplicación en el sistema
Decreto 170 y su aplicación en el sistemaJeannette Cañuta
 

Viewers also liked (8)

7.decreto 170
7.decreto 1707.decreto 170
7.decreto 170
 
Brugen af os2 kle i sbsip - os2kle workshop 3-3-2016
Brugen af os2 kle i sbsip - os2kle workshop 3-3-2016Brugen af os2 kle i sbsip - os2kle workshop 3-3-2016
Brugen af os2 kle i sbsip - os2kle workshop 3-3-2016
 
Udvikling af en app med brug af Domino Data Dervice Apiet
Udvikling af en app med brug af Domino Data Dervice ApietUdvikling af en app med brug af Domino Data Dervice Apiet
Udvikling af en app med brug af Domino Data Dervice Apiet
 
Decreto 170 y su aplicación en el sistema
Decreto 170 y su aplicación en el sistemaDecreto 170 y su aplicación en el sistema
Decreto 170 y su aplicación en el sistema
 
Decreto 170
Decreto 170Decreto 170
Decreto 170
 
Presentación Decreto 170 y Ley Sep
Presentación Decreto 170 y Ley SepPresentación Decreto 170 y Ley Sep
Presentación Decreto 170 y Ley Sep
 
Decreto n° 170 1
Decreto n° 170 1Decreto n° 170 1
Decreto n° 170 1
 
Decreto 170
Decreto 170Decreto 170
Decreto 170
 

Similar to DomDisc and the Domino data api

Betabeers Android as a Digital Signage platform
Betabeers   Android as a Digital Signage platformBetabeers   Android as a Digital Signage platform
Betabeers Android as a Digital Signage platformOrestes Carracedo
 
"13 ways to run web applications on the Internet" Andrii Shumada
"13 ways to run web applications on the Internet" Andrii Shumada"13 ways to run web applications on the Internet" Andrii Shumada
"13 ways to run web applications on the Internet" Andrii ShumadaFwdays
 
C# Production Debugging Made Easy
 C# Production Debugging Made Easy C# Production Debugging Made Easy
C# Production Debugging Made EasyAlon Fliess
 
Php Inside - confoo 2011 - Derick Rethans
Php Inside -  confoo 2011 - Derick RethansPhp Inside -  confoo 2011 - Derick Rethans
Php Inside - confoo 2011 - Derick RethansBachkoutou Toutou
 
Android as a digital signage platform
Android as a digital signage platformAndroid as a digital signage platform
Android as a digital signage platformOrestes Carracedo
 
Android as a digital signage platform
Android as a digital signage platformAndroid as a digital signage platform
Android as a digital signage platformBeMyApp
 
NLUUG Spring 2012 - OpenShift Primer
NLUUG Spring 2012 - OpenShift PrimerNLUUG Spring 2012 - OpenShift Primer
NLUUG Spring 2012 - OpenShift PrimerEric D. Schabell
 
Cross-Platform Mobile Development in Visual Studio
Cross-Platform Mobile Development in Visual StudioCross-Platform Mobile Development in Visual Studio
Cross-Platform Mobile Development in Visual Studiobryan costanich
 
Codemotion 2012 Rome - An OpenShift Primer
Codemotion 2012 Rome - An OpenShift PrimerCodemotion 2012 Rome - An OpenShift Primer
Codemotion 2012 Rome - An OpenShift PrimerEric D. Schabell
 
Software Quality Assurance Tooling - Wintersession 2024
Software Quality Assurance Tooling - Wintersession 2024Software Quality Assurance Tooling - Wintersession 2024
Software Quality Assurance Tooling - Wintersession 2024Henry Schreiner
 
An OpenShift Primer for Developers to get your Code into the Cloud (PTJUG)
An OpenShift Primer for Developers to get your Code into the Cloud (PTJUG)An OpenShift Primer for Developers to get your Code into the Cloud (PTJUG)
An OpenShift Primer for Developers to get your Code into the Cloud (PTJUG)Eric D. Schabell
 
Phonegap android angualr material design
Phonegap android angualr material designPhonegap android angualr material design
Phonegap android angualr material designSrinadh Kanugala
 
An overview of mobile html + java script frameworks
An overview of mobile html + java script frameworksAn overview of mobile html + java script frameworks
An overview of mobile html + java script frameworksSasha dos Santos
 
Internationalizing The New York Times
Internationalizing The New York TimesInternationalizing The New York Times
Internationalizing The New York TimesScott Taylor
 
Domino on docker version 1
Domino on docker version 1Domino on docker version 1
Domino on docker version 1Slobodan Lohja
 
MongoDB World 2019: Open source command-line power tools for MongoDB developers
MongoDB World 2019: Open source command-line power tools for MongoDB developersMongoDB World 2019: Open source command-line power tools for MongoDB developers
MongoDB World 2019: Open source command-line power tools for MongoDB developersMongoDB
 
MongoDB World 2019 Builder's Fest - Open source command line power tools for ...
MongoDB World 2019 Builder's Fest - Open source command line power tools for ...MongoDB World 2019 Builder's Fest - Open source command line power tools for ...
MongoDB World 2019 Builder's Fest - Open source command line power tools for ...Stennie Steneker
 
Designing flexible apps deployable to App Engine, Cloud Functions, or Cloud Run
Designing flexible apps deployable to App Engine, Cloud Functions, or Cloud RunDesigning flexible apps deployable to App Engine, Cloud Functions, or Cloud Run
Designing flexible apps deployable to App Engine, Cloud Functions, or Cloud Runwesley chun
 
Introducing with MongoDB
Introducing with MongoDBIntroducing with MongoDB
Introducing with MongoDBMahbub Tito
 

Similar to DomDisc and the Domino data api (20)

Betabeers Android as a Digital Signage platform
Betabeers   Android as a Digital Signage platformBetabeers   Android as a Digital Signage platform
Betabeers Android as a Digital Signage platform
 
"13 ways to run web applications on the Internet" Andrii Shumada
"13 ways to run web applications on the Internet" Andrii Shumada"13 ways to run web applications on the Internet" Andrii Shumada
"13 ways to run web applications on the Internet" Andrii Shumada
 
C# Production Debugging Made Easy
 C# Production Debugging Made Easy C# Production Debugging Made Easy
C# Production Debugging Made Easy
 
Php Inside - confoo 2011 - Derick Rethans
Php Inside -  confoo 2011 - Derick RethansPhp Inside -  confoo 2011 - Derick Rethans
Php Inside - confoo 2011 - Derick Rethans
 
Android as a digital signage platform
Android as a digital signage platformAndroid as a digital signage platform
Android as a digital signage platform
 
Android as a digital signage platform
Android as a digital signage platformAndroid as a digital signage platform
Android as a digital signage platform
 
NLUUG Spring 2012 - OpenShift Primer
NLUUG Spring 2012 - OpenShift PrimerNLUUG Spring 2012 - OpenShift Primer
NLUUG Spring 2012 - OpenShift Primer
 
Cross-Platform Mobile Development in Visual Studio
Cross-Platform Mobile Development in Visual StudioCross-Platform Mobile Development in Visual Studio
Cross-Platform Mobile Development in Visual Studio
 
Codemotion 2012 Rome - An OpenShift Primer
Codemotion 2012 Rome - An OpenShift PrimerCodemotion 2012 Rome - An OpenShift Primer
Codemotion 2012 Rome - An OpenShift Primer
 
Software Quality Assurance Tooling - Wintersession 2024
Software Quality Assurance Tooling - Wintersession 2024Software Quality Assurance Tooling - Wintersession 2024
Software Quality Assurance Tooling - Wintersession 2024
 
An OpenShift Primer for Developers to get your Code into the Cloud (PTJUG)
An OpenShift Primer for Developers to get your Code into the Cloud (PTJUG)An OpenShift Primer for Developers to get your Code into the Cloud (PTJUG)
An OpenShift Primer for Developers to get your Code into the Cloud (PTJUG)
 
Phonegap android angualr material design
Phonegap android angualr material designPhonegap android angualr material design
Phonegap android angualr material design
 
An overview of mobile html + java script frameworks
An overview of mobile html + java script frameworksAn overview of mobile html + java script frameworks
An overview of mobile html + java script frameworks
 
Internationalizing The New York Times
Internationalizing The New York TimesInternationalizing The New York Times
Internationalizing The New York Times
 
Domino on docker version 1
Domino on docker version 1Domino on docker version 1
Domino on docker version 1
 
Evolution of deploy.sh
Evolution of deploy.shEvolution of deploy.sh
Evolution of deploy.sh
 
MongoDB World 2019: Open source command-line power tools for MongoDB developers
MongoDB World 2019: Open source command-line power tools for MongoDB developersMongoDB World 2019: Open source command-line power tools for MongoDB developers
MongoDB World 2019: Open source command-line power tools for MongoDB developers
 
MongoDB World 2019 Builder's Fest - Open source command line power tools for ...
MongoDB World 2019 Builder's Fest - Open source command line power tools for ...MongoDB World 2019 Builder's Fest - Open source command line power tools for ...
MongoDB World 2019 Builder's Fest - Open source command line power tools for ...
 
Designing flexible apps deployable to App Engine, Cloud Functions, or Cloud Run
Designing flexible apps deployable to App Engine, Cloud Functions, or Cloud RunDesigning flexible apps deployable to App Engine, Cloud Functions, or Cloud Run
Designing flexible apps deployable to App Engine, Cloud Functions, or Cloud Run
 
Introducing with MongoDB
Introducing with MongoDBIntroducing with MongoDB
Introducing with MongoDB
 

Recently uploaded

A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 

Recently uploaded (20)

A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 

DomDisc and the Domino data api

  • 1. DomDisc An Open Source Android app that replicates with Domino discussion databases (Primarily) a presentation on the Domino DataService API By Jens Bruntt – jbr@convergens.dk http://www.convergens.dk Or http://www.jens.bruntt.dk 16/5-2013
  • 2. 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
  • 4. Installation of the DomDisc app https://play.google.com/store/apps/details?id=org.openntf.domdisc Or scan this:
  • 5. Working with the Domino Data Service API
  • 6. 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
  • 7. Reading documents1/3 the full list of notes in the db Sample url http://dev.openntf.org/demos/domdiscdemo.nsf/api/data/documents/ Returns small entries – not full notes
  • 8. 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
  • 10. 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
  • 12. 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
  • 13. What happens when you click Log in
  • 16. 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 ->
  • 17. 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
  • 18. 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