Table of Contents
IssueTracker Plugin (2nd Edition)
Compatible with DokuWiki
Rincewind, Angua, Adora Belle, Binky, Hrun
This extension has not been updated in over 2 years. It may no longer be maintained or supported and may have compatibility issues.
Similar to dokumicrobugtracker
Intro
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 is 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.
For security reason all HTML tags are stripped away. A small editor provide 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. The best way to go is writing the text first and then styling it.
Members of configured 'assign' groups are allowed to directly 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. Tickets fall back to 'New' status if the assignee is deleted. It is not mandatory to assign a responsible contact for an issue.
Admin / assignees and comment creator (not necessarily the Issue reporter) are allowed to modify and delete comments within a work log. If a 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.
Status 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.
IssueTracker provids 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.
⇒ Most current description & Live Demo: fcon - Issue Tracker |
Syntax
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|myissues=on}} ====== Single Issue Link ====== {{issuetracker>project=project_name|id=3|display=single_issue}}
The optional Report Parameter prod_limit=ON will Limit the product drop-down select control to the Syntax provided products. They have to be configured within plugin configuration too.
IssueList Parameters status, severity, view and display will be set to default (status = ALL, severity = ALL, view = 10, display = ISSUES) if they are not defined.
Combination of status or severity parameters are allowed if they are comma separated:
Example: -------- {{issuetracker>project=your_project|product=all|status=new,assigned|severity=critical,major|display=issues|view=15|controls=on|myissues=on}}
More information about syntax switches are provided at: IssueTracker description
Sites using this Plugin
Installation
Search and install the plugin using the Extension Manager.
Alternatively, refer to Plugins on how to install plugins manually. Download and extract it as folder issuetracker
into your \lib\plugins
directory.
Changes
For complete list of releases please have a look on fcon IssueTracker - Development History
- control name "ittitle" changed to "title" at syntax.php line 1370 (2017-06-27 20:32)
- fixed [309] Ticket without Title possible (2017-03-20 22:47)
- register controller & handler (2016-06-02 10:53)
- Declaration of register($controller) modified to get rid of a warning (2016-05-26 11:45)
- a few bug fixes (2016-02-26 20:33)
- BugFix [260] Ticket with empty title (2014-12-16 16:56)
- BugFix for [258] Search for TicketNumber not working (2014-12-15 11:28)
- quick-fix for FF browser usage (2014-12-04 13:58)
Configuration
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) | |
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 =<tab9>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 |
plugin»issuetracker»mail_templates Send html email | on/off | send html-mails according provided templates instead of plain text |
plugin»issuetracker»registered_users» 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 (see also DW-Forum: AD Verbindung Limit 1000 values aufheben) |
plugin»issuetracker»assgnee_list loop through plugin conf path and load all assignee-files needs unique file extension like 'assignees' | file extension | Default empty |
plugin»issuetracker»profile_updt Sync on user profile changes | on/off | |
plugin»issuetracker»validate_mail_addr Validate reporters e-mail address with DNS | on/off | |
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) |
following fine tuning depend on global switch: | 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»shw_mail_addr | choice | → show assignee by login, name or mail address |
plugin»issuetracker»shw_assignee_as 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»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»status_special hidden issues, only single status value allowed ! (comma separated) | 'Deleted' | |
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»components Configure list of components, empty by default | ||
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»ltdListFilters Exclude these filter controls from Issue List | on/off per report control | |
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 |
plugin»issuetracker»global_sort global sort order of selected key | SORT_DESC | |
plugin»issuetracker»listview_sort default listview sort order | sortfirstdesc |
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 !).
Examples/Usage
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|view=10}}
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}}
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”.
Development
Each valuable help is welcome.
Change Log
History | for more historical information please refer to fcon IssueTracker- Change Log |
---|
Version/Requirements
The plugin was tested with DW listed on top of this page and also with related on the Stick version.
My standard browsers are Internet Explorer and Firefox due to majority of users using this.
This is not the guarantee that it works for all environmental configuration.
Further Improvements
If you have a wish what should be improved then please register for fcon - IssueTracker and report a feature request.
Discussion
Please use only the DokuWiki User Forum for discussion and Issue Tracker to raise your problems. You can mention it here but this page is not regularily tracked and if something is solved it will be cleaned from this page (better to use the forum due to automated notifications on an issue).
Partial Russian translation (to Taggic: don't use for GitHub-repository, please).
FAQ
For collection of FAQ please check: IssueTracker - FAQ
Comments
incredibly awesome - thanks for adding this plugin!
by robert
I keep getting the error “Please provide a better description” when trying to create an issue no matter what I do. Is there something I need to change on the configuration?
This is because for some reason, in the syntax.php
file at the beginning of the validation function chkFormular, the value of the textfield is set to its innrHTML attribute.
frm.description.value = frm.description.innerHTML
This effectively clears the content of the textarea which thus have no content when it's checked for content funther down in the function. So just comment the above stated row (row 1205) and it all should work.
Issue title not being saved (a bug fix?)
by wagners
First of all, thank you for providing IssueTracker plugin!
I have installed IssueTracker on Dokuwiki (Release 2017-02-19b “Frusterick Manners”) and noted that the issue title was not being persisted in file [my_project].issues
when submitting a new issue report. Apparently, I understand this problem as an effect of change #309, since that the problem was solved here changing syntax.php from:
$issues[$issue_id]['title'] = htmlspecialchars($_REQUEST['title']);
$issues[$issue_id]['title'] = htmlspecialchars($_REQUEST['ittitle']);