cancel
Showing results for 
Search instead for 
Did you mean: 

Triggering a 're-render' of Web Forms content

grumpy_burton
Champ in-the-making
Champ in-the-making
Hi there,

A quick question, is there a way to trigger a re-render of all content in a web project (that is managed by Web Form/XForm)?

i.e. I have a bunch of already entered (or imported XML) and then decide to add Rendering Engine (could be an additional one or even edit an existing one).

Can I trigger alfresco to go an re-render all the content ?

Cheers,
Alex.
13 REPLIES 13

edgar
Champ in-the-making
Champ in-the-making
Hi Kevin,

thanks for the reply. Sounds like we're on the right track. Some more questions related to your answers:

(b) creating a component (a JSP that gets included other web pages, where the form used to create the JSP captures all relevent attributes from an end-user to generate a snippet of dynamic text - for example, having a Most Recent component where the form captures things like # of items to display, sort order, and metadata / content fields to output in display list)
What exactly do you mean by "Most Recent"? Do you see that this "Most Recent" functionality is implemented in JSP code which is executed at run-time (i.e. when the web page is requested from the servlet engine (assuming the web site is deployed to a standalone servlet engine outside Alfresco)?) instead of "render-time" (i.e. when the template associated with the Web Form is rendered inside Alfresco)?

What we want to do, is to use JSP logic to dynamically (run-time) generate what we call "components that reflect the web site structure". For example, take the navigation menu on the left-hand-site of the products page of the Alfresco site. We feel that at the moment we cannot render this particular menu from inside Alfresco (using templates) because the content manager would then need to regenerate this menu component every time a new page is added to the site structure that is shown here. And the problem is: how does a content manager know that some other content manager has done this in the first place? We cannot explain to a content manager: if some colleague of yours has added a new page to the site in this and this position in the site structure you will need to open and re-save all of the following web pages, etc.

So our idea is: the content manager should not need to manage anything for this menu. The page template should include JSP logic (which itself can be an included JSP of course) which generates this menu on the fly (run-time). This does require that a bunch of logic needs to be present at run-time (i.e. in the servlet engine). For this we are writing a JSP custom tag lib.

However, moving forward, of course ideally we would like this kind of functionality to be present within Alfresco itself. How do you see this?

Moving forward, we will be updating our publishing wizard to enable a WYSIWYG presentation for these types of page forms (drag-and-drop component references), where you can launch the underlying forms associated with an individual component for customizing the included item (double-click on a Most Recent component to fill out it's form details).
Sounds excellent!

So, this is exactly the right approach - and makes wonderful use of the virt server to test a dynamic site!  Also, empowers business users to build dynamic web pages - without a developers assistance for creating every single JSP.

Indeed. We want to empower our business users even more in fact by limiting the choice they have in selecting the component references to be put on a page. We are used to other web content management systems where, together with the component reference you include in a Web Form you specify the exact type of component that can be referenced. In case of Alfresco: we would like to say: this is an anyURI field to some component (content item), but the content manager should only be allowed to select components that are based on Web Form X, or Web Form X and Y. For example this will be used to enable the content manager to click together a "news menu" where the component references only refer to news item components (i.e. components based on the Web Form "news item") and not on any other components.

Two questions here:
a/ Are there plans to include this functionality in a future version of Alfresco?
b/ Was is the best way to approach this in Alfresco 2.0? The WCM tutorial uses a Web Form that has an included JSP which "pre-populates" a list of items that can be selected by the content manager for a specific field. Maybe that is something we could use here?

Oh yes, a final question. How does all this relate to the Alfresco Web Site Framework (WSF) initiative?

cheers,

Edgar

edgar
Champ in-the-making
Champ in-the-making
I just wondered if there has been any work done in this area in Alfresco 2.1.0 Community?

edgar
Champ in-the-making
Champ in-the-making
I just wondered if there has been any work done in this area in Alfresco 2.1.0 Community?

Ah, there has been!

Kevin pointed me out to the new exciting feature "Regenerate Renditions" where you can have Alfresco re-render content items based on a particular Web Form.

A question on this: I see that it only picks up content items in the staging sandbox, not in any user sandboxes. Is this by design?

Ideally I would like to be able to regenerate the renditions in my user sandbox and after that put them through the workflow instead of effecting the staging sandbox directly. Is this possible?

cheers,

Edgar

kvc
Champ in-the-making
Champ in-the-making
Edgar:


Ah!  No, today the changes are down directly against Staging.  You do, however, get an opportunity to preview your changes and tweak your templates for potential regeneration before flattening though.

Technically, everything should be done in a user sandbox and promoted to staging with an opp for intermediating workflow.  In this case, since we had the dynamic preview capability, and since frankly we were a bit short on time, we just did the targeting of regen to Staging.  That was more of a convenience because the additional UI bit of allowing to the user to select which sandbox to regen in was not necessary (every project has Staging).  Thought this was relatively safe because the person doing the regen would be  more of a developer type anyway (or some other senior person will access to the data dictionary).

If you'd like to update the UI bits to allow for this, please do!  And contribute back to us!

Kevin
Getting started

Tags


Find what you came for

We want to make your experience in Hyland Connect as valuable as possible, so we put together some helpful links.