SlideShare a Scribd company logo
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 585
jstout007
 
PHP in one presentation
PHP in one presentationPHP in one presentation
PHP in one presentation
Milad Rahimi
 
Fluentd Unified Logging Layer At Fossasia
Fluentd Unified Logging Layer At FossasiaFluentd Unified Logging Layer At Fossasia
Fluentd Unified Logging Layer At Fossasia
N 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 Next
Bart Leppens
 
Php
PhpPhp
Php.ppt
Php.pptPhp.ppt
HTML5 and Google Chrome - DevFest09
HTML5 and Google Chrome - DevFest09HTML5 and Google Chrome - DevFest09
HTML5 and Google Chrome - DevFest09
mihaiionescu
 
Symfony ile Gelişmiş API Mimarisi
Symfony ile Gelişmiş API MimarisiSymfony ile Gelişmiş API Mimarisi
Symfony ile Gelişmiş API Mimarisi
Behram Ç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 - DevFest09
mihaiionescu
 
Internationalizing and localizing wordpress theme
Internationalizing and localizing  wordpress themeInternationalizing and localizing  wordpress theme
Internationalizing and localizing wordpress theme
Sanjip Shah
 
Client–server model
Client–server modelClient–server model
Client–server model
Vladimir Doroshenko
 
SPDY
SPDY SPDY
Composer
ComposerComposer
Composer
Arshad Ali
 
Flask for cs students
Flask for cs studentsFlask for cs students
Flask for cs students
Jennifer Rubinovitz
 
Basic html5 and javascript
Basic html5 and javascriptBasic html5 and javascript
Basic html5 and javascript
wendy017
 
Last Month in PHP - March 2016
Last Month in PHP - March 2016Last Month in PHP - March 2016
Last Month in PHP - March 2016
Eric 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 Presentation
webhostingguy
 
Inside DocBlox
Inside DocBloxInside DocBlox
Inside DocBlox
Mike van Riel
 
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
Mahmoud 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-2016
Jens 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 Apiet
Jens 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 sistema
Jeannette Cañuta
 
Decreto 170
Decreto 170Decreto 170
Decreto 170
Danii Rifo
 
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
Ronald Frank Moreno Acevedo
 
Decreto n° 170 1
Decreto n° 170 1Decreto n° 170 1
Decreto n° 170 1
Sofia Villalobos
 
Decreto 170
Decreto 170Decreto 170
Decreto 170
evelynfuxs
 

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 platform
Orestes 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 Shumada
Fwdays
 
C# Production Debugging Made Easy
 C# Production Debugging Made Easy C# Production Debugging Made Easy
C# Production Debugging Made Easy
Alon Fliess
 
Php Inside - confoo 2011 - Derick Rethans
Php Inside -  confoo 2011 - Derick RethansPhp Inside -  confoo 2011 - Derick Rethans
Php Inside - confoo 2011 - Derick Rethans
Bachkoutou Toutou
 
Android as a digital signage platform
Android as a digital signage platformAndroid as a digital signage platform
Android as a digital signage platform
Orestes Carracedo
 
Android as a digital signage platform
Android as a digital signage platformAndroid as a digital signage platform
Android as a digital signage platform
BeMyApp
 
NLUUG Spring 2012 - OpenShift Primer
NLUUG Spring 2012 - OpenShift PrimerNLUUG Spring 2012 - OpenShift Primer
NLUUG Spring 2012 - OpenShift Primer
Eric 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 Studio
bryan costanich
 
Codemotion 2012 Rome - An OpenShift Primer
Codemotion 2012 Rome - An OpenShift PrimerCodemotion 2012 Rome - An OpenShift Primer
Codemotion 2012 Rome - An OpenShift Primer
Eric D. Schabell
 
Software Quality Assurance Tooling - Wintersession 2024
Software Quality Assurance Tooling - Wintersession 2024Software Quality Assurance Tooling - Wintersession 2024
Software Quality Assurance Tooling - Wintersession 2024
Henry 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 design
Srinadh 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 frameworks
Sasha dos Santos
 
Internationalizing The New York Times
Internationalizing The New York TimesInternationalizing The New York Times
Internationalizing The New York Times
Scott Taylor
 
