Download - Alfresco mobile webinar 11 1-11
![Page 1: Alfresco mobile webinar 11 1-11](https://reader036.vdocuments.mx/reader036/viewer/2022062418/555ea133d8b42a6d068b557b/html5/thumbnails/1.jpg)
Alfresco MobileLevel Up Again, Technical Deep Dive
Ryan McVeigh, Director, [email protected]
Gi Lee, Principal Consultant, [email protected]
Mike Muller, Director, [email protected]
04/12/2023 www.ziaconsulting.com 303.443.4004 x203
![Page 2: Alfresco mobile webinar 11 1-11](https://reader036.vdocuments.mx/reader036/viewer/2022062418/555ea133d8b42a6d068b557b/html5/thumbnails/2.jpg)
• 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
Who are we?
![Page 3: Alfresco mobile webinar 11 1-11](https://reader036.vdocuments.mx/reader036/viewer/2022062418/555ea133d8b42a6d068b557b/html5/thumbnails/3.jpg)
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
• IBM, WeWebU and MuleSoft Partners
Our Partners
![Page 4: Alfresco mobile webinar 11 1-11](https://reader036.vdocuments.mx/reader036/viewer/2022062418/555ea133d8b42a6d068b557b/html5/thumbnails/4.jpg)
Agenda
• Alfresco Mobile History • Architecture Overview• CMIS Refresher• Demo• Technical Deep Dive• Open Source Project• Roadmap & What’s Next?• Questions?
![Page 5: Alfresco mobile webinar 11 1-11](https://reader036.vdocuments.mx/reader036/viewer/2022062418/555ea133d8b42a6d068b557b/html5/thumbnails/5.jpg)
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
![Page 6: Alfresco mobile webinar 11 1-11](https://reader036.vdocuments.mx/reader036/viewer/2022062418/555ea133d8b42a6d068b557b/html5/thumbnails/6.jpg)
Architecture Overview
• Mostly a CMIS application talking to Alfresco• Several features specific to Alfresco
Alfresco
CMIS
REST
![Page 7: Alfresco mobile webinar 11 1-11](https://reader036.vdocuments.mx/reader036/viewer/2022062418/555ea133d8b42a6d068b557b/html5/thumbnails/7.jpg)
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
![Page 8: Alfresco mobile webinar 11 1-11](https://reader036.vdocuments.mx/reader036/viewer/2022062418/555ea133d8b42a6d068b557b/html5/thumbnails/8.jpg)
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
![Page 9: Alfresco mobile webinar 11 1-11](https://reader036.vdocuments.mx/reader036/viewer/2022062418/555ea133d8b42a6d068b557b/html5/thumbnails/9.jpg)
Design
• Navigation-based application to browse a CMIS Repository
• Universal Binary
![Page 10: Alfresco mobile webinar 11 1-11](https://reader036.vdocuments.mx/reader036/viewer/2022062418/555ea133d8b42a6d068b557b/html5/thumbnails/10.jpg)
iPhone UI Design
Simple Layout• Navigation Bar• Custom View• Tab Bar
![Page 11: Alfresco mobile webinar 11 1-11](https://reader036.vdocuments.mx/reader036/viewer/2022062418/555ea133d8b42a6d068b557b/html5/thumbnails/11.jpg)
iPhone UI Components
UITabBarController• Composed of a container for
a tab bar and a custom view• Each “tab” contains a
custom view
![Page 12: Alfresco mobile webinar 11 1-11](https://reader036.vdocuments.mx/reader036/viewer/2022062418/555ea133d8b42a6d068b557b/html5/thumbnails/12.jpg)
iPhone UI Components
UINavigationController• Each “tab” contains it’s own
instance a UINavigationController
• Used for navigating hierarchical content
• It’s a Stack!
![Page 13: Alfresco mobile webinar 11 1-11](https://reader036.vdocuments.mx/reader036/viewer/2022062418/555ea133d8b42a6d068b557b/html5/thumbnails/13.jpg)
iPhone UI Components
Custom View• UITableViewController
– Activities, Documents, Search, Downloads, Metadata, Comments, Upload Form, …
• UIViewController– Document Preview & About
View
![Page 14: Alfresco mobile webinar 11 1-11](https://reader036.vdocuments.mx/reader036/viewer/2022062418/555ea133d8b42a6d068b557b/html5/thumbnails/14.jpg)
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
![Page 15: Alfresco mobile webinar 11 1-11](https://reader036.vdocuments.mx/reader036/viewer/2022062418/555ea133d8b42a6d068b557b/html5/thumbnails/15.jpg)
Split View Master
![Page 16: Alfresco mobile webinar 11 1-11](https://reader036.vdocuments.mx/reader036/viewer/2022062418/555ea133d8b42a6d068b557b/html5/thumbnails/16.jpg)
Split View Master• Uses the same controllers as the iPhone
interface• Portrait: Uses a UIPopover• Landscape: Static Container
![Page 17: Alfresco mobile webinar 11 1-11](https://reader036.vdocuments.mx/reader036/viewer/2022062418/555ea133d8b42a6d068b557b/html5/thumbnails/17.jpg)
Split View Detail
![Page 18: Alfresco mobile webinar 11 1-11](https://reader036.vdocuments.mx/reader036/viewer/2022062418/555ea133d8b42a6d068b557b/html5/thumbnails/18.jpg)
Split View Detail• Contains a single UINavigationController that
controls the Navigation Stack of the view
![Page 19: Alfresco mobile webinar 11 1-11](https://reader036.vdocuments.mx/reader036/viewer/2022062418/555ea133d8b42a6d068b557b/html5/thumbnails/19.jpg)
Repository Features
![Page 20: Alfresco mobile webinar 11 1-11](https://reader036.vdocuments.mx/reader036/viewer/2022062418/555ea133d8b42a6d068b557b/html5/thumbnails/20.jpg)
Feature to CMIS Servicevia AtomPub Binding
Feature CMIS ServiceBrowse &Company Home
getChildren
Download Document getContentStreamMetadata getTypeDefinitionSearch QueryUpload createDocument
![Page 21: Alfresco mobile webinar 11 1-11](https://reader036.vdocuments.mx/reader036/viewer/2022062418/555ea133d8b42a6d068b557b/html5/thumbnails/21.jpg)
Feature to Alfresco Servicevia 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 ServicePreference ServicePerson Service
![Page 22: Alfresco mobile webinar 11 1-11](https://reader036.vdocuments.mx/reader036/viewer/2022062418/555ea133d8b42a6d068b557b/html5/thumbnails/22.jpg)
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
![Page 23: Alfresco mobile webinar 11 1-11](https://reader036.vdocuments.mx/reader036/viewer/2022062418/555ea133d8b42a6d068b557b/html5/thumbnails/23.jpg)
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
![Page 24: Alfresco mobile webinar 11 1-11](https://reader036.vdocuments.mx/reader036/viewer/2022062418/555ea133d8b42a6d068b557b/html5/thumbnails/24.jpg)
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
![Page 25: Alfresco mobile webinar 11 1-11](https://reader036.vdocuments.mx/reader036/viewer/2022062418/555ea133d8b42a6d068b557b/html5/thumbnails/25.jpg)
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:
![Page 26: Alfresco mobile webinar 11 1-11](https://reader036.vdocuments.mx/reader036/viewer/2022062418/555ea133d8b42a6d068b557b/html5/thumbnails/26.jpg)
Review in XCode
• Project Structure in XCode• Steps Running Alfresco Mobile in the
simulator• Running the GHUnit unit tests
![Page 27: Alfresco mobile webinar 11 1-11](https://reader036.vdocuments.mx/reader036/viewer/2022062418/555ea133d8b42a6d068b557b/html5/thumbnails/27.jpg)
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
![Page 28: Alfresco mobile webinar 11 1-11](https://reader036.vdocuments.mx/reader036/viewer/2022062418/555ea133d8b42a6d068b557b/html5/thumbnails/28.jpg)
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!
![Page 29: Alfresco mobile webinar 11 1-11](https://reader036.vdocuments.mx/reader036/viewer/2022062418/555ea133d8b42a6d068b557b/html5/thumbnails/29.jpg)
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 protected]
Disclaimer: Neither Alfresco nor Zia are making any claims or commitments to deliver these features.
![Page 30: Alfresco mobile webinar 11 1-11](https://reader036.vdocuments.mx/reader036/viewer/2022062418/555ea133d8b42a6d068b557b/html5/thumbnails/30.jpg)
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
![Page 31: Alfresco mobile webinar 11 1-11](https://reader036.vdocuments.mx/reader036/viewer/2022062418/555ea133d8b42a6d068b557b/html5/thumbnails/31.jpg)
Contact Us
• Ryan McVeigh – ECM Business Owner:• [email protected]
• Gi Lee – Fresh Docs Architect• [email protected]
• Michael Muller – Fresh Docs PM• [email protected]