cancel
Showing results for 
Search instead for 
Did you mean: 

Evaluating WCM - questions

unclefunks
Champ in-the-making
Champ in-the-making
We're evaluating Alfresco/WCM to manage our primary website.  A couple of questions…

  • Our site will have a lot of dynamic content, such as articles.  After going through the WCM evaluation guide, I was surprised to find that it was necessary to write Java code to get a dynamic list of articles for a page (the code is there for the example content, like press releases, but it seems you would need to add your own JavaBeans for new content types).  Is there any other way to generate a web page that lists all content created from a particular web form?  Is this something that is (or will be) in WSF?

  • We would eventually like some social features, like users posting comments to articles.  Is there any support for that in WCM?  Or in WSF?  If not, is there any way to hack this?  Ideally, these submissions would be like other content, needing to go through a workflow; the difference is that they must be entered through our published web site, not through the Alfresco web client.
Any help is greatly appreciated.
3 REPLIES 3

pmonks
Star Contributor
Star Contributor
Our site will have a lot of dynamic content, such as articles. After going through the WCM evaluation guide, I was surprised to find that it was necessary to write Java code to get a dynamic list of articles for a page (the code is there for the example content, like press releases, but it seems you would need to add your own JavaBeans for new content types).
While you do need to develop code, it doesn't have to be written in Java.  You can use whatever dynamic web application technology you're most comfortable with (provided it includes an HTTP client library, which most languages do these days).

Is there any other way to generate a web page that lists all content created from a particular web form?
The simplest way to do this kind of thing is to write a data Web Script (see http://wiki.alfresco.com/wiki/Web_Scripts for details) that queries the repository and returns the list of matching content items in whatever structured data format (XML, JSON, CSV, COBOL fixed length records :winkSmiley Happy is most easily digested by the front end web application.  That front end web application would then transform that data into HTML (or whatever output format you're rendering).

Is this something that is (or will be) in WSF?
WSF is an example of a dynamic front end web site implemented in JSP / Java, but it doesn't have this kind of complexity.  The only time it displays lists of content items is when those items are assigned to the same nodes in the navigational hierarchy, and that's a very explicit relationship in the WSF content model.  Query driven lists of content items, in comparison, are far more complex (due to the difficult in calculating dependencies) and can't, in general, be "pre-baked" at submission time.  Instead the easiest approach is to simply deploy the raw content out to the delivery environment and let the front end dynamic web application "fry" pages based on dynamic (request time) queries, using standard dynamic web application performance tuning techniques (ie. caching) to maximise performance.

In comparison, the recently announced ADW framework (see http://wiki.alfresco.com/wiki/Alfresco_Dynamic_Website) is a more comprehensive JSP / Java dynamic web application that does support the use of dynamically built (ie. query driven) components on a page, using the model described above (ie. by calling a Web Script installed in an Alfresco Runtime).

We would eventually like some social features, like users posting comments to articles. Is there any support for that in WCM? Or in WSF?
The WCM repository can store pretty much any content model you can dream up - it just doesn't provide much in the way of front end, public UI components (at least not until ADW surfaces).  So the answer is yes and no - yes WCM supports user generated content (UGC), but no we don't (yet) provide any UI components that you can sprinkle liberally throughout your web application to allow your visitors to create and manage their UGC.

If not, is there any way to hack this? Ideally, these submissions would be like other content, needing to go through a workflow; the difference is that they must be entered through our published web site, not through the Alfresco web client.
Yes there is.  Simply model your UGC as an Alfresco hosted content model, develop CRUD Web Scripts for managing that content model, then add whatever UGC UI you wish to your web application, having it read and persist the UGC itself from an Alfresco Runtime via the CRUD Web Scripts.

Now your immediate thought might be "why wouldn't I simply use a relational database and save myself some dev effort?", which is a completely fair question.  The answer basically boils down to which type of repository is best equipped to satisfy your UGC requirements.  If all you need is a dumping ground for highly structured records, and the structure of those records is never going to change (since relational databases aren't that crash hot when faced with data model evolution), then a relational database is probably the right way to go.  If you need a repository that supports more malleable / fluid content models, or have a need for additional content services that Alfresco provides (workflow, versioning, etc.) then an Alfresco Runtime is probably the right way to go.

Clearly there's a large grey area in all of this, and I'd need to understand your UGC requirements in a lot more detail before getting a sense for which one is likely to be more appropriate in your specific case.

Cheers,
Peter

unclefunks
Champ in-the-making
Champ in-the-making
Hi Peter,

Thanks for the info, that was very informative.  I appreciate the quick response.  I'll come back with questions on the UGC issues when we get to that point.

alrice
Champ in-the-making
Champ in-the-making
Yes thanks! This thread is very helpful to me as well.