DEVCON-Alfresco i os mobile application details and design

DEVCON-Alfresco i os mobile application details and design






Total Views
Views on SlideShare
Embed Views



1 Embed 1 1



Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

DEVCON-Alfresco i os mobile application details and design DEVCON-Alfresco i os mobile application details and design Presentation Transcript

  • 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
      • 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
    Our Partners
  • 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
    Alfresco CMIS 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
  • Features using the Alfresco RESTful API
  • 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 AtomPub XML Alfresco
  • 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 JSON Alfresco
  • 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
    • Search for “ alfresco-mobile ” at
    • 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
    • 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?
      • See iOS Provisioning Portal Resources & How-To Guides
  • How Do I Contribute?
      • Step-by-step example for forking and sending a pull request:
  • 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_address]
      • 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
    • 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:
      • [email_address]
    • Gi Lee – Fresh Docs Architect
      • [email_address]
    • Michael Muller – Fresh Docs PM
      • [email_address]
  • Q & A