Your SlideShare is downloading. ×

Alfresco mobile webinar 11 1-11

4,101
views

Published on

Published in: Technology

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
4,101
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

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 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.com11/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 softwaremethodology, 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 DesignSimple Layout• Navigation Bar• Custom View• Tab Bar
  • 11. iPhone UI ComponentsUITabBarController• Composed of a container for a tab bar and a custom view• Each “tab” contains a custom view
  • 12. iPhone UI ComponentsUINavigationController• Each “tab” contains it’s own instance a UINavigationController• Used for navigating hierarchical content• It’s a Stack!
  • 13. iPhone UI ComponentsCustom 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 BindingFeature CMIS ServiceBrowse & getChildrenCompany HomeDownload Document getContentStreamMetadata getTypeDefinitionSearch QueryUpload createDocument
  • 21. Feature to Alfresco Service via Alfresco’s RESTful APIFeature Alfresco ServiceActivities Feed Activity ServiceView & Add Tags Tagging ServiceComments Comment ServiceLike a Document Rating ServiceSites 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 Tab1. (CMIS) App Launch: Request AtomPub Service Document – Service Document XML is returned and parsed in RepositoryInfo objects2. (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 Service3. (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 QueriesCMIS 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 RequestAt 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.1Alfresco Mobile 1.1 source code release by endof 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