cancel
Showing results for 
Search instead for 
Did you mean: 

Alfresco + Eclipse RCP / RAP platform

esafonov
Champ in-the-making
Champ in-the-making
Hi, all!
I work for an engineering company, they're looking for an opensource ECM solution. The average company's worker changes 30-50 CAD and MS Office files daily, the company has more than 1000 workers, doing their file intersive job. We're evaluating Alfresco 3.2 CE since this summer.
And now, we have figured out, that Alfresco Explorer Web Client is not ok, for doing such a file intersive work. Test users spend too much time uploading and dowloading, checking-in and checking-out files via Web interface. Some out-of-the-box ways to make work easier are:

SMB access:
SMB access is not ok for us, couse it lacks the Document Management functions. Using MS Windows Explorer extensions and __alfresco.exe is also not ok, as we are not going to lock out to MS Windows platform.

FLEX client:
We'v found a FLEX client by Steve Reiner (http://www.integratedsemantics.org/).
(Steve, if you're reading this: your client is really cool, and we translated it to Russian is a 5 minutesSmiley Happy
But it seems, that if we add some functionality to Alfresco repository, we have to modify FLEX client code too.
I mean, if we add some business login in Alfresco, we have to change Flex Client code, to add forms and dialogs, and this is a double work. If I'm not correct please post a reply Smiley Happy

Eclipse RCP/RAP:
now we're looking at possibility to build a custom client, with Eclipse RCP/RAP components. This client should dynamically build forms and dialogs, reflecting any changes programmers made to Alfresco repository,without need to change client's code.

Please, do anyone know any other ways, how to build on quick and efficient Alfresco client, even a technological hint is higly appreciatedSmiley Happy,
can you post a reply here ?
12 REPLIES 12

stevereiner
Champ in-the-making
Champ in-the-making
I have been planning to add to FlexSpaces a Flex front end to the new forms engine added in Alfresco 3.2. This would be used in the FlexSpaces properties dialog and could be used in other custom dialogs. Basically the same new alfresco forms xml config info would be used (thus configuring both Share and FlexSpaces at the same time) with FlexSpaces calling the new forms engine REST apis.

http://wiki.alfresco.com/wiki/Forms
http://wiki.alfresco.com/wiki/Forms_Examples

Some tech alternatives: 1. modify Share or develop a Surf based client leveraging code from the Share edit meta page and/or using the Surf Forms component (which both use the new forms engine)  2. I think the jibe framework supports xml config of forms

dhalupa
Champ on-the-rise
Champ on-the-rise
Hi Steve,
thanks for mentioning Jibe framework..

Indeed, in Jibe framework among other things it is also possible to create forms through xml configuration. For version 2.1.* form configuration example is

<config evaluator="jibe" condition="component:repoNodeProperties">
   <component>
      <form toolbar="node.properties" panel-template="two.columns">
         <field-group id="column.first">
            <field id="cm:name" mandatory="true" params="mandatoryIcon:hidden" />
            <field id="cm:title" params="mandatoryIcon:hidden" />
            <field id="cm:description" template="field.textarea" params="mandatoryIcon:hidden" />
            <field id="mimetype" template="field.combo" params="comboModel:jibe.Cache.mimetypes" />
         </field-group>
         <field-group id="column.second">
            <field id="cm:creator" template="field.label" params="mandatoryIcon:hidden" />
            <field id="cm:created" template="field.label" params="mandatoryIcon:hidden" />
            <field id="cm:modifier" template="field.label" params="mandatoryIcon:hidden" />
            <field id="cm:modified" template="field.label" params="mandatoryIcon:hidden" />
         </field-group>
      </form>
   </component>
</config>
while for upcoming version 3.0 xml configuration for the similar form would be

<config condition="definition:repo.nodeProperties">
   <form panel-template="two.columns">
      <field-group id="column.first">
         <field id="cm:name">
            <validation-rules>
               <rule id="mandatory" />
               <rule id="alfrescoConstraint" />
            </validation-rules>
         </field>
         <field id="cm:title" />
         <field id="cm:description" template="core.field.textarea" params="readOnly:true" />
         <field id="mimetype" template="field.combo" params="comboModel:jibe.Cache.mimetypes" />
      </field-group>
      <field-group id="column.second">
         <field id="cm:creator" />
         <field id="cm:created" template="core.field.date" />
         <field id="cm:modifier" params="readOnly:true" />
         <field id="cm:modified" template="core.field.date" />
      </field-group>
   </form>
</config>

Kind regards,

Denis

esafonov
Champ in-the-making
Champ in-the-making
Hi, Steve, Hi, Denis ! Thank you for the quick response!
Now we are trying to play with Jibe. There're too much ways to access Alfresco services, so it not easy to choose the right one Smiley Happy
Denis, by the way, how to get it work?Smiley Happy,  I'm sorry, cant start to fly http://forums.icodix.com/viewtopic.php?f=6&t=36

jck
Champ in-the-making
Champ in-the-making
Hi,
In SIDE-Labs project which implements a Model Driven Software Development process, we developed another forms management based on XForms and Chiba. The client front end can be generated dynamically without writing neither any line of code nor restarting the Alfresco server. But, your problem will reside in Alfresco engine which must be restarted after each content model update.

SIDE-Labs is a set of graphical tools to help to develop Alfresco applications in a quickier and easier way than usual programing. SIDE-Labs provides:
* a set of graphical tools to design customized content model, forms, views and workflows
* a set of new features like SQL for Alfresco, facet navigation and advanced forms components

Based on Chiba, we are currently working on the implementation of the new Alfresco forms service.

You talked about Eclipse. What about it? Where do you put it in the picture? We thought about using Eclipse to replace a web portal, and beneficiate on all features available in Eclipse.

JC

esafonov
Champ in-the-making
Champ in-the-making
There's a customer, working with tons of AutoCAD drawings, and the engineers wishes to:
    - share drawings, tasks, ideas, templates, and drafts
    - do timetracking
    - view log of recently changed drawings, view commits by project, person
    - control tasks flow (task assignment and progress, pools of tasks, overall progress for a given project)
    - store conversations with 3rd party within a project space
So, they need a engineering collaboration platform, with an integrated business logic. For the last 5 years they used to use Samba fileserver with 1TB storage and MS Outlook. Now it becomes too hard to manage 500K files (space used is 1Tb) as a file share, and to manage an engineering document flow with MS Outlook Smiley Happy

We think of (1)  building a custom Document Management application, with desktop client on Eclipse RCP, and server on Alfresco repository and logic.
Another way (2) is to upload all their CAD drawings to Subversion, and to teach engineers how to use Subversion, Tasktop, and Eclipse IDE Smiley Happy But this way lacks all the smart features of Alfresco Smiley Happy

jck
Champ in-the-making
Champ in-the-making
Ok,
why do you want an "Eclipse" RCP?

You could use a portal like Liferay, JBoss or Alfresco Share? Why do you talk about Eclipse RCP? Is it to improve the user experience? To give them some features already packaged in Eclipse? To have in the same application some web information (tasks, …) and in the same time a file explorer (Eclipse resources view for example) in another Eclipse view?

JC

esafonov
Champ in-the-making
Champ in-the-making
It seems to me, that Liferay, JBoss or Alfresco Share, are focused on corporate web document management. This systems are well designed for sharing typical documents like marketing plans, reports, publishing technical PDFs, and developing a common use content. So, it's a good for ECM and DM.
But there'is another part of work,- it's a CAD project development process. CAD project consist of engineering data (measurement data, DWG drawings), text data (doc,xls,xml,txt), images (huge TIFFs). And 300+ engineers are viewing, opening, changing, and saving this data daily. One worker opens appox. 100 documents, and saves approx. 10 documents a day. So, they need a collaborative development environment, but they havent time to click lots of buttons in a web interface, just to get a working copy of the file Smiley Happy
So, we try to find a way, to have DM client as functional, as Alfresco Explorer and Alfresco Share are. And this client shoud be as fast and usable, as Windows Explorer accessing filesystem is.

P.S.
to have in the same application some web information (tasks, …) and in the same time a file explore
It seems like a good idea Smiley Happy

jck
Champ in-the-making
Champ in-the-making
Hi,
I think there is an interesting prototype to build to see how Eclipse could fit to your needs.

The main interest of portals is the flexibility users have to personalize agregated content. For example, a user may choose to add from a portlet dictionary such and such content in its portal pages. But it's true web interfaces are still a little slow and sometimes responsiveness is not so good.

So, a better solution as discussed previously could be to use Eclipse as a portal, Eclipse views being based on Internet Explorer view. Besides these views, you could have usual Eclipse views as file explorer, tasks like mylyn, … At last, different types of views should be able to communicate and exchange some data.

WDYT?

JC

esafonov
Champ in-the-making
Champ in-the-making
Well, Eclipse "custom RCP plugin for Alfresco" will use "org.alfresco.webservice", or, maybe, talk with Alfresco via Web Scripts Smiley Happy