Tons of content in companies today. Email is another big one.
A document repository helps answer these questions and keeps you productive
Alfresco’s cloud client, Alfresco’s mobile client, and an application one of Alfresco’s customers built are all examples of apps that help people deal with unstructured content. There are countless other examples.
Look at your own file system to see the kinds of silly things we do when we try to use a blunt tool like a file system for things like document management. We try to add information to file names because that’s all we have to work with.
Most content repositories look like this high-level diagram. Some differ in the protocols they support or exactly how files are stored (database versus file system, for example).
Just like databases before standardized SQL, each content repository has its own proprietary API. Huge pain.
Microsoft, EMC, IBM, SAP, Alfresco all are involved in this specification and have adopted it in their products.
What’s in the spec at an extremely high level
CMIS is the specification. Apache Chemistry is the reference implementation.
Once you get the hang of that, write code using your favorite language
Demo shows us starting with an empty Alfresco repositoryRunning the app from EclipseRunning a data loader to load some sample dataClicking around in the appRunning a python script to sync data from Alfresco to another vendor’s repoChanging a parameter in the application to point to the other repoCreate a new object in AlfrescoSync picks up the new object, puts it in the target repo, app sees it
Now custom apps and integrations don’t have to rely on one-off integrations. They use a single API (CMIS) instead.
Apache Chemistry in Action: Using CMIS and your favorite language to unlock content from ECM repositories
Apache Chemistry in Action: Using CMISand your favorite language to unlockcontent from ECM repositoriesJeff Pottsjeff.firstname.lastname@example.org OR email@example.com
80% of the content in an Enterprise is unstructuredJeff Potts firstname.lastname@example.org
Managing & collaborating on files is a painJeff PottsWhere is the latest version?Who changed it last? What did they change?Which project is this related to?Who should be allowed to see this file? Tomake changes?How long do we have to keep this file?Can I get this file in another format?I’m done with this file, what happens email@example.com
So we write apps that help deal with contentJeff Potts firstname.lastname@example.orgAlfresco iOS Client
But files are a strange beastJeff PottsDon’t work well as BLOBs in an RDB– Can’t be indexed– Can’t be streamed– Subject to size limitationsFile systems alone aren’t rich enoughNeither are Amazon S3 email@example.com
That’s where a content repository comes inJeff Potts firstname.lastname@example.orgRDB(Metadata)File System(Files)FileProtocols(WebDAV,FTP,etc.) APIRepositoryContent Object
The Problem: Until now, each repo had its own APIjeff.email@example.comAPI API APIMy Custom Application Third-Party SystemsMost organizations have multiple repositories!One-offintegrationOne-offintegrationOne-offintegrationJeff Potts
An industry-wide specification is born: CMISJeff PottsManaged by OASISBroad vendor support andadoption1.0 out now, 1.1 coming soonhttp://bit.ly/PnAb77jeff.firstname.lastname@example.org
CMIS specification describes a repo and what’s in itJeff PottsDomain Model: Repository, Folder,Document, ACL, Relationship, ObjectType, Secondary Type*, Item*Binding: Web Services, AtomPub, Browser(JSON)*Query Language: Subset of SQLemail@example.com*New in CMIS 1.1
Apache Chemistry is the CMIS reference implementationJeff PottsClient libraries, server frameworks,development firstname.lastname@example.org://bit.ly/ex20BT
Getting started with CMISJeff PottsGrab a CMIS client from Apache ChemistryFind a CMIS-compliant repositoryYou need its “service URL”Connect to it with the OpenCMISWorkbenchjeff.email@example.com
Let’s see a demo! Python & cmislib, multiple reposJeff Potts firstname.lastname@example.org
Let’s see another! Java & OpenCMIS, Servlets & JSPsJeff PottsThe Blend– An example music mash-up site– Java Servlets & JSPs– Show it running againstmultiple CMISrepositories– Full source availablefrom Manningjeff.email@example.com://bit.ly/U9npcF
The beauty of CMISJeff Potts firstname.lastname@example.orgMy Custom Application Third-Party SystemsCMIS APIStandardintegrationStandardintegration
Come to the Alfresco Meetup at 15:00, Rm 123, Bldg GMeet customers, partners, and othercommunity membersLearn about Alfresco in the real worldHear talks on our cloud API, Web ContentManagement, Scripts, and CaseManagementSee you today at 15:00 in Room 123!