Cmis - Cmis Sql Search Tutorial - Eng

  • May 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Cmis - Cmis Sql Search Tutorial - Eng as PDF for free.

More details

  • Words: 1,000
  • Pages: 95
Today, let’s talk about CMIS-SQL

Eh Mister!! Before starting.. Who is CMIS ?

That’s right, let’s share the story of CMIS

Everyone was living in their own world…

Until the day when the encounter became unescapable…

$

Because each of them wanted to go higher than the others.

A few deaths later…

They realized they couldn’t go in so many different directions anymore

They shared a similar objective Content Interope rability

So instead of fighting, They gathered their strengths…

To keep going further on…

And to share information!

To resume …

CMIS stands for Content Management Interoperability Services (CMIS).

Actually it’s a draft specification submitted by leading ECM vendors to OASIS (the Organization for the Advancement of Structured Information Standards) with the aim of becoming an ECM industry standard.

Officially…

CMIS defines a domain model and set of bindings, such as Web Service and REST/Atom that can be used by applications to work with one or more Content Management repositories.

Visually, it looks like that…

Ok ! Could you explain the different part of CMIS ?

Ok… Let’s try a comparison…

Do you know how goods travel ?

http://www.flickr.com/photos/anniemole/313981428/

Indeed, goods enjoy great trip !

Most of them, travel by…

Trucks…

http://www.flickr.com/photos/87913776@N00/422603859/

Ships…

http://www.flickr.com/photos/danramarch/2875308394/

Or Trains…

http://www.flickr.com/photos/pfly/199823544/

What’s the common point ?

CONTAINERS !

http://www.flickr.com/photos/nelsoncruz/431244400/

It’s standardized…

http://www.flickr.com/photos/ppdigital/2327889692/

http://www.flickr.com/photos/marelles/852012838/

It’s interoperable…

That’s why, it increase exchange !

http://www.flickr.com/photos/bcnbits/2859509269/

And CMIS ?

1. CMIS is THE container for document management

It standardizes a unique domain/data model http://www.flickr.com/photos/circulating/2533948028/

2. CMIS is a means of transport

http://www.flickr.com/photos/grumbler/448401254/

By WebServices

http://www.flickr.com/photos/adam_knight/356512207/

By REST/ATOM

http://www.flickr.com/photos/theolaphoto/23255

3. CMIS provides services

http://www.flickr.com/photos/ejouvenaux/2886232980/

Document Management

http://www.flickr.com/photos/misterdna/49841409/

http://www.flickr.com/photos/chrisjohnbeckett/514914659/

CMIS SQL search

That’s why, CMIS increase exchange !

http://www.flickr.com/photos/bcnbits/2859509269/

All right folks ? Can we go back to CMIS-SQL ?

Ok! Let’s explain CMIS-SQL !

So what’s CMIS-SQL…

CMIS-SQL ? •







CMIS provides a type-based query service for discovering objects that match specified criteria, by defining a read-only projection of the CMIS data model into a Relational View. Through this relational view, queries may be performed via a simplified SQL SELECT statement. This query language, called CMIS SQL, is based on a subset of the SQL-92 grammar, with a few extensions to enhance its filtering capability for the CMIS data model, such as existential quantification for multi-valued property, full-text search, and folder membership. Other statements of the SQL language are not adopted by CMIS. The semantics of CMIS SQL is defined by the SQL92 standard, plus the extensions, in conjunction with the model mapping defined by CMIS’s relational view Source: Oasis CMIS Part 1 – Domain Model v0.61c

OK… Demo time!

A b it of theo ry

CMIS enables to query on…

CMIS enables to query on…

CMIS DOMAIN MODEL

Syntax

Simple query • SELECT [columns] • FROM [Virtual Table Names] • WHERE [conditions] • ORDER BY [sort specification]

SELECT [columns] • This clause identifies the set of columns that will be included in the query results for each row.

FROM [Virtual Table Names] • This clause identifies which Virtual Table(s) the query will run against.

WHERE [conditions] • This clause identifies the constraints that rows SHALL satisfy to be considered a result for the query.

ORDER BY [sort specification] • This clause identifies the order in which the result rows SHALL be sorted in the result row set.

Predica te Functio ns

CONTAINS() • This is a predicate function that encapsulates the fulltext search capability that MAY be provided by a Repository • The predicate returns a Boolean value.

SCORE() • This is a predicate function that encapsulates the fulltext search capability that MAY be provided by a Repository • The SCORE() predicate function returns a decimal value in the interval [0,1]

IN_FOLDER() • This is a predicate function that tests whether or not a candidate object is a childobject of the folder object identified by the given . • The predicate returns a Boolean value.

IN_TREE() • This is a predicate function that tests whether or not a candidate object is a descendant-object of the folder object identified by the given . • The predicate returns a Boolean value.

Operat or

Logical operators AND To add a criteria OR To add a choice between several criterias NOT To exclude a criteria

Predicate LIKE allows you to use wildcards in a WHERE clause IS [NOT] NULL Check if an expression is NULL. [NOT] IN allows you to specify multiple values in a WHERE clause.

Now how to make simple queries with CMIS-SQL ?

CMIS-SQL : My Recipe

http://www.flickr.com/photos/piston9/2497672447/

Install a content Repository

http://www.flickr.com/photos/piston9/2497672447/

Alfresco 3.x Community (for me)

I’m always here !

Add an independent CMIS client like Shane Johnson's Flex/AIR CMIS Browser

Bind them…

http://www.flickr.com/photos/intherough/325334910

Then create your queries

http://www.flickr.com/photos/sgw/2329607771/

And watch results.

http://www.flickr.com/photos/fozzeee/3756133976/

Let’s try some samples..

I want all informations of all folders SELECT * FROM FOLDER

I just want the name of all folders SELECT F.Name FROM FOLDER AS F

I want all informations of « MyFolder » SELECT F.* FROM FOLDER AS F WHERE F.Name='MyFolder'

I want all information of all documents in « MyFolder » SELECT * FROM DOCUMENT AS D WHERE IN_FOLDER( 'workspace://SpacesStore/b7008f8b-5352-4e9b-97e7-4374479ee984')

I want all information of folders in « MyFolder » SELECT * FROM FOLDER AS F WHERE IN_FOLDER( 'workspace://SpacesStore/b7008f8b-5352-4e9b-97e7-4374479ee984')

I want ObjectType and Name of « MyDocument.doc » SELECT D.ObjectTypeId, D.Name FROM document AS D WHERE D.Name=‘MyDocument.doc'

I want ObjectType and Name of all document that contains the word ‘CMIS’ SELECT D.ObjectTypeId, D.Name FROM document AS D WHERE CONTAINS(‘CMIS‘)

I want the name of all document that contains the word ‘CMIS’ and objectType is ‘cmis_doc’ SELECT D.ObjectTypeId, D.Name FROM document AS D WHERE CONTAINS(‘CMIS‘) AND D.ObjectTypeId='D/cmis_doc'

Voilà! Enough for today!

Now it’s your turn!

Don’t hesitate to create or use.. CMIS Toolkits CMIS Client CMIS Repository

Test your combination

And make your own !

Be the first to enjoy content interoperability!

And finally…

To discover…

To go further on…

And to reach our goals…

Choose ECM Open Source

CMIS-SQL By JM.PASCAL www.opensourceecm.fr & www.open-source-ecm.com

Related Documents

Cmis 415
May 2020 18
Tutorial Sql
November 2019 33
Tutorial Sql
May 2020 20
Sql Tutorial
November 2019 25
Sql Tutorial
May 2020 21