 |
| |
| META TOPICPARENT | name="JSF2Home" |
The following technologies will most likely need revision to
coordinate with this specification: | | | Allow for better insight into why a value binding failed to propagate.
Specify how iterating components assign HTML ids to their constituents. This will enable JavaScript addresability | |
> > | Support for Offline operation | | | \ No newline at end of file |
| |
| META TOPICPARENT | name="JSF2Home" |
The following technologies will most likely need revision to
coordinate with this specification: | | | concept.
\ No newline at end of file | |
> > | Allow for better insight into why a value binding failed to propagate.
Specify how iterating components assign HTML ids to their constituents. This will enable JavaScript addresability |
| |
| META TOPICPARENT | name="JSF2Home" |
The following technologies will most likely need revision to
coordinate with this specification: | | | Ajax request, but there no place in the DOM to put it after Ajax
response. | |
> > | - Ability to call managed bean methods with a URL path for use with Ajax as
Shale-Remoting does: http://shale.apache.org/shale-remoting/index.html
This may eliminate the need to create custom phase listeners to respond
to Ajax requests. | | | KP> * Ability to define Lifecycle ID outside the web.xml file (looks like
KP> this is already in your document under "no configuration required?) |
| |
| META TOPICPARENT | name="JSF2Home" |
The following technologies will most likely need revision to
coordinate with this specification: | | | Specify how ordering of ServletContext? listeners works in web.xml and
in TLD files in jars in WEB-INF/lib | |
< < | Servlet support for File Upload. | > > | Servlet support for File Upload. (enctype="multipart/form-data" ) | | | Programmatic Access to web.xml (like what Jetty does). Obviate the
need for writing a web.xml parser. |
| |
| META TOPICPARENT | name="JSF2Home" |
The following technologies will most likely need revision to
coordinate with this specification: |
| |
| META TOPICPARENT | name="JSF2Home" |
| |
< < | | | | The following technologies will most likely need revision to
coordinate with this specification:
| | | application events. Maybe, "call this each time something
validates," or "call this after everything successfully validates. | |
> > | Make the current evaluated component available. This feature enable things like this:
<h:inputText ... style="#{myfun:isValid() ? 'ok' : 'error'}">
insted of the current syntax:
<h:inputText id="text" ... style="#{myfun:isValid("form:text")? 'ok' : 'error'}" > | | | Handle Duplicate Button Presses
gracefully. https://javaserverfaces-spec-public.dev.java.net/issues/show_bug.cgi?id=31 |
| |
| META TOPICPARENT | name="JSF2Home" |
| |
> > | | | | The following technologies will most likely need revision to
coordinate with this specification:
| | | | |
> > |
leewas> 1. Allow specify scope of managed-bean to portlet-scope
leewas> session or application-scope session in portlet environment.
leewas> 2. Support portlet IPC.
| | |
WebBeans (JSR-299) | | | Fix dataTable! | |
> > | DonBrown?> The dataGrid tag can't take a Collection as its
DonBrown?> model, but instead requires a List. This I don't
DonBrown?> understand because a Collection can just as easily be
DonBrown?> iterated over. Many times, your DAO's return a
DonBrown?> Collection, which may just be the result of
DonBrown?> Map.values(), a Set.
Consider standardizing Creator's DataProvider?. | | | Another important thing I'd like to see is improving the IOC
container, I think adding construction injection() and adding some
AOP features will make JSF IOC what people expect from an IOC | | | Ajax request, but there no place in the DOM to put it after Ajax
response. | |
> > | KP> * Ability to define Lifecycle ID outside the web.xml file (looks like
KP> this is already in your document under "no configuration required?) | | | JSF internals must become less visible to developers. For example
Restore View phase shouldn't be visible in a form of getters called
to ?restore? model state. | | |
Scaffolding UIComponents/Models for Rapid Development with EJB3 (BeanEditor?/Seam UI/Rails) | |
> > | arobinson74> I'd like to see improvements to
arobinson74> UIComponent.findComponent. I had made a request that
arobinson74> involves this with A4J?:
arobinson74> http://jira.jboss.com/jira/browse/AJSF-46 The gist of it
arobinson74> being that a developer has no way to find a component,
arobinson74> using "UIComponent.findComponent", above its current
arobinson74> naming container with a relative component ID/path. It
arobinson74> would be great to have a parent syntax. For example:
arobinson74> ..:componentId
arobinson74> The ".." would tell findComponent that it should find
arobinson74> the naming container of the current component and go up
arobinson74> one naming container above that. So a client ID of
arobinson74> "A:B:C:D" the component could find "B" by using "..:.."
arobinson74> instead of having to give a full path of ":A:B". | | | Subcategory: Navigation
Allow EL evaluation within navigation cases to enable bookmarkable | | |
Retain ability to use alternate ViewHandlers?
| |
> > | KP> * ViewHandler? (and other parts of JSF) ordering when there are multiple
KP> implementations -- also perhaps restrict to certain URLs
| | | Separate View mapping-related methods from ViewHandler?
(ActionMapper? or ViewMapper? based on FacesContext?) | | | Integrate with servlet login/logout. | |
> > | suckerd> The one thing I'm missing is
suckerd> security in JSF. Myfaces addressed this in their
suckerd> components. I find the jsf-security way
suckerd> (http://jsf-security.sourceforge.net/) a good start,
suckerd> providing a securityScope an EL expressions like userInRole
suckerd> ...etc. And of course facelets rule for bringing the DRY
suckerd> principle to JSF-pages. Thx, Mike | | | Subcategory: Misc features: | |
> > | DanLabrecque?> In the new features section, I would like to see support
DanLabrecque?> to skip phases of the life cycle. For example, when
DanLabrecque?> creating an Ajax based auto-validate text field, it would
DanLabrecque?> be very helpful to set a flag indicating that the update
DanLabrecque?> phase should be skipped. I still want the partial tree
DanLabrecque?> traversal feature to decode and validate the user's input,
DanLabrecque?> but I do not want the text field value to be updated in
DanLabrecque?> the backing bean. That is, not until the user clicks an
DanLabrecque?> submit button on the page, for example. I envision that
DanLabrecque?> this would be similar to setting an immediate flag. | | | * Ability to specify <h:form> method attribute (GET or POST)
* Configurable default timezone for <f:convertDateTime/>
* Configurable default styles for <h:messages/> | | | quilleashm> walk the entire event stack to look for the real event of
quilleashm> interest. | |
< < | There is no clear distinction between client side and server side Method and Value bindings.
For example, the standard HTML renderkit violates the concept that tags are independent of the
rendering kit. However, as a practical matter, actions should be able to be executed either client-side
or server-side depending upon implementation. This should be controlled through the managed bean
facility that would be used to configure both language and locality. This facility could be used to
configure objets to be either client or server side objects, Java, JavaScript or other. Implementations
would only need to support Java and server side objects (as JavaServer Faces implies). However, when
possible, render-kits could allow client-side componet access using this concept. | > > | There is no clear distinction between client side and server side Method
and Value bindings. For example, the standard HTML renderkit violates
the concept that tags are independent of the rendering kit. However, as
a practical matter, actions should be able to be executed either
client-side or server-side depending upon implementation. This should
be controlled through the managed bean facility that would be used to
configure both language and locality. This facility could be used to
configure objets to be either client or server side objects, Java,
JavaScript or other. Implementations would only need to support Java
and server side objects (as JavaServer Faces implies). However, when
possible, render-kits could allow client-side componet access using this
concept. | | | |
| |
| META TOPICPARENT | name="JSF2Home" |
The following technologies will most likely need revision to
coordinate with this specification: | | | quilleashm> walk the entire event stack to look for the real event of
quilleashm> interest. | |
< < | There is no clear distinction between client side and server side Method and Value bindings. For example, the standard HTML renderkit violates the concept that tags are independent of the rendering kit. However, as a practical matter, actions should be able to be executed either client-side or server-side depending upon implementation. This should be controlled through the managed bean facility that would be used to configure both language and locality. This facility could be used to configure objets to be either client or server side objects, Java, JavaScript or other. Implementations would only need to support Java and server side objects (as JavaServer Faces implies). However, when possible, render-kits could allow client-side componet access using this concept. | > > | There is no clear distinction between client side and server side Method and Value bindings.
For example, the standard HTML renderkit violates the concept that tags are independent of the
rendering kit. However, as a practical matter, actions should be able to be executed either client-side
or server-side depending upon implementation. This should be controlled through the managed bean
facility that would be used to configure both language and locality. This facility could be used to
configure objets to be either client or server side objects, Java, JavaScript or other. Implementations
would only need to support Java and server side objects (as JavaServer Faces implies). However, when
possible, render-kits could allow client-side componet access using this concept. | | | |
| |
| META TOPICPARENT | name="JSF2Home" |
The following technologies will most likely need revision to
coordinate with this specification: | | | quilleashm> walk the entire event stack to look for the real event of
quilleashm> interest. | |
< < | | > > | There is no clear distinction between client side and server side Method and Value bindings. For example, the standard HTML renderkit violates the concept that tags are independent of the rendering kit. However, as a practical matter, actions should be able to be executed either client-side or server-side depending upon implementation. This should be controlled through the managed bean facility that would be used to configure both language and locality. This facility could be used to configure objets to be either client or server side objects, Java, JavaScript or other. Implementations would only need to support Java and server side objects (as JavaServer Faces implies). However, when possible, render-kits could allow client-side componet access using this concept. | | | |
| |
| META TOPICPARENT | name="JSF2Home" |
The following technologies will most likely need revision to
coordinate with this specification: | | |
Look at generic 'Visitor Pattern' for Lifecycle Processing (Martin Marinschek) | |
> > | Martin> 2) rewrite all phase processing logic to use suggestion 1 -
Martin> with hooks for individual components to take part in the
Martin> processing if necessary - this would make the JSF components
Martin> a lot better structured and a lot leaner so out of:
Martin> processDecodes(), processUpdates(); ... we make one
Martin> invokeOn() - and the lifecycle-implementation does the
Martin> rest. The component can intervene with filters then, to make
Martin> sure it can specifically decide about inclusion/exclusion of
Martin> children in the phase processing. | | | Divide processValidations phase to processConversions and processValidation phase and
add an attribute like "causesValidation" to UICommand in order to skip validation to be used instead of hacks like "immediate" (Cagatay Civici) | | | Generic UIData iterator component, i.e. Facelets ui:repeat or Tomahawk dataList (Mike Kienenberger) | |
< < | Ability to visit ever node, even every cell in a datatable. | > > | Ability to visit every node, even every cell in a datatable. | | | Ability to have a "component" EL implicit object
| | | Automatically wrap multiple children of an f:facet in h:panelGroup or similar non-rendering container. | |
> > | gvanmatre> This metadata provides a layer of indirection that the
gvanmatre> component tree is built from. Within this layer we can add
gvanmatre> reuse and other true OO principles not possible or
gvanmatre> overlooked in a simple templating approach. In terms of
gvanmatre> reuse, I'm talking about inheritance in addition to
gvanmatre> composition. By focusing on an API, it could allow for
gvanmatre> template metatdata to be stored in a variety of forms,
gvanmatre> XML, HTML, Java Annotations, JCR (aka Jackrabbit) or
gvanmatre> RDBMS. This approach could also benefit JSP built view
gvanmatre> besides other types of page entry points. | | | Subcategory: EL
Allow resource bundles to contain EL expressions | | | * Add getPhaseId() to FacesContext? for accessing the current JSF lifecycle phase of the current request.
* Consider separating the conversion and validation into separate phases. | |
> > | Martin> 4) solving the form - link - button issues - once and for
Martin> all. Find a way to do a form-submission client-side
Martin> independent of the concrete implementation.
vajav> * Force implementations to make ALL attributes of the html
vajav> elements stuff is rendered to accessible! E.g. the size
vajav> attribute of selectManyMenu (who the f*** thought it would be
vajav> good to render a menu supposed for selecting more than 1 entry
vajav> at time with a fixed size of 1 ???) .
vajav> * Make the html output xhtml 1.1 strict compatible - currently
vajav> there are problems with the ids & client side state saving.
vajav>* Don't use javascript if it isn't absolute necessary (e.g. for
vajav> posting forms)!
quilleashm> I would like to see a FacesEvent?.get/setParent() that
quilleashm> must be used when wrapping an event, usually in
quilleashm> queueEvent(). For example UIData in the RI wraps up
quilleashm> events from children in it's own event class so it can
quilleashm> set it's own index when the event gets
quilleashm> broadcast. Ancestors of the UIData cannot then "see" the
quilleashm> original event. Implementation would just add a
quilleashm> getParent() to FacesEvent? and then setting either with a
quilleashm> setter or a constructor overload. Components can then
quilleashm> walk the entire event stack to look for the real event of
quilleashm> interest.
| | | |
| |
| META TOPICPARENT | name="JSF2Home" |
The following technologies will most likely need revision to
coordinate with this specification: | | | * Make UISelectMany? choose a converter-for-class for E from a List<E> genericized type
* Ability to define converters for annotated classes (e.g. @Entity)
* Define a parent FacesEvent? property on FacesEvent?. (e.g. in the RI UIData wraps events from children in a WrappedEvent?. Components higher in the tree cannot then inspect the original event) | |
> > | * Add getPhaseId() to FacesContext? for accessing the current JSF lifecycle phase of the current request.
* Consider separating the conversion and validation into separate phases. | | | |
| |
| META TOPICPARENT | name="JSF2Home" |
The following technologies will most likely need revision to
coordinate with this specification: | | | - rogerkeays> Reuse component state available from templates | |
> > | - With a boolean attribute like "transient ", enable page developer to decide whether to save the state of the component or not. Pretty much like the enableViewState attribute in asp.net(Cagatay Civici) | | | Category: Adoption
Subcategory: UI features |
| |
| META TOPICPARENT | name="JSF2Home" |
The following technologies will most likely need revision to
coordinate with this specification: | | | * Configurable default styles for <h:messages/>
* Make UISelectMany? choose a converter-for-class for E from a List<E> genericized type
* Ability to define converters for annotated classes (e.g. @Entity) | |
> > | * Define a parent FacesEvent? property on FacesEvent?. (e.g. in the RI UIData wraps events from children in a WrappedEvent?. Components higher in the tree cannot then inspect the original event) | | | |
| |
| META TOPICPARENT | name="JSF2Home" |
The following technologies will most likely need revision to
coordinate with this specification: | | | Error reporting line precise (down to servlet) | |
> > | Get access to the Faces Context from servlet | | | Category: JSP SPEC Requirements
JSP.eval() | | | Better type conversion, like OGNL | |
> > | Okay, it's not the responsibility of the JSF EG, but which do you prefer?
String foo = (String) ((SomeBean?) FacesContext?.getCurrentInstance()
.getExternalContext().getApplicationMap().get("bean")).getConfig()
.get("my.config.variable");
or
String foo = ${bean.config['my.config.variable']}
| | | Category: Process
Align spec versions with Java EE 6 | | | - Easier web application layout. Inspired by RoR?, Phobos | |
> > | JAR Layout - the idea of a location convention (i.e. all
converters in in war/converters/seam-converters.jar) is
interesting - but surely if all you need to do to make a class a
converter is do @Converter, @ConvertToString, @ConvertToObject
(or something)... or have I missed a point here? | | | - Zero deployment time for all artifacts, including faces-config.xml
(also mentioned on JSR-252-EG) | | | Examples:
- annotations for persisting member variables (@SaveState)
- annotations to help renderers - @Attribute("target") | |
> > | - strong support for annotations for defining a component and
building the necessary wiring e.g. so you can just do
@Property(el=true, saveState=true), or @Validator... | | |
- SubCategory?
- Managed Bean Development
| | | - avoid the "everything is a POST" syndrome - explore caching
- error reporting line precise (down to servlet) | |
> > | PeteMuir?> One of the big issues currently is that it needs soooo much
PeteMuir?> wiring - to write a tag you write the component class, add
PeteMuir?> it to faces-config.xml (with all its properties), add it to
PeteMuir?> your.taglib.xml, write a Tag class (with all it's
PeteMuir?> properties) and add it to your tld (with all its
PeteMuir?> properties),. You then have to write your state saving
PeteMuir?> manually, and make each property read both a static and EL
PeteMuir?> resolvable variable. Tools like Ajax4jsf's CDK take some of
PeteMuir?> the pain out of this, but annotations would be much neater
PeteMuir?>  | | | Better Error reporting, like what you get with Tapestry (also in
JSR-252-EG, where it was said: any time there is an error in any
part of the lifecycle, the user should see not just a cryptic stack | | | - annotations for validation
- better faces-config support for lage apps | |
> > | what's needed is a pluggable exception handler so that an application
can define a centralised exception configuration that deals with
persistence, business AND UI. | | | Category: Performance
- SubCategory?
- State Saving
| | | - Re-do UIComponent State Saving, with a view towards making stateless
components the default. | |
> > | - rogerkeays> Reuse component state available from templates | | | Category: Adoption
Subcategory: UI features | | | AOP features will make JSF IOC what people expect from an IOC
container. | |
> > | CRUD - Field decoration, validation and conversion - easy CRUD is
certainly good, field decoration - like Trinidad's label, help and
message placement BUT it should templatable (for example, Facelets
ui:decorate) so that you can easily change the layout of the
decoration. | | | Subcategory: Request Processing Lifecycle
Ajax support: Specification for client side event mechanism. | | | something like enhanced t:buffer tag from Tomahawk) Ex: for sending
an email or generating report for subsequent download
| |
< < | | > > | You want to be able to add listeners for various kinds of lifecycle
application events. Maybe, "call this each time something
validates," or "call this after everything successfully validates. | | | Handle Duplicate Button Presses
gracefully. https://javaserverfaces-spec-public.dev.java.net/issues/show_bug.cgi?id=31 | | | Lost update
problem. https://javaserverfaces-spec-public.dev.java.net/issues/show_bug.cgi?id=70 | |
> > | rogerkeays> Invoke lifecycle on first request | | | Bookmarkable JSF pages
Regarding HTTP GET support, external systems should be able to do an HTTP GET or POST request | | | signal to framework what to do: update that portion of View, full
View or redirect to some other View. | |
> > | JSF is currently missing navigation controls - you want to call an
action or navigate to an outcome BUT you don't need to submit a
form, and should be restful! Lots of toolkits have implemented these
(e.g. Trinidad, Seam UI) | | | Subcategory: Validation/Conversion
Decent inter-component and form-level validation | | | Validation Messages must have Client-side API to allow seamless
Client and Ajax style validations. | |
< < | | > > | Use generics in validators and converters - very minor, but would
save a few casts! | | | Subcategory: View Description Language | | | Ajax security
Integrate with servlet login/logout. | |
> > | Subcategory: Misc features:
* Ability to specify <h:form> method attribute (GET or POST)
* Configurable default timezone for <f:convertDateTime/>
* Configurable default styles for <h:messages/>
* Make UISelectMany? choose a converter-for-class for E from a List<E> genericized type
* Ability to define converters for annotated classes (e.g. @Entity) | | | |
| |
| META TOPICPARENT | name="JSF2Home" |
The following technologies will most likely need revision to
coordinate with this specification: | | | Fix dataTable! | |
> > | Another important thing I'd like to see is improving the IOC
container, I think adding construction injection() and adding some
AOP features will make JSF IOC what people expect from an IOC
container. | | | Subcategory: Request Processing Lifecycle
Ajax support: Specification for client side event mechanism. | | | Restore View phase shouldn't be visible in a form of getters called
to ?restore? model state. | |
> > | Allow storing result of rendering into a file (might be with
something like enhanced t:buffer tag from Tomahawk) Ex: for sending
an email or generating report for subsequent download
| | | Handle Duplicate Button Presses
gracefully. https://javaserverfaces-spec-public.dev.java.net/issues/show_bug.cgi?id=31 |
| |
| META TOPICPARENT | name="JSF2Home" |
The following technologies will most likely need revision to
coordinate with this specification: | | | Subcategory: UI features | |
< < | - Easy customizable theme API | > > | - Easy customizable theme/skin API. Skinability Framework, that
includes Skin parameters API, dynamically generated CSS and Images
using Skin parameters (related to Resource Framework), easy use of
Skin parameters from pages and Components. | | | - Make sure that developers targeting mobile devices aren't forced into downloading tons of JavaScript
and CSS for every page the way Visual Web Pack theme files do. Mobile web apps need very small HTML | | | Category: Features | |
> > | Subcategory: Data access
Fix dataTable! | | | Subcategory: Request Processing Lifecycle
Ajax support: Specification for client side event mechanism. | | | Ajax request, but there no place in the DOM to put it after Ajax
response. | |
> > | JSF internals must become less visible to developers. For example
Restore View phase shouldn't be visible in a form of getters called
to ?restore? model state. | | | Handle Duplicate Button Presses
gracefully. https://javaserverfaces-spec-public.dev.java.net/issues/show_bug.cgi?id=31 | | | Subcategory: UI Components | |
> > | Component library interoperability. More specific Component API,
standard Resources Framework, Scripting API ? all this making less
possible to produce incompatible components.
In addition to this special TCK to validate/certificate Component
Libraries for compatibility. | | | Support for associated resources that go along with a component. Make
it easy to bundle: | | | Ability to define parameters to be passed for a navigation case (Cagatay Civici) | |
> > | Navigation API may support more complex cases, like partial
updates. That way you may have Ajax action performed on server and
signal to framework what to do: update that portion of View, full
View or redirect to some other View. | | | Subcategory: Validation/Conversion
Decent inter-component and form-level validation | | | Need a more powerful way to decorate input fields when validation or
conversion errors occur, perhaps using facets on h:form | |
> > | any Input may have 'validate' call that will perform Client or
Ajax-style validation. Same for 'update' function that will perform
validation and update Model on Server using Ajax call.
Validation Messages must have Client-side API to allow seamless
Client and Ajax style validations.
| | | Subcategory: View Description Language
Include Facelets/JSFTemplating/Tapestry 5 API in Spec. |
| |
| META TOPICPARENT | name="JSF2Home" |
The following technologies will most likely need revision to
coordinate with this specification: | | | Separate View mapping-related methods from ViewHandler?
(ActionMapper? or ViewMapper? based on FacesContext?) | |
> > | Automatically wrap multiple children of an f:facet in h:panelGroup or similar non-rendering container. | | | Subcategory: EL
Allow resource bundles to contain EL expressions |
| |
| META TOPICPARENT | name="JSF2Home" |
The following technologies will most likely need revision to
coordinate with this specification: | | | target both desktop and mobile devices would be invaluable. -- Main.rdelaplante - 01 Apr 2007
- Build in commonly used validators such as: | |
< < | * E-mail address: regExp = "(\\w+)(\\.\\w+)*@(\\w+\\.)(\\w+)(\\.\\w+)*"; | > > | * E-mail address: regExp = "(\\w+)([-.]\\w+)*@(\\w+\\.)(\\w+)(\\.\\w+)*"; | | | * URL: configurable to validate different types of URL's such as http://, ftp://, etc... maybe the java.net.URL
class could be used to help validate.
* Credit card number: LUHN check. Maybe even add support to enforce allowed card types (configurable) |
| |
| META TOPICPARENT | name="JSF2Home" |
The following technologies will most likely need revision to
coordinate with this specification: | | | browser detection for displaying the correct view. Being able to develop a single JSF 2.0 web app that can
target both desktop and mobile devices would be invaluable. -- Main.rdelaplante - 01 Apr 2007 | |
> > | - Build in commonly used validators such as:
* E-mail address: regExp = "(\\w+)(\\.\\w+)*@(\\w+\\.)(\\w+)(\\.\\w+)*";
* URL: configurable to validate different types of URL's such as http://, ftp://, etc... maybe the java.net.URL
class could be used to help validate.
* Credit card number: LUHN check. Maybe even add support to enforce allowed card types (configurable)
-- Main.rdelaplante - 02 Apr 2007
| | | Category: Features |
| |
| META TOPICPARENT | name="JSF2Home" |
The following technologies will most likely need revision to
coordinate with this specification: | | | - Easy customizable theme API | |
> > | - Make sure that developers targeting mobile devices aren't forced into downloading tons of JavaScript
and CSS for every page the way Visual Web Pack theme files do. Mobile web apps need very small HTML
output, and there is very limited CSS and JavaScript support. -- Main.rdelaplante - 01 Apr 2007
- Examine Oracle JDeveloper's JSF support for mobile devices. It appears that for each page being developed
you can create a view for desktop computers and a view for mobile devices. They might even provide
browser detection for displaying the correct view. Being able to develop a single JSF 2.0 web app that can
target both desktop and mobile devices would be invaluable. -- Main.rdelaplante - 01 Apr 2007 | | | Category: Features
Subcategory: Request Processing Lifecycle | | | Bookmarkable JSF pages | |
> > | Regarding HTTP GET support, external systems should be able to do an HTTP GET or POST request
to a JSF form that executes the action. For example, an external system wanting to pass in
data for two fields of a search form and execute the search action to go directly to the results screen.
-- Main.rdelaplante - 01 Apr 2007 | | | Multi-thread web applications: popups, frames, iFrames, etc.
Shale: viewController |
| |
| META TOPICPARENT | name="JSF2Home" |
The following technologies will most likely need revision to
coordinate with this specification: | | |
Look at generic 'Visitor Pattern' for Lifecycle Processing (Martin Marinschek) | |
< < | Divide processValidations phase to processConversions and processValidation phase and addition of and attribute like "causesValidation" to UICommand instead of hacks like "immediate" (Cagatay Civici) | > > | Divide processValidations phase to processConversions and processValidation phase and
add an attribute like "causesValidation" to UICommand in order to skip validation to be used instead of hacks like "immediate" (Cagatay Civici) | | | Subcategory: UI Components |
| |
| META TOPICPARENT | name="JSF2Home" |
The following technologies will most likely need revision to
coordinate with this specification: | | | - Allowing construction injection for managed properties other than setter injection | |
< < | - Integrate AOP features to the IOC container; for example ability to intercept methods that fit the *Save pattern. | > > | - Integrate AOP features to the IOC container; for example ability to intercept methods that fit the *Save pattern. (Cagatay Civici) | | |
- SubCategory?
- Renderer Development
| | |
Look at generic 'Visitor Pattern' for Lifecycle Processing (Martin Marinschek) | |
> > | Divide processValidations phase to processConversions and processValidation phase and addition of and attribute like "causesValidation" to UICommand instead of hacks like "immediate" (Cagatay Civici) | | | Subcategory: UI Components
Support for associated resources that go along with a component. Make | | |
Bind navigation cases to exception or response codes (web.xml) | |
< < | Ability to define parameters to be passed for a navigation case | > > | Ability to define parameters to be passed for a navigation case (Cagatay Civici) | | | Subcategory: Validation/Conversion |
| |
| META TOPICPARENT | name="JSF2Home" |
The following technologies will most likely need revision to
coordinate with this specification: | | | - Dialog/Conversation/Flash/Scope: there is currently no way to
insert a scope between request and session. (WebBeans? overlap) | |
> > | - Allowing construction injection for managed properties other than setter injection
- Integrate AOP features to the IOC container; for example ability to intercept methods that fit the *Save pattern. | | |
- SubCategory?
- Renderer Development
- Declarative format for defining renderers - perhaps .tag files? | | |
Bind navigation cases to exception or response codes (web.xml) | |
> > | Ability to define parameters to be passed for a navigation case | | | Subcategory: Validation/Conversion
Decent inter-component and form-level validation |
| |
| META TOPICPARENT | name="JSF2Home" |
The following technologies will most likely need revision to
coordinate with this specification: | | | File upload component | |
> > | Generic UIData iterator component, i.e. Facelets ui:repeat or Tomahawk dataList (Mike Kienenberger) | | | Ability to visit ever node, even every cell in a datatable.
Ability to have a "component" EL implicit object | | | Decent inter-component and form-level validation | |
> > | partial/selective validation, i.e. subForms (Mike Kienenberger) | | | Integrate with Validation JSR
Need a more powerful way to decorate input fields when validation or | | | Allow faces messages to contain EL expressions | |
> > | Add the ability to specify EL-functions within the faces-config.xml (Mike Kienenberger) | | | Subcategory: Security
JAAS support |
| |
| META TOPICPARENT | name="JSF2Home" |
The following technologies will most likely need revision to
coordinate with this specification: | | | Portlets
| |
< < | WebBeans (JSR-299) | > > | WebBeans (JSR-299) | | |
The Validation Specification (JSR-303)
| |
< < | Design-Time API for JavaBeans? (JSR-273) | > > | Design-Time API for JavaBeans (JSR-273) | | |
| |
< < | Design-Time Metadata for JavaServer Faces Components | > > | Design-Time Metadata for JavaServer Faces Components | | | (JSR-276)
| |
< < | Java API for RESTful Web Services (JSR-311) | > > | Java API for RESTful Web Services (JSR-311) | | |
|
|
> > |
| META TOPICPARENT | name="JSF2Home" |
The following technologies will most likely need revision to
coordinate with this specification:
-
Portlets
-
WebBeans (JSR-299)
-
The Validation Specification (JSR-303)
-
Design-Time API for JavaBeans? (JSR-273)
-
Design-Time Metadata for JavaServer Faces Components
(JSR-276)
Java API for RESTful Web Services (JSR-311)
Category: Servlet SPEC Requirements
Make it so you don't have to map the FacesServlet in the web.xml all
the time.
Specify how ordering of ServletContext listeners works in web.xml and
in TLD files in jars in WEB-INF/lib
Servlet support for File Upload.
Programmatic Access to web.xml (like what Jetty does). Obviate the
need for writing a web.xml parser.
Login/logout
Container Managed Authentication overhaul (also mentioned in JSR-252-EG list)
Error reporting line precise (down to servlet)
Category: JSP SPEC Requirements
JSP.eval()
Make JSP recognize JSF components in a first class manner.
Category: EL SPEC Requirements
Investigate plugging in other ELs into JSP (OGNL)?
Expanded read/write support in JSF el
Better type conversion, like OGNL
Category: Process
Align spec versions with Java EE 6
Make it possible for someone to pass the JSF 1.2 TCK with out
implementing deprecated methods.
Separate Standard HTML Renderkit from the JSF 2.0 effort into a
separate spec and/or JSR. Keep UICommand, UIData, etc in core spec.
Category: Ease Of Development
note: make sure to talk to users of Internet Service Providers. For people whose development environment is
hosted by an ISP, we have to make sure those users are happy.
SubCategory: Page Author Experience
- better support for .tag files
- HTML based development (ala Tapestry; Facelets helps)
- better way to "componentize" page parts
(better than jsp:include)
- Easier web application layout. Inspired by RoR, Phobos
- Zero deployment time for all artifacts, including faces-config.xml
(also mentioned on JSR-252-EG)
- implementations check for changes in faces-config.xml for
additional elements (such as nav handlers, components, etc..)..
- Grizzly support will deinitely help here.
- ability to inspect RenderKit for its Renderers at run time.
- Less configuration, more convention
- First class support for "Environment" concept, as in Rails:
Development,Test,Production
SubCategory: Component Development
- enable building custom components without tag handler,
faces-config.xml and tld - perhaps annotations use within
component class.
- use of annotations in custom components.
Examples:
- annotations for persisting member variables (@SaveState)
- annotations to help renderers - @Attribute("target")
SubCategory: Managed Bean Development
- annotations for dependency lookups
Example: @Lookup("#{param.id}")
- Generalizing Managed Beans so they can be used in the general web tier
- Leverage annotationsto declare a POJO a managed bean
- Dialog/Conversation/Flash/Scope: there is currently no way to
insert a scope between request and session. (WebBeans overlap)
SubCategory: Renderer Development
- Declarative format for defining renderers - perhaps .tag files?
Ability to write a renderer without resorting to out.println():
declarative rendering. See what Ajax4JSF does, as well as Ken
Paulsen's JSFTemplating. (Also mentioned in JSR-252-EG where it
is suggested that the writer is moved into a full SAX-compatible
handler, and where Adam suggests templating.)
- APIs for rendering script content. Targets the same requirements
targeted by shale-remoting.
SubCategory: Tag Handler Development
- We already help by generating tag handler classes and tld
Take this a step further and remove the need to generate
these completely. JSP spec change - programatic registration
of tag classes would allow JSF runtime to register tags as
it parsed faces-config.xml.
SubCategory: Application Development
- passing values from page to page
- additional scopes (process, dialog, conversation, etc..)
- avoid the "everything is a POST" syndrome - explore caching
- error reporting line precise (down to servlet)
Better Error reporting, like what you get with Tapestry (also in
JSR-252-EG, where it was said: any time there is an error in *any*
part of the lifecycle, the user should see not just a cryptic stack
trace, but also the component - including file and line number - that
triggered the problem, the EL expression that was being evaluated -
including the part of the EL expression that triggered the problem,
etc. Diagnosability for state saving is also important. On this point,
Gavin King wants to have centralized error handling, with an
interception point, perhaps using navigation rules, to help handle
errors.)
- control inclusion (or not) of jsessionid in URL via some external
attribute
- bookmark support
- annotations for validation
- better faces-config support for lage apps
Category: Performance
SubCategory: State Saving
- saving page deltas
- mostly "stateless" state saving
- Re-do UIComponent State Saving, with a view towards making stateless
components the default.
Category: Adoption
Subcategory: UI features
- Easy customizable theme API
Category: Features
Subcategory: Request Processing Lifecycle
Ajax support: Specification for client side event mechanism.
- update parts of the component tree (example: DynaFaces)
- standardize Ajax support in specification (probably with
some javascript library)
- Using javascript document.write() to build the component layout
on the client side is also show stopper, because document is
closed already during the Ajax requests/responses.
- Components with rendered="false" have no placeholders in the
browser DOM. As a result, component becomes rendered during the
Ajax request, but there no place in the DOM to put it after Ajax
response.
Handle Duplicate Button Presses
gracefully. https://javaserverfaces-spec-public.dev.java.net/issues/show_bug.cgi?id=31
Lost update
problem. https://javaserverfaces-spec-public.dev.java.net/issues/show_bug.cgi?id=70
Bookmarkable JSF pages
Multi-thread web applications: popups, frames, iFrames, etc.
Shale: viewController
Page Actions: Ability to say, "when this page loads, invoke this
action".
Alternative, Statless lifecycle
Transaction annotations.
Make Lifecycle Extensible/Customizable beyond PhaseListeners (Martin Marinschek)
Look at generic 'Visitor Pattern' for Lifecycle Processing (Martin Marinschek)
Subcategory: UI Components
Support for associated resources that go along with a component. Make
it easy to bundle:
*
o scripts
o images
o stylesheets
Calendar component
Tree component (Gavin King also wants this)
Tabbed view
File upload component
Ability to visit ever node, even every cell in a datatable.
Ability to have a "component" EL implicit object
Scaffolding UIComponents/Models for Rapid Development with EJB3 (BeanEditor/Seam UI/Rails)
Subcategory: Navigation
Allow EL evaluation within navigation cases to enable bookmarkable
links after action invocation.
Include EL evaluation with Navigation Rules and for Update Phase (Gavin King)
Bind navigation cases to exception or response codes (web.xml)
Subcategory: Validation/Conversion
Decent inter-component and form-level validation
Integrate with Validation JSR
Need a more powerful way to decorate input fields when validation or
conversion errors occur, perhaps using facets on h:form
Subcategory: View Description Language
Include Facelets/JSFTemplating/Tapestry 5 API in Spec.
Retain ability to use alternate ViewHandlers
Separate View mapping-related methods from ViewHandler
(ActionMapper or ViewMapper based on FacesContext)
Subcategory: EL
Allow resource bundles to contain EL expressions
Allow faces messages to contain EL expressions
Subcategory: Security
JAAS support
Ajax security
Integrate with servlet login/logout.
|
|