Support for device and fallback device specific layout
------------------------------------------------------

                 Key: WICKET-3813
                 URL: https://issues.apache.org/jira/browse/WICKET-3813
             Project: Wicket
          Issue Type: New Feature
          Components: wicket-core
            Reporter: Bruno Borges


Wicket does a great job at locating resources based on variation, style and 
location. The current way of locating HTML resources is done by the following 
schema:

   Page[_variation][_style][_locale].extension

where:
* variation is per Component
* style and locale are per Session
* extension is usually ".html"

The feature proposed here is to add another section, separated by a single dot:

   Page[_variation][_style][_locale][.device].extension

The use case that requires this is one where an user's device is identified as 
an Android phone and so one could set Session.get().setDevice("android"); 
Inside ResourceStreamLocator, the current algorithm can just add that as an 
array of extensions to iterate.

Consider the HomePage: 

- HomePage.html
- HomePage.m.html
- HomePage.android.html

For the Android user, HomePage will render HomePage.android.html file.

A desktop user will render HomePage.html because 
Session.get().isStandardDevice(); will return true

To support an iPhone user, one could set Session.get().setFallbackDevice("m"); 
and so, will render HomePage.m.html which could be a simplier version for other 
phones but Android.

I've attached an example of DeviceStreamLocator

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to