On 11/17/2011 04:55 AM, Thomas Mortagne wrote:
On Thu, Nov 17, 2011 at 9:57 AM, Vincent Massol<[email protected]> wrote:
Hi devs,
Since we're going to use Maven POM metadata to display extensions in the
Extension Manager UI it's important that we have all data filled and with
correct value.
Sergiu pointed to me that currently our website<url> are wrong.
This is because the top level POM has<url>http://xwiki.org</url> and Maven
automatically suffixes it with artifact Ids.
For example for Commons Component API this gives us:
<url>http://xwiki.org/xwiki-commons-pom/xwiki-commons-core/xwiki-commons-component/xwiki-commons-component-api</url>
which is not pointing to anything valid.
I see 2 ways of fixing this:
Solution 1
========
Do as I started this morning, i.e. set the<url> explicitly. For example I've set PHP Macro module URL
this morning to<url>http://extensions.xwiki.org/xwiki/bin/view/Extension/PHP+Macro</url> and
Commons Observation API (the 3 modules: parent + api + local)
to<url>http://extensions.xwiki.org/xwiki/bin/view/Extension/Observation+Module</url>.
Pros:
- Easy and we can point to wherever the documentation is located
Cons:
- Tedious
- Fragile. If we rename a page on the wiki then the link is broken
-0. Not a big fan of this solution., way too much work.
Solution 2
========
Set the top level URL to something like:
<url>http://xwiki.org/documentation?id=</url>
For example for Commons Component API this will generate:
<url>http://xwiki.org/documenation?id=/xwiki-commons-pom/xwiki-commons-core/xwiki-commons-component/xwiki-commons-component-api</url>
Then:
* Have an apache redirection for /documentation to some wiki page such as
http://xwiki.org/xwiki/bin/view/Main/ModuleDocumentation
* Have the logic inside that page to transform paths (such as
"/xwiki-commons-pom/xwiki-commons-core/xwiki-commons-component/xwiki-commons-component-api"
into proper URLs). Since I don't think we can have a generic logic, I'd simply put a big
hashtable to start with.
Pros:
- Simple, no need to modify all poms. We only need to change the top level
pom<url> value
- Much easier to keep up to date since when we rename pages all we need to do
is edit the ModuleDocumentation page. Actually when we support page renames
across wikis we could have the links in that page be automatically renamed ;)
With Solution 1, when you rename the URL you need to re-release the module
which is a big pain.
Cons:
- I can't see any really :) We just need to be sure that
http://xwiki.org/documentation is available.
So I'm definitely for 2, WDYT?
Solution 3
========
Set the top level URL to something like:
<url>http://xwiki.org/documentation?id=${groupId}:${artifactId}</url>
(maybe<url>http://xwiki.org/documentation?id=${groupId}:${artifactId}&path=</url>
if we can't disable auto-completion).
Tried it, works well with:
http://xwiki.org/documentation?id=${groupId}:${artifactId}&path=
+1 for 3, mixed with 1 (explicit URLs) occasionally.
And use the id to find the extensions page on extensions.xwiki.org
instead of maintaining a map.
Pros:
- same as Solution 2 plus no need to maintain a map ;)
Cons:
- the URL is not very nice
--
Sergiu Dumitriu
http://purl.org/net/sergiu/
_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs