cancel
Showing results for 
Search instead for 
Did you mean: 

Web Front-end - ADW is a while off any alternatives?

cwhittl
Champ in-the-making
Champ in-the-making
I'm tasked with finding/building a public frontent for a WCM… Basically we want to create a public website and use Alfresco for the content….   My question is 2 fold…
1) is there anything out there already? (Other than a couple portlets for Drupal,Liferay,Joomla and the future Alfresco Dynamic Website(ADW) I've not seen anything)
2) If not what is the best way to get the content from the system and display it on a JSP page?

Thanks in advance!
6 REPLIES 6

cyril
Champ in-the-making
Champ in-the-making
The basic integration of Alfresco WCM into a web site can be done 2 ways:
* Direct file system access to document from your web app server (through deployment to file system receiver), or
* Query of documents using http://wiki.alfresco.com/wiki/Web_Scripts to a runtime deployment instance of Alfresco (embedded or remote)
The best way depends on your requirements.
If you can deduce the document path from the URL, direct file system access is most efficient.
If you need to run queries to find the documents from a web page, web scripts are necessary.

pmonks
Star Contributor
Star Contributor
You can use pretty much any web technology you like - we see the usual Java suspects quite a bit (Struts2, JSF, Tapestry, Cocoon, etc.) as well as various non-Java technologies (PHP, Ruby on Rails, Python etc.).

For "brochure ware" sites my personal opinion is that if you're familiar with the technology, you can't really beat vanilla JSP with some simple backing POJOs.  It's not "pure" or "clean", but read-mostly sites don't always benefit from the kinds of functionality that an MVC framework brings to the table.  I've also found that it's often easier to translate page schematics / mockups etc. into JSPs than it is to try to shoehorn them into a generic page layout model offered by some framework or other.  Obviously that's just my experience, so take it with a grain of salt!   :wink:

As to how to surface content in your web app, there are basically two approaches:
  • The "Bake" Model - generate HTML (or JSP / PHP / wotnot) from your web forms, deploy those files out to a filesystem (using an Alfresco FileSystem Receiver - see http://wiki.alfresco.com/wiki/Deployment) and then include those generated fragments into the hand crafted parts of your web app using whatever include mechanism the technology supports (eg. <jsp:include>)

  • The "Fry" Model - don't generate anything but the master XML from your web forms, deploy that XML out to an Alfresco Runtime, then dynamically query and render that XML content at request time from your web app, using Web Scripts (http://wiki.alfresco.com/wiki/Web_Scripts) as the remote API for calling Alfresco
The Bake model has performance advantages over the Fry model but is limited in terms of the kinds of behaviour that are possible - it's not possible to dynamically generate parts of a page based on request-time state, for example.  The Bake model is the inverse: it's not as performant as static content retrievals, but is far more flexible in terms of which content is retrieved for a given page, and how that content is transformed into HTML.

In practice most implementations do a bit of both - there's almost always some content that is not sensitive to request-time state and hence can be "baked" (pre-generated at submission time), while there are other pages / regions that need to be "Fried" since they're dependent in some way on request-time state.  The great thing about Alfresco WCM is that you can mix and match the two techniques in the same web app - they're by no means mutually exclusive.

Cheers,
Peter

cwhittl
Champ in-the-making
Champ in-the-making
Thanks cyril and Peter….  Peter, if I went with a BAKED JAVA and POJOs way of doing things is there JAR and XML files that I need to use in my project and call or how does that work?

pmonks
Star Contributor
Star Contributor
All you need are whichever libraries your web app requires (which might not be anything if your JSPs and POJOs use nothing but core Java / servlet / JSP APIs).  In the pure "bake" model, all form entered content gets generated into HTML or JSP (or other text format) files that are literally part of your web app, so there's nothing to call to retrieve content - the content is literally "baked" into your web app at content submission time.

The best way to see how this works is to bulk import an existing web app (WAR file) into a new Alfresco Web Project, promote it to staging, then play around with:
  • editing in user sandboxes

  • preview in user sandbox vs staging sandbox

  • promotion & reversion of changes in the user sandbox
Once you're comfortable with how the sandbox concept works (including the all-important workflow / promotion-to-staging process), create a Web Form (http://wiki.alfresco.com/wiki/Forms_Authoring_Guide) that generates ("bakes") new JSPs into your web app and play around with creating content via that Web Form to see what happens in the web app.

Cheers,
Peter

cwhittl
Champ in-the-making
Champ in-the-making
I just watched the alfresco in an hour and it looks to me the WCM looks to me as similar to Changeman or SVN for source control…  
I would like to us alfresco as a portal-esk web application but I haven't seen that as an option (I thought ADW might do that)…  We have 2-3 external web applications and one intranet portal that we are using some of the same content iframed from a Domino/Lotus Notes application and also whatever content they use esclusively…  I'd like to move all that on one product (alfresco) and then serve it up to those applications(Java,.net) and more… 
Is this possible?

jzulu2000
Champ in-the-making
Champ in-the-making
I need to show content stored in alfresco and I still don't know what's the best way to do it.

I have alfresco 2.1 and I'm storing documents into specific spaces for every company's area; I need to show every space's content into a different micro-web-site; besides, I need to bring Advanced search functionality; search by document type (being this an attribute of new content type), search last modified by document type, etc.
I need to show spaces and sub-spaces in a tree way, and when the user clicks on a document, show that content;

In summary, what I need is…
- Tree list of a space
- When user clicks on a document, open it.
- Search form for simple and advanced search.

Any recomendations about the best way of doing this?… WCM?  Custom web app using Webscripts and web services? using portlets into a portal like liferay?

thanks