Matthias, the bridge does url rewriting as well, and we ignore anything that has a "javascript:" prefix. Basically, queryStrings only make sense on URL's that are http and https (or stuff that resolves to them). I think that orchestra's encodeActionURL needs to be smart enough to handle this case?

Why? From a logistical standpoint, in the portal things have to be encoded. Let say we have a tr:goLink that someone assigns to be "javascript:alert('hi);". There should be no reason this wouldn't work, yet the go link always encodes it's URL. Should everything that encode's it's URL have to handle all the perepherial cases or should the implementation of the encodeActionURL be smart enough to take this into account? I think the latter.

Therefore, I would say that orchestra should only append the conversationContext if the protocol is http or https. Or do the opposite (like the bridge does) and look for protocols to exclude like ftp: and javascript:.

Scott

Matthias Wessendorf wrote:
Hi,

when using Trinidad's shuttle within an Orchestra application, the
(re)move buttons are not usable.

Why ?

Because Trinidad creates the javascript calls  like
String url = "javascript:TrShuttleProxy._moveItems(.......";

and than, we internally encode the url.
Like facesContext.getExternalContext().encodeActionURL(url);

so... with Orchestra, you now get something like:
javascript:TrShuttleProxy._movetems(....);?conversationContext=3
which causes a JS syntax error.

Should we just stop to encode that client side "action" url ?

-M


Reply via email to