Now you can vote for further features to be implemented. Please use this to provide your opinion about the value of
new functions you want to have. Therefore visit the User Feature Ranking section.
A very detailed customer feedback (in German) can be found on ITC Live Network. Such makes the developer happy.
Please contact us in the event you may have published an article about IssueTracker or plan to do so.
Info
Check if “Prevent AUTH:AD overflow” config switch of IssueTracker is turned off. This special function is usually not necessary and is changing some behaivior of the plugin (
see FAQ)
Simply spoken, a user can easily report an issue for defined products. You may also use it as a little platform to discuss topics or follow up on tasks. A flexible report form is delivered to adapt it to your needs. Created Reports are added to an issue log (project). Before that they are checked if important values are complete.
The user informed by a green info box if the issue was added successfully to the log file. A box will be displayed in the event of missing information. The issue gets an unique ID and will be stored to a file. The admin is informed by mail about a new report.
The complete issue list delivers a detailed overview of the reports. The list output is sortable and can be easily reduced (column wise), to fit your needs. Most of the values displayed can be edited there. The issues can be filtered and quantity on rows can be adjusted. The upper right side deliver a little project issue status overview. If you click on the status text the list will display related issues automatically.
For security reason all HTML tags are stripped away. A small editor provides you some styling elements with own little syntax. By this xsEditor you can define some basics like text-decoration, lists, colors, links etc. for issue descriptions, comments and resolutions. First write the text and then style it is the best way to use.
The picture below give you a brief overview about the info around the comment text itself. Admin / assignees and comment creator (not necessarily the Issue reporter) are allowed to modify and delete comments within a work log. If user specific function is available can be seen by the modify Comment slider below the box and on the little delete-icon at the upper right side within the comment area. Modification info per comment displaying the date of change right hand side above the comment box.
Members of configured 'assign' groups are allowed to edit the entries of the issue list. They can see all columns by default. The issue list is sortable on all columns. The email addresses of 'assign' group members are automatically loaded into the lists select box to be easily set as issue related contact. A ticket is falling back to status New if the assignee will be deleted. It is not mandatory to assign a responsible contact for an issue.
Status Modification Log
Modifications on the Issue List items are logged into a file (*.mod-log) to easily follow up who changed something and when. Such file will be created by the first modification of a list item per issue. A link will be visible on Issue Details to view the history of modifications.
Search
IssueTracker provides also a search function with highlighting found matches. You can enter one to multiple words, where each will be searched for. But it is not a search engine like Google so extended search patterns and logics will not work. The result is a list of linked Issues and Comments containing one or multiple words you are looking for.
Delete Issues
Due to the problems of data reliability, traceability of actions and process continuity it is not the best approach to delete issues completely. Therefore IssueTracker introduced a special status “deleted”, which is configurable of course. The elements within the Issue List may set to this status and will disappear from it also as it will not counted on statistic anymore. But it is not really deleted, just hidden. It keeps accessible if you know the ID, it reposits the modification log and all information. It will be listed only if the filter contains the status “deleted” (or the related naming you have configured for).
Image Links
If you want to insert pictures into your descriptions or comments then use the Image link feature. Image have to be stored either on a symptom server or on any other freely accessible storage space to be linked successfully. Locally stored pictures uploaded via MediaManager can be linked also (more...).
The Toolbar contains an Icon, which directly links to ImageShack upload. This is just a proposal and not necessarily to be used to link images within descriptions or comments of IssueTracker. ImageShack provides free of charge space to store images up to 1.5 MB. Please read their Terms & Conditions, Policies, etc. carefully before you are using it. By using it you are leaving the IssueTracker and we expressly state not to be responsible anyhow for legal issues and policies of ImageShack. Please understand this function only as a non-committal offer and it is up to your own sole discretion to make use of it or not.
User Profile Updates
Users may change their e-mail address what has a major impact on the IssueTracker. The e-Mail address given by the report of an issue is the only reliable information due to IssueTracker is working also for open wikis. Therefore IssueTracker is listening the events of UserManager. If a user e-mail address will be changed it automatically searches all issues, comments and modification logs to update them accordingly. Finally the user will be informed via summary messages above the Wiki page about modifications. The following picture is an example of these messages after a user modified its e-mail address. It is necessary that the user is doing a re-login to get full access to the own issues and comments1).
Symptom file upload
IssueTracker offers an upload of symptoms on Issue Report and Issue Details view. There can be 1 file uploaded. The control is according configured DokuWiki Mime Types and file extensions. A file size limit opion can be used to reduce the threshold from php.ini setting to a lower value (just valid for the symptom file upload). A users IP can be blocked after upload for a defined time. This will reduce the risk of spam attacks.
Simply place the following syntax into the page markup:
====== Report an Issue ======
{{issuetracker>project=myProject1|product=myProduct 1.1,myProduct 1.2|display=form|prod_limit=ON}}
====== List of Issues ======
~~NOCACHE~~
{{issuetracker>project=your_project|product=Rater|status=all|severity=all|display=issues|view=7|controls=off}}
====== Single Issue Link ======
{{issuetracker>project=project_name|id=3|display=single_issue}}
Parameters status, severity, view, controls and display will be set to default (status = ALL, severity = ALL, view = 10, controls = ON; display = ISSUES) if they are not defined.
Install the plugin using the Plugin Manager and the download URL above, which points to latest version of the plugin.
Refer to Plugins on how to install plugins manually. Please take care to rename the plugin folder to ”issuetracker” in the event of manual installation.
The plugin was tested with DW 2011-05-25 “Rincewind”, DW 2012-01-25 “Angua” and also with related on the Stick version.
My standard browser is Internet Explorer 9 (IE8 tested → not working properly) due to majority of users of our intranet
installation using this. Aged browsers like IE8 are not able to use all features and may lead into inconsistent behaviour.
However, that is no guarantee that it works for all environmental configuration.
The following little table shows ideas for further developments of issue tracker. Please vote them to influence their priority for implementation. Click on the links to see a few more details of the functionality. You may also use the IssueTracker Report function to raise further Feature Requests or make use of the contact form to send a description of your idea.
| ID | Headline | Vote |
| | Multi-Project Handling
The IssueTracker should handle multiple project files on Issue ListView to ease the admins/assignees work.
a) loop through the it-store and load all .issue files contents
according filter settings
b) optionally add a column to display the related project
c) limit the function to admin/assignee | Thank you for rating this feature. It is now implemented since version 2013-02-18 |
| | Show Code Modifications
The assignee provides the link to the last commit when he is changing the issue status to solved. This link will open the GitHub site to show the code changes. | |
| | Release Planning
It will provide the possibility to plan releases where issues will be resolved and feature requests implemented.
a) The Admin need an input possibility for planning data.
→ new field per issue within the issue file necessary, add-on
to Issue ListView and Details
b) Output of release plan and arranged issues via Syntax with parameters
(e.g. Project, Product, Milestone/Release, etc.) | |
| | Recent Ticket Modifications
Currently the IssueList can be sorted by date to see which Issue was modified last. The new functionality should provide an overview about the last issues modifications during a specific time frame (last x days/weeks/months).
a) needs a Syntax for DW page with some parameter
(e.g. Project, Product, Version, History of the last 5 days)
b) Loop through all issues to evaluate modified tickets and content
c) output of issues, their modified values | |
| | Simple Reporting
some simple reporting to answer questions like:
- How many issues of a severity for a product are currently in a specific state ?
- What is the average time to resolve an issue during the last x days/weeks/months ? | |
| 99 | Feature Request: MyIssues filter | Thank you for rating this feature. It is now implemented since version 2012-11-08 |
The following configurations can be done by the configuration manager: Admin ⇒ Configuration Settings ⇒ Issuetracker Plugin Settings
| config item | value | comment |
plugin»issuetrackerd_format
Y-m-d G:i:s | Y-m-d G:i:s | any valid date format expression |
plugin»issuetracker»it_data
| | IssueTracker root within data folder (”” = meta)
It is recommended to store the Issues outside the meta folder to prevent unintentional deleting by clearing the DW cache. So please enter a path here (e.g. ”data/it_store/”) |
plugin»issuetracker»upload
| on/off | allow symptom file uploads |
plugin»issuetracker»max_fsize
| 1048576 | limit file size for uploads in Byte (default 1MB = 1.048.576)
1 Kilo Byte = 1.024 Byte
1 Mega Byte = 1.048.576 Byte |
plugin»issuetracker»ip_blocked
| on/off | turn on the anti-spam feature |
plugin»issuetracker»ip_blockd_time
| 3 | ip will be blocked for 3 minutes before another upload can be initiated |
plugin»issuetracker»send_email
Inform by mail about new issues ? | on/off | global switch for following issue details modifications |
| following fine tuning depend on global switch: | on/off | → use of html email templates |
| on/off | → inform about new comments |
| on/off | → inform about comment modification |
| on/off | → inform about resolution entry |
| on/off | → inform about resolution modification |
| on/off | → inform about modification of initial description |
plugin»issuetracker»mail_templates
Send html email | on/off | send html-mails according provided templates instead of plain text |
plugin»issuetracker»registered_user
Edits only by registered users | on/off | prevent misusage |
plugin»issuetracker»auth_ad_overflow
Prevent AUTH:AD overflow | on/off | Default = off, turn on only if AD with huge number of users (>1.000) is connected |
plugin»issuetracker»userinfo_email
Inform user automatically by mail about issue mod | on/off | the user which created the ticket will be informed about issue modification (not that important anymore due to upper mentioned global and fine tuning switches) |
| plugin»issuetracker»shw_mail_addr | choice | → show assignee by login, name or mail address |
plugin»issuetracker»shw_mail_addr
mail address visible instead of user name
(effect only to registered users) | on/off | → issue details view will display real names instead of mail address (if current user is registered) |
plugin»issuetracker»shw_assignee_as
show assignee by login, name or mail address | on/off | → issue details view will display login, users real name or mail address (if current looking user is registered) |
plugin»issuetracker»shwtbl_usr
Configure columns to be shown to user as overview | on/off per column | multi select of columns to be displayed if non-admin viewing the issue list |
plugin»issuetracker»use_captcha
Use captcha | on/off | to prevent misuse by bots, less important for closed wikis together with option “Edits only by registered users” on) |
plugin»issuetracker»severity
Define severity levels you will use
(comma separated) | Query,Minor,Medium,Major, Critical,Feature Request | different values to define the priority of an issue priority of an issue
(take care that there are no space characters before and after comma) |
plugin»issuetracker»status
Define issue status levels you will use
(comma separated) | New,Assigned,External Pending,In Progress,Solved, Canceled,Double | each Issue develops through different status levels according your work-flow |
| → first value [e.g. “New”] will be taken as status for newly created reports, |
| → first value [e.g. “New”] will be taken as status for reports where assignee deleted at Issue List, |
| → second value [e.g. “Assigned”] will be taken as status if you assigne a report at Issue List, |
| → take care that there are no space characters before and after comma |
plugin»issuetracker»products
Define tracked products
(comma separated) | [Product1],[Product2], | define products of the project to be tracked together within one file, where users can report issues |
plugin»issuetracker»assign
select wiki user groups pre-selected for assigning issues to
(Pipe ”|” separated) | admin|developer | All registered dokuwiki users of these defined groups are allowed assignees for issues. They will be offered option within a drop-down list on the Issue List to be selected as assignee for a ticket. They will be informed by mail immediately after selection. |
plugin»issuetracker»noStatIMG
status text instead of icons at Issue list | on/off | if you switch on here the status is provided as text.
Usually little icons will be displayed with status text as tooltip to save space on table output. If you modified the status levels you have to store same named gif-images into the IssueTracker images folder to get them visible. |
plugin»issuetracker»noSevIMG
severity text instead of icons at Issue list | on/off | If you switch on here the severity is provided as text.
Usually little icons will be displayed with severity level text as tooltip to save space on table output. If you modified the severity levels you have to store same named gif-images into the IssueTracker images folder to get them visible. |
plugin»issuetracker»ltdReport
Reduce Report form by following selection | on/off per report control | to reduce the issue report form from unwanted complexity, just hook the controls you do not need |
plugin»issuetracker»multi_projects
turn on for multi project handling | on/off | if multiproject is turned on then project parameter will be ignored, all project files will be loaded and issues displayed |
plugin»issuetracker»shw_project_col
show project column | on/off | displays an additional, leading column containing the project name per issue |
Beside this configuration settings you have the possibility to use your own severity and status icons.
Simply save the picture files as [your status].gif or [your severity].gif and store them into /dokuwiki/lib/plugins/issuetracker/images folder.For example you configured a status gelöst instead of solved then your image file name schould be geloest.gif. Therefore the German language file contain two lines where German “Umlaute” will be converted accordingly.
If you are using different status text as originally provided then please check plugin/issuetracker/lang/[your language]/lang.php for
$lang['issue_resolved_status']
It has to be identical (case sensitive !).
Use this plugin to simply create an issue tracking. It owns dokumicrobugtracker 2011-04-13 as initial code base for corrections, which was not working on my installation (Rincewind + Arctic). Probably you noticed the same problems (e.g. edit of entries does not work) and may find a help with this.
1. Report an issue
This is a form shown to the user to provide controls for input of issue information.
Following information are handled:
{{issuetracker>project=your_project|display=form}}
| ID | automatically set |
| Project | automatically set (defined by your_project, see Syntax) |
| Product | user can select from admin pre-defined set of values |
| Version | user to enter version info |
| User name | name derived from login if registered user, else should be entered by user |
| User mail | e-mail derived from login if registered user, else should be entered by user |
| User phone | phonenumber of the user |
| Add contact | a further contact can be added if necessary |
| Severity | user can select from admin pre-defined set of severities |
| Issue Title | the headline of the issue |
| Issue Description | user to enter the issue details |
| Symptoms | user may add up to 3 links targeting files on a symptom server |
| Captcha | user to enter |
2. Issue List
The Plugin delivers an issue list, where admin can configure a restricted view for users. The admin view delivers more details in the table.
Admin is able to modify some entries directly on this output, i.e. admin is able to assign the issue to a member of configured user-groups
(see configuration).
{{issuetracker>project=your_project|status=all|severity=all|display=issues|view=12|controls=on}}
Remark: All project files of defined IT data store will be loaded if multiproject config switch is turned on.
3. Issue Details view
For better handling and also accessible for users there is a details view of an issue. Therefore the Issue List containing a input and button to specify the isuue ID. This will provide a new page displaying all information of an issue and delivering a comment function for interaction between User and Admin/assigned resource. Both (user/assignee) will be informed about issue updates by email, if configured.
4. General Info
There are multiple files created. First there is a project file containing all issue information except comments. Each issue will have a comments file where the communication is logged. A modification log provides a history to follow-up status changes (answering the when, who, what). All files are stored to data/meta directory with file extension ”.issue”, ”.mod-log” and ”.cmnts”.
The text size can be adjusted by modification of the css. Just create a file screen.css within the issuetracker plugin folder. The following content is an example:
-
screen.css
-
/**
* Design Elements - local CSS for the IssueTracker plugin *
* @author Taggic */
div.itl__table td, div.issuetracker_div {
font-size: 1.25em !important;
}
/**
* Design Elements - local CSS for the IssueTracker plugin *
* @author Taggic <taggic@t-online.de> */
div.itl__table td, div.issuetracker_div {
font-size: 1.25em !important;
}
This will switch the font size of the table. This file will be kept untouched by plugin updates.
You may detect an issue you are interested in and want to follow up its progress. You can easily add your mail address to the details and will be informed about all changes.
Therefore you have to be registered and logged in as usual. Open the Details of the specific issue and look on the Reporter Details block.
Please click on the Details slider tab to make them visible. By clicking on the little plus sign a textbook will appear. There you can add your pre-filled eMail address by pushing the add button. You should see a picture similar to following:
After you successfully added your email address it will be shown to you above the text input box. You will not see the details of other followers as others will not see yours. Below the Add contact text and Plus image a small text informs you about quantity of current followers. Followers are all registered mail addresses for an issue beside the reporter and assignee (as long as the do not add additionally their addresses).
If you want to deregister just click the Add button again. IssueTracker checks that you are already following this issue and assumes that you now want to get rid of it. You will see that after page refresh your mail address above the text input will disappear and the followers are reduced by one.
A message box on top of the page will inform you about the modification result.
versions beyond 2012-02-19
The usage of links and images following the syntax of DokuWiki Forum2). However, we will explain it here.
Links (URL)
Initially we differ between internal and external links. Internal links have to be provided by full qualified path with leading colon.
The following syntax
1 [link]:issuetracker:issuelist[/link]
2 [link=:issuetracker:issuelist][/link]
3 [link=:issuetracker:issuelist]issuetracker:issuelist[/link]
will lead into following link output:
-
-
-
External links starting with http or ftp or www will be recogniced. You can have a simple url just by giving the pure link or you want to style it with a title displayed instead of the link itself. Therefore the following code will apply:
1 [link]http://www.fristercons.de/fcon/doku.php?id=issuetracker:issuelist[/link]
2 [link=http://www.fristercons.de/fcon/doku.php?id=issuetracker:issuelist][/link]
3 [link=http://www.fristercons.de/fcon/doku.php?id=issuetracker:issuelist]Issue List[/link]
This will cause following output (except the icons):
-
-
-
To link wiki internal media files for download the following syntax to be used:
[link=lib/exe/fetch.php?media=tips:xmstuff.zip]xmstuff.zip[/link]
This lead into following output (except the icon):
xmstuff.zip
Image links following similar syntax.Pictures stored to DokuWiki media directory have to be given by full qualified path (:namespace:image.ext).
The following syntax
1 [img]:issuetracker:img.png[/img] ImageLink toolbar button (stored to data/media/issuetracker)
2 [img=:issuetracker:img.png]a title[/img] ImageLink toolbar button with a title (stored to data/media/issuetracker)
3 [img=:issuetracker:img.png][/img] ImageLink toolbar button where title is empty (stored to data/media/issuetracker)
will cause following output (hover over the images to see differences in tooltips):
-
-
-
Under Firefox I can click on each entry in the issue list to modify it. The same doesn't work for me in IE v9 or Chrome v15. It seems to be a bug in fabtabulous.js. Here are the console error messages I get on loading the issue list page:
IE:
SCRIPT5007: Unable to get value of the property 'getElementsByTagName': object is null or undefined fabtabulous.js, line 14 character 3
Chrome:
fabtabulous.js:14 Uncaught TypeError: Cannot call method 'getElementsByTagName' of null Fabtabs.initialize fabtabulous.js:14 klass prototype.js:101 (anonymous function) doku.php:321
Check to “Allow” Scripts on your Chrome and IE.
There was a conflict with a javascript library in another plugin:
http://www.dokuwiki.org/plugin:encryptedpasswords.
I changed the last few lines in encryptedpasswords/jsencryption.js to
-
snip
-
if (!Array.indexOf) {
Array.prototype.indexOf = function(a, b) {
for (var i = (b || 0); i < this.length; i++) {
if (this == a) {
return i
}
}
return -1; // needed for compatibility with issuetracker plugin [Rik, 2011-12-15]
}
}
Array.
prototype.
indexOf = function
(a, b
) {
for (var i = (b || 0); i < this.length; i++) {
if (this == a) {
return i
}
}
return -1; // needed for compatibility with issuetracker plugin [Rik, 2011-12-15]
}
}
It looks like Firefox 7 has Array.indexOf defined but Chrome 15 and IE 8 don't so the code would be called and it broke something (probably in the prototype library). I've sent a bug report to the author of jsencryption.js and I'll put a notice on the encryptedpasswords plugin page.
Cheers,
Rik
Info
Independently of the upper mentioned influence by another plugin this behaviour was also noticed in the event the second list does not contain any elements (e.g. not even one issue solved so far ⇒ the second list would be obsolete at all until something to be displayed).
see Issue 37
If you use AUTH:AD as authentication backend in DokuWiki you will run into problems with Issue Tracker if you have more than 1000 objects in Active Directory. This is not Issue Tracker's or AUTH:AD/adLDAP's fault, it is a known problem with PHP's LDAP extension.
See http://adldap.sourceforge.net/wiki/doku.php?id=api_pagingsupport
You can work around this PHP bug by increasing the MaxPageSize value in Active Directory (see http://support.microsoft.com/kb/315071), but make sure you know what problems that may cause (Microsoft Exchange BPA etc).
2012-01-14 → dali
When I was troubleshooting the problem I found two recommendations:
- Fix the application. AD has paging support and limits the query answers to 1000 objects for a reason.
- Increase MaxPageSize. Not recommended by Microsoft, may cause issues with Exchange Server.
The first recommendation is not doable since “the application” in this case is PHP itself and the problem is well known since 2005, yet nothing seems to be done about it.
The second one I haven't tried in our (production) environment because of the unknown long term consequences and possible support issues with Microsoft if we would have to open a support case involving Active Directory and/or Exchange Server.
I've seen indications that there are hard coded limits to account for if you use Windows Server 2008 as domain controller: http://support.microsoft.com/kb/2009267, perhaps the problems you experience are caused by them.
2012-02-15 → dali

workaround coded → upon parameter setting an Input box appears to be manually filled instead of DokuWiki
ACL based pre-filled Select control (please take care that option 'shw_assignee_as' to mail else IssueTracker tries to resolve an e-mail address where login/name is not configured with DokuWiki ⇒ assignee cannot be displayed correctly).
implemented in release 2012-02-22
feedback from →
dali:
“I've done some initial testing with the above build and it looks promising, no errors and no blank pages ”
-
2012-02-21 → Taggic
see Issue 38
well, as quick workaround for myself, i added the following spaghetti code.
the inputfile is based on a simple email list, grabbed from LDAP ldif file with a cronjob.
-
snip
-
// ---------------------------------------------------
// Workaround Code in 'syntax.php'
// comment out the old code block, used to build the 'assign to' list
// ---------------------------------------------------
// Build 'assign to' list from a simple textfile
$userList = "/var/www/wiki/conf/user.mail.list";
$userList_handle = fopen("$userList", "rb");
while (!feof($userList_handle) ) {
$line_of_text = fgets($userList_handle);
$parts = explode('=', $line_of_text);
//print $parts[0] . $parts[1]. "
";
$x_umail_select = $x_umail_select . "['".$parts[0]."','".$parts[0]."'],";
}
fclose($userList_handle);
// ---------------------------------------------------
// Workaround Code in 'syntax.php'
// comment out the old code block, used to build the 'assign to' list
// ---------------------------------------------------
// Build 'assign to' list from a simple textfile
$userList = "/var/www/wiki/conf/user.mail.list";
$userList_handle = fopen("$userList", "rb");
while (!feof($userList_handle) ) {
$line_of_text = fgets($userList_handle);
$parts = explode('=', $line_of_text);
//print $parts[0] . $parts[1]. "<BR>";
$x_umail_select = $x_umail_select . "['".$parts[0]."','".$parts[0]."'],";
}
2012-01-27 → lukas