Domino on docker version 1
Domino on docker version 1Domino on docker version 1
Domino on docker version 1
Slobodan Lohja
 
Evolution of deploy.sh
Evolution of deploy.shEvolution of deploy.sh
Evolution of deploy.sh
Leonid Mamchenkov
 
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
 
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
 
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
wesley chun
 
Introducing with MongoDB
Introducing with MongoDBIntroducing with MongoDB
Introducing with MongoDB
Mahbub 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 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 ...
 
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
 
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

UX Webinar Series: Essentials for Adopting Passkeys as the Foundation of your...
UX Webinar Series: Essentials for Adopting Passkeys as the Foundation of your...UX Webinar Series: Essentials for Adopting Passkeys as the Foundation of your...
UX Webinar Series: Essentials for Adopting Passkeys as the Foundation of your...
FIDO Alliance
 
Russian Girls Call Navi Mumbai 🎈🔥9920725232 🔥💋🎈 Provide Best And Top Girl Ser...
Russian Girls Call Navi Mumbai 🎈🔥9920725232 🔥💋🎈 Provide Best And Top Girl Ser...Russian Girls Call Navi Mumbai 🎈🔥9920725232 🔥💋🎈 Provide Best And Top Girl Ser...
Russian Girls Call Navi Mumbai 🎈🔥9920725232 🔥💋🎈 Provide Best And Top Girl Ser...
bellared2
 
Vertex AI Agent Builder - GDG Alicante - Julio 2024
Vertex AI Agent Builder - GDG Alicante - Julio 2024Vertex AI Agent Builder - GDG Alicante - Julio 2024
Vertex AI Agent Builder - GDG Alicante - Julio 2024
Nicolás Lopéz
 
High Profile Girls call Service Pune 000XX00000 Provide Best And Top Girl Ser...
High Profile Girls call Service Pune 000XX00000 Provide Best And Top Girl Ser...High Profile Girls call Service Pune 000XX00000 Provide Best And Top Girl Ser...
High Profile Girls call Service Pune 000XX00000 Provide Best And Top Girl Ser...
bhumivarma35300
 
Patch Tuesday de julio
Patch Tuesday de julioPatch Tuesday de julio
Patch Tuesday de julio
Ivanti
 
How UiPath Discovery Suite supports identification of Agentic Process Automat...
How UiPath Discovery Suite supports identification of Agentic Process Automat...How UiPath Discovery Suite supports identification of Agentic Process Automat...
How UiPath Discovery Suite supports identification of Agentic Process Automat...
DianaGray10
 
EuroPython 2024 - Streamlining Testing in a Large Python Codebase
EuroPython 2024 - Streamlining Testing in a Large Python CodebaseEuroPython 2024 - Streamlining Testing in a Large Python Codebase
EuroPython 2024 - Streamlining Testing in a Large Python Codebase
Jimmy Lai
 
Connector Corner: Leveraging Snowflake Integration for Smarter Decision Making
Connector Corner: Leveraging Snowflake Integration for Smarter Decision MakingConnector Corner: Leveraging Snowflake Integration for Smarter Decision Making
Connector Corner: Leveraging Snowflake Integration for Smarter Decision Making
DianaGray10
 
Girls Call Churchgate 9910780858 Provide Best And Top Girl Service And No1 in...
Girls Call Churchgate 9910780858 Provide Best And Top Girl Service And No1 in...Girls Call Churchgate 9910780858 Provide Best And Top Girl Service And No1 in...
Girls Call Churchgate 9910780858 Provide Best And Top Girl Service And No1 in...
maigasapphire
 
leewayhertz.com-Generative AI tech stack Frameworks infrastructure models and...
leewayhertz.com-Generative AI tech stack Frameworks infrastructure models and...leewayhertz.com-Generative AI tech stack Frameworks infrastructure models and...
leewayhertz.com-Generative AI tech stack Frameworks infrastructure models and...
alexjohnson7307
 
The History of Embeddings & Multimodal Embeddings
The History of Embeddings & Multimodal EmbeddingsThe History of Embeddings & Multimodal Embeddings
The History of Embeddings & Multimodal Embeddings
Zilliz
 
