Since the beginning of this year, I'm trying to create and develop "rich client" connected to Alfresco services (in other terms : ECM services). When I speak about "rich client", I speak about RDA: Rich Desktop Application and RIA: Rich Internet Application.
For my first tests, I used an excellent graphics library that some of you already know : Ext js. This library allows to create rich user interfaces with high quality components. For those who are part of the Alfresco community, you can find some Ext implementation in projects as:
- Opsoro: http://www.opsoro.org/
- Docasu: http://docasu.sourceforge.net
- Web Studio: http://wiki.alfresco.com/wiki/Web_Studio
- ExtAlf: http://louise.hu/poet/?p=753
For my part and to keep simple, I used this library to create a graphical documentary process designer based on nodes. Simple isn't it?
In architectural point of view, the solution is composed by:
- Specific Java API for treatment,
- Javascript API (API Java Export to be used by webscripts) (BaseScopableProcessorExtension for coders ...)
- A lot of Webscripts for REST,
- Extjs for presentation layer,
- SVG forworkflow graphical representation,
Ps 2: Thanks to RCO and MDU for teaching me the art of SVG and Javascript!
In any case to see the result you can see the video below:
Why have we to create rich client for Alfresco ? It already has a customizable User interface...
It is a good question! But the answer is simple: Everybody has different tastes. :)
Indeed, Alfresco's interfaces does not necessarily match needs and expectations of all users. Design too complex ... Non corporate graphic style... There are plenty reasons to change interfaces! and to be honest... Although Alfresco default interface is customizable, it's quite limited. And if we decide to change many components, it can become very tedious and dangerous if we are not careful!
Or a content management system must provide the ability to access and consolidate all the content. It must deliver them in various formats to fit user screens (computer screen, tablet, mobile, smartphone, pda ...).
As integrator, we need to create new interfaces from scratch! In fact ... not completely... Alfresco offers the ability to display and export most of its content management services via APIs like Java, JavaScript, PHP, REST and display content in several formats like XML, HTML, CMIS, ATON, JSON... In the end, it's developper's role to choose the right service and the right format. He can later link it to a graphical library like Ext to improve user experience (see You Experience Technovision in 2012).
My point of view
Rich Interfaces in a ECM system are solutions to specific business problems. They represent a vision of the company content repository.
For example :
- An HTML form with data preview and javascript fields validation.
- A desktop widget based on Adobe AIR to follow a community activity.
- An external JSR 168 portlet to publish papers on a portal.
- An Ext graphical interface for managing the lifecycle of a special content type ...
Sometimes, it is (really!!!) better to create an interface from scratch than to modify the existing!
For my part, I am currently working with Ext and Adobe Air. I'm testing integration capabilities between this framework.
In this area you can see a demonstrator by Luis Sala at: http://blogs.alfresco.com/wp/luissala/2009/03/05/my-adobe air-project-writing-an-alfresco-desktop-app /
or
in a different category, you should view the CMIS Explorer by Shane Johnson (blog).
At the end, I'm (maybe) in on it...
Have fun !







0 commentaires: on "Rich Client, Alfresco and me..."
Enregistrer un commentaire