first steps with cmis
TRANSCRIPT
-
8/9/2019 First Steps With Cmis
1/32
#SummitNo
w
First Steps with CMIS &
AlfrescoJe Potts@jepotts01
http://ecmarchitectcom
-
8/9/2019 First Steps With Cmis
2/32
#SummitNo
w
#SummitNo
w
!o"#$e %ee ha'e' a project
!o"r Fa$orite (a)"a)e/Framewor*
+hat ,oes -ere.
-
8/9/2019 First Steps With Cmis
3/32
#SummitNo
w
#SummitNo
w
!o"#$e %ee ha'e' a project
!o"r Fa$orite (a)"a)e/Framewor*
-
8/9/2019 First Steps With Cmis
4/32
-
8/9/2019 First Steps With Cmis
5/32
#SummitNo
w
#SummitNo
w
+h CMIS.
Preferre' API for wor*i) with Alfrescope sta'ar' maa)e' % ASIS
Ma $e'ors s"pport it
Plet of e2amples
Cliet li%raries for ma la)"a)es
Ja$a Ptho 345 P-P %jecti$e6CA'roi'
-
8/9/2019 First Steps With Cmis
6/32
#SummitNo
w
#SummitNo
w
http://chemistrapacheor)
-
8/9/2019 First Steps With Cmis
7/32
#SummitNo
w
#SummitNo
w
Start with the +or*%ech
-
8/9/2019 First Steps With Cmis
8/32
#SummitNo
w
#SummitNo
w
Coect with CMIS +or*%ech
-
8/9/2019 First Steps With Cmis
9/32
#SummitNo
w
#SummitNo
w
42plore the Alfresco repo
C789 o%jectsIspect/cha)e properties
7" "eries
7" scripts "si) the ,roo$ cosole
See the cotet mo'el
-
8/9/2019 First Steps With Cmis
10/32
#SummitNo
w
#SummitNo
w
5he +or*%ech is )reatfor;
5esti) "eriesIspecti) the 'ata 'ictioar
Icl"'i) whether or ot a propert
is rea'/write or "era%leCa I 'o
-
8/9/2019 First Steps With Cmis
11/32
#SummitNo
w
#SummitNo
w
Alfresco CMIS Ser$ice 87(s % =ersio
AlfrescoVersion
CMIS Service URL
>?r? 6>
http://localhost:00/alfresco/ser$ice/cmisBA5Mhttp://localhost:00/alfresco/cmisBSAP
0 http://localhost:00/alfresco/cmisatomhttp://localhost:00/alfresco/cmisBSAP
?'/?4terprise
http://localhost:00/alfresco/api/6'efa"lt6/cmis/$ersios/10/atomhttp://localhost:00/alfresco/api/6'efa"lt6/cmis/$ersios/11/
atomhttp://localhost:00/alfresco/api/6'efa"lt6/cmis/$ersios/11/%rowserhttp://localhost:00/alfresco/cmis BSAP
http://localhost:8080/alfresco/service/cmishttp://localhost:8080/alfresco/cmishttp://localhost:8080/alfresco/cmisatomhttp://localhost:8080/alfresco/cmishttp://localhost:8080/alfresco/api/-default-/cmis/versions/1.0/atomhttp://localhost:8080/alfresco/api/-default-/cmis/versions/1.0/atomhttp://localhost:8080/alfresco/api/-default-/cmis/versions/1.1/atomhttp://localhost:8080/alfresco/api/-default-/cmis/versions/1.1/atomhttp://localhost:8080/alfresco/api/-default-/cmis/versions/1.1/browserhttp://localhost:8080/alfresco/api/-default-/cmis/versions/1.1/browserhttp://localhost:8080/alfresco/api/-default-/cmis/versions/1.0/atomhttp://localhost:8080/alfresco/api/-default-/cmis/versions/1.0/atomhttp://localhost:8080/alfresco/api/-default-/cmis/versions/1.1/browserhttp://localhost:8080/alfresco/api/-default-/cmis/versions/1.1/browserhttp://localhost:8080/alfresco/api/-default-/cmis/versions/1.1/atomhttp://localhost:8080/alfresco/api/-default-/cmis/versions/1.1/atomhttp://localhost:8080/alfresco/api/-default-/cmis/versions/1.0/atomhttp://localhost:8080/alfresco/api/-default-/cmis/versions/1.0/atomhttp://localhost:8080/alfresco/cmishttp://localhost:8080/alfresco/cmisatomhttp://localhost:8080/alfresco/cmishttp://localhost:8080/alfresco/service/cmis -
8/9/2019 First Steps With Cmis
12/32
#SummitNo
w
#SummitNo
w
Set 8p !o"r 9e$
4$iromet
-
8/9/2019 First Steps With Cmis
13/32
#SummitNo
w
#SummitNo
w
(et#s set "p o"re$irometCo"l' "se c"rl or a other -55Pcliet %"t wh.
,ra% peCMIS from Apache
ChemistrMa$e ma*es it easGroup: org.apache.chemistry.opencmis
Artifact: chemistry-opencmis-client-impl
Version: 0.10.0
-
8/9/2019 First Steps With Cmis
14/32
#SummitNo
w
#SummitNo
w
File (oa'er 42ample
(et#s loa' some ima)es ito Alfrescoo6premise
,et a sessio
Create a fol'er Chec*6i some 'oc"mets
Set some properties
https://co'e)oo)lecom/p/alfresco6api6ja$a
-
8/9/2019 First Steps With Cmis
15/32
#SummitNo
w
#SummitNo
w
CMIS +or*s i the Clo"'5ooD(et#s loa' some ima)es ito Alfresco ithe clo"'
Same CMIS calls 'ieret
a"theticatio7e)ister for a API *e
http://wwwalfrescocom/'e$elop
-
8/9/2019 First Steps With Cmis
16/32
#SummitNo
w
#SummitNo
w
+atch "t for
,otchas/(imitatios
-
8/9/2019 First Steps With Cmis
17/32
#SummitNo
w
#SummitNo
w
CMIS o%ject I9s are opa"e
Eest ot toe$e loo* atoeD
-
8/9/2019 First Steps With Cmis
18/32
#SummitNo
w
#SummitNo
w
"eries
CMIS "eries are rea'6ol9o o" reall ee' e$erthi).
select G from cmis:'oc"met
9o o" reall ee' all rows. 8se peratioCote2t to limit
-
8/9/2019 First Steps With Cmis
19/32
#SummitNo
w
#SummitNo
w
+or*i) with Aspects
CMIS 10 'oes#t *ow what a aspectis
M"st "se peCMIS 42tesio
CMIS 11 calls aspects seco'ar tpes A''/remo$e aspects % setti)
cmis:seco'ar%ject5peI's
For "eries "se a joi
-
8/9/2019 First Steps With Cmis
20/32
#SummitNo
w
#SummitNo
w
A''i) a aspect BCMIS 10
if (!doc.hasAspect("P:cm:geographic"
doc.addAspect("P:cm:geographic"#ystem.out.println("Added aspect"
$ else
#ystem.out.println("%oc already had aspect"
$
&ash'ap#tring) *+,ect props ne/ &ash'ap#tring)
*+,ect(
props.put("cm:latitude") .12341
props.put("cm:longitude") 12.251106
doc.updateProperties(props
parameter.put(#essionParameter.*789;?
-
8/9/2019 First Steps With Cmis
21/32
#SummitNo
w
#SummitNo
w
A''i) a aspect BCMIS 11
@ist*+,ect aspects doc.getProperty("cmis:secondary*+,ect;ypeds".getValues(
if (!aspects.contains("P:cm:geographic"
aspects.add("P:cm:geographic"
&ash'ap#tring) *+,ect props ne/ &ash'ap#tring)
*+,ect(
props.put("cmis:secondary*+,ect;ypeds") aspectsdoc.updateProperties(props
#ystem.out.println("Added aspect"
$ else
#ystem.out.println("%oc already had aspect"
$
&ash'ap#tring) *+,ect props ne/ &ash'ap#tring)
*+,ect(
props.put("cm:latitude") .12341
props.put("cm:longitude") 12.251106
doc.updateProperties(props
-
8/9/2019 First Steps With Cmis
22/32
#SummitNo
w
#SummitNo
w
"er for aspect6%ase'props
#9@9; %.cmis:name) G.cm:latitude) G.cm:longitude
=>*' cmis:document as %
8*B cm:geographic as G
*B %.cmis:o+,ectd G.cmis:o+,ectd
-
8/9/2019 First Steps With Cmis
23/32
#SummitNo
w
#SummitNo
w
+or*i) with 7elatioships
Peer associatios olEoth si'es m"st %e istaces ofcmis:fol'er or cmis:'oc"met or a
'esce'at tpe
-
8/9/2019 First Steps With Cmis
24/32
#SummitNo
w
#SummitNo
w
+or*i) with AC(s
Ca maa)e AC(sCaot set or "6set AC( iheritace
-
8/9/2019 First Steps With Cmis
25/32
#SummitNo
w
#SummitNo
w
ther (imitatios
Ca ol access o%jects that are'esce'ats of cm:cotet orcm:fol'er
Caot create "sers/)ro"psCaot create or cha)e tpes thro")hthe API Bet
Caot wor* with cate)ories or ta)s
-
8/9/2019 First Steps With Cmis
26/32
#SummitNo
w
#SummitNo
w
A +or' A%o"tIteropera%ilitPa attetio to 7epositorIfo M"ltiHli) search AC( etc ma
'ier %etwee repositor $e'ors
Ispect )etAllowa%leActios(oo* at the tpe 'eHitios
3ot all repositories ame tpes the
same wa
-
8/9/2019 First Steps With Cmis
27/32
#SummitNo
w
#SummitNo
w
42ample Apps & A''itioal
(eari) 7eso"rces
-
8/9/2019 First Steps With Cmis
28/32
#SummitNo
w
#SummitNo
w
7ea' the Eoo*
4$erthi) o" ee' to*ow a%o"t CMIS 10 & 11
(ots of ,roo$ a' Ja$a
e2amplesAlso co$ers Ptho 345P-P A'roi' & iS
>6o: 1?cmisal
-
8/9/2019 First Steps With Cmis
29/32
#SummitNo
w
#SummitNo
w
"ic* (oo* at 5he Ele'
-
8/9/2019 First Steps With Cmis
30/32
#SummitNo
w
#SummitNo
w
As* "estios i the
KAlfresco APIL for"mD
-
8/9/2019 First Steps With Cmis
31/32
#SummitNo
w
#SummitNo
w
First Steps with CMIS
1 Choose CMIS as o"r preferre' API? 8se the peCMIS +or*%ech as a
leari) tool
> Set "p o"r 'e$elopmete$iromet
+atch o"t for )otchas/limitatios
5a*e a'$ata)e of a''itioalleari) reso"rces
-
8/9/2019 First Steps With Cmis
32/32
#SummitNo
w