#SummitNow First Steps with CMIS & Alfresco Jeff

Slides:



Advertisements
Similar presentations
CTS2 DEVELOPMENT FRAMEWORK CTS2 Overview. Schedule What is it? Why a framework? What does this do for me? Plugins Implementations available now CTS2 Compliance.
Advertisements

Cookies, Sessions. Server Side Includes You can insert the content of one file into another file before the server executes it, with the require() function.
How did we get here? (CMIS v0.5) F2F, January 2009.
CMIS: One ECM API to Rule Them All
The Alfresco API Steven Glover Gethin James Peter Monks.
11-Jun-15 Getting Ready for CIT Registering and labs If you are not yet registered (and want to be), be sure I have your name and student ID We.
Why SharePoint is the biggest threat to Open Source in the Enterprise John Newton CTO
Presented by IBM developer Works ibm.com/developerworks/ 2006 January – April © 2006 IBM Corporation. Making the most of Creating Eclipse plug-ins.
ANDROID PROGRAMMING MODULE 1 – GETTING STARTED
ENTERPRISE JOB SCHEDULER SAJEEV RAMAKRISHNAN 29 AUG 2014.
M. Taimoor Khan * Java Server Pages (JSP) is a server-side programming technology that enables the creation of dynamic,
Interoperability with CMIS and Apache Chemistry
Apache Chemistry face-to-face meeting April 2010.
Three-tier Mobile Application Testing Framework:
Overview of Previous Lesson(s) Over View  ASP.NET Pages  Modular in nature and divided into the core sections  Page directives  Code Section  Page.
SSC2: Web Services. Web Services Web Services offer interoperability using the web Web Services provide information on the operations they can perform.
Introducing CMIS David Caruana & Michael Farman 25th September 2008.
File Upload Competitive Analysis. Catalyst - Browse in-line Of interest:
Python and REST Kevin Hibma. What is REST? Why REST? REST stands for Representational State Transfer. (It is sometimes spelled "ReST".) It relies on a.
An Introduction. ‣ What we are announcing ‣ Why is this important to customers? (I.e. the business case) ‣ The current standards landscape ‣ What is CMIS?
Folder & File Management By Computer Magic Presented by Jane Cable.
Object-Oriented Analysis & Design Subversion. Contents  Configuration management  The repository  Versioning  Tags  Branches  Subversion 2.
WHAT IS AN AD? WHAT MAKES ADS WORK? LET’S MAKE AN AD?
U:/msu/course/cse/103 Day 06, Slide 1 CSE students: Do not log in yet. Review Day 6 in your textbook. Think about.
Using Xcode A Beginner’s Tutorial Erin Green. This tutorial will walk you through Xcode, a software development tool for Apple’s iOS applications – We.
Deploying a VGI application in one day Tom Brenneman.
CS 4720 Dynamic Web Applications CS 4720 – Web & Mobile Systems.
Content Repositories with CMIS and Apache Chemistry Stephan Klevenz, SAP AG November 2011.
© 2010 IBM Corporation WebSphere Adapter for Enterprise Content Management Systems.
 Facebook Integration on iOS Phan Thanh Phat Huynh Thanh Van.
Introduction To BlueMix By: Ryan
Alfresco Daeja Integration Yong Qu Chief Solutions Architect
Game on! With Nativescript
TRANSITIONING FULL TRUST CODE TO CLIENT APIS Architecting SharePoint For The Future Chris Domino December 10, 2015.
INFO 344 Web Tools And Development CK Wang University of Washington Spring 2014.
INFO 344 Web Tools And Development CK Wang University of Washington Spring 2014.
SharePoint document libraries I: Introduction to sharing files Why document libraries? Sharing files with others is essential to getting things done nowadays.
COSC 2328 – Web Programming.  PHP is a server scripting language  It’s widely-used and free  It’s an alternative to Microsoft’s ASP and Ruby  PHP.
Why oBIX? XML standard Enterprise friendly protocol High fidelity.
Using the Javascript Console for development and administration Florian Maul (fme AG)
#SummitNow Integrating Alfresco with portals 6 th November 2013 Piergiorgio Lucidi.
#SummitNow Date Jean Marie PASCAL – Alfresco Android Developer Continuous Integration with Alfresco Android.
#SummitNow Alfresco for Salesforce 5 November 2013 / 13 November 2013 Will Abson Jared Ottley
Share Enhancements David Webster. Introduction Me: David Webster Alfresco Engineer Joined April 2010 UI The Session: Share Enhancements:
1 © 2005 Cisco Systems, Inc. All rights reserved. Cisco Confidential Session Number Presentation_ID Unity Connection Provisioning API Matt Penning Unity.
#SummitNow What's Coming Arrived in CMIS November, 2013 Gregory Melahn/Alfresco Software
Explore Various Options for Bulk File Transfer out of Alfresco Craig Tan Technical Account Manager.
The Alfresco iOS SDK Gi Lee (Zia Consulting) Peter Schmidt (Alfresco)
DreamFactory for Microsoft Azure Is an Open Source REST API Platform That Enables Mobilization of Data in Minutes across Frameworks and Storage Methods.
An Alfresco Apache Stanbol Integration (port of OpenCalais Integration) Steve Reiner CTO Integrated Semantics.
Platform & Maven2 David Šimonek. Certified Engineer Course Agenda What is Maven? Why Maven? NB IDE & Maven NB Platform & Maven.
LibreOffice & CMIS Cédric Bosdonnat – SUSE
ECM Subsystems Component View
Autodesk Dev Days 2015 The road ahead DevDays 2015
Consuming OAuth Services in Alfresco Share
Pinterest Clone Features
Getting Started with Alfresco Development
CARA 3.10 Major New Features
Cosc 5/4730 REST services.
Line of Business Solutions in SharePoint Online
And Why You Should Use It In You Websites
Getting started with Alfresco Development
PHP / MySQL Introduction
Managing Documents on the Web Using Drupal, Alfresco & Cloud
Power Apps & Flow for Microsoft Dynamics SL
Azure AD Line Of Business Application Integration
NSF the perfect store for your HTML 5 client
EPIC INFOTECH CONSULTING GROUP
The Most Popular Android UI Automation Testing Tool Andrii Voitenko
Python and REST Kevin Hibma.
Presentation transcript:

