Alfresco CMIS interfész

Az Alfresco ECM-ben a kérést végrehajtó entitás azonosítása után a teljes dokumentumtári tartalom elérhető CMIS protokollon keresztül. A dokumentumok közötti – hozzáférési jogosultság alapú – keresés, illetve a találatokhoz tartozó bináris és meta adatok lekérése szintén a CMIS protokoll adta kommunikációs nyelven keresztül történik.

Cmis_logoAz implementációhoz használt OpenCMIS 1.0 (3.4, 4.0, 4.1), illetve 1.1 (v4.2+) teljes Alfresco oldali dokumentációja – beleértve a query és get szervizeket is – a következő URL-en érhető el: http://docs.alfresco.com/community/pra/1/topics/cmis-welcome.html

A Content Management Interoperability Services (CMIS) szabvány alapvető dokumentum- és tartalomkezelő szolgáltatásokat definiál. Formátuma: RESTful AtomPub webservice.
Lehetőség van a CMIS-en keresztül SQL-hez hasonló lekérdezőnyelven keresni is a dokumentumok között.

Az Alfresco Document Management rendszer a CMIS szabványon implementált szolgáltatásokat valósítja meg, melyek tartalmazzák a felsoroltakat:

  • Tartalomstruktúra definíciója (content modeling)
  • A tartalmak (dokumentumok) létrehozása, módosítása és törlése a hozzájuk tartozó kapcsolatokkal és meta-adatokkal együtt
  • Dokumentumok lekérdezése
  • Dokumentumok jogosultságkezelése
  • Dokumentumok verziókezelése
  • Zárolás
  • Dokumentumokkal kapcsolatos események követése
  • Auditálás, naplózás
  • Importálás / Exportálás

A dokumentumkezelő rendszer közös kommunikációs nyelvének szánt CMIS protokoll jelenleg az összes piaci szereplő termékében megtalálható; IBM FileNet, Nuxeo, Oracle UCM, EMC Documentum, Microsoft SharePoint Server, SAP HANA, stb.

LibreOffice – Alfresco – CMIS

A LibreOffice 4-es verziójában immár stabilan működik a CMIS kliens protokoll, így nincs akadálya annak, hogy SharePoint, Lotus, FileNet, Alfresco, vagy Nuxeo szerverhez kapcsolódva szerkeszthessünk dokumentumokat.

A dokumentumok szerkesztése ebben az esetben a közvetlen szerverről való megnyitást, a CheckOut-ot, a CheckIn-t és a közvetlenül szerverre való írást jelenti. A LibreOffice dialógus ablakaiban megjelenő szerver könyvtárakat böngészve, a helyi, vagy megosztott file-rendszerhez hasonlóan lehet kiválasztani a szerkesztendő dokumentumokat.

Ez utóbbi csak abban az esetben válik elérhetővé, ha a LibreOffice saját dialógus ablakait használjuk, azaz engedélyeztük a beállítások között:
Alfresco-CMIS-LibreOffice-Preferences

A “…” ikonra kattintva lehet új szerver beállítást létrehozni – WebDAV, FTP, SSH, Windows Share (Samba) illetve CMIS protokollok közül választva. Alfresco esetén a CMIS protokollt kiválasztva, majd a szerver típust Alfresco 4-nek jelölve juthatunk el a dokumentumokhoz:
Alfresco-CMIS-LibreOffice-File-Open-1

Valós Alfresco felhasználói adatok megadása után a bal oldali listában megjelenik az új szerver, listázásra kerülnek a definiált útvonal alatti elemek:
Alfresco-CMIS-LibreOffice-File-Open-2

Ha kiválasztunk egy dokumentumot szerkesztésre, a LibreOffice ellenőrzi, hogy szerkeszti-e már valaki más. Ha igen, akkor csak olvasásra engedi megnyitni, ha nem, akkor felajánlja a CheckOut opciót a szerkesztés megkezdése előtt:
Alfresco-CMIS-LibreOffice-File-Checkin

A szerkesztés végeztével mentés, illetve a teljes munka befejezése esetén CheckIn következik, amikor is megadható az adott dokumentum verzióhoz tartozó megjegyzés, illetve a verziószám növelés módja (fő-, vagy alverziószám növelés):
Alfresco-CMIS-LibreOffice-File-CheckOut-Version

Alternatív megoldás lehet a Redpill Linpro AB által fejlesztett “LibreOffice Online Edit Module” plugin, mely a Share felületen egy új gombbal – Java Applet-en keresztül – közvetlenül képes helyi gépen futó LibreOffice-t indítani. Az elindított szövegszerkesztőnek a CMIS link-et adja át, így onnantól a fentebb leírt módon történhet a szerkesztés.

libreoffice-edit

Alfresco 4.0

Ha hihetünk a roadmap-nek, akkor még szeptemberben megjelenik az Alfresco 4.0 community verziója, mely talán a szoftver eddigi legnagyobb fejlődési állomásának tekinthető.

Az előzetes verzió nightly build formájában érhető el, egyelőre szigorúan csak fejlesztők számára javasolt állapotban. Mindenesetre egy pillantást célszerű vetni rá, hiszen pontosan azokon a részeken javítottak a fejlesztők, amire a legtöbb panasz volt eddig. Talán az egyik legnagyobb és legfontosabb változás a beépített Lucene indexer – opcionális – Apache SOLR-ra való cseréje, mellyel kapcsolatosan az elvárás egy nagyságrendekkel nagyobb teljesítmény. A helyi adatbázis helyett a search query-k közvetlenül az indexer-nek lesznek címezve. A 3.4-es verzióban már átírták a node-okhoz tartozó örökölt jogosultság meghatározó algoritmusokat, de úgy tűnik ez még nem hozta el a várt eredményt, hiszen egy kellően mély és összetett hozzáférési rendszerrel rendelkező hierarchia esetén egy néhány ezer találatos válasz előállítása is kivárhatatlan ideig tartott. Az Apache SOLR-ra való áttérés egyben azt is jelenti, hogy az indexer rész leválasztható az Alfresco szerverről, így külön gépen, saját erőforrásokkal látható el. Itt egyrészről megjelenik egy kommunikációs overhead, másrészről pedig a skálázhatóság – performance tesztek majd a hivatalos megjelenés után.


Szintén jelentős alap-technológiai váltásnak nevezhető a jBPM munkafolyamat-motor – szintén opcionális – Activiti-re váltása. Ez utóbbihoz grafikus workflow designer csak az Enterprise verzióban várható. A szabványos dokumentum kezelő protokoll, a CMIS is bővült, az 1.0 szabvány mellett már a következő verzióba tervezettek implementációja is megkezdődött. Ahogy a többi ECM rendszer, úgy az Alfresco sem tudja a teljes CMIS-t, az Apache Chemistry (OpenCMIS) JAVA implementációját használják.

A felhasználói felületek közül elsősorban a Share fejlesztése hozott látványos eredményeket, hiszen a social funkciók, mint a “Like”, felhasználói aktivitás követése, illetve a felhasználói kapcsolatok kezelése mellett a böngésző és előnézet felületek is letisztultabbak, egyszerűbbek lettek. A HTML5 technológia alkalmazásával immár lehetőség van ezeken a felületeken a drag & drop dokumentum feltöltésre, illetve folder-ek közötti mozgatásra. A dokumentumok meta adatainak (properties) szerkesztése is történhet inline módon, azaz nem kell property sheet-et nyitni ahhoz, hogy átírjuk valamelyik mezőt, mint például a dokumentum neve, vagy a hozzáadott címkék.

Az Apple iWorks csomagot használók számára bizonyára jó hír, hogy az Alfresco 4.0 már a Pages, Keynote és Numbers dokumentumokat is képes indexelni és előnézeti képpen ellátni. Az alapszinten eddig is támogatott audió és videó formátumokról is van lehetőség előnézetet kérni.

Ezen változtatások mind-mind fontos előrelépést jelentenek az Alfresco ECM számára és a várható kezdeti gyermekbetegségek után, azaz a 4.0d verzió környékén remélhetőleg a felhasználók is egy stabil rendszert kapnak.

Az Alfresco 3.x és 4.x verziókhoz készült az Alfresco Mobile (Zia) alkalmazása, amely Apple iPad és iPhone készülékeken teszi elérhetővé a repository-kat, közvetlen dokumentum szerkesztést és feltöltést, folyamat kezelést illetve keresést valósít meg ezeken az eszközökön.

CMIS: Content Management Interoperability Services

2008 őszén – pontosabban szeptember tizedikén – megszületett végre egy draft, ami úgy kellett már a dokumentum kezeléssel foglalkozó fejlesztőknek, mint egy falat kenyér.

