====== IssueTracker Plugin (2nd Edition) ====== ---- plugin ---- description: For easy issue tracking author : Taggic email : Taggic@t-online.de type : syntax, action lastupdate : 2017-06-27 compatible : Rincewind, Angua, Adora Belle, Binky, Hrun depends : conflicts : similar : dokumicrobugtracker tags : bugtracker, request, tickets, issue, incident downloadurl: https://github.com/Taggic/issuetracker/zipball/master bugtracker : https://github.com/Taggic/IssueTracker/issues sourcerepo : https://github.com/Taggic/IssueTracker/ donationurl: ---- ====== 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. [[http://www.fristercons.de/fcon/doku.php?id=issuetracker:descr|{{http://img815.imageshack.us/img815/1257/xseditor.png?nolink|}}]] 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:** [[http://www.fristercons.de/fcon/doku.php?id=issuetracker:descr|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: [[http://www.fristercons.de/fcon/doku.php?id=issuetracker:descr#syntax|IssueTracker description]] ===== Sites using this Plugin ===== You are using the IssueTracker? Please put your link here: * [[http://www.fristercons.de/fcon/doku.php?id=issuetracker:issuelist|fcon - IssueTracker]] ===== Installation ===== Search and install the plugin using the [[plugin:extension|Extension Manager]]. Alternatively, refer to [[:Plugins]] on how to install plugins manually. [[https://github.com/Taggic/issuetracker/zipball/master|Download]] and extract it as folder ''issuetracker'' into your ''\lib\plugins'' directory. ==== Changes ==== For complete list of releases please have a look on [[http://www.fristercons.de/fcon/doku.php?id=issuetracker:devel|fcon IssueTracker - Development History]] {{rss>https://github.com/Taggic/IssueTracker/commits/master.atom date}} ==== 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 =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 [[https://forum.dokuwiki.org/thread/12192|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 //gel**oe**st.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 === ^ Date ^ Changes ^ | **2014-12-04** | __**BugFix:**__ \\ [[http://www.fristercons.de/fcon/doku.php?id=issuetracker:issuelist?do=showcaselink&showid=252&project=fcon_project|#252 Cannot create an issue report]] | | 2014-12-01 | __**BugFix:**__ \\ [[http://www.fristercons.de/fcon/doku.php?id=issuetracker:issuelist?do=showcaselink&showid=252&project=fcon_project|#252 Cannot create an issue report]] \\ [[http://www.fristercons.de/fcon/doku.php?id=issuetracker:issuelist?do=showcaselink&showid=248&project=fcon_project|#248 not all Results for Filterselection]] \\ [[http://www.fristercons.de/fcon/doku.php?id=issuetracker:issuelist?do=showcaselink&showid=45&project=fcon_project|#245 Version number lost after send report]] \\ [[http://www.fristercons.de/fcon/doku.php?id=issuetracker:issuelist?do=showcaselink&showid=242&project=fcon_project|#242 PHP error]] \\ [[http://www.fristercons.de/fcon/doku.php?id=issuetracker:issuelist?do=showcaselink&showid=241&project=fcon_project|#241 no Mail after fill in a solution]] \\ [[http://www.fristercons.de/fcon/doku.php?id=issuetracker:issuelist?do=showcaselink&showid=240&project=fcon_project|#240 medium in progress Taggic Issuetracker configuration of Severity/Status images]] \\ [[http://www.fristercons.de/fcon/doku.php?id=issuetracker:issuelist?do=showcaselink&showid=239&project=fcon_project|#239 search for ticket number fails]] \\ [[http://www.fristercons.de/fcon/doku.php?id=issuetracker:issuelist?do=showcaselink&showid=237&project=fcon_project|#237 Next/Previous Issues Button did not work in IE]] \\ [[http://www.fristercons.de/fcon/doku.php?id=issuetracker:issuelist?do=showcaselink&showid=236&project=fcon_project|#236 Wrong detail url for changed issues]] \\ [[http://www.fristercons.de/fcon/doku.php?id=issuetracker:issuelist?do=showcaselink&showid=235&project=fcon_project|#235 Column "user" is empty]] \\ [[http://www.fristercons.de/fcon/doku.php?id=issuetracker:issuelist?do=showcaselink&showid=234&project=fcon_project|#234 wrong link when multi project handling without show project column]] \\ [[http://www.fristercons.de/fcon/doku.php?id=issuetracker:issuelist?do=showcaselink&showid=232&project=fcon_project|#232 problems with "German Umlaute"]] \\ [[http://www.fristercons.de/fcon/doku.php?id=issuetracker:issuelist?do=showcaselink&showid=231&project=fcon_project|#231 I´ve a lot of = charaters (html-mails)]] \\ [[http://www.fristercons.de/fcon/doku.php?id=issuetracker:issuelist?do=showcaselink&showid=228&project=fcon_project|#228 only 1 Symptom Link is working]] \\ [[http://www.fristercons.de/fcon/doku.php?id=issuetracker:issuelist?do=showcaselink&showid=224&project=fcon_project|#224 "NetworkError: 404 Not Found .... issuetracker/datepick/jsDatePick_ltr.css"]] \\ [[http://www.fristercons.de/fcon/doku.php?id=issuetracker:issuelist?do=showcaselink&showid=221&project=fcon_project|#221 modification of mail template and syntax.php]] \\ [[http://www.fristercons.de/fcon/doku.php?id=issuetracker:issuelist?do=showcaselink&showid=218&project=fcon_project|#218 extend German lang.php]] \\ [[http://www.fristercons.de/fcon/doku.php?id=issuetracker:issuelist?do=showcaselink&showid=217&project=fcon_project|#217 Eliminate further objects from print out of Issue Details]] \\ [[http://www.fristercons.de/fcon/doku.php?id=issuetracker:issuelist?do=showcaselink&showid=201&project=fcon_project|#201 Title's URL on filter list missing project]] \\ \\ __**NewFeature:**__ \\ [[http://www.fristercons.de/fcon/doku.php?id=issuetracker:issuelist?do=showcaselink&showid=250&project=fcon_project|#250 extra fileUpload only for admins]] \\ [[http://www.fristercons.de/fcon/doku.php?id=issuetracker:issuelist?do=showcaselink&showid=249&project=fcon_project|#249 Extend Syntax by optional column configuration]] \\ [[http://www.fristercons.de/fcon/doku.php?id=issuetracker:issuelist?do=showcaselink&showid=233&project=fcon_project|#233 Sorting Tickets: wrong order]] \\ [[http://www.fristercons.de/fcon/doku.php?id=issuetracker:issuelist?do=showcaselink&showid=230&project=fcon_project|#230 Automatic creation of defined it_data folder]] \\ [[http://www.fristercons.de/fcon/doku.php?id=issuetracker:issuelist?do=showcaselink&showid=223&project=fcon_project|#223 configurable visibility of single filter controls]] \\ [[http://www.fristercons.de/fcon/doku.php?id=issuetracker:issuelist?do=showcaselink&showid=222&project=fcon_project|#222 extend functionality on multi-projects with different assignee groups]] \\ [[http://www.fristercons.de/fcon/doku.php?id=issuetracker:issuelist?do=showcaselink&showid=220&project=fcon_project|#220 add a syntax option for mail address]] \\ [[http://www.fristercons.de/fcon/doku.php?id=issuetracker:issuelist?do=showcaselink&showid=213&project=fcon_project|#213 feature request in progress André Tavares Reminders]] \\ | | 2014-05-06 | __**BugFix:**__ \\ [[http://www.fristercons.de/fcon/doku.php?id=issuetracker:issuelist?do=showcaselink&showid=186&project=fcon_project|#186 Problem with symlink farmed wikis ]] \\ [[http://www.fristercons.de/fcon/doku.php?id=issuetracker:issuelist?do=showcaselink&showid=188&project=fcon_project|#188 Issue links in list jump into nirvana ]] \\ [[http://www.fristercons.de/fcon/doku.php?id=issuetracker:issuelist?do=showcaselink&showid=189&project=fcon_project|#189 Bugs in Text Emailtemplates ]] \\ [[http://www.fristercons.de/fcon/doku.php?id=issuetracker:issuelist?do=showcaselink&showid=211&project=fcon_project|#211 Error while loging in ? ]] \\ [[http://www.fristercons.de/fcon/doku.php?id=issuetracker:issuelist?do=showcaselink&showid=216&project=fcon_project|#216 Printing out an issue without edit buttons ]] \\ \\ __**NewFeature:**__ \\ [[http://www.fristercons.de/fcon/doku.php?id=issuetracker:issuelist?do=showcaselink&showid=192&project=fcon_project|#192 Sortability of tables should be visible by icon and/or cursor ]] \\ [[http://www.fristercons.de/fcon/doku.php?id=issuetracker:issuelist?do=showcaselink&showid=193&project=fcon_project|#193 turn on MyIssues flag by syntax ]] \\ [[http://www.fristercons.de/fcon/doku.php?id=issuetracker:issuelist?do=showcaselink&showid=194&project=fcon_project|#194 Global sort of issues ]] \\ [[http://www.fristercons.de/fcon/doku.php?id=issuetracker:issuelist?do=showcaselink&showid=206&project=fcon_project|#206 Extend filter controls by "Version" and "assigned" colums ]] \\ [[http://www.fristercons.de/fcon/doku.php?id=issuetracker:issuelist?do=showcaselink&showid=210&project=fcon_project|#210 provide add plan info within issue details ]] \\ | | 2013-06-25 | __**BugFix:**__ \\ [[http://www.fristercons.de/fcon/doku.php?id=issuetracker:issuelist?do=showcaselink&showid=184&project=fcon_project|#184 search fails in multi project mode]] \\ [[http://www.fristercons.de/fcon/doku.php?id=issuetracker:issuelist?do=showcaselink&showid=183&project=fcon_project|#183 text-email-notification jams category "assigned" with "value"]] \\ [[http://www.fristercons.de/fcon/doku.php?id=issuetracker:issuelist?do=showcaselink&showid=182&project=fcon_project|#182 multi-project handling]] \\ [[http://www.fristercons.de/fcon/doku.php?id=issuetracker:issuelist?do=showcaselink&showid=181&project=fcon_project|#181 event check log written into dokuwiki root]] | ^ History ^ for more historical information please refer to [[http://www.fristercons.de/fcon/doku.php?id=issuetracker:descr&#change_log|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 [[http://www.fristercons.de/fcon/doku.php?id=issuetracker:report|fcon - IssueTracker]] and report a feature request. ===== Discussion ===== Please use only the [[https://forum.dokuwiki.org/|DokuWiki User Forum]] for discussion and [[http://www.fristercons.de/fcon/doku.php?id=issuetracker:report|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). [[http://translatedby.com/you/issuetracker-plugin-for-dokuwiki/into-ru/trans/|Partial Russian translation]] (to **Taggic**: don't use for GitHub-repository, please). ===== FAQ ===== For collection of FAQ please check: [[http://www.fristercons.de/fcon/doku.php?id=issuetracker:descr#faq|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 [[https://github.com/Taggic/IssueTracker/commit/fda8f72c822da490dc56276e73812a44f97949cc|change #309]], since that the problem was solved here changing [[https://github.com/Taggic/IssueTracker/blob/master/syntax.php#L179|syntax.php]] from: $issues[$issue_id]['title'] = htmlspecialchars($_REQUEST['title']); $issues[$issue_id]['title'] = htmlspecialchars($_REQUEST['ittitle']);