Hi Pawel,

[EMAIL PROTECTED] schrieb:
>  
> I was testing Orchestra project for a while and generally speaking I
> like it, but one thing bothers me. The conversationContext parameter
> is appended to a request address and I have like:
> http://localhost:8080/project/page.jsf?conversationContext=1
>
> Is it possible to force passing this parameter by the POST method, so
> as to hide this information for users?
Nice to hear you're looking at Orchestra.

Yes, it would be nice to put this into a hidden field or similar rather
than embedding it into the url. However there are some problems with that:

(a) In the case of h:outputLink it needs to be in the url.
(b) Orchestra is also usable in plain servlet environments, so a
JSF-specific solution isn't sufficient. An app that flows from JSF page
to plain servlet and back to JSF page should not lose the
conversation-context.
(c) custom components sometimes render a form tag themselves, rather
than use h:form. It's hard to catch these cases and ensure that the
appropriate field is present in the posted-back data.

But in almost all cases, urls are output via the
ServletResponse.encodeURL, so that's what Orchestra currently hooks
into. This is very reliable and works in all of the above cases - but as
you say, makes the url a bit clunky.

Looking into ways to improve the current approach isn't high on the
priority list due to the complexities listed above. However if you have
any suggestions they would be gratefully received.

One thing I hope to do in the next few days is at least to provide an
option to turn off multiple-conversation-context support. Not all apps
need to support multiple windows for a single user, and it seems a shame
to always append this query param in that case.

Regards,
Simon

Reply via email to