You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 23 Next »

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 this wiki page or from Jira with "Fix Version" = 7.0.
  • Implement it (+ tests when possible) and make a Pull Request at GitHub. 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.
    If there is no ticket in Jira for an entry in the Roadmap please create one. Always add a comment to the ticket in Jira when you start on it. Just to prevent two or more people working on the same task.
  • Add an entry to the Migration page with description of the change and short code sample of the old way and the new way of doing something.

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:
Status: Not started
Jira:

Generics for org.apache.wicket.Component

Using Java 7 will allow to use the "diamonds operator", i.e.

MyPage.java
  Component<Entity> c = new SomeComponent<>("id", model);

Assignee:
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: Started
Jira: WICKET-5167

Tickets in Jira with "Fix Version" = 7.0

PageParameters improvements

Assignee:
Status: Not started

Minor API cleanups

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)));
----------------------------------------------------------------------------^

The component is easily reachable via AbstractAjaxBehavior#getComponent()

throttling settings should be mutable to make it easier to override just the duration without having to figure out an id

Status: Done
Assignee: mgrigorov
JIRA: WICKET-5173

JavaScriptResourceReference#getDependencies() should return an appendable List

so we can do

class MyReference extends JavascriptReference {
  getDependencies() { List<?> list=super.getDependencies(); list.add(...); return list; }
}

Status: Done
Assignee: mgrigorov
Jira: WICKET-5124

XyzValidator#decorate() should work with IValidationError instead of ValidationError

Status: Done
Assignee: mgrigorov
Jira: WICKET-5174

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.

Upgrade dependencies to their latest stable version

Guice, Spring, JUnit, Mockito, Velocity, ...

Assignee: mgrigorov
Status: Done
Jira: WICKET-5175

Vote which experimental modules should become stable

The experimental modules can be promoted as stable and use the same version as wicket-core module.
This will make them first class citizens and may be more users will start using them, and at least will simplify their release process.

  • No labels