Upcoming SlideShare
Loading in...5




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



Total Views
Slideshare-icon Views on SlideShare
Embed Views



1 Embed 111 111



Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

CC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

    Cfalfresco Cfalfresco Presentation Transcript

    • UGBE
      ColdFusion and Alfresco, does it work?
      Yves Prignon
    • 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
    • What to expect?
    • WhatisAlfresco?
      Alfresco is a content platform
      A set of services that developers can leverage to build applications like
      • User interface/presentation layer
      • Data model/persistance layer
      • Transactions
      • Security
      • Workflow/BPM
      • Integration hooks and Server side APIs or RESTful APIs
      • Scheduler
      • 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
    • 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
    • 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
    • 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
    • Custom solution / protocol
      WebScript / RESTFul APIs
      Others? (WebDav, FTP, FileSystem)
      Different ways to create interfaces between the two
    • 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
    • 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.
    • 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)
    • 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
    • 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.
    • The Exemple
    • Now’s is the perfect time to ask plenty of questions …
      Contact info
      Yves Prignon
      Prignony (twitter)
      Thanksyou :D