Alfresco 3.3g (Google Docs)

Múlt hét végén napvilágot látott a 3.3-as Alfresco kiadás második, 3.3g névre keresztelt verziója. A “g” a Google Docs integrációt jelenti, de szerencsére nem csak ebben különbözik a két verzió…

Több mint három éve dolgozunk Alfresco-val és azt hiszem eddig a 3.2-es verzió volt az, amit a legnagyobb csalódást okozta. A fórumokat olvasva nem csak nekünk, hanem majdnem mindenkinek, főleg azokban az esetekben, ha a nagy tömegű dokumentum közötti keresés a cél. Nagyon gyászos eredmények tudnak születni, köszönhetően a hierarchikus és öröklődő jogosultságok borzalmasan amatőr szinten való megvalósításának. A fejlesztők ilyen esetekben megoldásnak azt javasolják, hogy az ACL nélküli szervizeket használjuk, azaz pl. “SearchService” helyett “searchService”. Ezzel közel százszorosára gyorsítható a keresés…

A másik rossz élmény egy index sérülés volt, ahol közel 20.000 dokumentum index állománya esett át spontán felejtési állapotokon, aminek az lett az eredménye, hogy a search-ben egyre kevesebb találat volt. Ezen a reindex sem segített, ez volt az a pont, mikor a 3.2-ről átálltunk a 3.3 nightly kiadásra, kockáztatva az újabb végzetes hibák lehetőségét. Szerencsére nem így lett, az “unstable” 3.3 klasszisokkal jobban teljesített mint a 3.2r2 hivatalos “stable” kiadása. Sőt a fenti index hiba is megszűnt az importált adatbázisban. Ezeken túl is találkoztunk jónéhány “szörnyűséggel”, de szinte mind visszavezethető a search rendszer hibájára. Egyszóval, a 3.2 szériával mindenkinek nagyon gyors szakítást javaslok…

A 3.3-ban – mely véleményem szerint egy nem tervezett kiadás lett, eloltva vele a 3.2 okozta tüzeket – már a 4.0 szériára készülnek a fejlesztők, lecserélték a Spring-et, minek következtében jelentős gyorsulást lehet felfedezni több funkcióban, pl. keresés 3x-4x lett gyorsabb. A fejlesztők és az integrátorok bizonyára örülnek a teljes CMIS 1.0 implementációnak, illetve a továbbfejlesztett Microsoft SharePoint protokollnak is.

A felhasználói felület Share modulja is folyamatosan fejlődik, immár elérhető rajta keresztül a teljes Alfresco repository, nincs korlátozva csak a Sites alatti területekre. A használatot elősegítő újítás, hogy a Share kereső felületen bevezették a Google-szerű kérések lehetőségét (“type:document modified:today text:alfresco tutorial”) is. A funkciók között megjelent a “Data Lists”, ahol az adott Site-hoz hozhatunk létre egyéni feladat listát, vagy bármilyen, kétdimenziós táblázat formájában leírható adathalmazt. A felhasználók az előre definiált, vagy általunk létrehozott listák közül választhatnak, helyezhetnek ki és tölthetnek fel újakat a felületen.

Sok felhasználónak fog tetszeni a 3.3g-ben bevezetett Google Docs integráció, mely az Alfresco-ban tárolt dokumentumok online szerkesztését teszi lehetővé. Ez egy igazán kényelmes funkció, de úgy gondolom, hogy sok helyen a szabályzat – pl. nem kerülhet ki dokumentum a céges hálózatból – miatt nem lesz igazán használható.

Az újdonságok teljes listáját az Alfresco site-on érdemes átfutni…

A dokumentumok leképezése

Az Alfresco ECM rendszerben tárolt dokumentumok az eredeti (bináris – pl.: Word, PDF, JPeG fájl) adatok mellett további, úgynevezett „META” adatokkal is kiegészülnek. A meta-adatokat egyfajta fedlapként lehet értelmezni, ami az eredeti irathoz kapcsolódóan, mindig azzal együtt jelenik meg a rendszerben.

Ezáltal nem csak a hagyományosan, az operációs rendszerekben tárolt és automatikusan kezelt létrehozási és módosítási idő, létrehozó felhasználó, fájl-méret, stb. adatokkal látható el egy dokumentum, hanem olyan extra értékekkel is, mint egy fotónak a kép készítésekor eltárolt EXIF adatai.

Ugyanez értelmezhető egy Word, LibreOffice, PDF dokumentum belső szerkesztőjének (author) adatában, vagy magában a szövegben, melyet az Alfresco rendszer tokenizálva indexel is. A feltöltött dokumentumok bináris részéből a rendszer automatikus transzformációk segítségével kinyeri és indexeli a szöveges adatokat is, azaz nem csak azt tudjuk tárolni és visszakeresni, hogy mi a dokumentum neve, hanem azt is, hogy melyik dokumentumnak szerepel egy adott kifejezés.

A bináris és meta adatokon kívül az egyes dokumentumok más, a rendszerben tárolt dokumentumokhoz (nodes), illetve tárolókhoz (könyvtárak) való kapcsolata is leképezésre kerül – ennek legegyszerűbb megvalósulása a strukturális tárolás.

A fájlrendszerekben megszokott könyvtár-hierarchia az Alfresco rendszerben is megvalósításra került, ezt asszociációkon keresztül biztosítja. Asszociációk lehetnek szülő-gyermek (parent-child – erre példa a könyvtár és az azon belül megjelenő fájl), illetve egyenrangú is, ami két, vagy több dokumentumot kapcsol egymáshoz.

A fentieken kívül kategóriák (classification) és címkék (tag) is hozzárendelhetők az egyes dokumentumokhoz.

alfresco-dokumentum-lekepezes

A dokumentumokhoz tartozó hozzéférést szabályozó jogosultság örököltethető a szülő könyvtáraktól, illetve egyedileg is megadható, dokumentum szinten.
Mivel az Alfresco ECM – szemben a hagyományos megosztott fájlrendszerekkel – nem csak a tárolási hierarchia alapján biztosítja a dokumentumok böngészését és visszakeresését, hanem egy – automatikus – indexelő motor is rendelkezésre áll igen komplex reprezentációkat is megvalósíthatunk vele. Az indexelő motor kereső nyelve segítségével akár a meta-adatok egyes értékei, akár a dokumentumok beltartalma alapján készíthetünk listákat, majd a listákkal műveleteket végezhetünk.

Összefoglalva – az Alfresco rendszerben tárolt dokumentum nem csak a feltöltött fájl beltartalmát, hanem az ahhoz dinamikusan hozzárendelhető egyéb adatokat is jelenti.

Working OpenOffice Alfresco plugin

Do you miss a working Alfresco repository plugin for your OpenOffice?

OpenOffice_plugin_Alfresco-logoSo, just download Sun Connector for Alfresco CMS, use tibber’s patches – or wait for my complete release :) – and enjoy it on Windows, Linux and Mac OSX (requires OpenOffice 3.1.1) too! Patched backend works with Alfresco 3.1 and 3.2 Community editions.

The Sun Connector integrates OpenOffice.org and StarOffice perfectly with the Alfresco Document management server. The user has full access to all documents stored on the Alfresco server. An easy to use and clear front end makes it easy to create, load, edit and save documents including checking in and checking out. Move over to the fully supported Alfresco Workflow for auditing documents. Not to forget the support of the Alfresco Spaces and the ability to search within the documents hosted on the Alfresco server.

Another plugin for NeoOffice is on the road: Alfresco plugin for Mac OSX

Update: Sun Connector 1.0 works with NeoOffice 3.1.1 now!


Alfresco 3.0

A héten valódi mérföldkőhöz érkezett el kedvenc dokumentumtároló rendszerem, egy félkésznek is nehezen mondható (3.0a), egy félkész (3.0b) és egy működő (3.0c) verzió után a héten napvilágot látott az Alfresco 3.0 Labs Stable kiadása.

