SlideShare a Scribd company logo
Alfresco iOS Mobile 

Application Details and Design"
   Ryan McVeigh, Director of Enterprise Integration - Zia Consulting"
             Gi Lee, Principal Consultant – Zia Consulting"
Who are we?"

Ryan McVeigh
  •  Director @ Zia"
  •  Responsible for Ziaʼs ECM Practice"
  •  CMIS Secretary and Technical Editor"
    •    Represented BEA Systems and Oracle"
    •    Ziaʼs lead CMIS representative"
Gi Lee
  •  Principal Consultant @ Zia"
  •  Architect of Alfresco Mobile and Ziaʼs Fresh Docs products"
  •  CMIS Committee Member"
Who is Zia?

A firm with deep technical expertise & strategic insight, coupled with our Agile software methodology, provides numerous
benefits to our customers:"


                           Benefits"
                                 •    Achieve ROI by delivering improved operational efficiencies "
                                 •    Boost productivity by creating collaborative work environments"
 Our	
  Partners	
  
                                 •    Maintain access and control of information through the enterprise"
                                 •    Allow employees to find the information they need, when they need it"
                                 •    Increase end-user adoption!
                                 •    Agile training by using Zia methodology and Rally tools"
                                 •    Raving fan customers"


                           Professional Qualifications"
                                 •    Highly-experienced, accredited senior staff consisting of Business
                                      Analysts, Enterprise Architects, Software Engineers and Data Architects"
                                 •    Platinum Alfresco Professional Services & OEM Partner"
                                 •    Platinum Ephesoft Partner"
                                 •    Alfresco 2010 Implementation of the Year with Denver"
                                 •    MuleSoft Partner"
Agenda"

•    Alfresco Mobile History
•    Architecture Overview
•    CMIS Refresher
•    Demo
•    Technical Walkthrough
     •  CMIS Features"
     •  Alfresco RESTful API"
•  Open Source Project
•  Roadmap & What’s Next?
•  Questions?
Alfresco Mobile History"

•  Zia released Fresh Docs for iOS in December 2009
•  Android application also available
•  Alfresco and Zia partnership entered this year for Alfresco
   Mobile
Architecture Overview"

Mostly a CMIS application talking to Alfresco
Several features specific to Alfresco




                        CMIS	
  

                                            Alfresco	
  
                        REST	
  
CMIS Refresher"

CMIS TC Goals & Scope
  •  Enable applications to target different ECM repositories uniformly"
  •  Provide a set of basic services enabling richer ECM applications
     and use cases"
  •  All for loose coupling of an ECM application on the underlying
     repository"
  •  Use popular protocol bindings"
    •    REST / AtomPub"
    •    Web Services / SOAP"
Demo"

Alfresco Mobile in Action – A Few Features
  •  CMIS: "
    •    Login to Alfresco over HTTP or HTTPS"
    •    Browse, Search, Display Content and Edit Metadata, Upload Media"
    •    Create Folders"
  •  Alfresco"
    •    Alfresco Activities"
    •    Like & Unlike, Comment on Documents"
  •  iOS"
    •    Local Downloads"
    •    Multi Tasking"
Design"




 •    Navigation based app for browsing CMIS repositories"
 •    Layered on Alfresco specific functionality"
 •    Hierarchy of Table Views "
 •    Universal binary"
Designed for the iPad"




  •  Still a navigation based app but with iPad-specific controllers "
  •  Split View Controller"
  •  Still a universal binary"
Features using CMIS"

     CMIS	
  AtomPub	
  Binding	
  
                                        Browse	
  &	
  
                                                               getChildren	
  
                                      Company	
  Home	
  
                                         Download	
  
                                                            getContentStream	
  
                                         Document	
  

                                         Metadata	
         getTypeDefiniBon	
  

                                           Search	
               query	
  

                                           Upload	
         createDocument	
  
Features using the Alfresco RESTful API"




             Alfresco	
  RESTful	
  API	
  
                                               AcBviBes	
  Feed	
  

                                              View	
  &	
  Add	
  Tags	
  

                                                  Comments	
  

                                              Like	
  a	
  Document	
  

                                                    Sites	
  List	
  
App Launch / Sites / Browse"




•    CMIS: Retrieve AtomPub Service Document"
•    Alfresco: Request Sites List"
•    CMIS: Request folder children for the Root Collection"
•    CMIS: Navigate into a folder or site"
Activities"




