Hi,
This mail should be seen as feedback for improving our e.x.o (
extensions.xwiki.org) and our contributions process, while answering some
of my questions :)
Right now I am playing and testing some XWiki extensions from e.x.o.
The problem that I have is that I don't know where is the best place to
report bugs and issues.
1. First of all I think we should add a 'Issue Tracker' field in the
repository application, where the developer should state where the issues
should be reported (what is the preferred way of reporting and even if the
developer is available for further iterations of the extension).
2. What issue tracker we should use and how?
Right now there are several ways the users can give feedback for a certain
extension:
A. Direct e-mails to the developers:
I've received couple of times e-mails with questions about the extensions
I've developed. This approach is not recommended since we are doing open
development and other users might have the same question. Usually I suggest
to use the mailinglist (
http://dev.xwiki.org/xwiki/bin/view/Community/MailingLists ) if there are
additional questions, but an issue tracker could also solve the problem.
B. Community mailinglist:
We receive many questions about the extensions on the mailinglists. The
problem is that the answers are very hard to track and share among other
users (you need to know that the question has been asked before and than
that an answer has been provided). An issue tracker would improve the
process.
C. Comments on the extension page:
There are several extensions that have comments on their extension page.
While this approach is the most accessible, it is hard to know what is the
status of a comment and the responsible person for it (was it fixed
already? in what version? is the comment still valid?).
D. GitHub issue tracker:
While some extensions contain just snippet code or local XARs, other have a
repository attached to it. I know some extensions that track their issues
on github. The advantages of this approach is that you keep total control
of your extension and also you don't need approvals from xwiki community to
have your repository created or help with the management of it (rights,
etc.). You handle your own development while using e.x.o as a publishing
platform. The above statements are in case you have a personal repository.
The alternative is to have a repository on xwiki-contrib (
https://github.com/xwiki-contrib ), but these repository could also have
the github issue tracker activated.
E.
jira.xwiki.org project:
On
jira.xwiki.org there is a whole section of Contributed Projects (
http://jira.xwiki.org/secure/BrowseProjects.jspa#all ). There is also a
generic XWiki Contrib project (
http://jira.xwiki.org/browse/XCONTRIB ) " to
be used by all projects till they achieve a first release or till they
grow to a size significant enough to warrant a dedicated JIRA project"
(quote taken from
http://contrib.xwiki.org/ )
F. IRC:
Even harder than mailinglist to reference.
G. other?
I've written all the ways in order to agree on the recommended way (which I
guess is E.) while I don't think there is a way to force the others from
happening.
3. Related extensions vs. Branched extensions vs. Forked extensions
My problem is like this: Lets say I want to test the Forum Application.
Currently there are 3 versions of the Forum application (read more at
http://design.xwiki.org/xwiki/bin/view/Proposal/ForumApplication ).
- First of all it was hard to know that we have 3 versions for the 'same'
functionality. A feature like "Related extensions" would have been great to
have on e.x.o.
- Then it was difficult to find out where is the place to report issues for
each of these applications (see the whole point of this mail). Currently
there are 2 JIRA projects created for Forum (XAFORUM and XBB) but there is
no place to report for SimpleForumApp.
- It was hard to know what version still work and if there is still active
development on it (especially if you have just an attached XAR and not a
repository).
- It is hard to know if the apps are completely different or if they are
just forks of the same base code. Do they share the same functionality, do
they want to be improved versions or are just completely different things?
These questions are important because they give you an answer if the
entries should have separate JIRA projects or we could solve the problem by
creating just a COMPONENT in the same JIRA project.
- Whose responsibility is it to create the issue tracker, to link to the
related applications, etc? (the developer? the contrib managers? other
members of the community?)
The same questions apply for Calendar Application (
http://design.xwiki.org/xwiki/bin/view/Proposal/CalendarApplication ). I
have 3 variants with other related extensions. The only extension that has
a JIRA project associated with it is the older extension.
So, as an user of the extension, where do I report issues?
- Do I need to ask for the creation of a separate project?
- Do I ask for the creation of a separate component in the existing project?
- Do I report in the generic xcontrib project?
- Do I need the permission of the developer to have the project created?
- Should we enforce the creation of projects for the new extensions?
- How we decide if an extension is big enough or important enough to have
its own project?
- Who should monitor these growth? (since we actually don't know if the
extensions are used or downloaded?)
Let me know what you think.
Thanks,
Caty