Jutott nekünk az utóbbi egy évben community, enterprise ebből a termékből, csak egy nem nagyon, stabil, naprakész verzió. Lehetett választani a 2.1 Community-t, ami ugye ingyenes, de pont azok hiányoznak belőle ami miatt valakit érdekelt pl. a 2.9, továbbá nem lettek visszavezetve a 2.2 Enterprise-ban javított hibák. Lehetett választani a 2.9b-t ami egy átmenetnek tűnt a 2-es és a 3-as verziók között, abban javítva lettek a 2.1 hibái, viszont az új funkciók miatt számtalan újabbat sikerült beletenni. Ezekkel párhuzamosan jelent meg a 3.0 széria, ami a 3.0c-ig tényleg csak laborhasználatra volt jó – azaz fejlesztésre igen, de üzemi környezetre senki sem javasolta.

Ezek – GPL licensz – mellett volt még egy verzió, a 2.x Enterprise, melyben ugyan a 2.1-es széria hibái ki lettek javítva, de a 2.9-től bevezetett újdonságok hiányoztak belőle… Azaz értékesítésre, vagy szolgáltatásra nem lehetett jó verziót választani, pontosabban a teszteléshez, fejlesztéshez csak a 3.x sorozatot tudtuk magunkénak érezni.

Nos, remélhetőleg ez a korszak lezárult azzal, hogy kiadták a 3.0 Labs (ez volt régebben a Community Edition, GPL) stabil verzióját, mindannyiunk nagy örömére. Félő volt ugyanis, hogy – megismételve a fentiekben leírt 2.x-3.x váltás körüli szerencsétlenkedést – megjelenik egy 4.x és minden kezdődik elölről… Szerencsére nem így történt, tanultak a történtekből.

Az Alfresco 3.0 Labs Stable tényleg stabil kiadás, már a 3.0c is az volt. Ettől a verziótól kezdve a Mac OS X verzió is megjelenik a letölthető csomagok között, saját installer-rel felvértezve, mely tartalmazza az OpenOffice-t is.

A hivatalos bejelentés: Final Version of Alfresco Labs 3.0 Released
John Newton írt egy jó összefoglalót a blog-jában, érdemes átolvasni: Alfresco Labs 3 Special Inaugural Release

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

Alfresco 2.9

Lassan kezd kibontakozni az Alfresco 3.0 verziója, a decemberben megjelent 2.9Labs és 2.9B kiadásokban olyan, elsősorban a csoportmunkát támogató tulajdonságok jelentek meg, mint a Project space típus, vagy a Blog integráció. Ez utóbbi is – mint egy projekt hírcsatorna – projekthez rendelhető, azaz a közös naptár, a dokumentumtár, a fórum, az e-mail archívum – az összes, projekthez kapcsolódó e-mail és annak csatolmányai – és képtár az általánosan használt projektek leképezésére alkalmas lehet. Látványos, talán nem is túl haszontalan megoldás az éppen online-ban (jelenleg Skype és Yahoo account-okat tud kezelni) tartózkodó kollégák avatar-jainak megjelenítése.

alfresco_project_space.png

Az egyes felhasználókhoz rendelhető személyes adatok száma is jelentősen megnőtt, így beállítható – már feltöltött képből – saját fotó, elsődleges nyelv a felülethez és a dokumentumokhoz, illetve immár felhasználói szintű adat-kvóta is megszabható.

Alfresco user profile

A fejlesztők számára mindenképpen jó hír, hogy számos, a tartalom típusokkal kapcsolatos beállítás már on-the-fly módon is elvégezhető, nem igényli az Alfresco újraindítását. Ilyenek a content model XML, az üzenet leíró file-ok (message bundles), illetve a web-client-config-custom.xml definíció is. Ami talán ennél is fontosabb, hogy új munkafolyamatot (workflow) is deploy-olhatunk – erre nem tudok magyar kifejezést sajnos – a rendszerbe, amit azonnal használni is lehet a többi kapcsolat megszakítása nélkül.