Ez a CMIS draft egy ezeréves hiányt pótolva, a dokumentum kezelő rendszerek közötti átjárhatóságot (tudományosabban interoperábilitást) írja le egy XML nyelvű protokoll segítségével. A kezdeményezéshez már csatlakozott az IBM, a Microsoft, az Oracle, az SAP és az EMC is, továbbá a kisebbek közül az Alfresco és az Open Text és várhatóan majd az Adobe is megteszi ezt hamarosan.

A bejelentésben az szerepel, hogy az ECM (Enterprise Content Management) rendszerek készítői a WEB-es alkalmazások számára egy közös kommunikációs platformot dolgoznak ki majd átadják szabványosításra az OASIS-nak (Organization for the Advancement of Structured Information Standards). A munka 2006 végén kezdődött és két év alatt – ismerve ezen nagy cégek mozgási sebességét ez igen rövid időnek mondható – sikerült eljutni egy publikus minta (draft) verzióig.

Ha az ígéretek valóra válnak és 2010-ig ezek a gyártók megvalósítják és piacra dobják saját rendszereikhez a CMIS interfészeket, egy új lehetőség nyílik meg azok számára is, akik eddig ECM backend-ekre épülő alkalmazásokat készítettek.

A CMIS protokollt SOA környezetben használva az általános csatoló felületen keresztül az alkalmazások számára transzparens dokumentum tárolók jöhetnek létre, akárcsak egy file-rendszerben. A server és desktop alkalmazások sem tudnak arról, hogy milyen háttértároló és milyen file-rendszer (HFS+, NTFS, FAT32, XFS, EXTFS) biztosítja számukra az állományokhoz való hozzáférést, egyszerűen az erre hivatott protokollt használva tudnak hozzáférni az adatokhoz.

Úgy tűnik a ECM iparban a nyolcvanas évektől használt SQL nyelv ideje lejárt és a Web 2.0 került felülre, azaz a bináris protokollok helyett a szószátyár (XML) protokollok jönnek. Ha az AJAX rendszerek utóbbi időkben tapasztalható térnyerését vizsgáljuk – ami ebben a szektorban is érezhető a platform függő alkalmazások kárára – logikus lépésnek tűnik az XML kommunikáció bevezetése.

ExtAlf CMIS

Talán a kommunikációnál sokkal érdekesebb kérdés az, hogy a CMIS megadja-e majd annak a lehetőségét is, hogy az authentikációs rendszerek is transzparenssé váljanak az ECM rendszereken belül. Akiket jelenleg is érint ez a kérdés azok tudják mit jelent ez…

Személy szerint azért tartom fontosnak ezt a lépést az ECM gyártók részéről, mert így az “independent software vendors” néven emlegetett, független szoftver gyártók és az ő ügyfeleik szabadon választhatnak dokumentum kezelő rendszert, se a fejlesztésben, se a beszerzésben nem kell egy rendszer mellett kikötniük. Mivel az utóbbi időben komoly tapasztalatokat szereztem az Alfresco-val, kezdem megismerni annak hiányosságait, érzékenyen érint ez a kérdés.

Mi történik akkor, ha egyszer csak rájövünk, hogy mégsem ilyen lovat akartunk, gyenge a support, vacak a kód, instabil, lassú, vagy az egyik ügyfelünk zárkózik el ettől a technológiától?

Mivel a fejlesztőink által készített applikáció nagyon szorosan Alfresco függő, igen költséges lesz a váltás, az új rendszer megismeréséhez szükséges hosszú időről nem is beszélve. Ha lehet, egy “B” terv lehetőségét meghagynám magunknak, azaz ha lehet használjunk olyan protokollt és tervezzük meg úgy az alkalmazásunkat, hogy leválasztható legyen az ECM rendszerről és választhassunk másikat, ha úgy hozza az igény. A CMIS ezt a lehetőséget adja meg nekünk, földi halandóknak – a nagyoknak meg hagyjuk meg az ügyfelekért folytatott harc és a profit jelentős részét…

CMIS specifikáció: ftp://ftp.software.ibm.com/software/data/ECM/content/cmis.zip

EMC: http://www.emc.com/about/news/press/2008/091008-smr-content-management-interoperability-services.htm

IBM: http://www-01.ibm.com/software/data/content-management/cm-interoperablity-services.html

Microsoft: http://go.microsoft.com/fwlink/?LinkId=127855

Alfresco: http://wiki.alfresco.com/wiki/CMIS

BroadBit CMIS: http://broadbit.hu/kompetencia/cmis/

ExtAlf -> ExtCMIS:
ExtAlf / ExtCMIS