DEVCON-Alfresco i os mobile application details and design

Like this? Share it with your network

Share
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
1,206
On Slideshare
1,205
From Embeds
1
Number of Embeds
1

Actions

Shares
Downloads
7
Comments
0
Likes
1

Embeds 1

http://www.linkedin.com 1

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 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
      • 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
  • 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
    Alfresco CMIS 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
  • 12. Features using the Alfresco RESTful API
  • 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 AtomPub XML Alfresco
  • 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 JSON Alfresco
  • 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://ziadev@bitbucket.org/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?
      • See iOS Provisioning Portal Resources & How-To Guides
  • 32. How Do I Contribute?
      • 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_address]
      • 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_address]
    • Gi Lee – Fresh Docs Architect
      • [email_address]
    • Michael Muller – Fresh Docs PM
      • [email_address]
  • 36. Q & A