This forum is closed to new posts and
responses. Individual names altered for privacy purposes. The information contained in this website is provided for informational purposes only and should not be construed as a forum for customer support requests. Any customer support requests should be directed to the official HCL customer support channels below:
You're right, it is a timing issue, but it is not specific to facets.
Facets are executed inline within the page at the location where they appear in the output HTML.
They are not specially processed before.
You can encounter the same issue if you have a single XPage with 2 different computed fields
- the first computed field cannot see values that were computed in the 2nd computed field.
The final phase of processing on the server is the render phase, where it iterates through all the controls in the control tree, telling each to output itself as HTML. So a control that appears further up the page will be invoked before a control that is further down the page, and it cannot see the output of a computation in the later control.
The solution to this is to do the processing that produces the output before the render phase occurs.
To execute code before the render phase, you use events.
For example, each XPage or Custom Control has a beforeRenderResponse event, visible in the Events view, where you can set some script to be executed just before the page is output to HTML.
You could compute your list of links there, to be re-evaluated on every page display.
Another option is to save the new value during the event that changes the value, in your case when you click on the link.
Hope that helps.
Feedback response number MKEE7WZHLW created by ~Lex Feztookonyikle on 10/20/2009