Alfresco Mobile            Level Up Again, Technical Deep Dive                        Ryan McVeigh, Director, rmcveigh@zia...
Who are we?• Ryan McVeigh  • Director @ Zia  • Responsible for Zia’s ECM Practice  • CMIS Secretary and Technical Editor• ...
Who is Zia?A firm with deep technical expertise & strategic insight, coupled with our Agile softwaremethodology, provides ...
Agenda•   Alfresco Mobile History•   Architecture Overview•   CMIS Refresher•   Demo•   Technical Deep Dive•   Open Source...
Alfresco Mobile History• Zia released Fresh Docs for iOS in December  2009• Android application also available• Alfresco a...
Architecture Overview• Mostly a CMIS application talking to Alfresco• Several features specific to Alfresco            CMI...
CMIS Refresher• CMIS TC Goals & Scope  • Enable applications to target different ECM    repositories uniformly  • Provide ...
Demo• Alfresco Mobile in Action – A Few Features  • CMIS:   • Login to Alfresco over HTTP or HTTPS   • Browse, Search, Dis...
Design  • Navigation-based    application to browse    a CMIS Repository  • Universal Binary
iPhone UI DesignSimple Layout• Navigation Bar• Custom View• Tab Bar
iPhone UI ComponentsUITabBarController• Composed of a container for  a tab bar and a custom view• Each “tab” contains a  c...
iPhone UI ComponentsUINavigationController• Each “tab” contains it’s own  instance a  UINavigationController• Used for nav...
iPhone UI ComponentsCustom View• UITableViewController  – Activities, Documents, Search,    Downloads, Metadata,    Commen...
iPad UI Design• Maintain the same navigation-  based feel as the iPhone• Use familiar usage patterns• Use Split View provi...
Split View Master
Split View Master• Uses the same controllers as the iPhone  interface• Portrait: Uses a UIPopover• Landscape: Static Conta...
Split View Detail
Split View Detail• Contains a single UINavigationController that  controls the Navigation Stack of the view
Repository Features
Feature to CMIS Service         via AtomPub BindingFeature             CMIS ServiceBrowse &            getChildrenCompany ...
Feature to Alfresco Service              via Alfresco’s RESTful APIFeature                   Alfresco ServiceActivities Fe...
In-Depth Review• Sequence of actions that occur from App  Launch to loading of the Documents (Browse)  tab.• CMIS Search Q...
Review: App Launch to          Loading of Documents Tab1. (CMIS) App Launch: Request AtomPub Service Document   – Service ...
Review: CMIS Search QueriesCMIS full-text search query:  SELECT * FROM cmis:document  WHERE CONTAINS(‘keywords’)CMIS query...
In-Depth Review:Creating an ObjectById HTTP RequestAt a High Level:  1. Parse out the ObjectById template URL from the    ...
Review in XCode• Project Structure in XCode• Steps Running Alfresco Mobile in the  simulator• Running the GHUnit unit tests
Requirements to Get Started•   Mac OSX with Snow Leopard or Lion•   Apple iOS Developer Account•   Latest Version of XCode...
Open Source• Hosted on Bitbucket               http://bit.ly/rrNdTc• Search for “alfresco-mobile”  at bitbucket.org• Relea...
Roadmap• Features under future  consideration  •   Browse Site Members  •   Search and Browse for People  •   Version Hist...
What’s Next?• Alfresco 1.1 coming any day• Code is Open Source  • Happy to have contributors  • Alfresco will coordinate r...
Contact Us• Ryan McVeigh – ECM Business Owner:  • rmcveigh@ziaconsulting.com• Gi Lee – Fresh Docs Architect  • gi.lee@ziac...
Upcoming SlideShare
Loading in...5
×

Alfresco iOS Mobile Application In Depth Details and Design

2,753

Published on

Published in: Business, Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,753
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
31
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Transcript of "Alfresco iOS Mobile Application In Depth Details and Design"

  1. 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/1/2011 www.ziaconsulting.com 303.443.4004 x203
  2. 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. 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. 4. Agenda• Alfresco Mobile History• Architecture Overview• CMIS Refresher• Demo• Technical Deep Dive• Open Source Project• Roadmap & What’s Next?• Questions?
  5. 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. 6. Architecture Overview• Mostly a CMIS application talking to Alfresco• Several features specific to Alfresco CMIS Alfresco REST
  7. 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. 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. 9. Design • Navigation-based application to browse a CMIS Repository • Universal Binary
  10. 10. iPhone UI DesignSimple Layout• Navigation Bar• Custom View• Tab Bar
  11. 11. iPhone UI ComponentsUITabBarController• Composed of a container for a tab bar and a custom view• Each “tab” contains a custom view
  12. 12. iPhone UI ComponentsUINavigationController• Each “tab” contains it’s own instance a UINavigationController• Used for navigating hierarchical content• It’s a Stack!
  13. 13. iPhone UI ComponentsCustom View• UITableViewController – Activities, Documents, Search, Downloads, Metadata, Comments, Upload Form, …• UIViewController – Document Preview & About View
  14. 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. 15. Split View Master
  16. 16. Split View Master• Uses the same controllers as the iPhone interface• Portrait: Uses a UIPopover• Landscape: Static Container
  17. 17. Split View Detail
  18. 18. Split View Detail• Contains a single UINavigationController that controls the Navigation Stack of the view
  19. 19. Repository Features
  20. 20. Feature to CMIS Service via AtomPub BindingFeature CMIS ServiceBrowse & getChildrenCompany HomeDownload Document getContentStreamMetadata getTypeDefinitionSearch QueryUpload createDocument
  21. 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. 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. 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. 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. 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. 26. Review in XCode• Project Structure in XCode• Steps Running Alfresco Mobile in the simulator• Running the GHUnit unit tests
  27. 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. 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. 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. 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. 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
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×