Hi all,

I need your valuable suggestions in renaming the following Trinidad API that is used only in mobile development.

*API Name*:
skinFamilyType. It can be accessed using EL # {requestContext.agent.skinFamilyType}

*What is skinFamilyType API?*
CSS-support of mobile browsers varies drastically as most of the mobile-browsers don't strictly follow W3C standards. After analyzing various mobile-browsers, we have categorized mobile-browsers based on their CSS-support and exposed the category thru this API. Example, this API returns 'nokiawebkit' for NokiaS60 and 'iPhonewebkit' for iPhone.

*Why Renaming? *
This API doesn't return any skin-family; it simply returns the category to which a mobile-browser belongs based on the mobile-browser's CSS-support. So the new name should reflect what it returns.

*Alternate Name:*
styleCategory

*Typical Usage: *
As CSS-support of mobile browsers varies drastically, developers usually create their own skinning with different versions of style-classes based on a mobile-browser's CSS-support. To handle all mobile-browsers in a single CSS-file, developers have to include lots of style-classes and tweaking such as @agent/@platform rules. The resulting CSS-file will be very huge, and it is not manageable. So developers prefer to maintain separate CSS files based on mobile-browsers' CSS-support. By creating different skin-families with names same as values returned by this API, developers can easily switch to a CSS file based on a requesting mobile-browser's CSS-support.
To illustrate with an example:

trinidad-config.xml contains #{requestContext.agent.skinFamilyType} (Remember, skinFamilyType returns 'nokiawebkit' for NokiaS60 and 'iPhonewebkit' for iPhone)

trinidad-skin.xml contains
  <skin>
       <id>iPhonewebkit</id>
       <family>iPhonewebkit</family>
       <render-kit-id>org.apache.myfaces.trinidad.desktop</render-kit-id>
       <style-sheet-name>styles/iPhone.css</style-sheet-name>
<! -- iPhone.css is a CSS file created by a developer to handle iPhone -->
   </skin>
   <skin>
       <id>nokiawebkit</id>
       <family>nokiawebkit</family>
       <render-kit-id>org.apache.myfaces.trinidad.desktop</render-kit-id>
       <style-sheet-name>styles/symbian.css</style-sheet-name>
<! -- symbian.css is a CSS file created by a developer to handle NokiaS60-->
   </skin>

Thanks
Mamallan

Reply via email to