•  Alfresco: Retrieve userʼs activity feed"

•  User Clicks on a document cell"
  •    CMIS: Retrieve Document via getObjectByID service"

•  User clicks on the info icon "
  •    CMIS: Retrieve Document Metadata using getTypeDefinition service"
Search"




•  Execute a CMIS Query"
  •     Full-text search:"
       •    SELECT * FROM cmis:document WHERE CONTAINS(ʻkeywordsʼ)!
  •     Search by cmis:name:"
       •    SELECT * FROM cmis:document WHERE CONTAINS(ʻ~cmis:name:ʼ*keywords*ʼ)!
Calling an AtomPub Service"


           CMIS	
  RESTful	
  Request	
  


                                            Alfresco	
  
                 AtomPub	
  XML	
  
Creating an HTTP Request"

•  Using ASIHTTPRequest build your request"

•  Delegate handles events from the request"
Parsing AtomPub XML"

Event-Driven XML Parsing (SAX)"
•  Parser sends messages (parsing events) to it s delegates (callbacks)"


Use NSXMLParser & NSXMLParserDelegate"
•  Recommended by Apple"
•  Native API"
•  Objective-C based implementation"


Why not use the Tree-based API (DOM)?"
•  Apple does not provide the API for iOS"
NSXMLParser & NSXMLParserDelegate"

Setting up NSXMLParser"




NSXMLParserDelegate methods"
– parser:didStartElement:namespaceURI:qualifiedName:attributes:"
– parser:didEndElement:namespaceURI:qualifiedName:"
– parser:foundCharacters:"
Calling Alfresco APIs"



            RESTful	
  HTTP	
  Request	
  

                                             Alfresco	
  
                        JSON	
  
We Like JSON!"

•  Simple to consume!"
•  Use SBJson"
•  Parses into NSDictionary and NSArray objects"




•  CMIS 1.1 will contain a Browser Binding!"
Open Source Availability"

                  Hosted on Bitbucket
                   http://bit.ly/rrNdTc

Search for alfresco-mobile at bitbucket.org




  Released under the Mozilla Public License Version 1.1
API s and Libraries Used"


  •  Cocoa Touch Frameworks"
    •    The APIʼs Apple provides to build an iOS application"

  •  ASIHTTPRequest"
    •    Communication with the server"
    •    Wrapper around Appleʼs CFNetwork API"

  •  SBJson"
    •    Fast, simple & clean JSON parser and generator"

  •  GHUnit"
    •    Objective-C Test framework"
What do I need to know?"



                •  Git"
                •  Objective-C"
                •  iOS App Programming"
                •  Alfresco RESTful API"
                •  CMIS AtomPub Binding"
Resources"

Apple s iOS Developer Library & Development videos
 • View & View Controller Programming Guide"
 • Table View Programming Guide"
 • Key-Value Programming Guide"
 • Memory Management Programming Guide"
 • iOS Human Interface Guidelines"


 !! ! !Beginning iPhone 4 Development: !
 !! ! !Exploring the iOS SDK, Apress Publishing"


Programming in Objective-C, Sam s Publishing"
Common Design Patterns"

 •  Model-View-Controller"
   •    A pattern to relate the user interface to an underlying data model."

 •  Delegation""
   •    A patten where an object, the delegator, delegates tasks to an associated
        helper object, the delegate."
   •    The delegate is responsible for executing the task for the delegator."

 •  Target-Action"
   •    Target-action is a design pattern in which an object holds the information
        necessary to send a message to another object when an event occurs."
Tools for iOS Development"

•  Mac with OS X Snow Leopard or Lion"

•  XCode 4"
                  • Integrated Development Environment"
                  • Integrated Build System"
                  • Debugger"
                  • Interface Builder"
                  • iOS Simulator


•  Instruments"
                  • Performance and behavior analysis"
Getting Started "

•  Create an iOS developer account"
•  Install the latest version of XCode 4"
•  Clone the repository"
 •  git clone https://ziadev@bitbucket.org/ziadev/alfresco-mobile.git"

•  Open the Project"
Two Targets?"




         Two Targets: Alfresco & Fresh Docs"
Getting Started "



•  Select a target and the 

   iOS Simulator to Use"




                               •  Build and Run"
