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 Applications (sample…)
              APK



                                                        Works on
              APK Alfresco Mobile UI Components
              LIB
                                                      Android version
                                                      superior to 3.0

              JAR      Alfresco Mobile Async API




              JAR Alfresco Mobile Repository API




              JAR    Alfresco OpenCMIS Extension         Works on
                                                      Android versions
                                                       superior to 2.1

 Dependency   JAR         Android OpenCMIS
Support is possible…
                              Alfresco Applications (sample…)
                        APK




                        APK Alfresco Mobile UI Components
                        LIB



   Android support      JAR      Alfresco Mobile Async API
       library
JAR                                                                Works on
                                                                Android versions
                                                                 superior to 2.1
                        JAR Alfresco Mobile Repository API




                        JAR    Alfresco OpenCMIS Extension


         Not provided
                        JAR         Android OpenCMIS
         Dependency
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             Objective CMIS Library
         (+headers)                      (+headers)

•  Asynchronous handling of      •  Low level library to handle CMIS
                                    sessions, requests & services
   requests                      •  Provides CMIS standard services,
     •  E.g. download/upload        e.g.
        documents                     •  Document/Folder (e.g.
•  Additional Services, e.g.             upload/create/download)
     •  Comments                      •  Versioning
     •  Tagging                       •  Search
     •  Rating                   •  Mostly synchronous request
     •  Activity                 •  Collaborative project
                                 •  Planned to add to Apache CMIS
•  Encapsulates low level CMIS      project
   calls
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

                              ^(<parameter list>){ execution code }
•  Blocks
    –  Used extensively in Mobile API to handle asynchronous requests and callbacks

   * requires iOS 5.x or later for full support
iOS SDK – Async Handling
           In Sample
           App code

