CMIS and Apache Chemistry in Action
Florian Mueller, Jay Brown, Jeff Potts
Forewords by Richard J. Howarth and John Newton
  • July 2013
  • ISBN 9781617291159
  • 480 pages
  • printed in black & white

The most complete, authoritative work on CMIS you will find.

From the Foreword by Richard J. Howarth, IBM Software Group

CMIS and Apache Chemistry in Action is a comprehensive guide to the CMIS standard and related ECM concepts, written by the authors of the standard. In it, you'll tackle hands-on examples for building applications on CMIS repositories from both the client and the server sides. You'll learn how to create new content-centric applications that install and run in any CMIS-compliant repository.

Table of Contents detailed table of contents

foreword by R.J. Howarth

foreword by J. Newton



about this book

about the authors

about the cover illustration

Part 1 Understanding CMIS

1. Chapter 1 Introducing CMIS

1.1. What is CMIS?

1.2. Setting up a CMIS test environment

1.3. Writing your first CMIS code using Groovy

1.4. CMIS considerations

1.5. Summary

2. Chapter 2 Exploring the CMIS domain model

2.1. The CMIS service

2.2. Repository—the CMIS database

2.3. Folders

2.4. Documents

2.5. The item object type (version 1.1)

2.6. Summary

3. Chapter 3 Creating, updating, and deleting objects with CMIS

3.1. Creating objects

3.2. Updating objects

3.3. Deleting objects

3.4. Summary

4. Chapter 4 CMIS metadata: types and properties

4.1. What is metadata and why do we need it?

4.2. Metadata in CMIS

4.3. Type collections and hierarchies

4.4. CMIS 1.1 metadata features

4.5. Summary

5. Chapter 5 Query

5.2. Introduction to the CMIS Query language

5.3. Components of a query

5.4. CMIS SQL extension functions

5.5. Summary

Part 2 Hands-on CMIS client development

6. Chapter 6 Meet your new project: The Blend

6.1. Understanding the business requirements and technical approach

6.2. Walking through the finished product

6.3. Setting up the development environment

6.4. Configuring the InMemory server

6.5. Taking first steps with The Blend

6.6. Summary

7. Chapter 7 The Blend: read and query functionality

7.1. Building a browse page

7.2. Building a document page

7.3. Building a query page

7.4. Summary

8. Chapter 8 The Blend: create, update, and delete functionality

8.1. Creating folders

8.2. Creating documents

8.3. Updating properties

8.4. Updating and deleting content

8.5. Versioning

8.6. Copying documents

8.7. Moving objects

8.8. Deleting objects

8.9. Summary

9. Chapter 9 Using other client libraries

9.1. Working with other client libraries

9.2. Coding in .NET with DotCMIS

9.3. Coding in Python with cmislib

9.4. Apache Chemistry PHP API

9.5. Summary

10. Chapter 10 Building mobile apps with CMIS

10.1. Writing mobile apps with OpenCMIS for Android

10.2. Writing iOS apps with ObjectiveCMIS

10.3. Summary

Part 3 Advanced topics

11. Chapter 11 CMIS bindings

11.1. CMIS binding overview

11.2. A close look at the three bindings

11.3. CMIS schemas and schema extensions

11.4. The OpenCMIS low-level API

11.5. Summary

12. Chapter 12 Security and control

12.1. General security considerations

12.2. Authentication

12.3. Authentication in web applications using the Browser binding

12.4. Authorization and permissions

12.5. Retentions and holds

12.6. Summary

13. Chapter 13 Performance

13.1. CMIS performance

13.2. Selecting the smallest data set

13.3. Performance notes specific to OpenCMIS and DotCMIS

13.4. Caching

13.5. Selecting the fastest binding

13.6. Tuning HTTP for CMIS

13.7. Summary

14. Chapter 14 Building a CMIS server

14.1. Introduction to the OpenCMIS Server Framework

14.2. Generating a server stub

14.3. Implementing the CmisServiceFactory interface

14.4. Implementing the CmisService interface

14.5. Testing the CMIS server with the OpenCMIS TCK

14.6. AtomPub differences

14.7. Parsing a CMIS query

14.8. Extracting authentication information

14.9. CMIS extensions

14.10. Supporting CMIS 1.0 and CMIS 1.1

14.11. Summary

Appendix A: Apache Chemistry OpenCMIS components

Appendix B: BNF

Appendix C: CMIS cheat sheet

Appendix D: Building web applications with JavaScript

Appendix E: References and resources


© 2014 Manning Publications Co.

About the Technology

Content Management Interoperability Services (CMIS) is an OASIS standard for accessing content management systems. It specifies a vendor—and language—neutral way to interact with any compliant content repository. Apache Chemistry provides complete reference implementations of the CMIS standard with robust APIs for developers writing tools, applications, and servers.

About the book

CMIS and Apache Chemistry in Action is a comprehensive guide to the CMIS standard and related ECM concepts. In it, you'll find clear teaching and instantly useful examples for building content-centric client and server-side applications that run against any CMIS-compliant repository. In fact, using the CMIS Workbench and the InMemory Repository from Apache Chemistry, you'll have running code talking to a real CMIS server by the end of chapter 1.

What's inside

  • The only CMIS book endorsed by OASIS
  • Complete coverage of the CMIS 1.0 and 1.1 specifications
  • Cookbook-style tutorials and real-world examples

About the reader

This book requires some familiarity with content management systems and a standard programming language like Java or C#. No exposure to CMIS or Apache Chemistry is assumed.

About the authors

Florian Müller, Jay Brown, and Jeff Potts are among the original authors, contributors, and leaders of Apache Chemistry and the OASIS CMIS specification. They continue to shape CMIS implementations at Alfresco, IBM, and SAP.

placing your order...

Don't refresh or navigate away from the page.

FREE domestic shipping on three or more pBooks

Illustrates the breadth and possibilities of CMIS.

From the Foreword by John Newton, Alfresco and AIIM

An excellent, in-depth introduction to CMIS from the authors of the standard.

Gregor Zurowski, Sotheby’s

A thoughtful, thorough, and entertaining discussion about using CMIS in practice.

Ryan McVeigh, Zia Consulting