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

Compare with Current View Page History

« Previous Version 15 Next »

Remove Change and possibly VersionManager

no longer needed since we serialize the entire page. Downside - makes HttpSessionStore not as space efficient

Remove PageMap

PageMap is a misnomer and isnt really needed anymore - not with second level session store around.

Transparent clustering support out of the box and enabled by default
Window scope

this will basically replace PageMap and allow users to store per browser tab/window attributes

JDK-1.5 support
  • Generify models
  • Use varargs, for instance (a bad example) MarkupContainer#add(Component) -> MarkupContainer#add(Component...)
  • Would nice to parameterize application classes with a session type and pages classes with an application class. This will help to get rid of redundant casts when we want to access session etc.
    • Are you thinking about something else than covariance (which can be done with 1.5 just as easily)?
      • I meant to have something like this:
        Application.java
        class Application<SessionType extends Session> { 
           ... 
           SessionType getSession() { ... } 
        } 
        
        and
        Page.java
        class Page<ApplicationType extends Application> { 
           ... 
           ApplicationType getApplication() { ... } 
        }
        
        What do you mean when you talk about covariance?
        • I'm thinking about just doing:
          MyApplication.java
          class MyApplication extends Application { 
             ... 
             public static MyApplication get() {
                return (MyApplication) super.get();
             }
          } 
          
          and
          MySession.java
          class MySession extends Session { 
             ... 
             public static MySession get() {
                return (MySession) super.get();
             }
          } 
          
Make WicketTester a first class citizen

Currently WicketTester is one of the less mature parts of the core project. It really is useful and great, but the API is not thought through and there are lots of areas you still can't test.

Migrating the API to a Junit 4.4 + Hamcrest style of programming would be a very nice addition.

IDataProvider#size() should return long

The JPA spec has count queries return long instead of int. This change has been attempted earlier, and it was not found to be trivial. It is also a major break in API so we need to consider this carefully.

Take a good look at PagingNavigator and AjaxPagingNavigator

The PagingNavigator has been with us since 1.0 and might need some cleaning up.

Establish Wicket Security strategies sub project
  • Make Swarm part of wicket core - Giving users easier access to a security framework.
  • Move auth-roles into sub project
Improve Tree model

the tree can use a more web-friendly model then swing's tree model

Add Rapid Prototyping Forms

The Idea of Alistair Maw and Jonathan Locke (ROR? No. Wicket on Wheels.) should be included in next Wicket. A set of nice looking Defaultformcomponents and a Beanresolver to automatically let create forms from just the plain bean but still allow to customize it later by overiding parts of it. Beside nice looking (to show/ even may go live with it in first place) and fast it should have enabled possibility to integrate security on a Form as well as Field-level.

See Wicket Web Beans.

Clean up/ Have a look at Models

With now having a CompoundPropertyModel that has the same abilities as BoundCompundPropertyModel it might be nice to have someone overwork all models and decide if we really need all. Stiping out/ Migrating ino one e.g.: BoundCompoundProperty and CompoundProperty model as well as others (if possible) would really ease wicket for beginners as well as save experienced users some thoughts about what model to use.

Already done in 1.3, there is not much that needs to be improved other than apply generics.

Postprocessing Response

Can be interesting for me have a feature (configurable in application) that apply a xsl postprocessig for each response. Now i can use a Border o XslBehaivor to have same feature but is not transparent for page.

see IResponseFilter

Package Level Properties / resources
  • No labels