Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.
Getting Started with CMISJanuary 2012Jeff PottsChief Community OfficerApache Chemistry cmislib lead
Agenda• What is CMIS?  – Brief description  – Quick overview of the domain model• First steps using Apache Chemistry  – De...
What is CMIS?• Vendor independent API for working with  content repositories• Specification managed by OASIS  – Domain mod...
The Beauty of CMIS Presentation     Tier                 REST   SOAP                               ?   Content Services Ti...
Meet CMIS  Consumer                Client              read   write              Services             Domain Model  Provid...
Developed by 30+ ECM VendorsImplementations Already Available…                                     Providers              ...
Use Cases                            Content        Client                                      Client                    ...
TypesDocument                      Folder• Content                     • Container• Renditions                  • Hierarch...
Type Definitions            Object                       Property            • Type Id                    • Property Id   ...
• Open Source implementations of CMIS• Apache Chemistry is the umbrella project  for all CMIS related projects within the ...
• Apache Chemistry started as an incubator  project in May 2009  – Graduated to a top level project in February    2011.• ...
FIRST STEPS WITH CMISReal-world coding examples
Notes on my setup•   Alfresco 4.0.c Community•   SomeCo content model (See ecmarchitect.com)•   Mac OS X, Tomcat, MySQL, E...
DEMOInstalling and Using cmislibUse easy_install to install cmislib. Docs available here.                                 ...
DEMOUsing OpenCMIS to create, query, relate, & deleteThe code comes from the ecmarchitect.com custom content typestutorial...
DEMOUsing the Groovy Console in the OpenCMIS Workbench                                                     :05
TIPS & TRICKSA few tidbits for the developer new to CMIS
Prefix cannot be null or empty• You may see this error when using the  Alfresco OpenCMIS extension• It is due to a depende...
Using Alfresco CMIS extension withOpenCMIS Workbench• You must do this if you want to set  properties defined in an aspect...
In Alfresco 4 the CMIS URLs havechanged• In Alfresco 4, OpenCMIS is now the CMIS  implementation  – Use http://localhost:8...
CMIS in server-side JavaScript*varcmisConnection = cmis.getConnection();varcmisSession    = cmisConnection.getSession();fo...
Experimental JSON binding in Alfresco 4 • Alfresco 4 includes an experimental   implementation of the new browser   bindin...
Working with permissions• ACLs are lists of ACEs• In Alfresco, group identifiers start with  ”GROUP_”• You cannot break in...
WHERE TO LEARN MORE
CMIS Resources• cmis.alfresco.com includes a public CMIS server  and links to CMIS resources• Read the CMIS specification•...
QUESTIONSjeff.potts@alfresco.com@jeffpotts01 (Twitter & all chat services)http://ecmarchitect.com
Getting Started with CMIS
Getting Started with CMIS
Próxima SlideShare
Cargando en…5
×

Getting Started with CMIS

21.519 visualizaciones

Publicado el

A brief introduction to the CMIS spec and some tips and tricks for developers new to CMIS. Demos showed how to install and use cmislib, the Python API for CMIS, and OpenCMIS, the Java API. Both projects are part of Apache Chemistry. Originally given as part of an Alfresco webinar. Recording: http://blogs.alfresco.com/wp/webcasts/2012/01/getting-started-with-cmis-2/

Publicado en: Tecnología
  • DOWNLOAD FULL BOOKS, INTO AVAILABLE FORMAT ......................................................................................................................... ......................................................................................................................... ,DOWNLOAD FULL. PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ,DOWNLOAD FULL. EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ,DOWNLOAD FULL. doc Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ,DOWNLOAD FULL. PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ,DOWNLOAD FULL. EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ,DOWNLOAD FULL. doc Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Responder 
    ¿Estás seguro?    No
    Tu mensaje aparecerá aquí
  • Cool
       Responder 
    ¿Estás seguro?    No
    Tu mensaje aparecerá aquí
  • Good overview
       Responder 
    ¿Estás seguro?    No
    Tu mensaje aparecerá aquí

