wsia message
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
| [Elist Home]
Subject: [wsia] F2F 11/6 Minutes (Website version)
- From: Rex Brooks <rexb@starbourne.com>
- To: wsia@lists.oasis-open.org
- Date: Mon, 18 Nov 2002 05:55:56 -0800
Title: F2F 11/6 Minutes (Website
version)
Wednesday,
11/6/02
Roll
Voting
Members Company
Stephen Drye (on
leave)
Art Technology
Group
William Cox
BEA
y
Adrian
Fletcher
BEA
Gino
Filicetti
Bowstreet
y
Steven Smith Capitol College y
Andre Kramer Citrix y
Monica
Martin
Drake
Certivo
y
Raj Ramesh
CommerceOne y
Timothy N.
Jones
CrossWeave
y
Alan Kropp
Epicentric
y
Nigel
Ratcliffe
Factiva
Madoka Mitsuoka (on
leave)
Fujitsu
Sunit
Randhawa
Fujitsu
Richard
Cieply
IBM
y
Carsten Leue IBM y
Thomas Schaeck,
chair
IBM
y
Rich
Thompson
IBM
y
Charles
Wiecha
IBM
y
Eric van
Lydegraf
Kinzan y
Jon Klein
Reed-Elsivier y
Adam Nolen
Reed-Elsivier y
Petr Palas
Moravia
IT
Olin
Atkinson
Novell
Chris Braun
Novell y
T.J. Cox
Novell y
Michael
Freedman
Oracle y
Mike
Hillerman
Peoplesoft
Art Machado
Peoplesoft
Ken Pugsley
Peoplesoft
Sasha Aickin
Plumtree
y
Jane Dynin
Plumtree
Joseph
Stanko
Plumtree
Michael
Young
Plumtree
Amir Blich
SAP
Gennady
Shumaker
SAP
Yossi Tamari
SAP
y
Rex Brooks
Starbourne
y
Brian
Dirking
Stellent
Alejandro
Abdelnur
Sun
Microsystems
y
Dave Clegg
Sybase
Joe Rudnicki
U.S.
Navy
y
Eilon Reshef WebCollage
y
Gil Tayar
WebCollage
y
Prospective Members
(non-voting)
Dan
Machak
Tibco
WSIA
Members
(non-voting)
Graeme
Riddell
Bowstreet
Bruce Lucas
IBM
y
Ravi Konuru
IBM
Dan Gisolfi
IBM
#97 Caching
proposals
2 proposals.
1. Schema in 0.7 and 0.8 2. Modified proposal from
Yossi that treates items from current draft as scopes and introduces
InvalidationKeys.
Gil: Common web app
caching mechanism is not expiry, but invalidation based.
Carsten: That's
why the proposals contain cache hints. The "input space" is
too large to calculate a key.
Gil: Hinting is a
good approach, though there is no certain algorithm that's going to
cover.
Sasha: Actually
expiry caching is used extensively. (if not modified eTag).
This introduces a "round-trip" for validation.
Mike F: Yossi's
proposal is for invalidation-based
caching.
Sasha: Haven't
figured out how invalidation-based scheme intersects with
validation/expiry mechanisms.
Mike F:
HierarchyŠexpiry ý hints ý state (scope) based ý "catch-all"
action-based expiry (reset all). The problem with hints/state
levels of this hierarchy is that it forces the Consumer to "know"
details about the caches.
Sasha: Review
Yossi's proposal?
Mike F:
MarkupResponse includes markup scope (User, Producer, refHandle,
Registration). Invalidation tag prefix returned by Producer in
interactionResponse to invalidate content. Consumer matches
prefix "slice" into cached content.
See Yossi's email of
9/30 for details
Gil: This is an
attempt to mirror http-based caching we have today, plus adds
invalidation.
Andre: Concern that
the invalidation tag prefix mechanism will be difficult for developers
to code to.
Mike F: When used
properly, it's very performant.
Sasha: If Producer
uses the invalidation scheme, the Consumer MUST adhere to it.
That's going to be complicated.
Rich: That's
actually true of any optional (i.e. beyond expiry) caching scheme the
Producer is usingŠConsumer MUST adhere to it.
Eilon: Registration
meta-data will help to inform Consumer what it has to do.
Thomas: No
micro-flags for fine-grained cache control. All or nothing.
Should simplify Producer implementations.
Mike F: So what's
more elemental (in terms of industry usage today) is pure expiry, or
expiry + validation (eTags). For a Producer that wants to be
extremely performant (i.e., a "home page" portlet), an
invalidation mechanism would be nice to have, although that's
certainly a more complicated scheme for the Producer to
implement.
Rich: Could a
Consumer that wants to do invalidation-keying signal its capability to
the Producer?
Gil: Invalidation
seems like a v2.0 consideration.
#45 Signal state
change in InteractionResponse
How "sticky" is
navigationalState? Or, how long does the Consumer need to
remember navState?
Mike F: Understand
maintaining state within the context of the aggregated
unit.
This is related to the
question of the Consumer MUST remember the last navState, in the event
no navState gets returned in an InteractionResponse. Does this
potentially imply Consumer session?
Gil: No, null
navState is an "alias" for "give me what I sent last
time".
The other question is
what the meaning of null navState in InteractionResponse means?
Must it always mean the Consumer manages the navState between
invocations?
Mike F: There are
useful scenarios for this to actually mean "null" or no
state.
Eilon: Make it a
required field, so "null" is no longer available. So, return
"empty" to signify no state.
#100 Entity property
model
Slide depicting
various property structures.
Gil: The "reset"
attribute on Property doesn't make sense for
getProperty()?
Bruce: May just
want a separate interface to reset properties to default.
Gil: for
getEntityProperties, the signature includes a propertyList. No
reason to include property values in this call.
Charlie: Don't
recall why the working group chose this, but it should be ok to revert
to a list of names.
Looking at proposal for
<wsrp:localization/>
Bill: Why are we
inventing a WSRP version of resource localization? Are there
other standards that we should be waiting on?
Charlie: How can we
go out without support for internationalization in 1.0?
Mike F: Vendors
already have internationalized products, so for us to propose spec
that doesn't permit portlets to make use of this capability is a
non-starter.
Rich: Summary of
the open questions, and we'll vote later in the
week:
1.
Indicate desired locale of requested descriptive resources,
with localization URL that points to a structure containing full
localization information? Or include full locale data for all
supported locales inline when getting a descriptive
resource.
2. Do we invent
a new localization scheme for WSRP, or do we use
xml-lang?
#91
setEntityProperties atomic?
Atomic..but not
transactional.
Carsten: Difference
between atomic and transactional?
Bruce: Use case for
atomicity of property changes? All-or-nothing truly
required?
Rich:
Consumer-managed properties, especially if they're a hierarchy, is
one.
Mike F: So,
"synchronized" may be a better term.
Rich: Validated and
synchronized update, not required to be transactional.
#120
PropertiesDescription not in entityDescription?
Gil: It's
potentially too large, not all Consumers need/want property
description whenever they get an entity description.
Bill: Maybe we
should consider the general problem of specifying (micro flags?) what
should be included in the response to any request.
Rich: Our approach
has been that unless TC folks indicate something really is mandatory
in a given resposne, then it gets separated (with separate API to
retrieve it).
#96 Review well-known
URL param names
Mike F: Don't
understand 'wsia:refHandle'. The spec already mandates that
the Consumer has to return the refHandle on all requests, so why does
it belong in the Producer-rewritten URL?
Andre: Wondered why
this wasn't entityHandle?
Mike F: It's not
specific enough.
Rich: Consumer
needs to supply the indirection of refHandle, since it can change on a
getMarkup.
#35 Is 'recommend'
strong enough for URL-encoding statement
Consumer needs to
know what the character encoding of the parameters is.
Mike F: Suggested
solution is to mandate that encoding, UTF-8. Consumers will
therefore always know what the answer is.
Gil: This isn't
important for Consumer URL rewriting?
Mike F: Not always
true, there are places where the Consumer requires the Producer to do
URL encoding.
2 proposed
mechanisms:
1.
Mandate: UTF-8
2.
URL itself carries the information. Add a token,
'charset', that the Producer re-writes with the
encoding.
Sasha: Dislike #2.
You need to parse the URL to find the charset. Not normal
behavior that off-the-shelf parsers will take advantage
of.
Gil: So #2 could
really be viewed as a Boolean. Either the markup is returned in
UTF-8, or it wasn't.
Mike F: Correct,
although you lose the particular charset in use.
Vote: 1: 1
2: 17 Abstain: 5
#138 URL templates
for performInteraction?
Mike F: Think
it's natural in markupParams.
Resolved:
Yes
#129 Double-encoding
of wsia:url
urlType==resource, so
it's an embedded URL. Problem is conflicting levels of
encoding.
Rich: If we change
verbiage to mandate "strict" URL encoding, then double-encoding
isn't needed.
Resolved: Producer
does strict encoding (i.e. make it a valid query string value Š
encode '&', '=', '?', ':', '/' and
'?').
Mike F: For both
Producer and Consumer URL's?
Rich: Since it's
the template that's being replaced, the Producer must always do
this.
#146 Require urlType
token be at beginning of URL sequence
Efficient
parsing.
Sasha: Enforcing an
ordering could be a problem for debuggability.
Mike F: Not a
debugging issue, since if it's missing it's easily
logged/found.
Rich: Suggest:
/wisa:rewrite?urlType&wsia:urlŠ
Resolved.
#131
wsia:requestParameters should be double-encoded
Gil, Sasha:
What is requestParameters again? Isn't this
navigationalState?
Rich: It's where
the Producer puts any "extra" query string
parameters.
Gil: So these
shouldn't be double-encoded.
Resolved: Change
'doubly' to 'strictly'.
#37 & 128
Using predefined namespace prefixes is unconventional
Switch to
'XXX-'
What XXX will be is for
Friday.
#63 Entities / Window
states
Lingering issue:
What are the semantics of the Consumer refusing to change window
state?
Mike F: Some
confusion over window statesŠis it a state? Or is it a
style?
Rich: It's a
state that implies a style.
Mike F: Consumer
refuses, then it should immediately call getMarkup.
Gil: How typical
would it be for the Consumer to refuse a state?
Mike F: If the
Consumer receives a request for a state it doesn't
support.
Sasha: This seems
very unlikely to occur. Leads to complexity on both Producer and
Consumer.
#102 Difference
between Edit and Config
Resolved: Drop
Config
#114 Should custom
roles, modes, window states be namespaced?
URI's are
encouraged.
Gil: The standard
roles, modes, window states aren't URI's. We're not eating
our own dog food.
Resolved: Leave as
is.
#48 Should an entity
state that it is cloneable?
Sept F2F said No.
We've also changed cloneEntity to take an entityHandle, and not a
refHandle.
Mike F: So, should
we recast this into "should an entity's transient state be
cloneable"?
Rich: Separate
issue.
Resolved: No, per
105 below.
Pending
resolutions
105 Add
releaseRefHandle(refHandle, registrationContext) to Markup
portType
Mike F:
Should it take an array of refHandles?
Resolved.
ReleaseRefHandles(refHandle[], registrationContext)
Vote: Yes:
11 No: 8 Abstain: 5
Not-present voters will
have a chance to vote next week.
CloneRefHandle?
Eilon: Not well
named. It's the underlying entity that gets cloned, and a new
refHandle gets created to reference it.
Discussion regarding the
use of cloning transient state. Consumer manages property
changes, user edits an entity, and entity gets cloned: should also
"clone" (really, transfer) the refHandle to the new clone so that
the user's current runtime state is preserved.
Resolved: Not in
this version.
115 GET
Forms
Proposals:
1. Consumers
SHOULD support method=get
2.
entity metadata usesMethodGet and URL template
structure:
www.consumer.com/_{wsia:requestParameters}/
Mike F: What are
the use cases for supporting GET at all?
Sasha: The fact
that it does have different behavior then POST, and it's heavily
used today (e.g. Google).
Yossi: We will
encourage Producers to use POST?
Rich:
Yes.
98 Should
operations (other than getProperty) return Entity property
values?
No.
99 Should property
operations optionally take a user context?
Yes.
#150 Use a SOAP fault
to indicate a redirect
Mike F:
Redirect means ignore every other param in the response.
Unconventional.
Andre: .NET
doesn't honor faults, or at least not very well. It would not be
usual to carry useful data like the redirect URL in a
fault.
Rich: The
suggestion really boils down to dividing the
InteractionResponse.
Mike F: Proposed
SOAP fault only as a means of illustrating the issue.
Sasha: You're
also supposed to send back content that could be
displayed.
Resolved: Divide
InteractionResponse into a choice: normal semantics or
redirectURL.
(Does anyone really need
new mode, new window state, etc., along with a
redirectURL?)
#111 getMarkup called
for MINIMIZED
Language suggestion:
[see slide]
#153 Remove
"extension" fields from ServiceDescription and
RegistrationData
userProfileExtensions, consumerExtensions,
registrationProperties in RegistrationData
registrationProperties in
ServiceDescription.
Mike F: These could
just live as standard extensions, and the fields should be
removed.
Yossi: Makes life a
bit more difficult, since Consumer now has to hunt for entity's
extended user profile attributes (for example) in the
extensions.
Rich:
consumerExtensions was brought up long ago, not sure anyone has found
a real use for it.
Charlie:
registrationProperties appear to be very close to wsdl endpoint
properties. We need to be clear that they are not.
Resolved:
ServiceDescription.registrationProperties of type
ModelDescription
Drop
consumerExtensions.
Mike F: Rename
userProfileExtensions to remove the "extension".
(customUserProfileData?)
#118
RegistrationData.userProfileExtensions[] needs description
sub-element
Mike F:
Human-readable description? This should be an
extension.
Resolved: Leave as
String[].
#130 minimal encoding
of URL rewriting params
Add
":"
#101 Valid values for
MarkupParam fields in spec examples/references.
See 0.8 draft, email
suggested changes to Rich.
#117 Markup interface
should be first described in spec
Keep as
is
#137 Require
"DefaultTemplate"
Two different ones
(secure/unsecured)
For case where Producer
rewriting requires templates, but Consumer didn't pass
any.
Mike F: Doesn't
seem useful for 1.0 timeframe.
Rich: Either
Consumer sends defaults, or the full list of templates
(MUST)
#151 Clear list
of Consumer and Producer requirements
Resolved:
Separate document to provide guidance to implementers.
#139 Delete unused
glossary terms
Keep 'Action' as
a synonym for 'Interaction'.
Mike F: We also
need a term for "portlet instance" based on yesterday's decision
to optionally carry a portlet ID.
#134 use of the GUEST
role
If there's no user
ID, what's the value of carrying the GUEST role?
Mike F: This is a
role that applies to this user, regardless of the portlet he
uses.
Alej: Can a profile
key be shared by multiple users?
Yes.
--
Rex Brooks
Starbourne Communications Design
1361-A Addison, Berkeley, CA 94702 *510-849-2309
http://www.starbourne.com * rexb@starbourne.com
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
| [Elist Home]
Powered by eList eXpress LLC