How do I install it on my device?"

     •  Signup for a iOS Developer Program Account"



     •  Configure Profile"
        •  Development Certificate, App ID, 

           Provisioning Device & Certificates"



     •  Configure & Build the application for your device"



     See iOS Provisioning Portal Resources & How-To Guides"
How Do I Contribute?"


       Fork on                                    Work
                            Clone"
      Bitbucket	
                                Locally"



     Send a pull                                 Commit
                             Push"
      request"                                   Locally"


    Step-by-step example for forking and sending a pull request:

                         http://bit.ly/pbIDRk"
Roadmap"

           Features under future consideration
             •  Browse Site Members"
             •  Search and Browse for People"
             •  Version History and Upload New Versions"
             •  Browse Recent Docs"
             •  More…"


           Alfresco Mobile Product Manager
             •  Marc Dubresson"
             •  marc.dubresson@alfresco.com"


             Disclaimer: Neither Alfresco nor Zia are
                making any claims or commitments to
                deliver these features."
Whatʼs Next?"

Zia is hosting a deep dive Webinar with Alfresco
  •  November 1 @ 1pm ET"
  •  http://bit.ly/tztqRL"


Code is Open Source
  •  Happy to have contributors"
  •  Alfresco will coordinate releases of Alfresco Mobile"
  •  Zia will coordinate releases of Fresh Docs"
  •  If you want to release to the Apple App Store, contact us"


Come see us at our booth!
Contact Us"

Ryan McVeigh – ECM Business Owner:
  •  rmcveigh@ziaconsulting.com"


Gi Lee – Fresh Docs Architect
  •  gi.lee@ziaconsulting.com"


Michael Muller – Fresh Docs PM
  •  mmuller@ziaconsulting.com"
Q & A"

More Related Content

PPTX
Alfresco iOS Mobile Application In Depth Details and Design
PDF
PLAT-18 Alfresco iOS Mobile Application Details and Design
PPTX
Alfresco mobile webinar 11 1-11
PDF
Dev Con 2011
KEY
FatWire Tutorial For Site Studio Developers
PPT
Seamless Integrations between WebCenter Content, Site Studio, and WebCenter S...
PPT
Top 10 HTML5 Features for Oracle Cloud Developers
PPT
Deep Dive: Oracle WebCenter Content Tips and Traps!
Alfresco iOS Mobile Application In Depth Details and Design
PLAT-18 Alfresco iOS Mobile Application Details and Design
Alfresco mobile webinar 11 1-11
Dev Con 2011
FatWire Tutorial For Site Studio Developers
Seamless Integrations between WebCenter Content, Site Studio, and WebCenter S...
Top 10 HTML5 Features for Oracle Cloud Developers
Deep Dive: Oracle WebCenter Content Tips and Traps!

What's hot (20)

PPT
Integrating ADF Mobile with WebCenter
PDF
Creating a Global E-Commerce Website With E-Business Suite and Fusion Middleware
PPTX
Switching to Oracle Document Cloud
PDF
WCM-5 WCM Solutions with Drupal and Alfresco
PDF
SharePoint Saturday The Conference DC - How the client object model saved the...
PPT
WebCenter Content & Portal Methodology Deep Dive with Case Studies
PPT
Oracle UCM Implementation Patterns
PPTX
Sitecore and Responsive Web Design
PPT
Creating and Maintaining An Internationalized Website
KEY
Creating Next-Generation ADF Mobile Applications
PDF
Integrating ECM (WebCenter Content) with your Enterprise! 5 Tips to Try, 5 Tr...
PPT
Top 10 Ways To Integrate With Oracle Enterprise Content Management (ECM)
PDF
SharePoint Saturday The Conference DC - How the bcs saved my marriage
PPTX
Developing SharePoint 2013 apps with Visual Studio 2012 - Microsoft TechDays ...
PPTX
SharePoint Server 2013: to app or not to app?
PPTX
Stop Those Prying Eyes Getting To Your Data SPTechCon
PDF
Alfresco mobile
PPTX
SharePoint Saturday Utah - The Art of the Possible Keynote
PDF
Service-Oriented Design and Implement with Rails3
PPTX
Our First ADF Experience
Integrating ADF Mobile with WebCenter
Creating a Global E-Commerce Website With E-Business Suite and Fusion Middleware
Switching to Oracle Document Cloud
WCM-5 WCM Solutions with Drupal and Alfresco
SharePoint Saturday The Conference DC - How the client object model saved the...
WebCenter Content & Portal Methodology Deep Dive with Case Studies
Oracle UCM Implementation Patterns
Sitecore and Responsive Web Design
Creating and Maintaining An Internationalized Website
Creating Next-Generation ADF Mobile Applications
Integrating ECM (WebCenter Content) with your Enterprise! 5 Tips to Try, 5 Tr...
Top 10 Ways To Integrate With Oracle Enterprise Content Management (ECM)
SharePoint Saturday The Conference DC - How the bcs saved my marriage
Developing SharePoint 2013 apps with Visual Studio 2012 - Microsoft TechDays ...
SharePoint Server 2013: to app or not to app?
Stop Those Prying Eyes Getting To Your Data SPTechCon
Alfresco mobile
SharePoint Saturday Utah - The Art of the Possible Keynote
Service-Oriented Design and Implement with Rails3
Our First ADF Experience
Ad

