cancel
Showing results for 
Search instead for 
Did you mean: 

Methodology to build Alfresco application in 10 steps

jck
Champ in-the-making
Champ in-the-making
Hi all,
this post aims at providing the Alfresco developer a methodology to build powerful Alfresco application in 10 steps, and in 10 days. The project developed hereafter to explain this methodology is the track of a real one. Feel free to add new requirements to extend the use case.

Step 1 - Define the requirements 🙂

This tutorial aims at developing a project to attach metadata to scanned or uploaded document through adaptative forms and multi-role workflows. Moreover, according the chosen content-type, used workflows may vary. This application can be used with any scanner (even the one at 40 Euros 🙂 + Alfresco and the resulting application is finally a kind of digitization chain.

All kind of documents may be processed. For the sake of the demonstration, we can imagine to process following kind of documents:
* bills, invoices
* holidays requests

Do you think about other features or content-types?
Any comments?

JC
14 REPLIES 14

edubreil
Champ in-the-making
Champ in-the-making
Hi all,

Step 7 : Form and Workflow integration

It is possible to start a workflow from a Form just by clicking on buttons. This way envolves to create a Form-Workflow, which is a form model. A command exists to automate the creation of this form:
*open the workflow model
*click right on it
*choose SIDE > 'Initialize from model'
All  Form-Workflow have to be linked to a Data Form in the 'Properties' Field, that is the only one constraint of success.
The same options as Form are useable (Group in a new group, tabbed presentation …).
Other features are specific on Form Workflow as editing an attribute in a task and seeing it in another, but most of the time a simple initialization is sufficient !
As the Form model, the Form Workflow model is a tree.

Look at the tutorial http://www.side-labs.org/wiki/index.php/Documentation:User:Tutorial-10Steps.

Any question?

Stl.

edubreil
Champ in-the-making
Champ in-the-making
Hi all,

Step 8 : Test form-workflow integration

To test the integration Form-Workflow we use a webapp by adding 'demo' at the end of the http://localhost:8080/xforms/demo/. This webapp is separated into five areas among which are 'Actions' for changing the parameters as Chiba URL, and 'Configuration' where it is possible to observe the different parameters of connexion.

Webapp demo
[img]http://www.side-labs.org/wiki/images/thumb/2/24/10000000000004BA000002A7D2F43AD0.jpg/800px-100000000...[/img]

But the two most important one are :

    * 'Launch a new instance of workflow': to start the workflow choosen and the first task associated;

    * 'Pooled tasks': to move from one task to another by validating them.

Stl.

edubreil
Champ in-the-making
Champ in-the-making
Hi everybody,

Step 9 : Browse View

The view model enables to design exactly what you want to see from your data model to your Alfresco/Share application. As the form model, with a 'Load Ressource' and an 'Initialized from class', you retrieve the class data. Moreother, this model is easy to use, because it corresponds to a tree model whith which you structure informations by using drags and drops commands.
[img]http://www.side-labs.org/wiki/images/thumb/b/bf/1000000000000557000003375AF4AC80.jpg/800px-100000000...[/img]
The result on Alfresco Share appears as this:
[img]http://www.side-labs.org/wiki/images/thumb/5/57/1000000000000555000001A530B472BC.jpg/800px-100000000...[/img]

Any questions or remarks ?

Stl.

edubreil
Champ in-the-making
Champ in-the-making
Hello again, here is the last post  Smiley Very Happy

Step 10 : That's it !

As a conclusion we can present YaMma as an open source project to build a mail management system, which is easy to adapt to other projects. In terms of project management, it is:
*10 models (data, form, workflow, view)
*5 days of modeling including tests, alternatives solutions, prototypes and discussions with the end users
*150 directories and files,  more than 10 000 lines of code(xml, js, jpdl, …)

Of course, enhancement are possible. For example:
*it is possible to add new content type and metada associated
*it would be a good feature to add select list included on Form-Workflow for choosing between different content as 'Car' or 'Mail'for this project.
*it is possible to document all levels of the application. For data model, by right clicking on a class, the last tab of the window offers an area to write the concept description, and the .odt file is automatically generated at the same time as other amp. files.

Important links:
*update site for source models
http://www.side-labs.org/svn/models/SIDE-2/IS/ECM/Alfresco/3.2Labs/
*documentation to understand YaMma:
http://www.side-labs.org/wiki/index.php/Documentation:User:Tutorial-10Steps#Methodology_to_build_an_...
*documentation to replay YaMma:
http://www.side-labs.org/wiki/index.php/SIDESmiley Very Happyownload:Yamma

Stl.

jck
Champ in-the-making
Champ in-the-making
Hi,
Here are a few more resources to download YaMma in source or binary form and conclude this tutorial about SIDE-Labs and Alfresco:
* [1] checkout YaMma source models (SIDE-Labs source code) on svn
* [2] download the entire application, packaged through an installer, to test it on Alfresco

HTH,

JC

[2] : http://www.side-labs.org/svn/models/SIDE-2/IS/ECM/Digitization/YaMma/
[3] : https://sourceforge.net/projects/side-labs/files/Applications/IS/ECM/Digitization/YaMma/