Ludovic, regarding your first proposals:
- propose a core API to get the logo
Currently, getSkinFile method returns relative (internal) URLs. I couldn't find a way to get the external URL for a skin file. Is this something forbidden? I've noticed that we actually compute the full URL but we strip it with urlFactory.getURL(url, context). So what do you think of overloading the getSkinFile method by adding a absoluteURL flag?
getSkinFile(String filename, boolean forceSkinAction, boolean absoluteURL, XWikiContext context)
Then we could get the logo with:
#set($feedLogoAbsoluteURL = $xwiki.getSkinFile($xwiki.getSkinPreference('logo', 'logo.png'), false, true))
- propose a core API to strip HTML from a text (for the copyright)
Right now we use:
#set($feedRights = $xwiki.webCopyright.replaceAll('<', '<html:').replaceAll('<html:/', '</html:'))
Why do we need this? I've noticed that in the generated feed the HTML special characters from the copyright are escaped.
- propose a core API to extract a sub part of a content and make sure it is still valid HTML
I haven't found a library providing this feature. Do you know one? Of course, this is easy to implement using SAX. I could add a method in api.Util but want to be sure I don't reinvent the wheel.
- propose a Feed API to get the feed from a HQL query (without having to run the search code in the velocity)
Done.
- add feed apis to set all the usual defaults for Wiki and Blog RSS feeds
In progress.
I attached a first version of the new FeedPlugin. Any comment is welcome.