Similar to PLAT-17 Alfresco iOS Mobile Application Details and Design (20)

PDF
PLAT-2 CMIS - What’s coming next?
PDF
PLAT-3 CMIS — What’s coming next?
PPT
DEVCON-Alfresco i os mobile application details and design
PDF
CASE-4 Automating Business Processes in Denver: A Technical Case Study
PDF
Tech talk-live-alfresco-drupal
PDF
Forced Evolution: Shopify's Journey to Kubernetes
PDF
Building APIs in an easy way using API Platform
PPTX
Xamarin.Forms Bootcamp
PPTX
Amsterdam Titanium User Group - Cloud Services for Apps Nov 2013
PDF
PLAT-16 Using Enterprise Content in Grails
PPTX
Building Content-Rich Java Apps in the Cloud with the Alfresco API
PDF
Tech Talk Live - Mobile SDKs
PDF
Building Papers
PPTX
The Greatest Introduction to SharePoint Framework (SPFx) on earth!
PPTX
Code first in the cloud: going serverless with Azure
PPTX
Getting started with titanium
PPTX
Introduction to SharePoint Framework
PDF
Kubernetes Architecture - beyond a black box - Part 1
PDF
OpenStack Block Storage 101
PDF
Xamarin.Mac Seminar
PLAT-2 CMIS - What’s coming next?
PLAT-3 CMIS — What’s coming next?
DEVCON-Alfresco i os mobile application details and design
CASE-4 Automating Business Processes in Denver: A Technical Case Study
Tech talk-live-alfresco-drupal
Forced Evolution: Shopify's Journey to Kubernetes
Building APIs in an easy way using API Platform
Xamarin.Forms Bootcamp
Amsterdam Titanium User Group - Cloud Services for Apps Nov 2013
PLAT-16 Using Enterprise Content in Grails
Building Content-Rich Java Apps in the Cloud with the Alfresco API
Tech Talk Live - Mobile SDKs
Building Papers
The Greatest Introduction to SharePoint Framework (SPFx) on earth!
Code first in the cloud: going serverless with Azure
Getting started with titanium
Introduction to SharePoint Framework
Kubernetes Architecture - beyond a black box - Part 1
OpenStack Block Storage 101
Xamarin.Mac Seminar
Ad

More from Alfresco Software (20)