Alfresco Dynamic Models

A dokumentum űrlapok használata immár a Data Dictionary alatti Forms space-ben a Create Form akcióban feltöltött XSD leírókkal keződik – a WCM-ben használt form-okhoz hasonlóan itt is a Chiba engine végzi a feldolgozást.

Aki fejlesztéssel foglalkozik annak mindenképpen érdemes néhány pillantást vetni az új verzióra: Alfresco ECM

Alfresco – a dokumentumok tára

Az Alfresco egy Enterprise Content Management System (ECM, CMS), azaz egy dokumentum kezelésre kifejlesztett komplex környezet. Lehetőséget biztosít dokumentumok tárolására egy központi szerveren, melyhez az egyes felhasználóknak illetve felhasználói csoportoknak hozzáférési szabályokat lehet létrehozni. Ezekkel a szabályokkal lehet definiálni, hogy ki milyen dokumentumokhoz férhessen hozzá, illetve a dokumentumokkal milyen műveleteket végezhessen el.

Az Alfresco nyílt forráskódú (GPL licensszel rendelkező) környezet, melyet JAVA modulokból, Apache Tomcat és JBoss applikációs szerverre támaszkodva készítettek el. A konfigurációja Spring XML leírókon keresztül történik, a rendszer paramétereinek megváltoztatásához nincs szükség a futtató és futó kód megváltoztatására.

Az Alfresco-hoz készült egy CMS (Web Content Management System) modul is, mely lehetővé teszi az Alfresco adatbázisában tárolt adatok publikálását saját tervezésű WEB felületen keresztül is.

A beépített, megváltoztatható folyamat kezelésen túl az Alfresco képes az egyes dokumentumokat – változtatás esetén – automatikusan verzióval ellátni, továbbá a tartalom típus (content type) szerint más és más megjelenítési módot hozzárendelni. Ezen alap tulajdonságok felhasználásával viszonylag egyszerűen megvalósítható általános iktató, szortírozó rendszer is.

Az Alfresco HTTP API-ján keresztül – a REST szabványnak megfelelően – elérhető az összes Alfresco által biztosított erőforrás, a Space-ek tartalma, a dokumentumok és a hozzájuk tartozó modellek is. A böngészős kliensek számára ezen az interface-en keresztül lehet biztosítani a rendszerhez való limitált, személyre szabott hozzáférést.

Az Alfresco rendszer saját authentikációs rendszerrel rendelkezik, ahol felhasználók és csoportok hozhatók létre. Ezekhez jogosultságok rendelhetők, melyek szabályozzák az egyes Space-ekhez vagy dokumentumokhoz való hozzáférést.

Az Alfresco dokumentum modell rendszere dokumentum típusokra, meta-adatokra, illetve un. aspektusokra épül.

A dokumentum típus (type) alapvetően meghatározza a mögötte tárolt dokuemtnum tartalmi jellemzőit, néhány alap adatát, az un. meta-adatokat.

– A meta-adatok olyan információk, mely a dokumentum későbbi előkereshetőségét, csoportosíthatóságát biztosítják.
– Az aspektusok (aspect) dokumentum típusokhoz hozzátehető/elvehető meta-adat csoportok, melyek a jelzett dokumentum valamilyen tulajdonságát, állapotát, jellemzőit képesek megjeleníteni.

Az Alfresco rendszer lehetővé teszi, hogy dokumentumokhoz vagy Space-ekhez saját munkafolyamatokat (workflow) rendeljünk. Ezekből az installáció folyamán is rendelkezésre áll néhány, de szabadon is bővíthető, az adott környezethez szükséges folyamat típusokkal.

További Alfresco dokumentumok: Alfresco kategória

Az Alfresco egy rendkívül jól kitalált dokumentum kezelő rendszer, minden olyan cégnél vagy csoportnál használható, ahol a dokumentumok életciklusát már sikerült szabályozni.

Néhány az érdekesebb tulajdonságai közül:

