After discussion with David Sean Taylor, I decided to do the followings for the 2.1.3 release:
- To create a valve named 'capabilityCustomizerValve', which would change the preferred mediaType of the capabilityMap and the requestContext just after the capabilityValve finished.
This valve should decide the mediaType based on the given client-to-mediaType mappings as a
constructor argument. For example, "ie4ppc (client name) to html-basic (media type name)".
Also add some seed data for Pocket IE (mediaType and client).
We will review more for better solution and consider reworking it for the 2.2 release.
(So, I will not commit to the /trunk.)
I attached a patch for this solution for the 2.1.3 release.
How to test to support Pocket IE:
(1) Install JS 2.1.3.
(2) Add 'capabilityCustomizerValve' references to the pipelines after the 'capabilityValve'.
(3) Start JS2
(4) Visit the default page with Pocket IE.
(I actually tested with an emulator. Download from http://www.microsoft.com/downloads/details.aspx?FamilyID=A120E012-CA31-4BE9-A3BF-B9BF4F64CE72&displaylang=en )
(By the way, you should bear in mind to use the emulator:
- Check 'Use LAN (no autodial)' in the Tools/Option/Connection.
- Don't visit with 'http://localhost:8080/jetspeed'. Use IP address instead.)
I'd like to commit this work next week after some more testings.