PPTX
Alfresco Day Benelux Inholland studentendossier
PPTX
Alfresco Day Benelux Hogeschool Inholland Records Management application
PPTX
Alfresco Day BeNelux: Customer Success Showcase - Saxion Hogescholen
PPTX
Alfresco Day BeNelux: Customer Success Showcase - Gemeente Amsterdam
PPTX
Alfresco Day BeNelux: The success of Alfresco
PDF
Alfresco Day BeNelux: Customer Success Showcase - Credendo Group
PDF
Alfresco Day BeNelux: Digital Transformation - It's All About Flow
PDF
Alfresco Day Vienna 2016: Activiti – ein Katalysator für die DMS-Strategie be...
PDF
Alfresco Day Vienna 2016: Elektronische Geschäftsprozesse auf Basis von Alfre...
PDF
Alfresco Day Vienna 2016: Alfrescos neue Rest API
PDF
Alfresco Day Vienna 2016: Support Tools für die Admin-Konsole
PDF
Alfresco Day Vienna 2016: Entwickeln mit Alfresco
PDF
Alfresco Day Vienna 2016: Activiti goes enterprise: Die Evolution der BPM Sui...
PDF
Alfresco Day Vienna 2016: Partner Lightning Talk: Westernacher
PDF
Alfresco Day Vienna 2016: Bringing Content & Process together with the App De...
PDF
Alfresco Day Vienna 2016: Partner Lightning Talk - it-novum
PDF
Alfresco Day Vienna 2016: How to Achieve Digital Flow in the Enterprise - Joh...
PDF
Alfresco Day Warsaw 2016 - Czy możliwe jest spełnienie wszystkich regulacji p...
PDF
Alfresco Day Warsaw 2016: Identyfikacja i podpiselektroniczny - Safran
PDF
Alfresco Day Warsaw 2016: Advancing the Flow of Digital Business
Alfresco Day Benelux Inholland studentendossier
Alfresco Day Benelux Hogeschool Inholland Records Management application
Alfresco Day BeNelux: Customer Success Showcase - Saxion Hogescholen
Alfresco Day BeNelux: Customer Success Showcase - Gemeente Amsterdam
Alfresco Day BeNelux: The success of Alfresco
Alfresco Day BeNelux: Customer Success Showcase - Credendo Group
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: Elektronische Geschäftsprozesse auf Basis von Alfre...
Alfresco Day Vienna 2016: Alfrescos neue Rest API
Alfresco Day Vienna 2016: Support Tools für die Admin-Konsole
Alfresco Day Vienna 2016: Entwickeln mit Alfresco
Alfresco Day Vienna 2016: Activiti goes enterprise: Die Evolution der BPM Sui...
Alfresco Day Vienna 2016: Partner Lightning Talk: Westernacher
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: 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: Identyfikacja i podpiselektroniczny - Safran
Alfresco Day Warsaw 2016: Advancing the Flow of Digital Business

Recently uploaded (20)

PDF
Assigned Numbers - 2025 - Bluetooth® Document
PPTX
TLE Review Electricity (Electricity).pptx
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPTX
Programs and apps: productivity, graphics, security and other tools
PPTX
OMC Textile Division Presentation 2021.pptx
PDF
Empathic Computing: Creating Shared Understanding
PDF
Getting Started with Data Integration: FME Form 101
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PPTX
SOPHOS-XG Firewall Administrator PPT.pptx
PPTX
Spectroscopy.pptx food analysis technology
PDF
Heart disease approach using modified random forest and particle swarm optimi...
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PPTX
1. Introduction to Computer Programming.pptx
PPTX
cloud_computing_Infrastucture_as_cloud_p
PDF
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PPTX
Tartificialntelligence_presentation.pptx
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
Assigned Numbers - 2025 - Bluetooth® Document
TLE Review Electricity (Electricity).pptx
Spectral efficient network and resource selection model in 5G networks
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Programs and apps: productivity, graphics, security and other tools
OMC Textile Division Presentation 2021.pptx
Empathic Computing: Creating Shared Understanding
Getting Started with Data Integration: FME Form 101
Mobile App Security Testing_ A Comprehensive Guide.pdf
SOPHOS-XG Firewall Administrator PPT.pptx
Spectroscopy.pptx food analysis technology
Heart disease approach using modified random forest and particle swarm optimi...
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Diabetes mellitus diagnosis method based random forest with bat algorithm
1. Introduction to Computer Programming.pptx
cloud_computing_Infrastucture_as_cloud_p
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Tartificialntelligence_presentation.pptx
Building Integrated photovoltaic BIPV_UPV.pdf

