3. Our approach
●
Web based applications are OK for viewing content, but
●
not very practical for updating content
●
off-line capabilities are very limited
●
Native mobile applications are great
●
leverage efficient local storage
●
allow for real off-line management
●
leverage UI and usability of the target platform
➔
We want to provide a SDK to develop mobile applications
●
using Nuxeo content services
●
leveraging Nuxeo Studio configuration possibilities 3
4. Target SDK
●
we target both iOS and Android
●
native Objective C iOS SDK
●
native Android Java SDK
Nuxeo DM Nuxeo Studio
4
5. Other paths
●
HTML 5
●
make Nuxeo web UI more Smartphone friendly
●
Flash 4.5
●
upgrade the Flex connector
– align on latest GraniteDS
●
support for Flash 4.5
– runs on iOS and Android
➔
potential option for multi-platform solution
5
13. Nuxeo Automation Client
●
Nuxeo Automation offers several advantages
●
easy to use in any language
– http + JSON
●
fast and efficient for Web Service access
– fast parsing marshaling
– small network footprint
– push logic server side and avoid multiple round-trips
●
easy to extend
– use Nuxeo Studio to define operation chains
– use Nuxeo IDE to create new operations
13
14. Nuxeo Automation Client
➔
Mobile SDK includes an Automation Client
Nuxeo Service A
Nuxeo Component
Doc Operations Plugin
Plugin
Plugin
Nuxeo Service B
Mobile Files Operations
Connector Nuxeo Component
http JAX-RS chain
chain
Automation Publisher chain Plugin
Plugin
Plugin
Client WF Operations
WebEngine Nuxeo Service C
Nuxeo Component
JAX-RS Users Operations Plugin
Plugin
Plugin
(jersey)
Nuxeo Service D
contribute Nuxeo Component
Mobile contribute Plugin
Plugin
Plugin
Device Nuxeo Server
Nuxeo Studio Nuxeo IDE
14
15. Mobile connectivity
●
Need to address network issues
●
slow network
●
disconnected mode
●
off-line update
●
conflict resolution
➔
Extend Automation client scope
●
add caching
●
add local transient storage
●
add deferred update management
●
add sync system
15
16. Off-line support
WRITE
Deferred updates
Sync
Transient store
READ
Response cache
Local DB
Mobile device
16
17. Document Lists
●
Most of the documents you need to access from a
mobile device can be managed by lists
Documents to validate
Content of Inbox
Worklist or
clipboard
My Documents
17
Saved search
19. Form management
●
Forms are defined on the server side
●
using the Layout service
●
via Nuxeo Studio
●
via XML contributions
●
Reuse the Layout definition
on the mobile side
●
via JSON export
●
with simple mapping
●
with automatic adaptations
●
keep possibility to have mobile specific layouts
19
21. Nuxeo and Android
●
First Android Client done in March
●
Automation client for Android SDK
●
Simple cache for off-line browsing
●
Sample App : Nuxeo Android Client
– based on Automation Client
– using Droid4Me framework
●
Just started a real Nuxeo Android SDK
●
with full scope (Read/Write off-line)
●
layout support
21
22. Android SDK overview
Sync
ContentProvider Deferred updates
Layout Service DocumentProvider Download service
AbstractActivities
Activities
AbstractActivities
AbstractActivities
Abstract Upload service
Widget mapper DocumentManager
Transient store
Automation client
Response cache
SQLite FS
Android Event BroadCast
Automation
Base classes Forms and High level API and Off-line
Building blocks Widgets DocumentsLists Storage
22
24. Next steps
●
release 1.0 in a few weeks
●
more sample applications
●
polish API and documentation
●
add support for Actions system
●
provide support for Droid4Me
●
integrate with native Google sync system
●
integrate push (C2DM ?)
24