Getting Started with CMIS

  1. 1. Getting Started with CMISJanuary 2012Jeff PottsChief Community OfficerApache Chemistry cmislib lead
  2. 2. Agenda• What is CMIS? – Brief description – Quick overview of the domain model• First steps using Apache Chemistry – Demos using cmislib (Python) and OpenCMIS (Java) – Demo using OpenCMIS Workbench & the Groovy Console• Tips & Tricks for New CMIS Developers• Where to learn more
  3. 3. What is CMIS?• Vendor independent API for working with content repositories• Specification managed by OASIS – Domain model – Protocol bindings • Web Services Binding • ATOM Pub Binding • Browser (JSON) Binding (Coming in 1.1) – CMIS Query Language
  4. 4. The Beauty of CMIS Presentation Tier REST SOAP ? Content Services Tier Enterprise Apps Tier ?
  5. 5. Meet CMIS Consumer Client read write Services Domain Model Provider Content Vendor Management Mapping Interoperability Services Content Repository CMIS lets you read, search, write, update, delete, version, c ontrol, … content and metadata!
  6. 6. Developed by 30+ ECM VendorsImplementations Already Available… Providers Consumers
  7. 7. Use Cases Content Client Client Repository Content Content Content Content Repository Repository Repository Content Repository Repository • Collaborative Content Creation • Workflow & BPM • Portals • Archival • Client Application Integration • Virtual Documents • Mashup • DAM / WCM
  8. 8. TypesDocument Folder• Content • Container• Renditions • Hierarchy• Version History • Filing Described by Type DefinitionsRelationship Policy• Source Object • Target Object• Target Object
  9. 9. Type Definitions Object Property • Type Id • Property Id • Parent * • Display Name • Display Name • Type •Queryable • Required • Controllable • Default Value •… Document Folder Relationship Policy •Versionable • Source Types • Allow Content • Target Types Custom Type
  10. 10. • Open Source implementations of CMIS• Apache Chemistry is the umbrella project for all CMIS related projects within the ASF – OpenCMIS (Java, client and server) – cmislib (Python, client) – phpclient (PHP, client) – DotCMIS (.NET, client)
  11. 11. • Apache Chemistry started as an incubator project in May 2009 – Graduated to a top level project in February 2011.• Backed by Adobe, Alfresco, Nuxeo, OpenText, and SAP• OpenCMIS is a de-facto reference for CMIS and is also used by the CMIS TC to test new CMIS 1.1 features
  12. 12. FIRST STEPS WITH CMISReal-world coding examples
  13. 13. Notes on my setup• Alfresco 4.0.c Community• SomeCo content model (See ecmarchitect.com)• Mac OS X, Tomcat, MySQL, Eclipse• Java – OpenCMIS 0.6* – Alfresco OpenCMIS extension 0.2* – JDK 1.6.0_29• Python – cmislib 0.5 – Python 2.6/2.7 * Distributed with Alfresco 4 SDK
  14. 14. DEMOInstalling and Using cmislibUse easy_install to install cmislib. Docs available here. :10
  15. 15. DEMOUsing OpenCMIS to create, query, relate, & deleteThe code comes from the ecmarchitect.com custom content typestutorial, available here. Apache Chemistry OpenCMIS lives here. :10
  16. 16. DEMOUsing the Groovy Console in the OpenCMIS Workbench :05
  17. 17. TIPS & TRICKSA few tidbits for the developer new to CMIS
  18. 18. Prefix cannot be null or empty• You may see this error when using the Alfresco OpenCMIS extension• It is due to a dependency problem• If you are using Maven, see this issue.• If you are setting an explicit classpath, refer to the CMIS classpath set in the Ant build file in the content types tutorial
  19. 19. Using Alfresco CMIS extension withOpenCMIS Workbench• You must do this if you want to set properties defined in an aspect• Copy alfresco-opencmis-extension-0.2.jar to workbench/lib• Set the following on “Expert” tab:org.apache.chemistry.opencmis.objectfactory.classname=org.alfresco.cmis.client.impl.AlfrescoObjectFactoryImpl• Click “Load Repositories” before leaving the expert tab
  20. 20. In Alfresco 4 the CMIS URLs havechanged• In Alfresco 4, OpenCMIS is now the CMIS implementation – Use http://localhost:8080/alfresco/cmisatom instead of http://localhost:8080/alfresco/s/cmis – Consider the CMIS web scripts to be deprecated – You may see different results b/w the two URLs
  21. 21. CMIS in server-side JavaScript*varcmisConnection = cmis.getConnection();varcmisSession = cmisConnection.getSession();folder = cmisSession.getRootFolder();print("Children of: " + folder.name + "(" +folder.id + ")");variter = folder.getChildren().iterator();while (iter.hasNext()) { print(iter.next().name);} *Broken in 4.0.c Community
  22. 22. Experimental JSON binding in Alfresco 4 • Alfresco 4 includes an experimental implementation of the new browser binding • http://localhost:8080/alfresco/cmisbrowserhttp://localhost:8080/alfresco/cmisbrowserhttp://localhost:8080/alfresco/cmisbrowser/{repo id}/roothttp://localhost:8080/alfresco/cmisbrowser/{repoid}/root?includeAllowableActions=true&skipCount=0&maxItemshttp://localhost:8080/alfresco/cmisbrowser/{repoid}/root/cmis-demohttp://localhost:8080/alfresco/cmisbrowser/{repoid}/root/cmisdemo?selector=childrenhttp://localhost:8080/alfresco/cmisbrowser/{repoid}/root/cmisdemo?selector=object
  23. 23. Working with permissions• ACLs are lists of ACEs• In Alfresco, group identifiers start with ”GROUP_”• You cannot break inheritance through CMIS, but you can determine whether an ACE is inherited or “direct”
  24. 24. WHERE TO LEARN MORE
  25. 25. CMIS Resources• cmis.alfresco.com includes a public CMIS server and links to CMIS resources• Read the CMIS specification• Apache Chemistry site has clients, lightweight server, documentation• Alfresco Extension for OpenCMIS allows you to work with aspect-defined properties• “Getting Started with CMIS” tutorial shows how to use cURL to hit ATOM Pub binding directly• Slideshare has some CMIS related presentations from DevConhere and here
  26. 26. QUESTIONSjeff.potts@alfresco.com@jeffpotts01 (Twitter & all chat services)http://ecmarchitect.com

×