[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Re: [wsrp-interop] Re: [wsrp-conformance] follow-up: templates
Didn't we have a lengthy debate (raised by Alejandro) in May about consistent user experience? I don't recall how it was started, but remember some concerns. Regards, Subbu Andre Kramer wrote: > Please note my example was for window states (not modes) and for a > mode that the consumer had extra knowledge about (some sophisticated > help system). Why constrain what we will be able to do in future? > > regards, > Andre > > -----Original Message----- > From: Subbu Allamaraju [mailto:subbu@bea.com] > Sent: 11 November 2003 14:24 > To: wsrp-interop@lists.oasis-open.org > Subject: Re: [wsrp-interop] Re: [wsrp-conformance] follow-up: templates > > > > To keep consistent behavior, it is safe to either replace with current > values or empty strings when there is no transition request. I agree > with Richard's use case. Allowing the consumer to pick any mode/state > could lead to inconsistent user experience. > > Regards, > > Subbu > > Richard Jacob said the following on 11/11/2003 06:43 AM: > > >Ok, this is a different semantic here - other then the "no-change" > semantic > >we discussed before. > >I think the intent of our and JSR168 semantic is that if there is no > mode > >parameter on the URL then the portal (or consumer) will (or should) > remain > >in the same mode as it was (that's different to the "don't care" > >semantics). > >We say in 10.2.1.4 "Activating this URL includes a request to CHANGE the > >mode parameter in MarkupParams into the mode specified [...]". > >So one could interpret (although we are not explicit) the absence of > mode > >(or the non-replacement to stay in the template scope) is a request > to stay > >in the same mode. > > > >We need to be carefull here, otherwise we might observe different > >behaviours for different producer-consumer pairs. > >One use case: > >Portlet has multiple pages for edit mode linked via navigational links > >(prev, next, etc.). > >The portlet does not place mode parameter in the navigational URLs. > >User changes the portlets mode to "edit", via decoration. -> > >markupParams.mode=edit > >User clicks on next in edit mode (without specifying mode=wsrp:edit > in the > >link), now when the consumer may choose what to do, it could change > to view > >mode -> markupParams.mode=view. > >This would prevent the user from ever getting to the next page. > >This would enforce the portlet programmer to *always* code the mode > >parameter in URLs (which is not the case either in the JSR168 spec > nor in > >our spec). > > > >And in this case this leads us back to the discussion whether we should > >enforce the producer to *always* replace these {wsrp-...} tokens in > >templates :-) > >Therefor I would say that the semantic for not having these params in > the > >URL means "no change" rather then "don't care" (if we choose to do the > >non-replacement processing). > > > >Mit freundlichen Gruessen / best regards, > > > > Richard Jacob > >______________________________________________________ > >IBM Lab Boeblingen, Germany > >Dept.8288, WebSphere Portal Server Development > >Phone: ++49 7031 16-3469 - Fax: ++49 7031 16-4888 > >Email: mailto:richard.jacob@de.ibm.com > > > > > >|---------+----------------------------> > >| | Andre Kramer | > >| | <andre.kramer@eu.| > >| | citrix.com> | > >| | | > >| | 11/11/2003 09:46 | > >| | AM | > >|---------+----------------------------> > > > >--------------------------------------------------------------------------------------------------------------------------------------------------| > > > > | > | > > > | To: > wsrp-interop@lists.oasis-open.org > | > > > | > cc: > | > > > | Subject: RE: [wsrp-interop] Re: [wsrp-conformance] > follow-up: > templates > | > > > > >--------------------------------------------------------------------------------------------------------------------------------------------------| > > > > > > > > > > >Richard, > > > > > >On the "always transition" option you raise, I supposed it would be > useful > >for a portlet to say "I don't care about the mode / window state" on > a URL. > >When we introduce events we may be able to make use of this extra > semantic > >information. For 1.0, a link with "mode=wsrp:help&windowState > >={wsrp:windowState}" allows the portal to select the best window > state for > >displaying help but "mode=wsrp:help&windowState=wsrp:normal" would > >constrain the portal to call the portlet in the normal window state just > >because that was the current mode when the url was rendered. > > > > > >regards, > >Andre > > > > > >-----Original Message----- > >From: Richard Jacob [mailto:richard.jacob@de.ibm.com] > >Sent: 10 November 2003 18:05 > >To: Andre Kramer > >Cc: wsrp-interop@lists.oasis-open.org > >Subject: RE: [wsrp-interop] Re: [wsrp-conformance] RE: [wsrp-interop] > >foll ow-up: templates > > > > > > > > > > > > > >my comments in <rj> > > > > > >Mit freundlichen Gruessen / best regards, > > > > > > Richard Jacob > >______________________________________________________ > >IBM Lab Boeblingen, Germany > >Dept.8288, WebSphere Portal Server Development > >Phone: ++49 7031 16-3469 - Fax: ++49 7031 16-4888 > >Email: mailto:richard.jacob@de.ibm.com > > > > > > > > > > > >|---------+----------------------------> > >| | Andre Kramer | > >| | <andre.kramer@eu.| > >| | citrix.com> | > >| | | > >| | 11/10/2003 05:49 | > >| | PM | > >|---------+----------------------------> > > > > >--------------------------------------------------------------------------------------------------------------------------------------------------| > > > > > > > | > >| > > > > > > | To: wsrp-interop@lists.oasis-open.org > >| > > > > > > | cc: > >| > > > > > > | Subject: RE: [wsrp-interop] Re: [wsrp-conformance] RE: > >[wsrp-interop] foll ow-up: templates > >| > > > > > > > > >--------------------------------------------------------------------------------------------------------------------------------------------------| > > > > > > > > > > > > > > > > >(e) was just for catching tokens allowed by the grammar but not really > >expected in templates, <ak> below. > ><rj> agreed > >Rich: is wsrp-Token not also a relict that should be removed from the > spec? > > > ></rj> > > > > > > > > > > > >-----Original Message----- > >From: Richard Jacob [mailto:richard.jacob@de.ibm.com] > >Sent: 10 November 2003 15:11 > >To: Andre Kramer > >Cc: wsrp-interop@lists.oasis-open.org > >Subject: RE: [wsrp-interop] Re: [wsrp-conformance] RE: [wsrp-interop] > >foll ow-up: templates > > > > > > > > > > > > > > > > > > > >Good analysis. > >I agree to a, b, c - at the bottom line it comes to "replace them", > since > >b) is opaque one could consider no substitution as being indeed a > >substitution, i.e. the consumer would pass {wsrp...} back to the > producer, > >the producer needs to handle it in that case. > >{wsrp-secureUrl} should be categorized as c) not as e). > > > > > > > > > > > ><ak>I don't {wsrp-secureUrl} is sensible for templates as we have both > >secure and normal versions for constructing urls.</ak> > > > > > > > > > > > ><rj> agreed, I missed the fact that even for default templates we have a > >secure one :-), given that I would say it fits in e) as you say it </rj> > > > > > > > > > > > >Since we defined a default value (false) one could even argue that a > >no-change falls back to default. > >However I would prefer to replace here anyways. > > > > > > > > > > > >On d): > >Leaving {wsrp-...} seems the most appropriate here unless we have a > special > > > > > >wsrp-value for that (e.g. "wsrp:null"). > >It seems more natural to indicate a no-change to me. > >This would make {wsrp-...} reserved tokens in the spec. (perhaps we > should > >do that for any wsrp defined string anyway in 1.1). > > > > > > > > > > > ><ak> we did use the "wsrp-" to mean our URI and "{" is used in > matching so > >we are on pretty safe ground here.</ak> > > > > > > > > > > > ><rj> agreed </rj> > > > > > > > > > > > >I think the argument that a mode or window state might carry > {wsrp-..} on > >purpose is not strong enough. In the spec we encourage (although not > >enforce) people to namespace their self-defined values so my > expectation on > > > > > >clashes is very low here. > > > > > > > > > > > ><ak>custom modes & window states need to be declared in service/portlet > >descriptions which also helps.</ak> > > > > > > > > > > > ><rj> agreed </rj> > > > > > > > > > > > >On e): > >what is {wsrp-token} for again? Didn't we miss to remove it once we > dropped > > > > > >the namespace URL thing? > >This leaves it at {wsrp-fragmentID} being the only one left in e). > >Here I would handle it as d), no substitution means "not set". > > > > > > > > > > > ><ak>{wsrp-token} is unneeded and {wsrp-fragmentID} seems currently > >underspecified.</ak> > > > > > > > > > > > >What strikes me a little bit is the fact that we introduce a more > >complicated semantic in this processing, people might get confused. > >It would be easier to understand if we said: > >Required tokens on an URL must be replaced with values as well as all > >portlet URL params (10.2.2.9). > >All optional tokens don't need to be substituted (or better: have our > >"wsrp:null" for that) and fall back to default. > > > > > > > > > > > >One additional point: If we introduce d) don't we contradict our > >conformance statements in 10.2.1.4 and 10.2.1.5 where we say that > >modes/window states MUST be either the wsrp-defined ones or custom ones > >supported by the producer? So a "MUST replace" here perhaps would fit > >better? (btw. what makes it complicated for the producer to replace the > >{wsrp-mode} with the current mode value the portlet is in? This would > mean > >for templates: staying in the same mode is a transition from mode x > to mode > > > > > >x.) > > > > > > > > > > > ><ak>I would go for "MUST be either the wsrp-defined ones or custom ones > >supported by the producer IF replaced". Here the "wsrp-defined" is an > >unfortunate use of "wsrp-". </ak> > > > > > > > > > > > ><rj> ok, so here you go for the option modes/states do not need to be > >replaced, right? What about my question for always to transition even > if it > > > >is mode x -> mode x ?</rj> > > > > > > > > > > > >With that argument it would put a) b) c) d) into one equal group: "MUST > >replace". > >Then we would only have e) with "leave-as-is" which is little bit > >underspecified (as Andre said). > >This seems even an easier semantics to me. > > > > > > > > > > > >Mit freundlichen Gruessen / best regards, > > > > > > > > > > > > Richard Jacob > >______________________________________________________ > >IBM Lab Boeblingen, Germany > >Dept.8288, WebSphere Portal Server Development > >Phone: ++49 7031 16-3469 - Fax: ++49 7031 16-4888 > >Email: mailto:richard.jacob@de.ibm.com > > > > > > > > > > > > > > > > > >|---------+----------------------------> > >| | Andre Kramer | > >| | <andre.kramer@eu.| > >| | citrix.com> | > >| | | > >| | 11/10/2003 10:40 | > >| | AM | > >|---------+----------------------------> > > > > >--------------------------------------------------------------------------------------------------------------------------------------------------| > > > > > > > > > > > > > | > >| > > > > > > > > > > > > | To: wsrp-interop@lists.oasis-open.org > >| > > > > > > > > > > > > | cc: > >| > > > > > > > > > > > > | Subject: RE: [wsrp-interop] Re: [wsrp-conformance] RE: > >[wsrp-interop] foll ow-up: templates > >| > > > > > > > > > > > > > > >--------------------------------------------------------------------------------------------------------------------------------------------------| > > > > > > > > > > > > > > > > > > > > > > >Agree, there are multiple cases here: > > > > > > > > > > > >a) tokens spec says must be replaced (10.2.2.9). These should always be > >substituted and so should never occur in a query string. [My original > query > > > > > >was aimed at making {wsrp-urlType} one of these but only for default > >templates.] > > > > > > > > > > > >b) tokens that are opaque to the consumer. Producer can use whatever it > >likes here (including doing no substitution). > > > > > > > > > > > >c) tokens that are booleans. "true" or "false" must be substituted. > > > > > > > > > > > >d) token that control mode and window state transitions. > > > > > > > > > > > >e) {wsrp-fragmentID}, {secureURL} and {wsrp-token} (!) > > > > > > > > > > > >{wsrp-urlType} (a) > >{wsrp-url} (a) > >{wsrp-portletHandle} (a) > >{wsrp-userContextKey} (a) > >{wsrp-portletInstanceKey} (a) > >{wsrp-sessionID} (a) > >{wsrp-navigationalState} (b) > >{wsrp-interactionState} (b) > >{wsrp-requiresRewrite} (c) > >{wsrp-mode} (d) > >{wsrp-windowState} (d) > >{wsrp-secureURL} (e) > >{wsrp-fragmentID} (e) > >{wsrp-token} (e) > > > > > > > > > > > >Only (d) and (e) are likely to cause (very minor) problems so we > should not > > > > > >impact the other types. > > > > > > > > > > > >My preference would be to only clarify that (d) can use {wsrp-mode} and > >{wsrp-windowState} or "" to signal no change is requested. We can > introduce > > > > > >a "null" token (in our namespace) in next version. > > > > > > > > > > > >(e) is underspecified but allowed by our grammar (10.2.3). Seems > safer not > >to substitute anything for these. > > > > > > > > > > > >regards, > >Andre > > -----Original Message----- > > From: Rich Thompson [mailto:richt2@us.ibm.com] > > Sent: 07 November 2003 18:22 > > To: wsrp-interop@lists.oasis-open.org > > Subject: [wsrp-interop] Re: [wsrp-conformance] RE: [wsrp-interop] > > follow-up: templates > > > > > > > > > > > > > > > > > > I think there are a couple of issues here. First, I think it is > > worthwhile having a value with a semantic meaning that no > change in > > mode or windowState is being requested as this eliminates > processing > > cycles for the Consumer. What that value should be is an > interesting > > question. > > > > > > > > > > > > The argument in favor of "" is that no mode or windowState will > ever > > carry this name and therefore it is a 'safe' value. > > The argument in favor of {wsrp-mode} (or ...) is that it makes the > > querystring (presuming that is where it is in the URL) more > readable. > > > > > > > > > > > > > > > > > > I think Producers will need a bit of logic that supplies the > values > > for whatever the Portlet does not set. If a Producer chooses to > > simply leave tokens like {wsrp-interactionState} in the URL, > then the > > > > > > Consumer is required to supply that as the interactionState during > > the performBlockingInteraction invocation (and likewise for > > navigationalState). The simplest bit of logic for the Producer > would > > be to initialize a set of variables to "" and then provide an > > interface which allows the portlet to set any of them it wants. > When > > the URL's string value is being placed into the markup, the > Producer > > can simply walk the template and blindly replace the portlet URL > > parameters with their values. While this may make odd looking > > querystrings, I would note they would be valid (and commonly occur > > today). > > > > > > > > > > > > Rich > > > > > > > > > > > > > > Andre Kramer > > <andre.kramer@eu.citrix.com> > > > > > > > To > > 11/07/2003 12:14 PM > wsrp-interop@lists.oasis > > -open.org > > > cc > > > wsrp-conformance@lists.o > > asis-open.org > > > Subject > > [wsrp-conformance] RE: > > [wsrp-interop] > > follow-up: templates > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Yes, I favour 3 as it works for unexpected as well as expected {} > > token. Query strings such as ?a=x&b=&c=z look strange so "" > does not > > seem a natural choice. > > > > > > > > > > > > > > > > > > Also, custom modes & window states are constrained by the values > > negotiated and nav and interaction state are opaque to the > consumer. > > > > > > > > > > > > > > > > > > regards, > > Andre > > > > > > > > > > > > > > > > > > -----Original Message----- > > From: Richard Jacob [mailto:richard.jacob@de.ibm.com] > > Sent: 07 November 2003 16:25 > > To: wsrp-interop@lists.oasis-open.org > > Cc: wsrp-conformance@lists.oasis-open.org > > Subject: [wsrp-interop] follow-up: templates > > > > > > > > > > > > > > > > > > I wanted to add a question on the topic discussed yesterday on > both > > calls > > about token replacement found in templates (sorry for > crossposting): > > Does the producer/portlet need to replace all tokens in a template > > when > > generating URLs? > > I think we said yes but might replace them with empty strings. > > What in the case of {wsrp-mode} or {wsrp-windowState}? For > example a > > render > > template like: http://bla.com/here?mode={wsrp-mode}&ws > > ={wsrp-windowState}.... > > > > > > > > > > > > > > > > > > I see the follwing options here: > > 1. producer replaces with the mode it wants to "change" to > (might be > > the > > current mode), could be one of the valid wsrp-modes or a > custom-mode > > 2. producer replaces with "" (blank), like suggested in yesterdays > > call. > > In this case we have an interpretation-issue on the consumer side > > when > > processing these URLs. > > Does a "" mode name mean a mode name containing of an empty > string? > > In this > > case the conumer might not know this mode (abviously) and map > it to > > view. > > Or does a "" mode mean, no change requested, stay in current mode? > > The > > second one seems to be what the portlet wants in that case. > > 3. producer does not replace at all > > Here the consumer needs to check while processing the URL that the > > mode > > {wsrp-mode} was a template-non-change and interpret this as > "stay in > > current mode". > > > > > > > > > > > > > > > > > > 2 & 3 imply that "" and "{wsrp-mode}" are reserved mode strings > and > > are not > > allow to use for mode names (don't think one would ever want to > name > > modes > > that way :-) ) > > > > > > > > > > > > > > > > > > I think 1 is the cleanest one, others seem to impose various > > interpretation > > possibilities. > > > > > > > > > > > > > > > > > > It seems that the Citrix Producer chooses 3. for all replacement > > tokens in > > templates in such cases? > > > > > > > > > > > > > > > > > > Mit freundlichen Gruessen / best regards, > > > > > > > > > > > > > > > > > > Richard Jacob > > ______________________________________________________ > > IBM Lab Boeblingen, Germany > > Dept.8288, WebSphere Portal Server Development > > Phone: ++49 7031 16-3469 - Fax: ++49 7031 16-4888 > > Email: mailto:richard.jacob@de.ibm.com > > > > > > > > > > > > > > > > > > To unsubscribe from this mailing list (and be removed from the > roster > > > > > > of the OASIS TC), go to > > > > > >http://www.oasis-open.org/apps/org/workgroup/wsrp-interop/members/leave_workgroup.php > > > > > > > > > . > > > > > > > > > > > > > > > > > > > > > > > > > > > >To unsubscribe from this mailing list (and be removed from the roster > of the OASIS TC), go to > http://www.oasis-open.org/apps/org/workgroup/wsrp-interop/members/leave_workgroup.php. > > > > > > > > > > > To unsubscribe from this mailing list (and be removed from the roster > of the OASIS TC), go to > http://www.oasis-open.org/apps/org/workgroup/wsrp-interop/members/leave_workgroup.php. >
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]