PLAT-17 Alfresco iOS Mobile Application Details and Design

  • 1. Alfresco iOS Mobile 
 Application Details and Design" Ryan McVeigh, Director of Enterprise Integration - Zia Consulting" Gi Lee, Principal Consultant – Zia Consulting"
  • 2. Who are we?" Ryan McVeigh •  Director @ Zia" •  Responsible for Ziaʼs ECM Practice" •  CMIS Secretary and Technical Editor" •  Represented BEA Systems and Oracle" •  Ziaʼs lead CMIS representative" Gi Lee •  Principal Consultant @ Zia" •  Architect of Alfresco Mobile and Ziaʼs Fresh Docs products" •  CMIS Committee Member"
  • 3. Who is Zia?
 A firm with deep technical expertise & strategic insight, coupled with our Agile software methodology, provides numerous benefits to our customers:" Benefits" •  Achieve ROI by delivering improved operational efficiencies " •  Boost productivity by creating collaborative work environments" Our  Partners   •  Maintain access and control of information through the enterprise" •  Allow employees to find the information they need, when they need it" •  Increase end-user adoption! •  Agile training by using Zia methodology and Rally tools" •  Raving fan customers" Professional Qualifications" •  Highly-experienced, accredited senior staff consisting of Business Analysts, Enterprise Architects, Software Engineers and Data Architects" •  Platinum Alfresco Professional Services & OEM Partner" •  Platinum Ephesoft Partner" •  Alfresco 2010 Implementation of the Year with Denver" •  MuleSoft Partner"
  • 4. Agenda" •  Alfresco Mobile History •  Architecture Overview •  CMIS Refresher •  Demo •  Technical Walkthrough •  CMIS Features" •  Alfresco RESTful API" •  Open Source Project •  Roadmap & What’s Next? •  Questions?
  • 5. Alfresco Mobile History" •  Zia released Fresh Docs for iOS in December 2009 •  Android application also available •  Alfresco and Zia partnership entered this year for Alfresco Mobile
  • 6. Architecture Overview" Mostly a CMIS application talking to Alfresco Several features specific to Alfresco CMIS   Alfresco   REST  
  • 7. CMIS Refresher" CMIS TC Goals & Scope •  Enable applications to target different ECM repositories uniformly" •  Provide a set of basic services enabling richer ECM applications and use cases" •  All for loose coupling of an ECM application on the underlying repository" •  Use popular protocol bindings" •  REST / AtomPub" •  Web Services / SOAP"
  • 8. Demo" Alfresco Mobile in Action – A Few Features •  CMIS: " •  Login to Alfresco over HTTP or HTTPS" •  Browse, Search, Display Content and Edit Metadata, Upload Media" •  Create Folders" •  Alfresco" •  Alfresco Activities" •  Like & Unlike, Comment on Documents" •  iOS" •  Local Downloads" •  Multi Tasking"
  • 9. Design" •  Navigation based app for browsing CMIS repositories" •  Layered on Alfresco specific functionality" •  Hierarchy of Table Views " •  Universal binary"
  • 10. Designed for the iPad" •  Still a navigation based app but with iPad-specific controllers " •  Split View Controller" •  Still a universal binary"
  • 11. Features using CMIS" CMIS  AtomPub  Binding   Browse  &   getChildren   Company  Home   Download   getContentStream   Document   Metadata   getTypeDefiniBon   Search   query   Upload   createDocument  
  • 12. Features using the Alfresco RESTful API" Alfresco  RESTful  API   AcBviBes  Feed   View  &  Add  Tags   Comments   Like  a  Document   Sites  List  
  • 13. App Launch / Sites / Browse" •  CMIS: Retrieve AtomPub Service Document" •  Alfresco: Request Sites List" •  CMIS: Request folder children for the Root Collection" •  CMIS: Navigate into a folder or site"
  • 14. Activities" •  Alfresco: Retrieve userʼs activity feed" •  User Clicks on a document cell" •  CMIS: Retrieve Document via getObjectByID service" •  User clicks on the info icon " •  CMIS: Retrieve Document Metadata using getTypeDefinition service"
  • 15. Search" •  Execute a CMIS Query" •  Full-text search:" •  SELECT * FROM cmis:document WHERE CONTAINS(ʻkeywordsʼ)! •  Search by cmis:name:" •  SELECT * FROM cmis:document WHERE CONTAINS(ʻ~cmis:name:ʼ*keywords*ʼ)!
  • 16. Calling an AtomPub Service" CMIS  RESTful  Request   Alfresco   AtomPub  XML  
  • 17. Creating an HTTP Request" •  Using ASIHTTPRequest build your request" •  Delegate handles events from the request"
  • 18. Parsing AtomPub XML" Event-Driven XML Parsing (SAX)" •  Parser sends messages (parsing events) to it s delegates (callbacks)" Use NSXMLParser & NSXMLParserDelegate" •  Recommended by Apple" •  Native API" •  Objective-C based implementation" Why not use the Tree-based API (DOM)?" •  Apple does not provide the API for iOS"
  • 19. NSXMLParser & NSXMLParserDelegate" Setting up NSXMLParser" NSXMLParserDelegate methods" – parser:didStartElement:namespaceURI:qualifiedName:attributes:" – parser:didEndElement:namespaceURI:qualifiedName:" – parser:foundCharacters:"
  • 20. Calling Alfresco APIs" RESTful  HTTP  Request   Alfresco   JSON  
  • 21. We Like JSON!" •  Simple to consume!" •  Use SBJson" •  Parses into NSDictionary and NSArray objects" •  CMIS 1.1 will contain a Browser Binding!"
  • 22. Open Source Availability" Hosted on Bitbucket http://bit.ly/rrNdTc Search for alfresco-mobile at bitbucket.org Released under the Mozilla Public License Version 1.1
  • 23. API s and Libraries Used" •  Cocoa Touch Frameworks" •  The APIʼs Apple provides to build an iOS application" •  ASIHTTPRequest" •  Communication with the server" •  Wrapper around Appleʼs CFNetwork API" •  SBJson" •  Fast, simple & clean JSON parser and generator" •  GHUnit" •  Objective-C Test framework"
  • 24. What do I need to know?" •  Git" •  Objective-C" •  iOS App Programming" •  Alfresco RESTful API" •  CMIS AtomPub Binding"
  • 25. Resources" Apple s iOS Developer Library & Development videos • View & View Controller Programming Guide" • Table View Programming Guide" • Key-Value Programming Guide" • Memory Management Programming Guide" • iOS Human Interface Guidelines" !! ! !Beginning iPhone 4 Development: ! !! ! !Exploring the iOS SDK, Apress Publishing" Programming in Objective-C, Sam s Publishing"
  • 26. Common Design Patterns" •  Model-View-Controller" •  A pattern to relate the user interface to an underlying data model." •  Delegation"" •  A patten where an object, the delegator, delegates tasks to an associated helper object, the delegate." •  The delegate is responsible for executing the task for the delegator." •  Target-Action" •  Target-action is a design pattern in which an object holds the information necessary to send a message to another object when an event occurs."
  • 27. Tools for iOS Development" •  Mac with OS X Snow Leopard or Lion" •  XCode 4" • Integrated Development Environment" • Integrated Build System" • Debugger" • Interface Builder" • iOS Simulator
 •  Instruments" • Performance and behavior analysis"
  • 28. Getting Started " •  Create an iOS developer account" •  Install the latest version of XCode 4" •  Clone the repository" •  git clone https://[email protected]/ziadev/alfresco-mobile.git" •  Open the Project"
  • 29. Two Targets?" Two Targets: Alfresco & Fresh Docs"
  • 30. Getting Started " •  Select a target and the 
 iOS Simulator to Use" •  Build and Run"
  • 31. How do I install it on my device?" •  Signup for a iOS Developer Program Account" •  Configure Profile" •  Development Certificate, App ID, 
 Provisioning Device & Certificates" •  Configure & Build the application for your device" See iOS Provisioning Portal Resources & How-To Guides"
  • 32. How Do I Contribute?" Fork on Work Clone" Bitbucket   Locally" Send a pull Commit Push" request" Locally" Step-by-step example for forking and sending a pull request:
 http://bit.ly/pbIDRk"
  • 33. Roadmap" Features under future consideration •  Browse Site Members" •  Search and Browse for People" •  Version History and Upload New Versions" •  Browse Recent Docs" •  More…" Alfresco Mobile Product Manager •  Marc Dubresson" •  [email protected]" Disclaimer: Neither Alfresco nor Zia are making any claims or commitments to deliver these features."
  • 34. Whatʼs Next?" Zia is hosting a deep dive Webinar with Alfresco •  November 1 @ 1pm ET" •  http://bit.ly/tztqRL" Code is Open Source •  Happy to have contributors" •  Alfresco will coordinate releases of Alfresco Mobile" •  Zia will coordinate releases of Fresh Docs" •  If you want to release to the Apple App Store, contact us" Come see us at our booth!
  • 35. Contact Us" Ryan McVeigh – ECM Business Owner: •  [email protected]" Gi Lee – Fresh Docs Architect •  [email protected]" Michael Muller – Fresh Docs PM •  [email protected]"