On Oct 20, 2010, at 11:24 PM, Sergiu Dumitriu wrote:

> On 10/20/2010 10:21 AM, Vincent Massol wrote:
>> Hi,
>> 
>> In order to implement support for icons/symbols in the rendering (see ), we 
>> need to add an API to return an icon URL based on the icon name.
>> 
>> public interface SkinAccessBridge
>> {
>> ...
>>     /**
>>      * @param iconName the standard name of an icon (it's not the name of 
>> the file on the filesystem, it's a generic
>>      *        name, for example "success" for a success icon
>>      * @return the URL to the icon resource
>>      * @since 2.6M1
>>      */
>>     String getIconURL(String iconName);
>> }
>> 
>> +1 from me.
> 
> I don't think this is enough. We currently have only one implementation 
> for this component, which uses only the current skin (as taken from the 
> XWiki Context). This means that it won't support multiple icon sets.
> 
> I'd rather introduce another component for IconTheme, which use the 
> existing SkinAccessBridge#getSkinFile(full path to the icon). There will 
> be several implementations for the IconTheme, the one active by default 
> being based on silk/gif. We'll have to find a way to select the desired 
> IconTheme to use (could be customized for each wiki in a farm, for each 
> skin, for each user?).
> 
> Each IconTheme would have a basePath ("resources/icons/silk/"), and by 
> default each icon is mapped to the same filename, plus an extension. A 
> custom mapping from icon names to filenames could be provided in a 
> configuration file (standard .properties). If this is loaded as a 
> ResourceBundle, there's no need to even code the default, since 
> ResourceBundle.get("key") returns the unchanged key for undefined values.
> 
> WDYT?

I generally agree about what you said.

It seems you're talking about the core skin module I've been thinking about for 
a long time already. I've always postponed implementing it for lack of time and 
more urgent things. I won't have time to work on it anytime soon unfortunately.

Thanks
-Vincent

_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs

Reply via email to