Premium Girls Call Mumbai 9920725232 Unlimited Short Providing Girls Service ...
Premium Girls Call Mumbai 9920725232 Unlimited Short Providing Girls Service ...Premium Girls Call Mumbai 9920725232 Unlimited Short Providing Girls Service ...
Premium Girls Call Mumbai 9920725232 Unlimited Short Providing Girls Service ...
shanihomely
 
Zaitechno Handheld Raman Spectrometer.pdf
Zaitechno Handheld Raman Spectrometer.pdfZaitechno Handheld Raman Spectrometer.pdf
Zaitechno Handheld Raman Spectrometer.pdf
AmandaCheung15
 
Types of Weaving loom machine & it's technology
Types of Weaving loom machine & it's technologyTypes of Weaving loom machine & it's technology
Types of Weaving loom machine & it's technology
ldtexsolbl
 
Gen AI: Privacy Risks of Large Language Models (LLMs)
Gen AI: Privacy Risks of Large Language Models (LLMs)Gen AI: Privacy Risks of Large Language Models (LLMs)
Gen AI: Privacy Risks of Large Language Models (LLMs)
Debmalya Biswas
 
The Path to General-Purpose Robots - Coatue
The Path to General-Purpose Robots - CoatueThe Path to General-Purpose Robots - Coatue
The Path to General-Purpose Robots - Coatue
Razin Mustafiz
 
Step-By-Step Process to Develop a Mobile App From Scratch
Step-By-Step Process to Develop a Mobile App From ScratchStep-By-Step Process to Develop a Mobile App From Scratch
Step-By-Step Process to Develop a Mobile App From Scratch
softsuave
 
MAKE MONEY ONLINE Unlock Your Income Potential Today.pptx
MAKE MONEY ONLINE Unlock Your Income Potential Today.pptxMAKE MONEY ONLINE Unlock Your Income Potential Today.pptx
MAKE MONEY ONLINE Unlock Your Income Potential Today.pptx
janagijoythi
 
Mastering OnlyFans Clone App Development: Key Strategies for Success
Mastering OnlyFans Clone App Development: Key Strategies for SuccessMastering OnlyFans Clone App Development: Key Strategies for Success
Mastering OnlyFans Clone App Development: Key Strategies for Success
David Wilson
 
The Impact of the Internet of Things (IoT) on Smart Homes and Cities
The Impact of the Internet of Things (IoT) on Smart Homes and CitiesThe Impact of the Internet of Things (IoT) on Smart Homes and Cities
The Impact of the Internet of Things (IoT) on Smart Homes and Cities
Arpan Buwa
 

Recently uploaded (20)

UX Webinar Series: Essentials for Adopting Passkeys as the Foundation of your...
UX Webinar Series: Essentials for Adopting Passkeys as the Foundation of your...UX Webinar Series: Essentials for Adopting Passkeys as the Foundation of your...
UX Webinar Series: Essentials for Adopting Passkeys as the Foundation of your...
 
Russian Girls Call Navi Mumbai 🎈🔥9920725232 🔥💋🎈 Provide Best And Top Girl Ser...
Russian Girls Call Navi Mumbai 🎈🔥9920725232 🔥💋🎈 Provide Best And Top Girl Ser...Russian Girls Call Navi Mumbai 🎈🔥9920725232 🔥💋🎈 Provide Best And Top Girl Ser...
Russian Girls Call Navi Mumbai 🎈🔥9920725232 🔥💋🎈 Provide Best And Top Girl Ser...
 
Vertex AI Agent Builder - GDG Alicante - Julio 2024
Vertex AI Agent Builder - GDG Alicante - Julio 2024Vertex AI Agent Builder - GDG Alicante - Julio 2024
Vertex AI Agent Builder - GDG Alicante - Julio 2024
 
High Profile Girls call Service Pune 000XX00000 Provide Best And Top Girl Ser...
High Profile Girls call Service Pune 000XX00000 Provide Best And Top Girl Ser...High Profile Girls call Service Pune 000XX00000 Provide Best And Top Girl Ser...
High Profile Girls call Service Pune 000XX00000 Provide Best And Top Girl Ser...
 
Patch Tuesday de julio
Patch Tuesday de julioPatch Tuesday de julio
Patch Tuesday de julio
 
