CapabilitiesSwitchPOCStory

Functional specifications

Proof of concept. Is it possible to create a fallback framework that doesn't use Ajax. The user must be able to switch between the views(AJAX or non Ajax). For example braille users or browsers with disabled javascript.

Resources

Technical interpretation

  • Wicket
    • Expand the DayViewPanel with an Ajax (Javascript) View. Try to make it seperate from the original, this gives us the means to make it a plugin later on.
    • Create a link to swith between the views (and perhaps a checkbox on the login page?)

Budget/Hours

task hours todo spent developer
Proof of Concept 8 ? 9 Ivo
Total 8 0

Discussion

After some effort I found that it probately is much easier and more efficient to include Ajax in the base distribution and not as a plugin. This way we don't have to first setup the basic view and then replace all components through the plugin with ajax components. Furthermore the ajax components have a lot of connections in the code. When an Ajax call is recieved a couple of panels should likely be updated. This means that the entire frontend must be prepared for this and its not very feasable to neatly sepperate the two.
What I've setup so far:

  • An AbstractBasePage. This sets up a link to switch between the accessible and non-accessible (ajax) view. The preference is set in the session (eventually it can become a setting in the db). Also a helper method is added to add or replace a component depending on if it was added before. This makes the switching somewhat more convenient
  • The AbstractBasePanel checks the session and sets a property whether the Panel should render strictly accessible. All panels inherit from this class and set up the desired components.
  • I've changed some random components. In the CalendarDayViewPanel it shows best how involved the ajax changes are.

What remains is to decide whether the ajax views should be completely seperate. At the moment I've included the ajax components in the main views, its also a possibility to make completely seperate views. This would make it possible to add the ajax view as a plugin, but it would also mean a lot of duplicate work.
We also need to figure out how to deal with the updating of components. Changes in some components involve updating components on completely different panels. I suggest making the listener that connects the components responsible for the updating.

Topic revision: r5 - 21 Oct 2006 - 15:43:22 - IvoVanDongen
 
This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback