[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Interfaces topics for F2F
Decided to send this directly vs. adding a document in the OASIS system as it seems more reliable these days. Anyway it will eventually get there. This document outlines a process for adding new interface issues/features for future versions and lists a set of known issues/features [that we have discussed in the past] for possible inclusion. At the F2F I want to define/adopt a process. If its based on what I propose I want to also identify as many issues/feature owners as possible. I have sent this document out today so you can begin to look through it to both think about what process you would like to see and to give you all an opportunity to think about committing to owning a feature. Also use it to identify features/issues I have fogotten/missed [and forward these to me] so I can have a moer complete list for the F2F. -Mike-Title: WSRP 1
The following describe the currently known potential design areas for WSRP 1.1 and 2.0 [that have at one point or another been tagged as being related to “Interfaces”]. For the upcoming F2F I would like to discuss and agree on a process for dealing with these and other Interface design issues/features. Following this overview I propose such a process. If a close proximity of this process is adopted/supported I would also like to assign where possible issue/feature owners and then for such issues/features take a non-binding strawman vote on whether this issue/feature is likely to be approved [and in what form]:
Steps to qualify/formalize an issue/feature for a WSRP release:
The issue owner is responsible for writing up the design for the solution. This write-up once approved will ultimately be rewritten/incorporated into the specification by the specification lead. If and only if there is volunteer to be an issue/feature owner can an issue/feature be approved for consideration in a given release.
Once an owner is identified the issue/feature must still be approved by the TC for consideration in a given release. This approval requires:
o The owner to submit a document that describes:
o The name/title of the issue/feature being considered
o The release this issue/feature is being considered for.
o A summary of the problem that raises this issues/requires this feature.
o A use case this issue/feature is supposed to address
o A description of scope. Though likely to describe the scope of this issue/feature its as [probably more] important to describe what this issue/feature will not address.
o A schedule including timetable for:
§ A strawman proposal [if part of plans] – a strawman proposal is the issue/feature owners preliminary design without general TC consultations. This is often used as a way to jump start/frame discussions for an issue or feature.
§ An initial draft proposal – [if part of the plans] this is an initial draft based on a working consensus of the interested parties in the TC. Note: it is strongly encouraged that an owner build a consensus for a solution before submitting the issue/feature to the TC for approval.
§ Anticipated submission date
The process used by an owner to build consensus for a solution is left to the discretion of the owner. The owner has the following facilities to support this effort:
o Utilize the [needs to be created] wsrp-interfaces mail list to post/receive feedback. In addition Utilize the wsrp-interfaces weekly conference call [Thursdays 8am, PST?] to get interactive discussion/feedback.
o When the issue is large enough/broad enough, setup a separate mail-list and/or conference call time.
WSRP 1.1 Issues/Features
· Semantics of no UserProfile vs no UserProfile data [onwer:TBD]
The question seems to be whether a portlet wants to distinguish between the case when no UserProfile exists vs. the consumer chooses not to send UserProfile information. The related question concerns what a consumer can send when the UserProfile/Identity represents a Group of individuals vs. a single individual. Which brings up the interesting question of whether a portlet needs to know/care whether the identity/category/profile information refers to an individual or a group.
WSRP 2.0 Issues/Features
· Security/Authorization [owner TBD: reconsitute wsrp-security??]
Problem: need to describe a more general purpose message level security protocol. The proposal is we rely on WS-Security. Is it as simple as stating that [i.e. its handled by lower protocol layers] or does WSRP need to do anything?
§ Are there levels of security not covered by our current standard [https] or the projected one [WS-Security] that we need to define/support?
o Authorization – User Identity/Roles
Problem: need to describe mechanisms for portlets to conveniently acquire user identity/authorization information in an interoperable manner.
§ Currently how a producer/portlet authenticates and authorizes a request is largely left as an exercise to the portlet. This presents real interoperability issues for portlets.
§ What use cases do we need to satisfy?
· Trusted consumer passes information over our protocol.
o Issue is value vs. using standard.
· Trusted consumer passes information using standard WS protocol [SAML?]
o Issue is which standards and when will there be general interoperable support.
· Producer/portlet can bind to/communicate with the consumers authentication/authorization service.
Do we need to reconsitute the Security subcommittee??
· Publish/Find/Bind [owner: wsrp-pfb [Alan?]]
Problem: How can consumers utilize [standard] registries to locate/use producers? A necessary question that needs to be answered to solve this is how can producers publish themselves [in a standard way] to [standard] registries so they can be located/used?
o Anything else?
· Caching [owner: TBD]
o Invalidating cached markup
Problem: WSRP 1.0 doesn’t support invalidation based caching meaning
· In-band invalidation: Actions that change “models” aren’t guaranteed to expunge stale cached content. For example, if a user updates her customization values, WSRP doesn’t define how the portlet can invalidate content dependent on these value. This leads to the possibility that after a user submits new customization values the portal page won’t be updated to reflect the new values because the existing content based on the old values continues to come from the cache.
§ Out-of-band invalidation: Some portlets change their “models” based on external events. I.e. an event not caused through the normal sequence of processing an user interaction. If these portlets are cached they may not be called until the content expires. They need an out-of-band invalidation mechansim to communicate this change.
Requirement: Invalidation caching is not required of consumers that support validation/expiry caching. I.e. it’s a layered model. Additional layering is likely required to allow consumers to support in-band but not out-of-band invalidation.
· Mode Control [Owner: TBD]
o By the Portlet
Problem: WSRP 1.0 provides no support for a consumer to influence the “Look” of Portlet Modes. In particular Modes like “Edit” and “Help” are dialogs in which the user interacts with a control/informational aspect of the portlet before returning to viwe the regular content. As there is significant value to the end user when such UI consistency can be provided, consumers have a strong interest in influencing the placement and labels/images used in these dialogs when rendered by the portlet.
Problem: WSRP 1.0 provides no [stateless] support for a portlet to maintain navigational integrity. Portlets may want to support a navigational hierarchy through its Modes [for example View->Edit->Help and back out again]. WSRP 1.0 doesn’t provide a mechanism for stateless portlets to accomplish this given that Consumers can provide operations that get users into Modes while Portlets often provide operations that get users out of Modes.
o By the Consumer
Problem: Our current property description isn’t sufficient to allow Consumers to provide quality user interfaces for Edit mode.
· Publishing/Transportability [owner: TBD]
Problem: Consumer often exist in an environment that supports the ability to be independently developed, staged, and externalized. The Consumer needs a way to transition its WSRP producers/portlets across these environments. Currently WSRP registrations are tied to a single Consumer [version/instance]. This is too limited to support the above Consumer environment. In addition, in such environments consumers want to selectively publish protions of the portlet [e.g. only some entities but not others … shared [default] customizations but not per user customizations]. From another perspective the user/authentication/authorization systems likely vary across this environment. How does the Producer/Portlet adjust?
Problem: Consumers sometimes want to prepackage/ship WSRP portlets along with pre-built portal pages [applications] for installation in a customers network/environment. How can we support installable environments in which a selected set of customized entities are shipped?
· Multiple Consumer Portlet Windows [owner: TBD]
Problem: In WSRP 1.0 there is strong assumption of a 1:1 correspondence between a portlet entity session and a portlet window. I.e. a portlet entity session runs within a single consumer portlet window. As a number of modes are dialog-ish [“help”, “edit”] some consumers would prefer the ability to render one or more of these dialogs in seprate [pop-up] windows. What needs to be defined to support this?
Problem: If we support the above do we need to give the portlet an ability to influence the placement/use of these separate windows?
· Portlet interoperability [owner: wsrp-coord [Rich]]
Problem: WSRP 1.0 doesn’t provide any mechanism for two portlets managed by a consumer to coordinate their function. However this is an important function many consumers currently provide.
o Interchange [mediated] state
o Interchange [mediated] events
· Document rendering [owner: TBD: wsrp-markup???]
Problem: There are a variety of use cases where a portlet needs to render [invisible] “content” in other page locations from where the portlet appears on the page. WSRP 1.0 doesn’t allow for this.
· Add ability for Portlets to return resources directly [owner: TBD]
Problem: The WSRP 1.0 specification deals with web resources [images, etc] as separate entities referred to but not supplied by the portlet. I.e. it relies directly on HTTP to deal with resources. Shouldn’t the WSRP protocol be capable of supplying all the content that represents a portlet?
· Leasing of [Registration?] Handles [owner: TBD]
[Problem – I Think??] WSRP producers have no way to indicate a duration for consumer registrations. It merely has the ability to revoke a registration whenever it seems fit. Is there a need for producers to support registration handle leasing?
· Support Consumer defined portlet hierarchies [owner: TBD]
Problem: WSRP doesn’t define hierarchical relationships between portlet entities. Some consumers find value in this. What needs to be added to WSRP so a Consumer can do this?
· Extend Redirect support [owner: TBD]
Problem: In WSRP 1.0 redirecting from a performBlockingInteraction is mutually-exclusive from returning a new cloned entity, setting up a session, etc. Is this too limiting?
· Add back performInteraction() [owner: TBD]
Problem: We removed this optimization to simplify the specification. However, we have other [complex] optimizations in the specification which will likely be extended to new uses. Shouldn’t we optimize the scenario in which a portlet is session based and knows that user actions targeted to it have no side-effects beyond that particular entity [i.e. no internal shared models nor external shared models/events]? This seems to be a form of a canonical portlet yet its not optimized.
· Add PropertyDescription.propertyUsage field [owner: TBD]
· Add UpdateResponse.isSecure field [owner: TBD]
· Add BlockingInteractionResponse.rewriteRedirectURL field [owner: TBD]
· Add RegistrationData.version field [owner: TBD]
· Add releaseCookie() [owner: TBD]