Table of Contents

DokuWiki & Bugs/Issues

This page documents the close integration between this WikiEngine and some Bug Tracking / Issues Management systems. This documents assumes from now onward that Issues Management is more global (generic) than Bug Tracking, which seems to be a special case of the former. Use this document to discuss subjects about Issue Management and DokuWiki's integration / interchange.

Bug Tracking for DokuWiki

DokuWiki now uses Flyspray for bugtracking (accessable at bugs.splitbrain.org) For tight integration between DokuWiki and Flyspray the Flyspray sourcecode was changed to use md5 instead of crypt for encrypting passwords 1). A patch to select the wanted password encryption in the config file was sent to the flyspray author and is included in the next release.

DokuWiki authenticates against the Flyspray database using auth_mysql with the following options:

$conf['authtype'] = 'mysql';
 
$conf['auth']['mysql']['server']   = 'localhost';
$conf['auth']['mysql']['user']     = 'flyspray';
$conf['auth']['mysql']['password'] = 'password';
$conf['auth']['mysql']['database'] = 'flyspray';
$conf['auth']['mysql']['passcheck']= "SELECT user_name
                                        FROM flyspray_users
                                       WHERE user_name='%u'
                                         AND user_pass=MD5('%p')
                                         AND account_enabled=1";
$conf['auth']['mysql']['userinfo'] = "SELECT real_name AS name, email_address AS mail
                                        FROM flyspray_users
                                       WHERE user_name='%u'";
$conf['auth']['mysql']['groups']   = "SELECT LOWER(a.group_name) as `group`
                                        FROM flyspray_groups a, flyspray_users b                                      
                                       WHERE b.group_in = a.group_id
                                         AND b.user_name='%u'";

To reference bugs an interwiki shortcut named bug was added which allows to link directly to a bugs detail page by its ID: [[bug>4]] → 4

FlySpray seems to be a simple and easy to use Bug Tracking system. It's a good choice, specially since it seems the development team aims to integrate some sort of WikiParser into it, which will ease writing and editing descriptions. Still, some nice-to-have features are lacking:

Authenticating against the Flyspray development version
If you are running the development version of Flyspray (ie from the Subversion repository), you will need to use the following query for group authentication against the Flyspray database tables.

$conf['auth']['mysql']['groups'] = "SELECT LOWER(g.group_name) AS `group`
                                    FROM flyspray_users u
                                    LEFT JOIN flyspray_users_in_groups uig ON u.user_id = uig.user_id
                                    LEFT JOIN flyspray_groups g ON uig.group_id = g.group_id
                                    WHERE u.user_name = '%u'
                                    AND uig.user_id = u.user_id
                                    AND g.belongs_to_project = '0'";

The above query retrieves a user's Global group. If you want to allow wiki access only to members of a certain project, change the '0' in the last line to the project_id of your desired project.

Why flyspray?

Because I was asked I like to give you the reasons I chose Flyspray over Mantis or Eventum.

I had a look at all systems' sites mentioned below. Eventum sounded good but it didn't have a demo system for trying (or at least I didn't see it) and some features were not really needed by me. So I chose Mantis first. I installed it but somehow I didn't like the interface and configuration (very subjective). So I finally tried flyspray. It is very simple to install, easy to configure and comes close to DokuWiki's idea of KISS. I took me just 5 minutes to change it's password mechanism to MD5 - I really like it :-)

There are still features missing but I think it was a good choice non the less.

So as a conclusion: Why Flyspray? Just because I liked it ;-)

Andreas Gohr 12.01.2005 18:24

Update Now with flyspray in action for a month it's time to review my decision. I still like it but I encountered many glitches I don't like. I just want to list them here in no particular order:

> This was discussed on the mailing-list and it probably will be removed from the next version because most people don't like it

Well it's still a zero version so lets see what the future brings… Installing a bugtracker was definitive a good decision - it helps me to keep my work on DokuWiki organized.

Andreas Gohr 2005-02-08 21:00

I have also checked the 3 above mentioned bug tracking systems, and my order of preference is Eventum, Flyspray and Mantis. Mantis is the third for the same reason as yours (interface, usability). I've put Eventum in front of Flyspray for it's features (super fine grained ACL) and strong history (used by MySQL dev team). It's a pitty you have not installed it, since it is just a matter of uploading to a server and running a php file. The instalation process can take only 30 seconds and it does everything for you (including db setup).

Having said all this, I would like to ask if you have any plans to do somekind of integration between DokuWiki and Eventum. Just like Flyspray, the main thing missing is a integrated Wiki…

Francisco Millarch 10.05.2005 12:44

I am also looking for a Bugtracking-System that integrates with Dokuwiki. Are there any existing solutions or plans for an incorporation?

Andreas 17.08.2006 12:39

Update

After evaluating both solutions a few more days, I decided to stick with Flyspray. I still think Eventum has some great features that should serve as basis for Flyspray improvement, but it's lack of support for language translations (you have to hack the templates) amoung other complexities, made me stick with Flayspray. The other issues that were preventing me from using Flyspray (notably ACL) is now fixed in the 0.98 development version.

Francisco Millarch 13.05.2005 12:58

Issues Management