If(nil == error)
{
   self.session = session;
}                              Main      Alfresco
else
{                              thread   Mobile API
   UIAlertView *alert =
       [[UIAlertView. Alloc]
………..
}


                                        Background
                                        thread
                                                     Repository


                                        CMIS/REST
                                           API
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

Mobile test automation with Selenium, Selendroid and ios-driver
Mobile test automation with Selenium, Selendroid and ios-driverMobile test automation with Selenium, Selendroid and ios-driver
Mobile test automation with Selenium, Selendroid and ios-driverMichael Palotas
 
Phoenix for Rubyists
Phoenix for RubyistsPhoenix for Rubyists
Phoenix for RubyistsDoug Goldie
 
Mad development
Mad developmentMad development
Mad developmentEric Lewis
 
Build Your Business Process On A Solid Foundation–Web Sphere Application Server
Build Your Business Process On A Solid Foundation–Web Sphere Application ServerBuild Your Business Process On A Solid Foundation–Web Sphere Application Server
Build Your Business Process On A Solid Foundation–Web Sphere Application ServerCarly Snodgrass
 
Idempotent REST APIs
Idempotent REST APIsIdempotent REST APIs
Idempotent REST APIsNitul Kukadia
 
Mobile Apps with ColdFusion
Mobile Apps with ColdFusionMobile Apps with ColdFusion
Mobile Apps with ColdFusionTerry Ryan
 
Ios driver presentation copy
Ios driver presentation copyIos driver presentation copy
Ios driver presentation copyDavid O'Dowd
 

What's hot (8)

Mobile test automation with Selenium, Selendroid and ios-driver
Mobile test automation with Selenium, Selendroid and ios-driverMobile test automation with Selenium, Selendroid and ios-driver
Mobile test automation with Selenium, Selendroid and ios-driver
 
Phoenix for Rubyists
Phoenix for RubyistsPhoenix for Rubyists
Phoenix for Rubyists
 
Mad development
Mad developmentMad development
Mad development
 
Build Your Business Process On A Solid Foundation–Web Sphere Application Server
Build Your Business Process On A Solid Foundation–Web Sphere Application ServerBuild Your Business Process On A Solid Foundation–Web Sphere Application Server
Build Your Business Process On A Solid Foundation–Web Sphere Application Server
 
Idempotent REST APIs
Idempotent REST APIsIdempotent REST APIs
Idempotent REST APIs
 
Os Smarr
Os SmarrOs Smarr
Os Smarr
 
Mobile Apps with ColdFusion
Mobile Apps with ColdFusionMobile Apps with ColdFusion
Mobile Apps with ColdFusion
 
Ios driver presentation copy
Ios driver presentation copyIos driver presentation copy
Ios driver presentation copy
 

Viewers also liked

Alfresco 5.0 Technology Review
Alfresco 5.0 Technology ReviewAlfresco 5.0 Technology Review
Alfresco 5.0 Technology ReviewZia Consulting
 
Alfresco Day BeNelux: Customer Success Showcase - Saxion Hogescholen
Alfresco Day BeNelux: Customer Success Showcase - Saxion HogescholenAlfresco Day BeNelux: Customer Success Showcase - Saxion Hogescholen
Alfresco Day BeNelux: Customer Success Showcase - Saxion HogescholenAlfresco Software
 
Alfresco Day BeNelux: Customer Success Showcase - Gemeente Amsterdam
Alfresco Day BeNelux: Customer Success Showcase - Gemeente AmsterdamAlfresco Day BeNelux: Customer Success Showcase - Gemeente Amsterdam
Alfresco Day BeNelux: Customer Success Showcase - Gemeente AmsterdamAlfresco Software
 
Alfresco Day BeNelux: The success of Alfresco
Alfresco Day BeNelux: The success of AlfrescoAlfresco Day BeNelux: The success of Alfresco
Alfresco Day BeNelux: The success of AlfrescoAlfresco Software
 
Alfresco Day Benelux Hogeschool Inholland Records Management application
Alfresco Day Benelux Hogeschool Inholland Records Management applicationAlfresco Day Benelux Hogeschool Inholland Records Management application
Alfresco Day Benelux Hogeschool Inholland Records Management applicationAlfresco Software
 
Alfresco Day Benelux Inholland studentendossier
Alfresco Day Benelux Inholland studentendossierAlfresco Day Benelux Inholland studentendossier
Alfresco Day Benelux Inholland studentendossierAlfresco Software
 

Viewers also liked (6)

Alfresco 5.0 Technology Review
Alfresco 5.0 Technology ReviewAlfresco 5.0 Technology Review
Alfresco 5.0 Technology Review
 
Alfresco Day BeNelux: Customer Success Showcase - Saxion Hogescholen
Alfresco Day BeNelux: Customer Success Showcase - Saxion HogescholenAlfresco Day BeNelux: Customer Success Showcase - Saxion Hogescholen
Alfresco Day BeNelux: Customer Success Showcase - Saxion Hogescholen
 
Alfresco Day BeNelux: Customer Success Showcase - Gemeente Amsterdam
Alfresco Day BeNelux: Customer Success Showcase - Gemeente AmsterdamAlfresco Day BeNelux: Customer Success Showcase - Gemeente Amsterdam
Alfresco Day BeNelux: Customer Success Showcase - Gemeente Amsterdam
 
Alfresco Day BeNelux: The success of Alfresco
Alfresco Day BeNelux: The success of AlfrescoAlfresco Day BeNelux: The success of Alfresco
Alfresco Day BeNelux: The success of Alfresco
 
Alfresco Day Benelux Hogeschool Inholland Records Management application
Alfresco Day Benelux Hogeschool Inholland Records Management applicationAlfresco Day Benelux Hogeschool Inholland Records Management application
Alfresco Day Benelux Hogeschool Inholland Records Management application
 
Alfresco Day Benelux Inholland studentendossier
Alfresco Day Benelux Inholland studentendossierAlfresco Day Benelux Inholland studentendossier
Alfresco Day Benelux Inholland studentendossier
 

Similar to Alfresco Mobile SDK Agendas

Tech Talk Live - Mobile SDKs
Tech Talk Live - Mobile SDKsTech Talk Live - Mobile SDKs
Tech Talk Live - Mobile SDKsGavin Cornwell
 
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
 
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
 
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
 
Developer’s intro to the alfresco platform
Developer’s intro to the alfresco platformDeveloper’s intro to the alfresco platform
Developer’s intro to the alfresco platformAlfresco Software
 
Tech talk live on new alfresco api
Tech talk live on new alfresco apiTech talk live on new alfresco api
Tech talk live on new alfresco apiAlfresco Software
 
Serverless Pune meetup 3
Serverless Pune meetup 3Serverless Pune meetup 3
Serverless Pune meetup 3Vishal Biyani
 
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
 
Intro to the Alfresco Public API
Intro to the Alfresco Public APIIntro to the Alfresco Public API
Intro to the Alfresco Public APIJeff Potts
 
Springinalfrescoecm 090629053231-phpapp02
Springinalfrescoecm 090629053231-phpapp02Springinalfrescoecm 090629053231-phpapp02
Springinalfrescoecm 090629053231-phpapp02ECNU
 
[2015/2016] Apache Cordova
[2015/2016] Apache Cordova[2015/2016] Apache Cordova
[2015/2016] Apache CordovaIvano Malavolta
 
CMIS: An Open API for Managing Content
CMIS: An Open API for Managing ContentCMIS: An Open API for Managing Content
CMIS: An Open API for Managing ContentJeff Potts
 
Flex multi-screen development
Flex multi-screen developmentFlex multi-screen development
Flex multi-screen developmenteaselsolutions
 
Developers.io 2017 iPhoneによるAlexa/Lex/Pollyを利用した 音声対応クライアントの作成方法
Developers.io 2017 iPhoneによるAlexa/Lex/Pollyを利用した 音声対応クライアントの作成方法Developers.io 2017 iPhoneによるAlexa/Lex/Pollyを利用した 音声対応クライアントの作成方法
Developers.io 2017 iPhoneによるAlexa/Lex/Pollyを利用した 音声対応クライアントの作成方法Shinichi Hirauchi
 

Similar to Alfresco Mobile SDK Agendas (20)

Tech Talk Live - Mobile SDKs
Tech Talk Live - Mobile SDKsTech Talk Live - Mobile SDKs
Tech Talk Live - Mobile SDKs
 
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
 
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
 
Dev Con 2011
Dev Con 2011Dev Con 2011
Dev Con 2011
 
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...
 
Developer’s intro to the alfresco platform
Developer’s intro to the alfresco platformDeveloper’s intro to the alfresco platform
Developer’s intro to the alfresco platform
 
Tech talk live on new alfresco api
Tech talk live on new alfresco apiTech talk live on new alfresco api
Tech talk live on new alfresco api
 
Serverless Pune meetup 3
Serverless Pune meetup 3Serverless Pune meetup 3
Serverless Pune meetup 3
 
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
 
Apache Cordova 4.x
Apache Cordova 4.xApache Cordova 4.x
Apache Cordova 4.x
 
Intro to the Alfresco Public API
Intro to the Alfresco Public APIIntro to the Alfresco Public API
Intro to the Alfresco Public API
 
Springinalfrescoecm 090629053231-phpapp02
Springinalfrescoecm 090629053231-phpapp02Springinalfrescoecm 090629053231-phpapp02
Springinalfrescoecm 090629053231-phpapp02
 
[2015/2016] Apache Cordova
[2015/2016] Apache Cordova[2015/2016] Apache Cordova
[2015/2016] Apache Cordova
 
Flex alfresco
Flex   alfrescoFlex   alfresco
Flex alfresco
 
Spring In Alfresco Ecm
Spring In Alfresco EcmSpring In Alfresco Ecm
Spring In Alfresco Ecm
 
CMIS: An Open API for Managing Content
CMIS: An Open API for Managing ContentCMIS: An Open API for Managing Content
CMIS: An Open API for Managing Content
 
Flex multi-screen development
Flex multi-screen developmentFlex multi-screen development
Flex multi-screen development
 
Developers.io 2017 iPhoneによるAlexa/Lex/Pollyを利用した 音声対応クライアントの作成方法
Developers.io 2017 iPhoneによるAlexa/Lex/Pollyを利用した 音声対応クライアントの作成方法Developers.io 2017 iPhoneによるAlexa/Lex/Pollyを利用した 音声対応クライアントの作成方法
Developers.io 2017 iPhoneによるAlexa/Lex/Pollyを利用した 音声対応クライアントの作成方法
 
Android workshop
Android workshopAndroid workshop
Android workshop
 

More from Alfresco Software

Alfresco Day BeNelux: Customer Success Showcase - Credendo Group
Alfresco Day BeNelux: Customer Success Showcase - Credendo GroupAlfresco Day BeNelux: Customer Success Showcase - Credendo Group
Alfresco Day BeNelux: Customer Success Showcase - Credendo GroupAlfresco Software
 
Alfresco Day BeNelux: Digital Transformation - It's All About Flow
Alfresco Day BeNelux: Digital Transformation - It's All About FlowAlfresco Day BeNelux: Digital Transformation - It's All About Flow
Alfresco Day BeNelux: Digital Transformation - It's All About FlowAlfresco Software
 
Alfresco Day Vienna 2016: Activiti – ein Katalysator für die DMS-Strategie be...
Alfresco Day Vienna 2016: Activiti – ein Katalysator für die DMS-Strategie be...Alfresco Day Vienna 2016: Activiti – ein Katalysator für die DMS-Strategie be...
Alfresco Day Vienna 2016: Activiti – ein Katalysator für die DMS-Strategie be...Alfresco Software
 
Alfresco Day Vienna 2016: Elektronische Geschäftsprozesse auf Basis von Alfre...
Alfresco Day Vienna 2016: Elektronische Geschäftsprozesse auf Basis von Alfre...Alfresco Day Vienna 2016: Elektronische Geschäftsprozesse auf Basis von Alfre...
Alfresco Day Vienna 2016: Elektronische Geschäftsprozesse auf Basis von Alfre...Alfresco Software
 
Alfresco Day Vienna 2016: Alfrescos neue Rest API
Alfresco Day Vienna 2016: Alfrescos neue Rest APIAlfresco Day Vienna 2016: Alfrescos neue Rest API
Alfresco Day Vienna 2016: Alfrescos neue Rest APIAlfresco Software
 
Alfresco Day Vienna 2016: Support Tools für die Admin-Konsole
Alfresco Day Vienna 2016: Support Tools für die Admin-KonsoleAlfresco Day Vienna 2016: Support Tools für die Admin-Konsole
Alfresco Day Vienna 2016: Support Tools für die Admin-KonsoleAlfresco Software
 
Alfresco Day Vienna 2016: Entwickeln mit Alfresco
Alfresco Day Vienna 2016: Entwickeln mit AlfrescoAlfresco Day Vienna 2016: Entwickeln mit Alfresco
Alfresco Day Vienna 2016: Entwickeln mit AlfrescoAlfresco Software
 
Alfresco Day Vienna 2016: Activiti goes enterprise: Die Evolution der BPM Sui...
Alfresco Day Vienna 2016: Activiti goes enterprise: Die Evolution der BPM Sui...Alfresco Day Vienna 2016: Activiti goes enterprise: Die Evolution der BPM Sui...
Alfresco Day Vienna 2016: Activiti goes enterprise: Die Evolution der BPM Sui...Alfresco Software
 
Alfresco Day Vienna 2016: Partner Lightning Talk: Westernacher
Alfresco Day Vienna 2016: Partner Lightning Talk: WesternacherAlfresco Day Vienna 2016: Partner Lightning Talk: Westernacher
Alfresco Day Vienna 2016: Partner Lightning Talk: WesternacherAlfresco Software
 
Alfresco Day Vienna 2016: Bringing Content & Process together with the App De...
Alfresco Day Vienna 2016: Bringing Content & Process together with the App De...Alfresco Day Vienna 2016: Bringing Content & Process together with the App De...
Alfresco Day Vienna 2016: Bringing Content & Process together with the App De...Alfresco Software
 
Alfresco Day Vienna 2016: Partner Lightning Talk - it-novum
Alfresco Day Vienna 2016: Partner Lightning Talk - it-novumAlfresco Day Vienna 2016: Partner Lightning Talk - it-novum
Alfresco Day Vienna 2016: Partner Lightning Talk - it-novumAlfresco Software
 
Alfresco Day Vienna 2016: How to Achieve Digital Flow in the Enterprise - Joh...
Alfresco Day Vienna 2016: How to Achieve Digital Flow in the Enterprise - Joh...Alfresco Day Vienna 2016: How to Achieve Digital Flow in the Enterprise - Joh...
Alfresco Day Vienna 2016: How to Achieve Digital Flow in the Enterprise - Joh...Alfresco Software
 
Alfresco Day Warsaw 2016 - Czy możliwe jest spełnienie wszystkich regulacji p...
Alfresco Day Warsaw 2016 - Czy możliwe jest spełnienie wszystkich regulacji p...Alfresco Day Warsaw 2016 - Czy możliwe jest spełnienie wszystkich regulacji p...
Alfresco Day Warsaw 2016 - Czy możliwe jest spełnienie wszystkich regulacji p...Alfresco Software
 
Alfresco Day Warsaw 2016: Identyfikacja i podpiselektroniczny - Safran
Alfresco Day Warsaw 2016: Identyfikacja i podpiselektroniczny - SafranAlfresco Day Warsaw 2016: Identyfikacja i podpiselektroniczny - Safran
Alfresco Day Warsaw 2016: Identyfikacja i podpiselektroniczny - SafranAlfresco Software
 
Alfresco Day Warsaw 2016: Advancing the Flow of Digital Business
Alfresco Day Warsaw 2016: Advancing the Flow of Digital BusinessAlfresco Day Warsaw 2016: Advancing the Flow of Digital Business
Alfresco Day Warsaw 2016: Advancing the Flow of Digital BusinessAlfresco Software
 
Alfresco Day Warsaw 2016: Podpis elektroniczny - BMS
Alfresco Day Warsaw 2016: Podpis elektroniczny - BMSAlfresco Day Warsaw 2016: Podpis elektroniczny - BMS
Alfresco Day Warsaw 2016: Podpis elektroniczny - BMSAlfresco Software
 
Alfresco Day Warsaw 2016: Next-Generation Business Process Management with Al...
Alfresco Day Warsaw 2016: Next-Generation Business Process Management with Al...Alfresco Day Warsaw 2016: Next-Generation Business Process Management with Al...
Alfresco Day Warsaw 2016: Next-Generation Business Process Management with Al...Alfresco Software
 
Alfresco Day Milano 2016 - Demo Data
Alfresco Day Milano 2016 - Demo DataAlfresco Day Milano 2016 - Demo Data
Alfresco Day Milano 2016 - Demo DataAlfresco Software
 
Alfresco Day Milano 2016 - Tribunale di Cremona
Alfresco Day Milano 2016 - Tribunale di CremonaAlfresco Day Milano 2016 - Tribunale di Cremona
Alfresco Day Milano 2016 - Tribunale di CremonaAlfresco Software
 
Alfresco Day Milano 2016 - Alfresco Product Update
Alfresco Day Milano 2016 - Alfresco Product UpdateAlfresco Day Milano 2016 - Alfresco Product Update
Alfresco Day Milano 2016 - Alfresco Product UpdateAlfresco Software
 

More from Alfresco Software (20)

Alfresco Day BeNelux: Customer Success Showcase - Credendo Group
Alfresco Day BeNelux: Customer Success Showcase - Credendo GroupAlfresco Day BeNelux: Customer Success Showcase - Credendo Group
Alfresco Day BeNelux: Customer Success Showcase - Credendo Group
 
Alfresco Day BeNelux: Digital Transformation - It's All About Flow
Alfresco Day BeNelux: Digital Transformation - It's All About FlowAlfresco Day BeNelux: Digital Transformation - It's All About Flow
Alfresco Day BeNelux: Digital Transformation - It's All About Flow
 
Alfresco Day Vienna 2016: Activiti – ein Katalysator für die DMS-Strategie be...
Alfresco Day Vienna 2016: Activiti – ein Katalysator für die DMS-Strategie be...Alfresco Day Vienna 2016: Activiti – ein Katalysator für die DMS-Strategie be...
Alfresco Day Vienna 2016: Activiti – ein Katalysator für die DMS-Strategie be...
 
Alfresco Day Vienna 2016: Elektronische Geschäftsprozesse auf Basis von Alfre...
Alfresco Day Vienna 2016: Elektronische Geschäftsprozesse auf Basis von Alfre...Alfresco Day Vienna 2016: Elektronische Geschäftsprozesse auf Basis von Alfre...
Alfresco Day Vienna 2016: Elektronische Geschäftsprozesse auf Basis von Alfre...
 
Alfresco Day Vienna 2016: Alfrescos neue Rest API
Alfresco Day Vienna 2016: Alfrescos neue Rest APIAlfresco Day Vienna 2016: Alfrescos neue Rest API
Alfresco Day Vienna 2016: Alfrescos neue Rest API
 
Alfresco Day Vienna 2016: Support Tools für die Admin-Konsole
Alfresco Day Vienna 2016: Support Tools für die Admin-KonsoleAlfresco Day Vienna 2016: Support Tools für die Admin-Konsole
Alfresco Day Vienna 2016: Support Tools für die Admin-Konsole
 
Alfresco Day Vienna 2016: Entwickeln mit Alfresco
Alfresco Day Vienna 2016: Entwickeln mit AlfrescoAlfresco Day Vienna 2016: Entwickeln mit Alfresco
Alfresco Day Vienna 2016: Entwickeln mit Alfresco
 
Alfresco Day Vienna 2016: Activiti goes enterprise: Die Evolution der BPM Sui...
Alfresco Day Vienna 2016: Activiti goes enterprise: Die Evolution der BPM Sui...Alfresco Day Vienna 2016: Activiti goes enterprise: Die Evolution der BPM Sui...
Alfresco Day Vienna 2016: Activiti goes enterprise: Die Evolution der BPM Sui...
 
Alfresco Day Vienna 2016: Partner Lightning Talk: Westernacher
Alfresco Day Vienna 2016: Partner Lightning Talk: WesternacherAlfresco Day Vienna 2016: Partner Lightning Talk: Westernacher
Alfresco Day Vienna 2016: Partner Lightning Talk: Westernacher
 
Alfresco Day Vienna 2016: Bringing Content & Process together with the App De...
Alfresco Day Vienna 2016: Bringing Content & Process together with the App De...Alfresco Day Vienna 2016: Bringing Content & Process together with the App De...
Alfresco Day Vienna 2016: Bringing Content & Process together with the App De...
 
Alfresco Day Vienna 2016: Partner Lightning Talk - it-novum
Alfresco Day Vienna 2016: Partner Lightning Talk - it-novumAlfresco Day Vienna 2016: Partner Lightning Talk - it-novum
Alfresco Day Vienna 2016: Partner Lightning Talk - it-novum
 
Alfresco Day Vienna 2016: How to Achieve Digital Flow in the Enterprise - Joh...
Alfresco Day Vienna 2016: How to Achieve Digital Flow in the Enterprise - Joh...Alfresco Day Vienna 2016: How to Achieve Digital Flow in the Enterprise - Joh...
Alfresco Day Vienna 2016: How to Achieve Digital Flow in the Enterprise - Joh...
 
Alfresco Day Warsaw 2016 - Czy możliwe jest spełnienie wszystkich regulacji p...
Alfresco Day Warsaw 2016 - Czy możliwe jest spełnienie wszystkich regulacji p...Alfresco Day Warsaw 2016 - Czy możliwe jest spełnienie wszystkich regulacji p...
Alfresco Day Warsaw 2016 - Czy możliwe jest spełnienie wszystkich regulacji p...
 
Alfresco Day Warsaw 2016: Identyfikacja i podpiselektroniczny - Safran
Alfresco Day Warsaw 2016: Identyfikacja i podpiselektroniczny - SafranAlfresco Day Warsaw 2016: Identyfikacja i podpiselektroniczny - Safran
Alfresco Day Warsaw 2016: Identyfikacja i podpiselektroniczny - Safran
 
Alfresco Day Warsaw 2016: Advancing the Flow of Digital Business
Alfresco Day Warsaw 2016: Advancing the Flow of Digital BusinessAlfresco Day Warsaw 2016: Advancing the Flow of Digital Business
Alfresco Day Warsaw 2016: Advancing the Flow of Digital Business
 
Alfresco Day Warsaw 2016: Podpis elektroniczny - BMS
Alfresco Day Warsaw 2016: Podpis elektroniczny - BMSAlfresco Day Warsaw 2016: Podpis elektroniczny - BMS
Alfresco Day Warsaw 2016: Podpis elektroniczny - BMS
 
Alfresco Day Warsaw 2016: Next-Generation Business Process Management with Al...
Alfresco Day Warsaw 2016: Next-Generation Business Process Management with Al...Alfresco Day Warsaw 2016: Next-Generation Business Process Management with Al...
Alfresco Day Warsaw 2016: Next-Generation Business Process Management with Al...
 
Alfresco Day Milano 2016 - Demo Data
Alfresco Day Milano 2016 - Demo DataAlfresco Day Milano 2016 - Demo Data
Alfresco Day Milano 2016 - Demo Data
 
Alfresco Day Milano 2016 - Tribunale di Cremona
Alfresco Day Milano 2016 - Tribunale di CremonaAlfresco Day Milano 2016 - Tribunale di Cremona
Alfresco Day Milano 2016 - Tribunale di Cremona
 
Alfresco Day Milano 2016 - Alfresco Product Update
Alfresco Day Milano 2016 - Alfresco Product UpdateAlfresco Day Milano 2016 - Alfresco Product Update
Alfresco Day Milano 2016 - Alfresco Product Update
 

Recently uploaded

My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsAndrey Dotsenko
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 

Recently uploaded (20)

My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 

Alfresco Mobile SDK Agendas

  • 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 Applications (sample…) APK Works on APK Alfresco Mobile UI Components LIB Android version superior to 3.0 JAR Alfresco Mobile Async API JAR Alfresco Mobile Repository API JAR Alfresco OpenCMIS Extension Works on Android versions superior to 2.1 Dependency JAR Android OpenCMIS
  • 12. Support is possible… Alfresco Applications (sample…) APK APK Alfresco Mobile UI Components LIB Android support JAR Alfresco Mobile Async API library JAR Works on Android versions superior to 2.1 JAR Alfresco Mobile Repository API JAR Alfresco OpenCMIS Extension Not provided JAR Android OpenCMIS Dependency
  • 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 Objective CMIS Library (+headers) (+headers) •  Asynchronous handling of •  Low level library to handle CMIS sessions, requests & services requests •  Provides CMIS standard services, •  E.g. download/upload e.g. documents •  Document/Folder (e.g. •  Additional Services, e.g. upload/create/download) •  Comments •  Versioning •  Tagging •  Search •  Rating •  Mostly synchronous request •  Activity •  Collaborative project •  Planned to add to Apache CMIS •  Encapsulates low level CMIS project calls
  • 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 ^(<parameter list>){ execution code } •  Blocks –  Used extensively in Mobile API to handle asynchronous requests and callbacks * requires iOS 5.x or later for full support
  • 21. iOS SDK – Async Handling In Sample App code If(nil == error) { self.session = session; } Main Alfresco else { thread Mobile API UIAlertView *alert = [[UIAlertView. Alloc] ……….. } Background thread Repository CMIS/REST API
  • 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."); } }];