hi blake,

no - my suggestion was that it should be a feature which can be used
independently.
if users need a window scope and they use
 * cdi, they can use codi
 * spring, they can use orchestra (if we implement it there as well)
 * ~plain jsf, they should be able to use a simpler version which is
independent of a special component lib (e.g. provided by myfaces-commons)

regards,
gerhard

http://www.irian.at

Your JSF powerhouse -
JSF Consulting, Development and
Courses in English and German

Professional Support for Apache MyFaces


2010/7/19 Blake Sullivan <[email protected]>

> Thanks Gerhard.
>
> Did you want Trinidad to be configurable to delegate to Orchestra if its
> available, in this case?
>
> -- Blake Sullivan
>
>
> On Jul 19, 2010, at 12:23 AM, Gerhard Petracek wrote:
>
> hi blake,
>
> it's similar to the conversation context id of orchestra - we just have an
> id for every window.
>
> (in case of @WindowScoped we just add a component to the view-root (before
> the page gets rendered).
> the window id is stored as state of the component. in case of jsf 1.2 and
> redirects we need an url parameter for the get-request. the implementation
> is pluggable - so it's possible to provide a custom implementation for
> storing and restoring the information. in case of jsf 2.0+ and redirects you
> won't see an url parameter. in this case we use the flash scope to store the
> required information.)
>
> i'll add all the details to the wiki page [1]. i've finished the
> implementation of the first draft by the end of last week. so i've to
> cleanup some parts and i've to write further javadoc and documentation.
>
> regards,
> gerhard
>
> [1] http://wiki.apache.org/myfaces/Extensions/CDI/DevDoc/Conversations
>
> http://www.irian.at
>
> Your JSF powerhouse -
> JSF Consulting, Development and
> Courses in English and German
>
> Professional Support for Apache MyFaces
>
>
> 2010/7/19 Blake Sullivan <[email protected]>
>
>> What code actually associates the scope with the browser windows?  For
>> example, in Trinidad, we have a WindowManager tasked with that job.
>>
>> -- Blake Sullivan
>>
>> On Jul 17, 2010, at 1:47 PM, Gerhard Petracek wrote:
>>
>> hi blake,
>>
>> @WindowScoped (provided by myfaces codi) is a portable extension for cdi.
>> therefore not every project will be able to use it.
>>
>> anyway, imo it would be better to provide a cdi independent version of it
>> e.g. in myfaces-orchestra and/or myfaces-commons.
>>
>> regards,
>> gerhard
>>
>> http://www.irian.at
>>
>> Your JSF powerhouse -
>> JSF Consulting, Development and
>> Courses in English and German
>>
>> Professional Support for Apache MyFaces
>>
>>
>>
>> 2010/7/17 Jakob Korherr <[email protected]>
>>
>>> Hi Blake,
>>>
>>> Just FYI: we have also implemented a window scope for MyFaces Codi
>>> (ext-cdi). Maybe you want to take a look at it ;)
>>>
>>> Regards,
>>> Jakob
>>>
>>> 2010/7/17 Blake Sullivan <[email protected]>
>>>
>>> We currently have scopes for:
>>>> Application
>>>> Session
>>>> PageFlow
>>>> View
>>>>
>>>> I propose that we add a Map associated with each window or tab that the
>>>> user is interacting with.  This would slop into the scope hierarchy between
>>>> the Session and PageFlow scopes.  We would also expose the storage for the
>>>> current window on the RequestContext.  If no WindowManager was exposed and
>>>> therefore there was no current Window, this Map would be the SessionMap.
>>>>
>>>> For high availability, each of the attributes stored in a Window's map
>>>> would be stored as separate attributes in the Session.
>>>>
>>>> At least initially, we would not expose this map directly through its
>>>> own top-level windowScope EL property.
>>>>
>>>> Proposed apis:
>>>>
>>>> RequestContext:
>>>>
>>>>  /**
>>>>   * Returns a Map of objects associated with the current window if any.
>>>>  If there is no
>>>>   * current window, the Session Map is returned.
>>>>   * @return Map for storing objects associated with the current window.
>>>>   * @see org.apache.myfaces.trinidad.context.Window#getWindowMap
>>>>   */
>>>>  public Map<String, Object> getWindowMap()
>>>>
>>>> Window
>>>>
>>>>  /**
>>>>   * Returns the Map for storing data associated with this Window object.
>>>>  If the environment is
>>>>   * configured for fail-over, the contents of this Map must be
>>>> Serializable.
>>>>   * @return The client data storage Map.
>>>>   */
>>>>  public abstract Map<String, Object> getWindowMap();
>>>>
>>>> Since we would provide a default implementation of getWindowMap using
>>>> import org.apache.myfaces.trinidadinternal.util.SubKeyMap, we would also
>>>> have to make SubKeyMap public as well.
>>>>
>>>>
>>>
>>>
>>>
>>>
>>> --
>>> Jakob Korherr
>>>
>>> blog: http://www.jakobk.com
>>> twitter: http://twitter.com/jakobkorherr
>>> work: http://www.irian.at
>>>
>>
>>
>>
>
>

Reply via email to