Unlocking the Secrets of Alfresco Authentication - Alfresco Devcon
Alfresco workshop
Transcript of 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
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
3C O N F I D E N T I A L
Alfresco – Powering content
Intalio, Leader in Open Source BPM
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
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
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
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
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
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.
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
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
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
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
14C O N F I D E N T I A L
Demo
Intalio, Leader in Open Source BPM
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
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