Publicité

Contenu connexe

Présentations pour vous(20)

Similaire à Alfresco mobile webinar 11 1-11(20)

Publicité

Plus de Zia Consulting(20)

Publicité

Alfresco mobile webinar 11 1-11

  1. Alfresco Mobile Level Up Again, Technical Deep Dive Ryan McVeigh, Director, rmcveigh@ziaconsulting.com Gi Lee, Principal Consultant, gi.lee@ziaconsulting.com Mike Muller, Director, mmuller@ziaconsulting.com 11/3/2011 www.ziaconsulting.com 303.443.4004 x203
  2. Who are we? • Ryan McVeigh • Director @ Zia • Responsible for Zia’s ECM Practice • CMIS Secretary and Technical Editor • Gi Lee • Principal Consultant @ Zia • Architect of Alfresco Mobile and Zia’s Fresh Docs products • CMIS Committee Member • Michael Muller • Director @ Zia • Zia Fresh Docs Inventor and Product Manager
  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 Our Partners • 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 • IBM, WeWebU and MuleSoft Partners
  4. Agenda • Alfresco Mobile History • Architecture Overview • CMIS Refresher • Demo • Technical Deep Dive • 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 application to browse a CMIS Repository • Universal Binary
  10. iPhone UI Design Simple Layout • Navigation Bar • Custom View • Tab Bar
  11. iPhone UI Components UITabBarController • Composed of a container for a tab bar and a custom view • Each “tab” contains a custom view
  12. iPhone UI Components UINavigationController • Each “tab” contains it’s own instance a UINavigationController • Used for navigating hierarchical content • It’s a Stack!
  13. iPhone UI Components Custom View • UITableViewController – Activities, Documents, Search, Downloads, Metadata, Comments, Upload Form, … • UIViewController – Document Preview & About View
  14. iPad UI Design • Maintain the same navigation- based feel as the iPhone • Use familiar usage patterns • Use Split View provided by iOS SDK – Container that manages two side-by-side view controllers – Master-Detail Interface
  15. Split View Master
  16. Split View Master • Uses the same controllers as the iPhone interface • Portrait: Uses a UIPopover • Landscape: Static Container
  17. Split View Detail
  18. Split View Detail • Contains a single UINavigationController that controls the Navigation Stack of the view
  19. Repository Features
  20. Feature to CMIS Service via AtomPub Binding Feature CMIS Service Browse & getChildren Company Home Download Document getContentStream Metadata getTypeDefinition Search Query Upload createDocument
  21. Feature to Alfresco Service via Alfresco’s RESTful API Feature Alfresco Service Activities Feed Activity Service View & Add Tags Tagging Service Comments Comment Service Like a Document Rating Service Sites List Site Service Preference Service Person Service
  22. In-Depth Review • Sequence of actions that occur from App Launch to loading of the Documents (Browse) tab. • CMIS Search Queries • Creating a RESTful HTTP Request for a CMIS AtomPub Service
  23. Review: App Launch to Loading of Documents Tab 1. (CMIS) App Launch: Request AtomPub Service Document – Service Document XML is returned and parsed in RepositoryInfo objects 2. (Alfresco) Request Sites and parse the JSON response into RepositoryItem objects – Request Site Collection using Site Service – Request Favorite Sites using Preference Service – Request My Sites using Person Service 3. (CMIS) If Company Home is ON, request the folder children of the Root Collection – Atom Feed XML is returned and parsed into RepositoryItem objects
  24. Review: CMIS Search Queries CMIS full-text search query: SELECT * FROM cmis:document WHERE CONTAINS(‘keywords’) CMIS query on cmis:name property: SELECT * FROM cmis:document WHERE CONTAINS('~cmis:name:’*keywords*'') – CMIS does not have the ability for case insensitive queries. LOWER() nor UPPER() predicate are not available
  25. In-Depth Review: Creating an ObjectById HTTP Request At a High Level: 1. Parse out the ObjectById template URL from the service document 2. Create a new class that extends ASIHTTPRequest • Add an initialize method • Implement delegate methods requestFinished: and requestFailed:
  26. Review in XCode • Project Structure in XCode • Steps Running Alfresco Mobile in the simulator • Running the GHUnit unit tests
  27. Requirements to Get Started • Mac OSX with Snow Leopard or Lion • Apple iOS Developer Account • Latest Version of XCode 4 • Git • Objective-C & iOS Programming • Alfresco’s RESTful API • Alfresco’s RESTful CMIS AtomPub Binding
  28. Open Source • Hosted on Bitbucket http://bit.ly/rrNdTc • Search for “alfresco-mobile” at bitbucket.org • Released under the Mozilla Public License Version 1.1 Alfresco Mobile 1.1 source code release by end of the week!
  29. 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.
  30. What’s Next? • Alfresco 1.1 coming any day • 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
  31. 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
Publicité