Simple browser for Alfresco

I’ve made a simple content and hierarchy browser for Alfresco – using the WebScript interface – inspired by Dr. Q’s Dead Simple UI (just try the iPhone Navigator too). This is a really quick browser, but has got a quick search input on the left-top corner. That’s all, no more.

Installation:
1. Download louise-folder.zip to your local storage
2. Login to Alfresco, navigate into Company Home/Data Dictionary/Web Scripts Extensions space and select Import from Administration Console menu
3. Import the downloaded zip file (import script will unpack into the space)
4. Load the service browser by link http://127.0.0.1:8080/alfresco/service/
5. Click on Refresh list of Web Script button to register new service
6. Start browsing on this startup URL: http://127.0.0.1:8080/alfresco/service/louise/folder/Company%20Home/

Download: louise-folder.zip

Alfresco ECM – űrlap alapú tartalom szerkesztés

The XML Schema language is also referred to as XML Schema Definition (XSD).

A 2.9-es verziótól kezdve nem csak a WCM-ben, hanem a dokumentum kezelő részben is lehet XSD (XML Schema Definition) file-okat használni a tartalom szerkesztéshez. Az Alfresco Web interface-én a Create Content akciónál az eddigi XML, HTML és plain text mellett most megjelent a Form kiválasztásának lehetősége is.

Alfresco content - form

A űrlapokat a Data Dictionary space-en belül a Forms space tárolja, ide lehet feltölteni a már megírt XSD file-okat.

Form developer Guide

Egy példa XSD (WCM company_footer):

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
	   xmlns:pr="http://www.alfresco.org/alfresco/pr"
           targetNamespace="http://www.alfresco.org/alfresco/pr"
           elementFormDefault="qualified">
  <!-- defines the form for creating a company footer -->
  <xs:element name="company_footer">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="name" type="xs:normalizedString"/>
        <xs:element name="body" type="xs:string" minOccurs="1"
         maxOccurs="unbounded"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>

Alfresco content - edit by form

A Form alapú tartalom szerkesztés eredménye minden esetben egy XML, amelyen szükség szerint transzformációkat lehet elvégezni:

<pr :company_footer>
 </pr><pr :name>Here is the name</pr>
   <pr :body>
    And there is the <strong>body</strong> text...<br />
   </pr>

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 2.1

Nemrégiben látott napvilágot kedvenc dokumentum kezelő rendszerem, az Alfresco 2.1-es verziója – amely ugyan még csak release candidate státuszú, de már kiválóan használható. Új elemként jelent meg benne a Web Script névre keresztelt megoldás, mely egy REST stílusú keretben teszi lehetővé az Alfresco-ban tárolt dokumentumok integrálását más rendszerekbe.

blogintegrationadddetails.JPGElkészült az Alfresco-hoz egy blog integrációs modul is, amely egyelőre a WordPress engine, majd a későbbiekben további blog motorok felé is biztosít átjárást.

A Microsoft Office csomagjában található Word szövegszerkesztőjéhez is készült egy Web Script alapú plugin, amely anélkül teszi lehetővé a dokumentumok kiválasztását és a keresést, hogy ki kéne lépnünk a szövegszerkesztőből. A dokumentumokon túl, az Alfresco Dashboard-on – szintén egy AJAX-os felületen – listázható Task-okat is képes megjeleníteni. Sajnos ez a megoldás kizárólag a Windows alapú MS Office csomaggal működik, se a Mac verzióhoz, se az OpenOffice-hoz nem biztosít átjárást.

Hamarosan jön a beépített wiki és a kibővített feladat kezelő modul is – már csak egy jó projekt management modul kell bele és minden vágyam teljesül… :)

Letöltés

Alfresco – dokumentum titkosítás

Már értekeztem az Alfresco nevű dokumentum kezelő rendszerről úgy általában, illetve magáról a telepítéséről is, most pedig egy értékes kiegészítőt javaslok mindezekhez.

A rendszerben tárolt dokumentumok közül egyikkel-másikkal előfordulhat, hogy vagy személyes, vagy jogi okok miatt nem kívánjuk azt másokkal megosztani, még a rendszer adminisztrátorával sem. Ebben az esetben használhatunk egy titkosító plugin-t, amellyel mint egy új “Action” – vagy egy “Rule”, ha automatizálni szeretnénk a folyamatot – van lehetőség az adott dokumentumot, vagy dokumentumokat jelszavas védelemmel ellátni.

Az IDX-eDOC névre keresztelt programról van szó, melyet a többi Alfresco plugin-hez hasonlóan kell beilleszteni a rendszerbe. A mellékelt leírást – mely alapján öt perc alatt el lehet végezni a telepítést – egy kicsit korrigálni kell, ugyanis a “/tomcat/webapps/alfresco/WEB-INF/classes/alfresco/messages/webclient.properties” file-ba kerülő mezők helyesen így néznek ki:

# Decrypt Dialog Messages
decipher=Enter the passphrase
ecrypt_dialog=Decrypt document

Ez utóbbi hiányzik a leírásból és a példából, így az adott dokumentumhoz tartozó ikon lista hibaüzenettel tarkítva jelenik meg…

A rendszerben a titkosított dokumentumok ikonja lakatra változik, a visszafejtési folyamatot a lenyíló menüben található “Decrypt document” paranccsal lehet kezdeményezni, amihez természetesen szükségünk lesz a titkosításhoz használt jelszóra is.

alfresco_crypt.png

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