Your SlideShare is downloading. ×
Upcoming SlideShare
Loading in...5

Thanks for flagging this SlideShare!

Oops! An error has occurred.

Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply



Published on

Coldfusion and Alfresco, does it work? Well it does, as easy as everything else in Coldfusion :) …

Coldfusion and Alfresco, does it work? Well it does, as easy as everything else in Coldfusion :)

What is Alfresco? Why would you want to use Alfresco and Coldfusion together?

Explore the different ways to create interfaces between them!

(The demo application is available on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

No notes for slide


  • 1. UGBE
    ColdFusion and Alfresco, does it work?
    Yves Prignon
  • 2. Agenda
    What is Alfresco?
    Why would you want to use ColdFusion and Alfresco together?
    Explore the different ways to create interfaces between them
    The example
  • 3. What to expect?
  • 4. WhatisAlfresco?
    Alfresco is a content platform
    A set of services that developers can leverage to build applications like
    • User interface/presentation layer
    • 5. Data model/persistance layer
    • 6. Transactions
    • 7. Security
    • 8. Workflow/BPM
    • 9. Integration hooks and Server side APIs or RESTful APIs
    • 10. Scheduler
    • 11. Development (config, custom, extend, manage, deploy) model
    open standards like CMIS (interop) or JSR168 (portlets)
    • Solution specific services such as search, transformation, web content management, collaboration, record management, document management
  • Whatisit good at?
    Straight Alfresco
    Use cases: Typical ECM: Document management, imaging, records management, library, business process
    Client: Web client UI is acceptable OOTB or with minor customizations; Office suites
    Process: Simple to complex processes
    Content: Document-centric
    Alfresco as a Repository
    Use cases: NGI applications, portals
    Client: Custom; leverage a framework such as Liferay (Java) or Jboss Portal (Java) or any coldfusion application
    Process: Simple to complex; may have integration requirements
    Content: Content-centric
  • 12. Alfresco for Traditional WCM
    Use cases: Enable non-technical users to manage mostly static web sites
    Client: Web client
    Process: Simple
    Content: XML-centric
    Alfresco for Dynamic WCM
    Use cases: Enable both technical and non-technical users to work together to maintain a dynamic web site (application)
    Client: Web client, Eclipse and other tools
    Process: Simple to complex processes
    Content: XML-centric
  • 13. Whatitisn’t good at
    An issue of “could you” versus “should you”
    You could use Alfresco to develop a CRM application but should you?
    Alfresco as a platform for non-document- or non-content-centric solutions
    Alfresco is built to handle content, not as a replacement to Hibernate
    Source code management
    Until Alfresco supports the SVN protocol, developers probably will not be willing to give up their current tools to use Alfresco for source code management
  • 14. Why would you want to use ColdFusion and Alfresco together?
    Why not?
    The use of coldfusionwithalfrescoiswhatyoudecide to do withit
    The best of the two world
    Integrate CF CMS like mura with an existingenterprise directory or the contrary
    Use coldfusion services
    Wrote a completely independent front end using Coldfusion with alfresco/share as the backend
  • 15. Custom solution / protocol
    WebScript / RESTFul APIs
    Others? (WebDav, FTP, FileSystem)
    Different ways to create interfaces between the two
  • 16. That wasmy first contact withalfrescosomeyearsago
    The solution includeda custom java api with soap webservice support on alfresco side to access the repository. On the coldfusion side there was another api used to parse the xml and fill cfcs object. A little bit like hibernate. Well it was working but not performant at all!
    Custom solution
  • 17. Content Management Interoperability Services (CMIS) is a specification for improving interoperability between Enterprise Content Management systems (Extend SOAP)
    It provides a data model plus a set of generic services and several protocol bindings for these services, including SOAP and Representational State Transfer (REST) using the Atom convention
    CMIS specification provides a Web services interface that:
    - Is language-agnostic (REST and SOAP are implemented in many languages)
    - Decouples web service and content. So CMIS can be used to acces to an historic document repository.
  • 18. REST describes the following six constraints applied to the architecture, while leaving the implementation of the individual components free to design:
    - Client/Server (separation, ie client don’t care about data storage)
    - Stateless (session stuff on the client only)
    - Cacheable (call to an uri return always the same)
    - Layered system (client can’t tell if it is connected to a end server or an intermediary)
    - Code on demand (opt) (server can transfer code to client for execution)
    - Uniform interface (http get, put, post, delete)
    Key goals are performance, scalability, simplicity, modifiability, visibility, portability and reliability
    (Roy Fielding authors of HTTP 2k)
  • 19. We can …
    Have access to the whole Alfresco API
    Define our own REST services and manipulate them from the process or the workflow
    Authenticated calls
    Easily testable and redeployable
  • 20.
  • 21. Web scripts
    Web Scripts interaction
    The request arrives at the Web Script REST dispatcher.
    The dispatcher finds the appropriate web script for the request (URL). If one is found, the dispatcher executes the web script, after successfully authenticating, if required. Then it invoke the Javascriptof 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. If it is not enough you can create your own java object that will directly interact with alfresco.
    4. The result from the Javascriptis 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 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.
  • 22. The Exemple
  • 23. Now’s is the perfect time to ask plenty of questions …
    Contact info
    Yves Prignon
    Prignony (twitter)
    Thanksyou :D