SlideShare ist ein Scribd-Unternehmen logo
1 von 25
Downloaden Sie, um offline zu lesen
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!

Weitere ähnliche Inhalte

Was ist angesagt?

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
 

Was ist angesagt? (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
 

Andere mochten auch

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
 

Andere mochten auch (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
 

Ähnlich wie 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
 

Ähnlich wie 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
 

Mehr von 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
 

Mehr von 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
 

Kürzlich hochgeladen

Osi security architecture in network.pptx
Osi security architecture in network.pptxOsi security architecture in network.pptx
Osi security architecture in network.pptxVinzoCenzo
 
SoftTeco - Software Development Company Profile
SoftTeco - Software Development Company ProfileSoftTeco - Software Development Company Profile
SoftTeco - Software Development Company Profileakrivarotava
 
Ronisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited CatalogueRonisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited Catalogueitservices996
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Developmentvyaparkranti
 
Best Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITBest Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITmanoharjgpsolutions
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
 
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfExploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfkalichargn70th171
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsChristian Birchler
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfDrew Moseley
 
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingOpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingShane Coughlan
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfMarharyta Nedzelska
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf31events.com
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...OnePlan Solutions
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxAndreas Kunz
 
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full RecordingOpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full RecordingShane Coughlan
 
Keeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldKeeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldRoberto Pérez Alcolea
 
Patterns for automating API delivery. API conference
Patterns for automating API delivery. API conferencePatterns for automating API delivery. API conference
Patterns for automating API delivery. API conferencessuser9e7c64
 
eSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolseSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolsosttopstonverter
 

Kürzlich hochgeladen (20)

Osi security architecture in network.pptx
Osi security architecture in network.pptxOsi security architecture in network.pptx
Osi security architecture in network.pptx
 
SoftTeco - Software Development Company Profile
SoftTeco - Software Development Company ProfileSoftTeco - Software Development Company Profile
SoftTeco - Software Development Company Profile
 
Ronisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited CatalogueRonisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited Catalogue
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Development
 
Best Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITBest Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh IT
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
 
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfExploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdf
 
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingOpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdf
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
 
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full RecordingOpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
 
Keeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldKeeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository world
 
Patterns for automating API delivery. API conference
Patterns for automating API delivery. API conferencePatterns for automating API delivery. API conference
Patterns for automating API delivery. API conference
 
eSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolseSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration tools
 

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."); } }];