– WEB, CIFS és WebDAV alapú dokumentum elérés
– Minden dokumentum automatikusan verzió kezeléssel kerül tárolásra
– Minden dokumentumhoz rendelhető feladat és határidő, amely személyhez vagy csoporthoz kapcsolható
– Az egyes dokumentumokhoz vagy munkaterületekhez (space) külön vita-chat rendelhető, így az e-mail-en folytatott egyeztetés helyett egy, a dokumntum kezelő rendszeren belüli kommunikáció folytatható
– Minden dokumentumhoz, illetve tároló területhez definiálható munkafolyamat, jogosultsági rendszer és dokumentum szabályzat
– Szabadon definiálható üzleti folyamatok, akár egy UML szerkesztővel legyártott formula alapján
– A cégen belüli dokumentum áramoltatás feladatokhoz és személyekhez rendelhető módon szabályozható
– Előkészítési, publikációs és archiválási szakaszok alakíthatók ki
– Szabad-szavas keresés a dokumentumokban

Mivel nagyon nem szeretek a Linux és a Windows világ okosságáért és szépségéért az időmmel áldozni, ezt a rendszert is OSX alatt igyekszem használni – természetesen sikerrel… :)

Íme egy kis induló segítség azoknak, akik szintén eme rögös útra tévednének, azaz ha OSX-en szeretnék elindítani az Alfresco szervert:

1. Töltsük le a www.alfresco.org site-ról a legfrissebb stabil verziók közül a Tomcat-es csomagot

2. Hozzuk létre a /opt/alfresco könyvtárat, majd ide csomagoljuk ki az 1. pontban letöltött csomagot

sudo mkdir /opt/alfresco
sudo cp alfresco-community-tomcat-2.0.0.tar.gz /opt/alfresco
sudo tar xzvfp /opt/alfresco/alfresco-community-tomcat-2.0.0.tar.gz

3. Indítsuk el a MySQL szervert a gépen, illetve nem fog ártani, ha tudjuk mi a MySQL root user jelszava

4. Lépjünk be a /opt/alfresco/extras/databases/mysql könyvtárba, majd vegyük rá a mysql programot, hogy indítsa el az adatbázisokat létrehozó script-et, azaz a db_mysql.sql file-ban leírt parancsokat hajtsa végre

mysql -u root -p «db_setup.sql

5. Az alfresco.sh file módosításával (ezeket a sorokat az elejére érdemes beszúrni) az 1.5-ös JavaVM-mel fogjuk futtatni az Alfresco-t:

JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/1.5/Home PATH=$JAVA_HOME/bin:$PATH

export JAVA_HOME
export PATH

6. Töltsük le és telepítsük fel a legfrisebb NeoOffice csomagot (NeoOffice Aqua)

7. A start_oo.sh file módosításával az OpenOffice.org helyett az X11 nélkül is működő NeoOffice-t fogjuk munkára (a -H és a -u opciókra azért van szükség, mert a NeoOffice nem szeret root-ként üzemelni ebben a formában, a -u után egy valós felhasználó azonosítóját kéretik bevésni):

sudo -H -u Administrator /Applications/NeoOffice.app/Contents/MacOS/soffice “-accept=socket,host=localhost,port=8100;urp;StarOffice.ServiceManager” -nologo -headless -nofirststartwizard &

8. Indítsuk el az Alfresco server-t

sudo /opt/alfresco/alfresco.sh start

9. Várjunk türelemmel – ugyanis a Tomcat és a Java nem egy sebesség-bajnok – és nézegessük , hogy milyen okosságokat írogat az alfresco.log file-ba

tail -f /opt/alfresco/alfresco.log

10. Ha őnagyságának sikerült úrrá lenni az indulás okozta nehézségeken – előfordulhat, hogy több száz sornyi JAVA okossággal terheli a nézőket a műsor során, hagyjuk figyelmen kívül – akkor a következőképpen juthatunk be a szoknyája alá, egy böngésző segítségével:

url: http://127.0.0.1:8080
username: admin
password: admin

alfresco_discussions.png