Alfresco workshop

16
1 C O N F I D E N T I A L Nicolas Modrzyk [email protected] With the help of James Urquhart @ Alfresco Intalio, Leader in Open Source BPM

Transcript of Alfresco workshop

Page 1: Alfresco workshop

1C O N F I D E N T I A L

Nicolas [email protected]

With the help of James Urquhart @ Alfresco

Intalio, Leader in Open Source BPM

Page 2: Alfresco workshop

2C O N F I D E N T I A L

Agenda

1 Vision2 One example I like3 Creating custom nodes4 Creating custom behaviors5 Creating custom actions6 Alfresco webscripts7 What can we add ?8 What can of documents ?9 Authentication, propagation of users10Demo

Intalio, Leader in Open Source BPM

Page 3: Alfresco workshop

3C O N F I D E N T I A L

Alfresco – Powering content

Intalio, Leader in Open Source BPM

Page 4: Alfresco workshop

4C O N F I D E N T I A L

One personal Alfresco sample I like (I)

http://www.techbits.de/2007/03/02/integrating-freemind-documents-into-alfresco/

Intalio, Leader in Open Source BPM

Page 5: Alfresco workshop

5C O N F I D E N T I A L

One personal Alfresco example I like (II)

Add a mime typeAdd icons to Freemind

documentsAdd a freemind preview

templateTemplate can be edited

straight from the UIUse this template as a

custom view

Intalio, Leader in Open Source BPM

Page 6: Alfresco workshop

6C O N F I D E N T I A L

Metadata, aspects and custom behavior

Creating custom nodes http://wiki.alfresco.com/wiki/Step-By-Step:_Creating_A_Custom_Model

http://ecmarchitect.com/images/articles/alfresco-content/content-article.pdf

Custom behaviors: You may find that your custom aspect or custom type needs to have behavior or business logi

c  associated with it. For example, every time an Expense Report is checked in you want to recalculate the  total by iterating through the associated Expenses. One option would be to incorporate this logic into  rules or actions in the Alfresco web client or your custom web application. But some behavior is so  fundamental to the aspect or type that it should really be “bound” to the aspect or type and invoked any  time Alfresco works with those objects. You should know that associating business logic with your custom aspects and types (or over riding out of the box  behavior) is possible.

Intalio, Leader in Open Source BPM

Page 7: Alfresco workshop

7C O N F I D E N T I A L

Metadata, aspects and custom behavior (2)

A new content model could be adopted to create a new meta-data extractor such as ones already defined inside the Alfresco platform.

Each file we upload to the Alfresco repository has its own meta-data: meta-data is a particular kind of information, associated to files, describing the file itself. For example, title, author, creation date, name are default meta-data associated to files. They describe the main characteristics of the file.

Obviously not the same meta-data is associated to different files (for example, an MP3 file has many attributes such as an album title, a song title, an artist, a genre, a composer and so on). These meta-data are quite different from a Word file. When an MP3 player loads an MP3 file, it tries to extract all the known meta-data and visualize them to the user. The same is done in a similar way by Alfresco. When a file is uploaded to the repository, a meta-data extractor - if explicitly associated to that file - tries to extract specific meta-data and load values associated to meta-data. The meta-data properties are then visualized by Alfresco into the web browser.

Once meta-data associated to files is extracted, the user is allowed to execute advanced searches in Alfresco using just these meta-data: each meta-data could be used as a filter to execute queries against the repository.

Custom nodes also includes custom behaviors

Intalio, Leader in Open Source BPM

Page 8: Alfresco workshop

8C O N F I D E N T I A L

Custom actions

http://wiki.alfresco.com/wiki/Custom_Actions

Bit like a mini-workflowFor example, convert a .doc file to a .pdfCall a web services …

Intalio, Leader in Open Source BPM

Page 9: Alfresco workshop

9C O N F I D E N T I A L

Alfresco web scripts

Intalio, Leader in Open Source BPM

1. The URL containing the request arrives at the Web Script REST dispatcher.

2. The dispatcher finds the appropriate web script for the URL. If one is found, the dispatcher executes the web script but only after successfully authenticating first, if required. The first step of execution is to invoke the Javascript bound into the web script.

3. With Javascript, you have access to the full set of Alfresco repository content services. You can search for information, navigate around the repository, modify information, create new documents, set properties on those documents, move data around, and delete data. In addition, you can implement security policies.

4. The results from the Javascript are rendered using FreeMarker response templates. The response format can be HTML, ATOM, XML, RSS, JSON, CSV, or any combination of these. You must provide the appropriate templates.

5. The web script REST dispatcher sends the rendered results back via a response using the same protocol as URL request.

6. The web script client receives the response in the request format.

Page 10: Alfresco workshop

10C O N F I D E N T I A L

Alfresco web scripts

We can …Have access to the whole Alfresco APIDefine our own REST services and

manipulate them from the process or the workflow

Authenticated callsEasily testable and redeployable

Intalio, Leader in Open Source BPM

Page 11: Alfresco workshop

11C O N F I D E N T I A L

What can we add ?

Manage Alfresco from the outsideAccess it through custom web scriptsAutomate document managements with

custom aspects, and behaviorStart a personalized intalio workflow

when a document is stored into Alfresco

Intalio, Leader in Open Source BPM

Page 12: Alfresco workshop

12C O N F I D E N T I A L

What kind of documents Intalio can store in Alfresco ?

Proper Workflow documents- Specification review when starting new projects- Resume review when hiring

Different workflow artifacts- forms (directly editable in for deployment)- event better, the document is the interaction with the user

Intalio, Leader in Open Source BPM

Page 13: Alfresco workshop

13C O N F I D E N T I A L

Authentication and propagation of users

Keeping track of the associated user that uploaded a document

Tempo Task Attachment Service is a simple RESTful storage for documents.

Add/DeleteWorks with a document URLhttp://localhost:8080/alfresco/d/d/

workspace/SpacesStore/3af6a8df-3c40-11dd-bdb6-43bd6777190a/Alfresco-Tutorial.pdf

Intalio, Leader in Open Source BPM

Page 14: Alfresco workshop

14C O N F I D E N T I A L

Demo

Intalio, Leader in Open Source BPM

Page 15: Alfresco workshop

15C O N F I D E N T I A L

How we would use Alfresco ?

Use Alfresco with very little user ui

CASified alfresco portlet that shows your documents

Access the documents throught different point of access (CIFS, FTP ..)

Have it start process and react to document storage events, including starting process or calling workflow apis.

Intalio, Leader in Open Source BPM

Page 16: Alfresco workshop

16C O N F I D E N T I A L

Thank you !!

Now’s is the perfect time to ask plenty of questions …

What you think is important (speak your mind.)

Intalio, Leader in Open Source BPM