Possible ways to build an engaging powerful website with Alfresco

You are here

5 posts / 0 new
Last post
Possible ways to build an engaging powerful website with Alfresco


I need to build an interactive and easy to use website for my company. It would be an internal website with different stages for product development.
The main requirement is it needs to be very easy to update, can store thousands of documents and should be flexible enough to add any requirements.
I have previously built a document management system using Alfresco share but this project requirements more visually pleasing looking website and one which can be updated easily by non-programmers.
I looked at Alfresco Web content management WCM, and its integration with Drupal. But not sure from where to start.

I went through a few case studies and this one looked very appealing and close to my requirement:

What would be the best way to start designing the website and how can I come up with the technology stack required ?
How can I build html or javascript backed pages and integrate them with Alfresco ?
I read somewhere that Alfresco web forms can be used to create different templates for webpages.

Any ideas or suggestions would be greatly appreciated.


Some ideas

There is nothing available in Alfresco out-of-the-box that will give you an attractive web site that non-programmers can update. With that said, here are some options that do involve Alfresco...

(1) Use a dynamic CMS, integrate with Alfresco via CMIS only if needed

If you want to stand up a dynamic web site quickly using a system that has many modules and themes available out-of-the-box, I'd recommend something like Drupal or Wordpress. All of Alfresco's customer-facing web sites (www.alfresco.com, forums, add-ons, partner portal, Alfresco Summit) run on Drupal, for example.

The only reason to integrate Drupal or Wordpress with Alfresco is if you have some content in Alfresco that you need to expose through that web site. If you need to do that, then you can use the CMIS or CMIS Views module available at Drupal.org for that purpose. An example of where that is used is on the Alfresco Summit site. All of the session presentations live in Alfresco. The web site is built using Drupal. The integration between the two is CMIS.

(2) Use Crafter

Take a look at Crafter. It is a full-featured CMS that is built on top of Alfresco. Your end-users won't know they are using Alfresco.

(3) Write something entirely custom

Any web site written in any language/framework can retrieve content from Alfresco via a restful API. So if you have a web framework you like, or you build one from scratch, decide which content will be managed by the framework and which will live in Alfresco, then retrieve what you need from Alfresco using CMIS and/or custom web scripts.

Alternatively, you could publish content out of Alfresco into something like Mongo, Solr, or Elasticsearch and your web application can hit one of those repositories instead of Alfresco.

Alfresco has a starter web application called Web Quick Start which you could use as one example, if you wanted to build your front-end web site in Spring.

Obviously, this option requires the most work.

So when it comes to web sites, think of Alfresco as a repository only. Think of Alfresco Share as a potential admin interface for content managers. But the web site is entirely up to you or some other system.


Hire my team for your next project! Metaversant
Blog: ecmarchitect.com | Twitter: jeffpotts01
CMIS APIs: Apache Chemistry | CMIS and Apache Chemistry in Action
Alfresco tutorials: Alfresco Developer Series

Re: Some ideas

Thanks a lot Jeff, for the detailed insight. I will look into each of these options and see which one suits my requirement the most.


I'd like to add a couple of notes about what Jeff wrote.
In my former company I supported for all Europe the Intranet portal integrated with Alfresco ECM backend.
Goal was (and still is) to provide access to content stored in Alfresco on the webpages.
We had to use the .net portal framework DotNetNuke, but any webserver can be adopted.
What we did is to "call" via API the alfresco content at page loading for any module we had to fill with content stored in Alfresco.
2 options, if you have a portal/website that uses ACL, you can create a single user, setting ticket behaviors in Alfresco configuration file, or, if you have users enrolled in security schema like Active Directory, users, once logged in into the system, will have or not have access to the content.

Jeff talks about Crafter, I've seen and I had to play and work on Crafter application.
Can you describe better what you exactly need on the WCM. I has been the responsible of the European corporate websites (16 multi language sites) of an US Enterprise up few weeks ago.
We worked on a no more available Alfresco WCM application (AVM), but due the fact this was no more available, we had to think and handle transition to an alternative WCM application and Crafter was one of them
Let me know if this is enough for you or you need more insights

Daniele Bernotti


Hi danielebernotti, thanks for the reply. As suggested by Jeff, I would like to have my customized templates in HTML, CSS and Javascript and integrate them with Alfresco repository or another option would be to integrate with Drupal.

I have designed templates in HTML to get an idea of the functionality, and working on how to integrate the front-end site with Alfresco using API. Is there a tutorial/documentation or an overview of steps to start with it?
I have also integrated Alfresco repository and Drupal through CMIS API in Drupal and querying the repository through Drupal works fine.
I am still weighing the options on which would be easier and best suited for the application.

Also how was your experience designing the site with Alfresco WCM ? Is it a good option?
You mentioned integrating to your .net portal via an API call to alfresco content. Can you please elaborate a bit more on this.

Here is a summary of my company's requirements in short:
The company manufactures several products and there are various documents related to each of these products. I need to have a webpage per product, which would have the different stages of a product, categories under each stage and a wiki for each category. There should be an option to also close a stage for a product and kick-off new one (basically like a customized workflow). Every document should have versioning & commenting capability, preview of version history and an option to add workflow. Adding new products, related categories and documents should be easy to handle for non-programmers.
I hope I was clear on my requirements.

I am a complete beginner to Alfresco and web programming and would really appreciate your thoughts on this.
Thanks a lot.

forums index