How UiPath Discovery Suite supports identification of Agentic Process Automat...
How UiPath Discovery Suite supports identification of Agentic Process Automat...How UiPath Discovery Suite supports identification of Agentic Process Automat...
How UiPath Discovery Suite supports identification of Agentic Process Automat...
 
EuroPython 2024 - Streamlining Testing in a Large Python Codebase
EuroPython 2024 - Streamlining Testing in a Large Python CodebaseEuroPython 2024 - Streamlining Testing in a Large Python Codebase
EuroPython 2024 - Streamlining Testing in a Large Python Codebase
 
Connector Corner: Leveraging Snowflake Integration for Smarter Decision Making
Connector Corner: Leveraging Snowflake Integration for Smarter Decision MakingConnector Corner: Leveraging Snowflake Integration for Smarter Decision Making
Connector Corner: Leveraging Snowflake Integration for Smarter Decision Making
 
Girls Call Churchgate 9910780858 Provide Best And Top Girl Service And No1 in...
Girls Call Churchgate 9910780858 Provide Best And Top Girl Service And No1 in...Girls Call Churchgate 9910780858 Provide Best And Top Girl Service And No1 in...
Girls Call Churchgate 9910780858 Provide Best And Top Girl Service And No1 in...
 
leewayhertz.com-Generative AI tech stack Frameworks infrastructure models and...
leewayhertz.com-Generative AI tech stack Frameworks infrastructure models and...leewayhertz.com-Generative AI tech stack Frameworks infrastructure models and...
leewayhertz.com-Generative AI tech stack Frameworks infrastructure models and...
 
The History of Embeddings & Multimodal Embeddings
The History of Embeddings & Multimodal EmbeddingsThe History of Embeddings & Multimodal Embeddings
The History of Embeddings & Multimodal Embeddings
 
Premium Girls Call Mumbai 9920725232 Unlimited Short Providing Girls Service ...
Premium Girls Call Mumbai 9920725232 Unlimited Short Providing Girls Service ...Premium Girls Call Mumbai 9920725232 Unlimited Short Providing Girls Service ...
Premium Girls Call Mumbai 9920725232 Unlimited Short Providing Girls Service ...
 
Zaitechno Handheld Raman Spectrometer.pdf
Zaitechno Handheld Raman Spectrometer.pdfZaitechno Handheld Raman Spectrometer.pdf
Zaitechno Handheld Raman Spectrometer.pdf
 
Types of Weaving loom machine & it's technology
Types of Weaving loom machine & it's technologyTypes of Weaving loom machine & it's technology
Types of Weaving loom machine & it's technology
 
Gen AI: Privacy Risks of Large Language Models (LLMs)
Gen AI: Privacy Risks of Large Language Models (LLMs)Gen AI: Privacy Risks of Large Language Models (LLMs)
Gen AI: Privacy Risks of Large Language Models (LLMs)
 
The Path to General-Purpose Robots - Coatue
The Path to General-Purpose Robots - CoatueThe Path to General-Purpose Robots - Coatue
The Path to General-Purpose Robots - Coatue
 
Step-By-Step Process to Develop a Mobile App From Scratch
Step-By-Step Process to Develop a Mobile App From ScratchStep-By-Step Process to Develop a Mobile App From Scratch
Step-By-Step Process to Develop a Mobile App From Scratch
 
MAKE MONEY ONLINE Unlock Your Income Potential Today.pptx
MAKE MONEY ONLINE Unlock Your Income Potential Today.pptxMAKE MONEY ONLINE Unlock Your Income Potential Today.pptx
MAKE MONEY ONLINE Unlock Your Income Potential Today.pptx
 
Mastering OnlyFans Clone App Development: Key Strategies for Success
Mastering OnlyFans Clone App Development: Key Strategies for SuccessMastering OnlyFans Clone App Development: Key Strategies for Success
Mastering OnlyFans Clone App Development: Key Strategies for Success
 
The Impact of the Internet of Things (IoT) on Smart Homes and Cities
The Impact of the Internet of Things (IoT) on Smart Homes and CitiesThe Impact of the Internet of Things (IoT) on Smart Homes and Cities
The Impact of the Internet of Things (IoT) on Smart Homes and Cities
 

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