ExtAlf – Alfresco by ExtJS

ExtAlf demo in Safari

I’m working on a new ExtJS wrapper (ExtAlf) – inspired by Opsoro – for Alfresco document and workflow management functions (by webscripts), like foldertree, document properties, preview, etc. This is not an Opsoro or FlexSpaces alternative, rather than a developer toolkit or a simple SDK what supports embedding Alfresco backend functionality into Web2.0/AJAX portals and frontends.

Link: Collaborative Editor

ExtAlf in Aptana

Planned features:

  • – folder tree panel with actions (show folder contents, create new folder, move folder)
  • – document grid panel with actions (preview, download, show properties, delete, rename, move to other folder, upload new document)
  • – property grid with editing fields
  • – content preview with document transformation
  • – task list and management (close, create, forward)
  • – user interface localization
  • – limit root nodeRef to browse (just like Customer Portal engines)
  • – simple search
  • – simple discussion forum
  • – different grids to show document in a folder with custom properties
  • – integrated document editor for plain text, html and form contents

Search dialog and results with auto-preview:
ExtAlf Search

Login dialog:

ExtAlf Login window

Floating panels on UI:
ExtAlf Demo2 - floating panels

Continue reading ExtAlf – Alfresco by ExtJS

Collaborative Editor for Alfresco

I’m working on a new, unique collaborative editor for Alfresco (ExtJS interface), with following features:
   – task/workflow based editing trigger
   – individual chapter based editing
   – automatic chapter content creation
   – WYSWYG and form based editor
   – one click version change (back for previous version of chapter)
   – one click task close process update and forward to another user
   – preview support for all chapters and complete document
   – automatic versioning (checkin, checkout, cancel)
   – multi-user editing support
   – forum support for document changes and discussion

This editor is part of TenderWorks (eProcurement, eTendering engine) development project.

Customizing Alfresco as a repository for medical images

A very good practice documentation (thesis) – including document management, DICOM VRS implementation, search, records management, reporting and more – about an Alfresco based image management system for medical images.

Information technology played a big role in the way medical and scientific research have developed over the last couple of decades. The introduction of high-tech in laboratories has improved research methods drastically. Information technology is also essential to provide scientists the means to centralize knowledge. This way they can communicate, share information and comment on study results. Janssen Pharmaceutica is developing the ICE project (Image Collaboration Environment) to offer their scientists the ability to share and comment on medical images for research purposes. The open-source Content Management System (CMS) Alfresco is selected to perform this task. During our participation in this project, we set up a proof of concept to evaluate if Alfresco can be customized to perform the ICE user-requirements. This document includes a detailed description of the needs of the ICE project. Throughout this paper, we will explain how we can program and modify Alfresco to meet these requirements. Based on these findings we will determine whether or not Alfresco can be customized to function as a repository for medical images. Some of the key features of Alfresco are also explained in this document. Moreover, we will give a brief description of medical image formats we use in ICE. However, a basic knowledge of Java is required to understand the text completely.

Download PDF version: thesis2007694.pdf

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