This page lists the tasks the Wicket team agreed to implement for Wicket 7.0.
Ideas for Wicket 7.0 list some more ideas but to add a task in the Roadmap it has to be discussed first in the dev mailing list. Ideas with attached patch in Jira ticket or Pull Request have a bigger chance to be included in the Roadmap.
How to help us
Pick a task from the Roadmap wiki page or from Jira with "Fix Version" = 7.0.
Implement it (+ tests when possible) and make a Pull Request at GitHub (apache/wicket). We do not own the GitHub repo but it is easy to pull from your repos and apply the code. It is also easy to make code reviews and comment.
Add a comment to the ticket in Jira when you start on it. Just to prevent two or more people working on the same thing.
Java 7 as a minimum
Java 7 has nice support for generics, better annotations, and Java 6 is reaching its end of life pretty soon.
Assignee: mgrigorov
Status: Not started
Jira:
Generics for org.apache.wicket.Component
Using Java 7 will allow to use the "diamonds operator", i.e.
Component<Entity> c = new SomeComponent<>("id", model);
Assignee: mgrigorov
Status: Not started
Jira:
Servlet 3 as a minimum
While we opted to not require servlet 3 for wicket 6, it has bitten us a couple of times solving issues in wicket 6. Servlet 3 has been out for ages, so we should move with the times.
Assignee: mgrigorov
Status: Not started
Jira:
Tickets in Jira with "Fix Version" = 7.0
PageParameters improvements
- read-only
- make it possible to differentiate between named indexed parameters and query string ones.
See WICKET-4594, http://markmail.org/thread/cc7yjwshqugj4wic, WICKET-4441
Assignee: mgrigorov
Status: Not started
Minor API cleanups
- Rename renderHead(HtmlHeaderContainer) https://issues.apache.org/jira/browse/WICKET-4964
Assignee: mgrigorov
Status: Not started
Jira: WICKET-4964
API Tweaks
SimpleFormComponentLabel should output the "required" class just like wicket:for
ajaxbehavior#updateAjaxAttributes() should get component passed in
otherwise referencing the component as needed in throttle settings is annoying
queryField.add(new AjaxFormComponentUpdatingBehavior("onkeydown") { protected void updateAjaxAttributes(AjaxRequestAttributes attributes) { attributes.setThrottlingSettings(new ThrottlingSettings(queryField.getMarkupId(), Duration.seconds(1))); ----------------------------------------------------------------------------^
throttling settings should be mutable to make it easier to override just the duration without having to figure out an id
JavaScriptResourceReference#getDependencies() should return an appendable List
so we can do
class MyReference extends JavascriptReference { getDependencies() { List<?> list=super.getDependencies(); list.add(...); return list; } }
XyzValidator#decorate() should work with IValidationError instead of ValidationError
Refactor checkgroup/radiogroup to make them non-components.
- it is awkward to require a parent container as a wicket component. most of the time it needs to be attached to wicket:container tag because there is no reason to have an actual parent tag or a parent tag is impossible (in case of trs, lis, etc)
- having groups as non-components will allow for nested sets of checks and radios
- having groups as non-components will allow for disjointed sets of checks and radios in a cleaner fashion
cdi 1.1 upgrade
wicket-cdi should use cdi 1.1 which should remove dependency onto seam-conversation module.