cancel
Showing results for 
Search instead for 
Did you mean: 

How to use Alfresco as a Web CMS

olemartin
Champ in-the-making
Champ in-the-making
I am reviewing some Web Content Management Systems for a customer and I am really struggling to grasp what Alfresco is, and what it is not. The customer is looking for a cms for their website and intranet.

I would really appreciate it if you could answer some questions for me:

- How would you compare Alfresco to i.e. Fatwire Content Server?
- How does a developer create Content Types? For instance a Product or Article
- How do you create Page Templates? How do you as a developer decide what goes where on a given page
- How do you render content?
- How is the content stored in the database?
- Is it possible to mix portlets with the content displayed from the cms?

I have looked through some web casts and videos and I think I have misunderstood what Alfresco is, but if you can answer those questions for me it would really help.

Thanks in advance.
1 REPLY 1

pmonks
Star Contributor
Star Contributor
- How would you compare Alfresco to i.e. Fatwire Content Server?
Alfresco WCM is probably most similar to Interwoven TeamSite, although the capabilities on the runtime / delivery side are somewhat different (primarily the ASR functionality - there's no clear equivalent in TeamSite).  The runtime capabilities are somewhat similar to Vignette VCM (ie. filesystem based content as well as a queryable runtime content repository), while the upcoming ADW functionality could be compared to Interwoven LiveSite or Vignette Dynamic Portal (although neither of these comparisons are particularly accurate - ADW is more tightly integrated with the CMS than LiveSite is with TeamSite or VDP is with VCM).

I'm not familiar with Fatwire, so I can't comment on whether Alfresco shares any similarities with it or not.

- How does a developer create Content Types? For instance a Product or Article
Using XML Schema.

- How do you create Page Templates? How do you as a developer decide what goes where on a given page
- How do you render content?
Renditioning templates (code that runs at submission time to generate derived formats such as HTML from the user-entered structured content) are implemented in either Freemarker or XSLT.  This functionality is optional, meaning that the developer has the freedom to deploy a 100% structured content model (ie. XML) to their runtime environment, then render it dynamically in a custom webapp (which can be implemented in virtually any extant web technology).

Going back to comparisons for a moment, this provides all of the strengths of the TeamSite model (where pre-generation of derived assets is the norm, and dynamic page composition is difficult) with all of the strengths of the VCM model (where request time page composition is the norm and pre-generation of derived assets requires an optional add-on product (Vignette Dynamic Site) and is difficult even then).

- How is the content stored in the database?
Content is stored in the Alfresco repository, the default implementation of which uses both a relational database and a filesystem for persistence.  Note that the underlying persistence layer is pluggable, so from a development perspective it's best to treat those components as black boxes (querying or manipulating them directly is inadvisable).

As an aside, the community has developed a number of alternative persistence layers, including one that uses the relational database for everything, and another that uses Amazon S3 for persistence, making it even more important not to make any assumptions about how the Alfresco repository happens to be persisted in a given installation.

- Is it possible to mix portlets with the content displayed from the cms?
Yes.  Alfresco can deploy static files (HTML, CSS, etc.) out to a filesystem, where they can be read and displayed by most portal servers.  Alfresco also supports dynamic (request time) content retrieval via the ASR component (see http://wiki.alfresco.com/wiki/Deployment#Alfresco_To_Alfresco_Deployment_.28ASR.29 for details), in which case Web Scripts (http://wiki.alfresco.com/wiki/Web_Scripts) are automatically available as JSR168 portlets (details at http://ecmarchitect.com/archives/2008/04/08/823).

Cheers,
Peter