SlideShare a Scribd company logo
1 of 25
Download to read offline
Alfresco Mobile SDKs
Agenda
•  Overview – Why, What & How?
– Gavin Cornwell
•  Android SDK
– Jean Marie Pascal
•  iOS SDK
– Peter Schmidt
Overview – Why?
•  Simplify Access To Alfresco From Mobile
Devices
•  Uniform API To Access On-Premise
Servers and The Cloud
•  Enable 3rd party App Integration
•  Rapidly Build Alfresco Based Apps
•  Used For All Future Alfresco Apps
Overview – What?
Overview – Sample App
Overview – How?
Overview – How?
Overview – How?
•  Create Session
•  Use Services
•  Retrieve Model Objects
•  Handles Asynchronous Calls For You
Android SDK
In Android world…
•  A common Android Application is made of
–  Activities
•  provides a screen with which users can
interact in order to do something
–  Fragments (Available in android 3+)
•  represents a behavior or a portion of user
interface
–  Loaders (Available in android 3+)
•  make it easy to asynchronously load data
in an activity or fragment
–  Services
•  request information remotely to content
repository and are responsible for
creating data objects.
What Alfresco Mobile - Android
SDK provides…
•  Synchronous Alfresco Services API
–  High level services + objects
•  Asynchronous API
–  Loaders
•  UI Component Library
–  Fragments, Adapter and manager
•  Sample application
–  Demonstrate how to use components
It’s not just one project…
Alfresco OpenCMIS Extension
Alfresco Mobile Repository API
Alfresco Mobile Async API
Alfresco Mobile UI Components
Alfresco Applications (sample…)
APK
LIB
APK
Android OpenCMISJAR
JAR
JAR
JAR
Works on
Android versions
superior to 2.1
Works on
Android version
superior to 3.0
Dependency
Support is possible…
Alfresco OpenCMIS Extension
Alfresco Mobile Repository API
Alfresco Mobile Async API
Alfresco Mobile UI Components
Alfresco Applications (sample…)
APK
LIB
APK
Android OpenCMISJAR
JAR
JAR
JAR
Works on
Android versions
superior to 2.1
Android support
libraryJAR
Dependency
Not provided
UI Library
•  Provides
–  Images Ressources
•  file type icon, logo…
–  Themes
•  Color scheme, Layout template…
–  Localization Resources
–  Fragments and adapters
•  Activities List,
•  Folder list,
•  Comments List…
Demo Time
Use cases
•  Create an application from scratch
–  Extends and customize the sample application
•  Add Alfresco oriented screen to an existing
application
–  Use the ApkLib UI component and add a fragment
(Android 3+)
•  Just need data
–  Use the repository API
So are you ready to level up ?
Alfresco Mobile SDK
What’s included ?
Sample App
Mobile API Library
Included Objective CMIS
library
Documentation
(appledoc docset)
What are the libraries ?
Alfresco Mobile API
(+headers)
•  Asynchronous handling of
requests
•  E.g. download/upload
documents
•  Additional Services, e.g.
•  Comments
•  Tagging
•  Rating
•  Activity
•  Encapsulates low level CMIS
calls
Objective CMIS Library
(+headers)
•  Low level library to handle CMIS
sessions, requests & services
•  Provides CMIS standard services,
e.g.
•  Document/Folder (e.g.
upload/create/download)
•  Versioning
•  Search
•  Mostly synchronous request
•  Collaborative project
•  Planned to add to Apache CMIS
project
iOS Specifics
•  Naming conventions
–  Objective CMIS code prefixed with CMIS
–  Mobile API code prefixed with Alfresco
•  Error Handling
–  No exceptions in iOS apps, use NSError instead
•  As per Apple standard:
–  NSError object remains nil if method call is successful. Always check!
•  ARC (Automatic Reference Counting)*
–  No more retain, release, autorelease on objects
•  Blocks
–  Used extensively in Mobile API to handle asynchronous requests and callbacks
* requires iOS 5.x or later for full support
^(<parameter list>){ execution code }
iOS SDK – Async Handling
Repository
If(nil == error)
{
self.session = session;
}
else
{
UIAlertView *alert =
[[UIAlertView. Alloc]
………..
}
Alfresco
Mobile API
CMIS/REST
API
Background
thread
Main
thread
In Sample
App code
How do Objective C Blocks fit in?
•  Blocks were introduced in iOS 4, Mac OSX 10.6
•  Ad hoc functionality that can be passed on like
parameters
•  Mobile API uses blocks as callbacks once requests
complete
–  You define what your app/code needs to do within a
block
Example – Create Session
NSURL *url = [NSURL URLWithString:host];
[AlfrescoRepositorySession connectWithUrl:url
username:username
password:pwd settings:nil
completionBlock:^(id<AlfrescoSession> session, NSError *error){
if (nil != error)
{
/*
Your error handling code goes here
*/
}
else
{
self.session = session;
NSLog(@"Authenticated successfully.");
}
}];
iOS Sample App Demo
Thank You!

More Related Content

What's hot

Amsterdam Titanium User Group - Cloud Services for Apps Nov 2013
Amsterdam Titanium User Group - Cloud Services for Apps Nov 2013Amsterdam Titanium User Group - Cloud Services for Apps Nov 2013
Amsterdam Titanium User Group - Cloud Services for Apps Nov 2013Aaron Saunders
 
Using Azure Functions for Integration
Using Azure Functions for IntegrationUsing Azure Functions for Integration
Using Azure Functions for IntegrationBizTalk360
 
App Services - Connecting the dots of Web Mobile and Integration_published
App Services - Connecting the dots of Web Mobile and Integration_publishedApp Services - Connecting the dots of Web Mobile and Integration_published
App Services - Connecting the dots of Web Mobile and Integration_publishedWagner Silveira
 
GAB 2017 - Logic Apps and Azure Functions
GAB 2017 - Logic Apps and Azure FunctionsGAB 2017 - Logic Apps and Azure Functions
GAB 2017 - Logic Apps and Azure FunctionsWagner Silveira
 
用Serverless技術快速開發line聊天機器人
用Serverless技術快速開發line聊天機器人用Serverless技術快速開發line聊天機器人
用Serverless技術快速開發line聊天機器人Kevin Luo
 
Azure Functions VS AWS Lambda: overview and comparison
Azure Functions VS AWS Lambda: overview and comparisonAzure Functions VS AWS Lambda: overview and comparison
Azure Functions VS AWS Lambda: overview and comparisonAlex Zyl
 
Services Over Servers - Innovate VA 2016
Services Over Servers - Innovate VA 2016Services Over Servers - Innovate VA 2016
Services Over Servers - Innovate VA 2016SingleStonecx
 
AWS Community Day Bangkok 2019 - Dev Ops Philosophy Increase Productivity
AWS Community Day Bangkok 2019 - Dev Ops Philosophy Increase ProductivityAWS Community Day Bangkok 2019 - Dev Ops Philosophy Increase Productivity
AWS Community Day Bangkok 2019 - Dev Ops Philosophy Increase ProductivityAWS User Group - Thailand
 
APIdays Paris 2018 - Secure & Manage APIs with GraphQL, Ozair Sheikh, Directo...
APIdays Paris 2018 - Secure & Manage APIs with GraphQL, Ozair Sheikh, Directo...APIdays Paris 2018 - Secure & Manage APIs with GraphQL, Ozair Sheikh, Directo...
APIdays Paris 2018 - Secure & Manage APIs with GraphQL, Ozair Sheikh, Directo...apidays
 
Digital Publishing Made Easy with the OSCI Toolkit
 Digital Publishing Made Easy with the OSCI Toolkit Digital Publishing Made Easy with the OSCI Toolkit
Digital Publishing Made Easy with the OSCI ToolkitKyle Jaebker
 
Introduction to serverless compute with azure functions
Introduction to serverless compute with azure functionsIntroduction to serverless compute with azure functions
Introduction to serverless compute with azure functionsCallon Campbell
 
Introduction to Aws lambda and build first application | Namespace IT
Introduction to Aws lambda and build first application | Namespace ITIntroduction to Aws lambda and build first application | Namespace IT
Introduction to Aws lambda and build first application | Namespace ITnamespaceit
 
Monolith to microservices - our journey
Monolith to microservices - our journeyMonolith to microservices - our journey
Monolith to microservices - our journeyGiles Williams
 
Getting Started with Serverless Architectures
Getting Started with Serverless ArchitecturesGetting Started with Serverless Architectures
Getting Started with Serverless ArchitecturesAmazon Web Services
 
AWS Community Day Bangkok 2019 - Hello ClaudiaJS
AWS Community Day Bangkok 2019 - Hello ClaudiaJSAWS Community Day Bangkok 2019 - Hello ClaudiaJS
AWS Community Day Bangkok 2019 - Hello ClaudiaJSAWS User Group - Thailand
 
Building Serverless Web Applications - May 2017 AWS Online Tech Talks
Building Serverless Web Applications  - May 2017 AWS Online Tech TalksBuilding Serverless Web Applications  - May 2017 AWS Online Tech Talks
Building Serverless Web Applications - May 2017 AWS Online Tech TalksAmazon Web Services
 

What's hot (20)

Serverless Architecture
Serverless ArchitectureServerless Architecture
Serverless Architecture
 
Amsterdam Titanium User Group - Cloud Services for Apps Nov 2013
Amsterdam Titanium User Group - Cloud Services for Apps Nov 2013Amsterdam Titanium User Group - Cloud Services for Apps Nov 2013
Amsterdam Titanium User Group - Cloud Services for Apps Nov 2013
 
Using Azure Functions for Integration
Using Azure Functions for IntegrationUsing Azure Functions for Integration
Using Azure Functions for Integration
 
App Services - Connecting the dots of Web Mobile and Integration_published
App Services - Connecting the dots of Web Mobile and Integration_publishedApp Services - Connecting the dots of Web Mobile and Integration_published
App Services - Connecting the dots of Web Mobile and Integration_published
 
GAB 2017 - Logic Apps and Azure Functions
GAB 2017 - Logic Apps and Azure FunctionsGAB 2017 - Logic Apps and Azure Functions
GAB 2017 - Logic Apps and Azure Functions
 
用Serverless技術快速開發line聊天機器人
用Serverless技術快速開發line聊天機器人用Serverless技術快速開發line聊天機器人
用Serverless技術快速開發line聊天機器人
 
Azure Functions VS AWS Lambda: overview and comparison
Azure Functions VS AWS Lambda: overview and comparisonAzure Functions VS AWS Lambda: overview and comparison
Azure Functions VS AWS Lambda: overview and comparison
 
Services Over Servers - Innovate VA 2016
Services Over Servers - Innovate VA 2016Services Over Servers - Innovate VA 2016
Services Over Servers - Innovate VA 2016
 
AWS Community Day Bangkok 2019 - Dev Ops Philosophy Increase Productivity
AWS Community Day Bangkok 2019 - Dev Ops Philosophy Increase ProductivityAWS Community Day Bangkok 2019 - Dev Ops Philosophy Increase Productivity
AWS Community Day Bangkok 2019 - Dev Ops Philosophy Increase Productivity
 
Azure functions
Azure functionsAzure functions
Azure functions
 
APIdays Paris 2018 - Secure & Manage APIs with GraphQL, Ozair Sheikh, Directo...
APIdays Paris 2018 - Secure & Manage APIs with GraphQL, Ozair Sheikh, Directo...APIdays Paris 2018 - Secure & Manage APIs with GraphQL, Ozair Sheikh, Directo...
APIdays Paris 2018 - Secure & Manage APIs with GraphQL, Ozair Sheikh, Directo...
 
Digital Publishing Made Easy with the OSCI Toolkit
 Digital Publishing Made Easy with the OSCI Toolkit Digital Publishing Made Easy with the OSCI Toolkit
Digital Publishing Made Easy with the OSCI Toolkit
 
Introduction to serverless compute with azure functions
Introduction to serverless compute with azure functionsIntroduction to serverless compute with azure functions
Introduction to serverless compute with azure functions
 
Introduction to Aws lambda and build first application | Namespace IT
Introduction to Aws lambda and build first application | Namespace ITIntroduction to Aws lambda and build first application | Namespace IT
Introduction to Aws lambda and build first application | Namespace IT
 
Monolith to microservices - our journey
Monolith to microservices - our journeyMonolith to microservices - our journey
Monolith to microservices - our journey
 
SignalR 101
SignalR 101SignalR 101
SignalR 101
 
Getting Started with Serverless Architectures
Getting Started with Serverless ArchitecturesGetting Started with Serverless Architectures
Getting Started with Serverless Architectures
 
AWS Lambda
AWS LambdaAWS Lambda
AWS Lambda
 
AWS Community Day Bangkok 2019 - Hello ClaudiaJS
AWS Community Day Bangkok 2019 - Hello ClaudiaJSAWS Community Day Bangkok 2019 - Hello ClaudiaJS
AWS Community Day Bangkok 2019 - Hello ClaudiaJS
 
Building Serverless Web Applications - May 2017 AWS Online Tech Talks
Building Serverless Web Applications  - May 2017 AWS Online Tech TalksBuilding Serverless Web Applications  - May 2017 AWS Online Tech Talks
Building Serverless Web Applications - May 2017 AWS Online Tech Talks
 

Viewers also liked

Informe Autoevaluacion 2016
Informe Autoevaluacion 2016Informe Autoevaluacion 2016
Informe Autoevaluacion 2016CONADESUCA
 
Porfolio TreataBit
Porfolio TreataBitPorfolio TreataBit
Porfolio TreataBitI3P
 
Бот для Telegram и сайт на WordPress — смогут ли ужиться вместе?
Бот для Telegram и сайт  на WordPress — смогут  ли ужиться вместе?Бот для Telegram и сайт  на WordPress — смогут  ли ужиться вместе?
Бот для Telegram и сайт на WordPress — смогут ли ужиться вместе?Ruslan Begaliev
 
Grow as you go: lesson learned as a tech startupper
Grow as you go: lesson learned as a tech startupperGrow as you go: lesson learned as a tech startupper
Grow as you go: lesson learned as a tech startupperGiuliano Iacobelli
 
Integrated Transport Competition - In field solutions elevator pitches (1 of 3)
Integrated Transport Competition - In field solutions elevator pitches (1 of 3)Integrated Transport Competition - In field solutions elevator pitches (1 of 3)
Integrated Transport Competition - In field solutions elevator pitches (1 of 3)KTN
 
A-Day 2013 - Mercati digitali: eCommerce, New Internet, Mobile - Marta Valsec...
A-Day 2013 - Mercati digitali: eCommerce, New Internet, Mobile - Marta Valsec...A-Day 2013 - Mercati digitali: eCommerce, New Internet, Mobile - Marta Valsec...
A-Day 2013 - Mercati digitali: eCommerce, New Internet, Mobile - Marta Valsec...A-Day Display the Future
 
Stamplay: Scale your business with Microsoft Bizspark and Windows Azure
Stamplay: Scale your business with Microsoft Bizspark and Windows AzureStamplay: Scale your business with Microsoft Bizspark and Windows Azure
Stamplay: Scale your business with Microsoft Bizspark and Windows AzureGiuliano Iacobelli
 
Anexo analisis acuerdo tpp
Anexo analisis acuerdo tppAnexo analisis acuerdo tpp
Anexo analisis acuerdo tppCONADESUCA
 
携帯・スマホの危険性(小学校版) - Safety primary school - Mobile smartphone - 140212 (原田光久)
携帯・スマホの危険性(小学校版) - Safety primary school - Mobile smartphone - 140212 (原田光久)携帯・スマホの危険性(小学校版) - Safety primary school - Mobile smartphone - 140212 (原田光久)
携帯・スマホの危険性(小学校版) - Safety primary school - Mobile smartphone - 140212 (原田光久)ひかりば(Hikariba)
 
Adaptive listening Overview
Adaptive listening Overview Adaptive listening Overview
Adaptive listening Overview MutualMind
 
Ottenere visibilità sulla stampa
Ottenere visibilità sulla stampaOttenere visibilità sulla stampa
Ottenere visibilità sulla stampaI3P
 
5 Cool LinkedIn Features You Probably Didn't Know About
5 Cool LinkedIn Features You Probably Didn't Know About5 Cool LinkedIn Features You Probably Didn't Know About
5 Cool LinkedIn Features You Probably Didn't Know AboutSocial Strand Media
 
Creating a Great Developer Experience Through SDKs
Creating a Great Developer Experience Through SDKsCreating a Great Developer Experience Through SDKs
Creating a Great Developer Experience Through SDKsTaylor Barnett
 
Entrepreneurhip why - where - when
Entrepreneurhip   why - where - whenEntrepreneurhip   why - where - when
Entrepreneurhip why - where - whenPrajakt Raut
 
Advisory board members how to
Advisory board members   how toAdvisory board members   how to
Advisory board members how toPrajakt Raut
 
There's a Webhook for That
There's a Webhook for ThatThere's a Webhook for That
There's a Webhook for ThatMarketo
 
Planning for your business - workshop for Fleximoms - May 2012 - mdi
Planning for your business   - workshop for Fleximoms - May 2012 - mdiPlanning for your business   - workshop for Fleximoms - May 2012 - mdi
Planning for your business - workshop for Fleximoms - May 2012 - mdiPrajakt Raut
 
VC funding for early stage concepts
VC funding for early stage conceptsVC funding for early stage concepts
VC funding for early stage conceptsPrajakt Raut
 

Viewers also liked (20)

Mobile Trends 2013
Mobile Trends 2013Mobile Trends 2013
Mobile Trends 2013
 
Informe Autoevaluacion 2016
Informe Autoevaluacion 2016Informe Autoevaluacion 2016
Informe Autoevaluacion 2016
 
Porfolio TreataBit
Porfolio TreataBitPorfolio TreataBit
Porfolio TreataBit
 
Бот для Telegram и сайт на WordPress — смогут ли ужиться вместе?
Бот для Telegram и сайт  на WordPress — смогут  ли ужиться вместе?Бот для Telegram и сайт  на WordPress — смогут  ли ужиться вместе?
Бот для Telegram и сайт на WordPress — смогут ли ужиться вместе?
 
Grow as you go: lesson learned as a tech startupper
Grow as you go: lesson learned as a tech startupperGrow as you go: lesson learned as a tech startupper
Grow as you go: lesson learned as a tech startupper
 
Integrated Transport Competition - In field solutions elevator pitches (1 of 3)
Integrated Transport Competition - In field solutions elevator pitches (1 of 3)Integrated Transport Competition - In field solutions elevator pitches (1 of 3)
Integrated Transport Competition - In field solutions elevator pitches (1 of 3)
 
CV_Rivka Behar-Elfassy
CV_Rivka Behar-ElfassyCV_Rivka Behar-Elfassy
CV_Rivka Behar-Elfassy
 
A-Day 2013 - Mercati digitali: eCommerce, New Internet, Mobile - Marta Valsec...
A-Day 2013 - Mercati digitali: eCommerce, New Internet, Mobile - Marta Valsec...A-Day 2013 - Mercati digitali: eCommerce, New Internet, Mobile - Marta Valsec...
A-Day 2013 - Mercati digitali: eCommerce, New Internet, Mobile - Marta Valsec...
 
Stamplay: Scale your business with Microsoft Bizspark and Windows Azure
Stamplay: Scale your business with Microsoft Bizspark and Windows AzureStamplay: Scale your business with Microsoft Bizspark and Windows Azure
Stamplay: Scale your business with Microsoft Bizspark and Windows Azure
 
Anexo analisis acuerdo tpp
Anexo analisis acuerdo tppAnexo analisis acuerdo tpp
Anexo analisis acuerdo tpp
 
携帯・スマホの危険性(小学校版) - Safety primary school - Mobile smartphone - 140212 (原田光久)
携帯・スマホの危険性(小学校版) - Safety primary school - Mobile smartphone - 140212 (原田光久)携帯・スマホの危険性(小学校版) - Safety primary school - Mobile smartphone - 140212 (原田光久)
携帯・スマホの危険性(小学校版) - Safety primary school - Mobile smartphone - 140212 (原田光久)
 
Adaptive listening Overview
Adaptive listening Overview Adaptive listening Overview
Adaptive listening Overview
 
Ottenere visibilità sulla stampa
Ottenere visibilità sulla stampaOttenere visibilità sulla stampa
Ottenere visibilità sulla stampa
 
5 Cool LinkedIn Features You Probably Didn't Know About
5 Cool LinkedIn Features You Probably Didn't Know About5 Cool LinkedIn Features You Probably Didn't Know About
5 Cool LinkedIn Features You Probably Didn't Know About
 
Creating a Great Developer Experience Through SDKs
Creating a Great Developer Experience Through SDKsCreating a Great Developer Experience Through SDKs
Creating a Great Developer Experience Through SDKs
 
Entrepreneurhip why - where - when
Entrepreneurhip   why - where - whenEntrepreneurhip   why - where - when
Entrepreneurhip why - where - when
 
Advisory board members how to
Advisory board members   how toAdvisory board members   how to
Advisory board members how to
 
There's a Webhook for That
There's a Webhook for ThatThere's a Webhook for That
There's a Webhook for That
 
Planning for your business - workshop for Fleximoms - May 2012 - mdi
Planning for your business   - workshop for Fleximoms - May 2012 - mdiPlanning for your business   - workshop for Fleximoms - May 2012 - mdi
Planning for your business - workshop for Fleximoms - May 2012 - mdi
 
VC funding for early stage concepts
VC funding for early stage conceptsVC funding for early stage concepts
VC funding for early stage concepts
 

Similar to Tech Talk Live - Mobile SDKs

Alfresco tech talk live mobile sdks
Alfresco tech talk live mobile sdksAlfresco tech talk live mobile sdks
Alfresco tech talk live mobile sdksAlfresco Software
 
DEVCON-Alfresco i os mobile application details and design
DEVCON-Alfresco i os mobile application details and designDEVCON-Alfresco i os mobile application details and design
DEVCON-Alfresco i os mobile application details and designZia Consulting
 
PLAT-18 Alfresco iOS Mobile Application Details and Design
PLAT-18 Alfresco iOS Mobile Application Details and DesignPLAT-18 Alfresco iOS Mobile Application Details and Design
PLAT-18 Alfresco iOS Mobile Application Details and DesignAlfresco Software
 
Building Content-Rich Java Apps in the Cloud with the Alfresco API
Building Content-Rich Java Apps in the Cloud with the Alfresco APIBuilding Content-Rich Java Apps in the Cloud with the Alfresco API
Building Content-Rich Java Apps in the Cloud with the Alfresco APIJeff Potts
 
Alfresco mobile webinar 11 1-11
Alfresco mobile webinar 11 1-11Alfresco mobile webinar 11 1-11
Alfresco mobile webinar 11 1-11Zia Consulting
 
Alfresco iOS Mobile Application In Depth Details and Design
Alfresco iOS Mobile Application In Depth Details and DesignAlfresco iOS Mobile Application In Depth Details and Design
Alfresco iOS Mobile Application In Depth Details and DesignAlfresco Software
 
Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...
Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...
Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...Nicole Szigeti
 
Build a Website on AWS for Your First 10 Million Users
Build a Website on AWS for Your First 10 Million UsersBuild a Website on AWS for Your First 10 Million Users
Build a Website on AWS for Your First 10 Million UsersAmazon Web Services
 
Design & Deploy a data-driven Web API in 2 hours
Design & Deploy a data-driven Web API in 2 hoursDesign & Deploy a data-driven Web API in 2 hours
Design & Deploy a data-driven Web API in 2 hoursRestlet
 
Serverless Pune meetup 3
Serverless Pune meetup 3Serverless Pune meetup 3
Serverless Pune meetup 3Vishal Biyani
 
The future of web development write once, run everywhere with angular js an...
The future of web development   write once, run everywhere with angular js an...The future of web development   write once, run everywhere with angular js an...
The future of web development write once, run everywhere with angular js an...Mark Leusink
 
The future of web development write once, run everywhere with angular.js and ...
The future of web development write once, run everywhere with angular.js and ...The future of web development write once, run everywhere with angular.js and ...
The future of web development write once, run everywhere with angular.js and ...Mark Roden
 
ADF Basics and Beyond - Alfresco Devcon 2018
ADF Basics and Beyond - Alfresco Devcon 2018ADF Basics and Beyond - Alfresco Devcon 2018
ADF Basics and Beyond - Alfresco Devcon 2018Mario Romano
 
Cloud Services Powered by IBM SoftLayer and NetflixOSS
Cloud Services Powered by IBM SoftLayer and NetflixOSSCloud Services Powered by IBM SoftLayer and NetflixOSS
Cloud Services Powered by IBM SoftLayer and NetflixOSSaspyker
 
Power Your Mobile Applications On The Cloud [IndicThreads Mobile Application ...
Power Your Mobile Applications On The Cloud [IndicThreads Mobile Application ...Power Your Mobile Applications On The Cloud [IndicThreads Mobile Application ...
Power Your Mobile Applications On The Cloud [IndicThreads Mobile Application ...IndicThreads
 
PLAT-17 Alfresco iOS Mobile Application Details and Design
PLAT-17 Alfresco iOS Mobile Application Details and DesignPLAT-17 Alfresco iOS Mobile Application Details and Design
PLAT-17 Alfresco iOS Mobile Application Details and DesignAlfresco Software
 
Build an App on AWS for Your First 10 Million Users
Build an App on AWS for Your First 10 Million UsersBuild an App on AWS for Your First 10 Million Users
Build an App on AWS for Your First 10 Million UsersAmazon Web Services
 

Similar to Tech Talk Live - Mobile SDKs (20)

Alfresco tech talk live mobile sdks
Alfresco tech talk live mobile sdksAlfresco tech talk live mobile sdks
Alfresco tech talk live mobile sdks
 
Dev Con 2011
Dev Con 2011Dev Con 2011
Dev Con 2011
 
DEVCON-Alfresco i os mobile application details and design
DEVCON-Alfresco i os mobile application details and designDEVCON-Alfresco i os mobile application details and design
DEVCON-Alfresco i os mobile application details and design
 
PLAT-18 Alfresco iOS Mobile Application Details and Design
PLAT-18 Alfresco iOS Mobile Application Details and DesignPLAT-18 Alfresco iOS Mobile Application Details and Design
PLAT-18 Alfresco iOS Mobile Application Details and Design
 
Building Content-Rich Java Apps in the Cloud with the Alfresco API
Building Content-Rich Java Apps in the Cloud with the Alfresco APIBuilding Content-Rich Java Apps in the Cloud with the Alfresco API
Building Content-Rich Java Apps in the Cloud with the Alfresco API
 
Alfresco mobile webinar 11 1-11
Alfresco mobile webinar 11 1-11Alfresco mobile webinar 11 1-11
Alfresco mobile webinar 11 1-11
 
Alfresco iOS Mobile Application In Depth Details and Design
Alfresco iOS Mobile Application In Depth Details and DesignAlfresco iOS Mobile Application In Depth Details and Design
Alfresco iOS Mobile Application In Depth Details and Design
 
Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...
Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...
Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...
 
Build a Website on AWS for Your First 10 Million Users
Build a Website on AWS for Your First 10 Million UsersBuild a Website on AWS for Your First 10 Million Users
Build a Website on AWS for Your First 10 Million Users
 
Building iOS app using meteor
Building iOS app using meteorBuilding iOS app using meteor
Building iOS app using meteor
 
Design & Deploy a data-driven Web API in 2 hours
Design & Deploy a data-driven Web API in 2 hoursDesign & Deploy a data-driven Web API in 2 hours
Design & Deploy a data-driven Web API in 2 hours
 
Serverless Pune meetup 3
Serverless Pune meetup 3Serverless Pune meetup 3
Serverless Pune meetup 3
 
The future of web development write once, run everywhere with angular js an...
The future of web development   write once, run everywhere with angular js an...The future of web development   write once, run everywhere with angular js an...
The future of web development write once, run everywhere with angular js an...
 
The future of web development write once, run everywhere with angular.js and ...
The future of web development write once, run everywhere with angular.js and ...The future of web development write once, run everywhere with angular.js and ...
The future of web development write once, run everywhere with angular.js and ...
 
ADF Basics and Beyond - Alfresco Devcon 2018
ADF Basics and Beyond - Alfresco Devcon 2018ADF Basics and Beyond - Alfresco Devcon 2018
ADF Basics and Beyond - Alfresco Devcon 2018
 
Cloud Services Powered by IBM SoftLayer and NetflixOSS
Cloud Services Powered by IBM SoftLayer and NetflixOSSCloud Services Powered by IBM SoftLayer and NetflixOSS
Cloud Services Powered by IBM SoftLayer and NetflixOSS
 
Power Your Mobile Applications On The Cloud [IndicThreads Mobile Application ...
Power Your Mobile Applications On The Cloud [IndicThreads Mobile Application ...Power Your Mobile Applications On The Cloud [IndicThreads Mobile Application ...
Power Your Mobile Applications On The Cloud [IndicThreads Mobile Application ...
 
PLAT-17 Alfresco iOS Mobile Application Details and Design
PLAT-17 Alfresco iOS Mobile Application Details and DesignPLAT-17 Alfresco iOS Mobile Application Details and Design
PLAT-17 Alfresco iOS Mobile Application Details and Design
 
Revue des annonces WWDC2015
Revue des annonces WWDC2015Revue des annonces WWDC2015
Revue des annonces WWDC2015
 
Build an App on AWS for Your First 10 Million Users
Build an App on AWS for Your First 10 Million UsersBuild an App on AWS for Your First 10 Million Users
Build an App on AWS for Your First 10 Million Users
 

More from Gavin Cornwell

Alfresco DevCon 2019 - DBP on EKS
Alfresco DevCon 2019 - DBP on EKSAlfresco DevCon 2019 - DBP on EKS
Alfresco DevCon 2019 - DBP on EKSGavin Cornwell
 
DevCon 2018 - 5 ways to use AWS with Alfresco
DevCon 2018 - 5 ways to use AWS with AlfrescoDevCon 2018 - 5 ways to use AWS with Alfresco
DevCon 2018 - 5 ways to use AWS with AlfrescoGavin Cornwell
 
Tech Talk Live - 5.2 REST APIs
Tech Talk Live - 5.2 REST APIsTech Talk Live - 5.2 REST APIs
Tech Talk Live - 5.2 REST APIsGavin Cornwell
 
Introduction to advanced workflow
Introduction to advanced workflowIntroduction to advanced workflow
Introduction to advanced workflowGavin Cornwell
 
Forms config and customisation
Forms config and customisationForms config and customisation
Forms config and customisationGavin Cornwell
 
Alfresco Tech Talk Live - REST API of the Future
Alfresco Tech Talk Live - REST API of the Future Alfresco Tech Talk Live - REST API of the Future
Alfresco Tech Talk Live - REST API of the Future Gavin Cornwell
 

More from Gavin Cornwell (6)

Alfresco DevCon 2019 - DBP on EKS
Alfresco DevCon 2019 - DBP on EKSAlfresco DevCon 2019 - DBP on EKS
Alfresco DevCon 2019 - DBP on EKS
 
DevCon 2018 - 5 ways to use AWS with Alfresco
DevCon 2018 - 5 ways to use AWS with AlfrescoDevCon 2018 - 5 ways to use AWS with Alfresco
DevCon 2018 - 5 ways to use AWS with Alfresco
 
Tech Talk Live - 5.2 REST APIs
Tech Talk Live - 5.2 REST APIsTech Talk Live - 5.2 REST APIs
Tech Talk Live - 5.2 REST APIs
 
Introduction to advanced workflow
Introduction to advanced workflowIntroduction to advanced workflow
Introduction to advanced workflow
 
Forms config and customisation
Forms config and customisationForms config and customisation
Forms config and customisation
 
Alfresco Tech Talk Live - REST API of the Future
Alfresco Tech Talk Live - REST API of the Future Alfresco Tech Talk Live - REST API of the Future
Alfresco Tech Talk Live - REST API of the Future
 

Recently uploaded

(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 

Recently uploaded (20)

(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Exploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the ProcessExploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the Process
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 

Tech Talk Live - Mobile SDKs

  • 1. Alfresco Mobile SDKs Agenda •  Overview – Why, What & How? – Gavin Cornwell •  Android SDK – Jean Marie Pascal •  iOS SDK – Peter Schmidt
  • 2. Overview – Why? •  Simplify Access To Alfresco From Mobile Devices •  Uniform API To Access On-Premise Servers and The Cloud •  Enable 3rd party App Integration •  Rapidly Build Alfresco Based Apps •  Used For All Future Alfresco Apps
  • 7. Overview – How? •  Create Session •  Use Services •  Retrieve Model Objects •  Handles Asynchronous Calls For You
  • 9. In Android world… •  A common Android Application is made of –  Activities •  provides a screen with which users can interact in order to do something –  Fragments (Available in android 3+) •  represents a behavior or a portion of user interface –  Loaders (Available in android 3+) •  make it easy to asynchronously load data in an activity or fragment –  Services •  request information remotely to content repository and are responsible for creating data objects.
  • 10. What Alfresco Mobile - Android SDK provides… •  Synchronous Alfresco Services API –  High level services + objects •  Asynchronous API –  Loaders •  UI Component Library –  Fragments, Adapter and manager •  Sample application –  Demonstrate how to use components
  • 11. It’s not just one project… Alfresco OpenCMIS Extension Alfresco Mobile Repository API Alfresco Mobile Async API Alfresco Mobile UI Components Alfresco Applications (sample…) APK LIB APK Android OpenCMISJAR JAR JAR JAR Works on Android versions superior to 2.1 Works on Android version superior to 3.0 Dependency
  • 12. Support is possible… Alfresco OpenCMIS Extension Alfresco Mobile Repository API Alfresco Mobile Async API Alfresco Mobile UI Components Alfresco Applications (sample…) APK LIB APK Android OpenCMISJAR JAR JAR JAR Works on Android versions superior to 2.1 Android support libraryJAR Dependency Not provided
  • 13. UI Library •  Provides –  Images Ressources •  file type icon, logo… –  Themes •  Color scheme, Layout template… –  Localization Resources –  Fragments and adapters •  Activities List, •  Folder list, •  Comments List…
  • 15. Use cases •  Create an application from scratch –  Extends and customize the sample application •  Add Alfresco oriented screen to an existing application –  Use the ApkLib UI component and add a fragment (Android 3+) •  Just need data –  Use the repository API
  • 16. So are you ready to level up ?
  • 18. What’s included ? Sample App Mobile API Library Included Objective CMIS library Documentation (appledoc docset)
  • 19. What are the libraries ? Alfresco Mobile API (+headers) •  Asynchronous handling of requests •  E.g. download/upload documents •  Additional Services, e.g. •  Comments •  Tagging •  Rating •  Activity •  Encapsulates low level CMIS calls Objective CMIS Library (+headers) •  Low level library to handle CMIS sessions, requests & services •  Provides CMIS standard services, e.g. •  Document/Folder (e.g. upload/create/download) •  Versioning •  Search •  Mostly synchronous request •  Collaborative project •  Planned to add to Apache CMIS project
  • 20. iOS Specifics •  Naming conventions –  Objective CMIS code prefixed with CMIS –  Mobile API code prefixed with Alfresco •  Error Handling –  No exceptions in iOS apps, use NSError instead •  As per Apple standard: –  NSError object remains nil if method call is successful. Always check! •  ARC (Automatic Reference Counting)* –  No more retain, release, autorelease on objects •  Blocks –  Used extensively in Mobile API to handle asynchronous requests and callbacks * requires iOS 5.x or later for full support ^(<parameter list>){ execution code }
  • 21. iOS SDK – Async Handling Repository If(nil == error) { self.session = session; } else { UIAlertView *alert = [[UIAlertView. Alloc] ……….. } Alfresco Mobile API CMIS/REST API Background thread Main thread In Sample App code
  • 22. How do Objective C Blocks fit in? •  Blocks were introduced in iOS 4, Mac OSX 10.6 •  Ad hoc functionality that can be passed on like parameters •  Mobile API uses blocks as callbacks once requests complete –  You define what your app/code needs to do within a block
  • 23. Example – Create Session NSURL *url = [NSURL URLWithString:host]; [AlfrescoRepositorySession connectWithUrl:url username:username password:pwd settings:nil completionBlock:^(id<AlfrescoSession> session, NSError *error){ if (nil != error) { /* Your error handling code goes here */ } else { self.session = session; NSLog(@"Authenticated successfully."); } }];