#SummitNow First Steps with CMIS & Alfresco Jeff

#SummitNow You’ve been handed a project Your Favorite Language/Framework What Goes Here?

#SummitNow You’ve been handed a project Your Favorite Language/Framework

#SummitNow CMIS gives developers a standard API for working with content repositories like Alfresco

#SummitNow Why CMIS? Preferred API for working with Alfresco Open standard, managed by OASIS Many vendors support it Plenty of examples Client libraries for many languages Java, Python,.NET, PHP, Objective-C, Android

#SummitNow

#SummitNow Start with the Workbench

#SummitNow Connect with CMIS Workbench

#SummitNow Explore the Alfresco repo CRUD objects Inspect/change properties Run queries Run scripts using the Groovy console See the content model

#SummitNow The Workbench is great for… Testing queries Inspecting the data dictionary Including whether or not a property is read/write or queryable Can I do _____________ with CMIS?

#SummitNow Alfresco CMIS Service URLs by Version Alfresco Version CMIS Service URL 3.2r http://localhost:8080/alfresco/service/cmishttp://localhost:8080/alfresco/service/cmis (ATOM) (SOAP) 4.0http://localhost:8080/alfresco/cmisatom (SOAP) 4.2.d/4.2 Enterprise (SOAP)

#SummitNow Set Up Your Dev Environment

#SummitNow Let’s set up your environment Could use curl or any other HTTP client, but why? Grab OpenCMIS from Apache Chemistry Maven makes it easy Group: org.apache.chemistry.opencmis Artifact: chemistry-opencmis-client-impl Version:

#SummitNow File Loader Example Let’s load some images into Alfresco on- premise Get a session Create a folder Check-in some documents Set some properties

#SummitNow CMIS Works in the Cloud Too! Let’s load some images into Alfresco in the cloud Same CMIS calls, different authentication Register for an API key

#SummitNow Watch Out for Gotchas/Limitations

#SummitNow CMIS object IDs are opaque Best not to even look at one!

#SummitNow Queries CMIS queries are read-only Do you really need everything? select * from cmis:document Do you really need all rows? Use OperationContext to limit

#SummitNow Working with Aspects CMIS 1.0 doesn’t know what an aspect is Must use OpenCMIS Extension CMIS 1.1 calls aspects secondary types Add/remove aspects by setting cmis:secondaryObjectTypeIds For queries, use a join

#SummitNow Adding an aspect (CMIS 1.0) if (!doc.hasAspect("P:cm:geographic")) { doc.addAspect("P:cm:geographic"); System.out.println("Added aspect"); } else { System.out.println("Doc already had aspect"); } HashMap props = new HashMap (); props.put("cm:latitude", ); props.put("cm:longitude", ); doc.updateProperties(props); parameter.put(SessionParameter.OBJECT_FACTORY_CLASS, "org.alfresco.cmis.client.impl.AlfrescoObjectFactoryImpl");

#SummitNow Adding an aspect (CMIS 1.1) List aspects = doc.getProperty("cmis:secondaryObjectTypeIds").getValues(); if (!aspects.contains("P:cm:geographic")) { aspects.add("P:cm:geographic"); HashMap props = new HashMap (); props.put("cmis:secondaryObjectTypeIds", aspects); doc.updateProperties(props); System.out.println("Added aspect"); } else { System.out.println("Doc already had aspect"); } HashMap props = new HashMap (); props.put("cm:latitude", ); props.put("cm:longitude", ); doc.updateProperties(props);

#SummitNow Query for aspect-based props SELECT D.cmis:name, G.cm:latitude, G.cm:longitude FROM cmis:document as D JOIN cm:geographic as G ON D.cmis:objectId = G.cmis:objectId

#SummitNow Working with Relationships Peer associations only Both sides must be instances of cmis:folder or cmis:document or a descendant type

#SummitNow Working with ACLs Can manage ACLs Cannot set or un-set ACL inheritance

#SummitNow Other Limitations Can only access objects that are descendants of cm:content or cm:folder Cannot create users/groups Cannot create or change types through the API (yet) Cannot work with categories or tags

#SummitNow A Word About Interoperability Pay attention to RepositoryInfo Multifiling, search, ACL, etc. may differ between repository vendors Inspect getAllowableActions Look at the type definitions Not all repositories name types the same way

#SummitNow Example Apps & Additional Learning Resources

#SummitNow Read the Book Everything you need to know about CMIS 1.0 & 1.1 Lots of Groovy and Java examples Also covers Python,.NET, PHP, Android, & iOS 37%-off: 12cmisal

#SummitNow Quick Look at The Blend

#SummitNow Ask questions in the “Alfresco API” forum!

#SummitNow First Steps with CMIS 1.Choose CMIS as your preferred API 2.Use the OpenCMIS Workbench as a learning tool 3.Set up your development environment 4.Watch out for gotchas/limitations 5.Take advantage of additional learning resources

#SummitNow