:?: What is Issue Management?
Issue Management systems are systems that handle the history of an issue. An issue can be a bug report, a feature request or a support request. For what I've seen, sometimes bugs and features are grouped together in a change request, and a support request is also known as a trouble ticket. These systems must manage the opening of a new issue, the reporting and history of its information, the changes in its status and its resolution. The system should be simple, pratical and easy to use, not to impose a tough learning curve on the users.

Does issue management include collaboration and version control (Perhaps CVS) or Subversion ?
IMHO, it doesn't. Or at least, collaboration and version control shouldn't be a requirement for an Issue Management system. But the system must integrate easily (link easily) with those systems, specially on software projects. – 2004.10.02.

:?: What are the well known Issue Management systems?

:?: What are the well known Trouble Ticket Management (HelpDesk) systems?

Other Links

Discussion

Besides not having a RSS Feeder that I can use to periodically receive notifications of changes I also can't use Wiki Syntax to describe the problem neither I can login. It seems that I have forget my password, since the username is already taken when I attempt to register again. I understand that having an organized system that categorizes bugs by type, severity, priority, and so on is a good thing and helpful to the development team. But I was so used to the bugs page that I see myself contributing less to the wishlist (feature requests), the bugs and help (support requests - tickets) in the new bug tracking system than I used to contribute when they were all WikiPages. – straider (2005.01.12).

There is a rss.php included in the flyspray sources I just have to see if it works already and if not what I have to do to make it work. So this issue will be addressed. About your login problems I just reset your password and sent it per mail to you. Anybody else who has problems with logging in please mail me! — Andreas Gohr 12.01.2005 13:04
Login is working fine now. Thanks. Nevertheless, I do miss being able to add feature requests, support requests or reporting bugs using dokuwiki's sintax. Do you have any plans to integrate the wiki parser into flyspray?
No this is not planned currently - i already have plenty of open buildingplaces :-/ When I find the time to make the parser a proper standalone class maybe this can be done… but for the forseeable future don't count on it. — Andreas Gohr 12.01.2005 13:43
How can I help? I'm interested in having a standalone DokuWiki parser that can be integrated into other web applications. My goal is to replace existing textareas that allow html/php tags with DokuWiki GUI Editor and Wiki Parser. But this a topic for another discussion. On another topic, but on the bug tracking issue, I'd like to post a question since I'm curious about the possible replies: Why choose Flyspray over Mantis/Eventum/others?

On the same note, where should the “discussion” of some feature request/support request/bug report happen? Everything should be managed by the Bug Tracking system, or should a Task Entry point to a Discussion Page here on the WikiSite?

I think adding comments in the BTS is the best way… — Andreas Gohr 12.01.2005 18:22
I think its far more convenient to have discussions here rather than on the BTS. Take the npm.* newsgroups that mozilla uses for instance. People are encouraged to discuss their ideas with others before filing a bug request. Even casual users will find it easier to look through a discussion page instead of searching for the correct bug — SameerDS 16 Jan 2005

Let me start by praising you on such a nice wiki, i had to find one at the last minute before a major project took off and the one i initaly chose i found couldnt meet the requirements 12 hours before the kick off. I found Doku at the last min and managed to save some face, thanks. :-)
Now on to my question, for the Flyspray integration you mention that we need to convert Flyspray to use md5 rather than crypt. I have replaced all instances of crypt with md5 (and removed the salt parameter), and i am able to create a user in Flyspray and see that it puts a md5 value in the user table, but alas can not login to Flyspray nor doku with the password.

could you post the files that you modified in flyspray?
Ryan P

That's all I did. I replaced all calls to crypt with md5 as you described, but remember: md5 produces 32 characters - crypt is shorter, so you have to adjust the password field in the database, too. — Andreas Gohr 22.01.2005 09:30
Ahhhh, of course. Thanks it works now :-)
Perhaps you can release the patches upstream? :D
I would really appreciate a more detail explanation of what needs modifying to change from crypt to md5, which files? is it simply a string substitution? Thanks

I'm also having a had time implementing this integration. Could someone provide a better step-by-step guide? Which files and lines to change, etc…

Francisco Millarch

I'm more than happy to have Wiki syntax support in Flyspray. Why don't we already? Probably because no one has ever asked us for it (if I remember correctly).

Jean

I too have problems integrating flyspray with dokuwiki. I changed the line “$conf['authtype']” from “plain” to “mysql” and added all the other “$conf['auth']['mysql'] lines below that line. Changed “$conf['passcrypt']” to “md5” and also changed the encryption used by flyspray to md5 by editing the flyspray.conf.php. Finally I changed the database to accept 32char strings in the password field and updated to password of the admin to a md5-encrypted password. I am now able to login in flyspray, but not in dokuwiki…

Tony Collins

Can I still use ACL if I integrate Flyspray with DokuWiki? I'm afraid to break anything. How do I disallow certain groups from viewing certain namespaces, now that I am using the MySQL authentication?

For Tony: My Flyspray & DokuWiki have been successfully integrated. I followed the instructions stated here

Chette Soriano

1) MD5 is available as builtin MySQL function which makes the integration with auth_mysql much simpler and made the transfer of existing auth_plain DokuWiki accounts possible
2) I just had a short look into the current devel checkout and they seem to have dropped it again