On this page... (hide)
BugTracker.net
I was satisfied with BugTracker.net from Corey Trager.
I used it for about 5-6 years at a former employer.
A co-worker originally installed it (not sure what version) and I did maintenance after he left.
I extended the code to add in some short-links to other info-systems we used, like a wiki and a project-management system.
This was an older version and was never really upgraded.
I hope to extend this concept into a more generic version, like PmWiki’s “intermap”.
Satisfied is faint praise, sorry about that.
There are certainly bug-tracking systems I’ve encountered that I do not like.
BugTracker did everything I needed.
installation
http://ifdefined.com/README.html#installation
Configuration
A number of options are diabled by default, although not noted as such in the documentation.
Dig through the web.config
file to see what’s what.
<add key=“EnableRelationships” value=“1″/>
- I changed this from 0
to 1
Unusual (???) Install
By default, the install_btnet.cmd
script uses the Default Website
- which is reserved on my dev machine for corporate apps.
Created a new website MiscApps
modified the script to use it.
Had to manually create new app-pool, and assign app to use it.
App-pool is ASP.NET 4.0, Network Service.
Had to grant permissions on folder to Network Service
Bob’s yer uncle!
Also, it’s using SQL Server 2014 Express - no changes needed to be made for this, since it’s using the default instance.
Migration
I migrated an install from one machine to another with no problems.
Copied the database (detach, copy files, attach).
Copied the entire folder.
Set up virtual directory pointing to www
, made application, set up app pool, made identity Network Service
, granted permissions on www
folder to app-pool identity (for writing log-files and attachments), updated web.config for new DB reference, and URL prefix (this had been wrong before, so does not seem to be a sticking point).
whee!
LDAP integration
http://ifdefined.com/blog/post/LDAP-Active-Directory-integration.aspx
LDAP/Active Directory integration. You can configure BugTracker.NET so that users are automatically registered when they visit BugTracker.NET for the first time.
Windows Integrated Authentication
windows authentication instead of the logon page.
1) Configure your IIS virtual directory so that anon
access is unchecked and windows authentication is checked
2) Configure IE to automatically send username and password
3) Usernames in users table should match your
windows usernames. Passwords in users table will be
ignored.
If you want BOTH modes to work, set "WindowsAuthentication"
to "2".
Configure your IIS virtual directory as normal (allowing
anon access). Follow these instructions for the file "loginnt.aspx":
* From IIS Manager, right-click the file loginnt.aspx and select properties
* Select the Security tab
* Click Edit in the Anonymous Access and Authentication frame
* Ensure Anonymous Access and Basic Authentication is cleared
* Ensure Integrated Windows Authentication is selected
* Click OK
* Select the Custom Errors tab
* Select HTTP Error 401;2 and click Edit Properties
* Set the message type to File and select the file login.htm, including the full local path.
** (Note that this must be a file reference and not a URL)
Except... this doesn’t work for IIS7
You can’t mix auth-modes for an application
In other words, you can’t set for an individual page.
What I did was the following:
in web.config:
<add key="WindowsAuthentication" value="2"/>
in IIS7:
site >> application >> IIS >> Authentication
Anonymous Authentication : Disabled
Windows Authentication: Enables
site >> application >> IIS >> Error Pages >> Add
(as 401.2 did not already exist)
Status code: 401.2
Response Action: Insert content from static file into the error response
File path: login.htm
NOTE: path was left as relative, as IIS7 choked on full path and
HTTP Error 500.19 - Internal Server Error
Absolute physical path “C:\inetpub\wwwroot\bugtracker.net\www\login.htm” is not allowed in system.webServer/httpErrors section in web.config file. Use relative path instead.
2) Configure IE to automatically send username and password
Was handled by
Internet Options >> Security >> Local intranet | Trusted sites
>> Sites >> Advanced >> Add this website to the zone:
Visual editor
It uses the ckeditor
Ugh. The “visual” editor drives me bananas.
And it’s displaying everything in monospace.
How can I change that?
I’d like to display only selected items (code-fragments) in monospace.
Organizations
TODO: is it possible to get a default organization? Or am I using the wrong schemas?
Default project can be set, but projects are usually below and organization.
IE, any given organization has multiple projects.
I’d like to set a default project for an organization, and possibly even a default organization.
Bug Relationships
Did I miss this somewhere in the documentation?
Relationship are mentioned here, but they are disabled by default.
Go into web.config
and update the value of <add key="EnableRelationships" value="0"/>
to 1
All change history
By default (?) some changes are not displayed -- addition of custom fields, relationships, status change, assignments, etc.
I can’t find a global setting to change this.
There is a link on each bug to enable the display: show change history|hide change history
This will store the setting to effect all other bugs the user views.
I haven’t dug into the code to see if this is stored in the back-end, or in the browser (cookie or local-storage).
Queries
Here’s a sample query I’ve set up, overwhelmingly based on the default open bugs
query.
I found that referencing the st_name directly gave more clarity, and it was already present in the query.
Pay no heed to the exact list of ignored statuses, as my list of statuses is up in the air.
bg_short_desc [DESC], isnull(pj_name,'') [project], isnull(og_name,'') [organization], isnull(ct_name,'') [category], rpt.us_username [reported BY],
bg_reported_date [reported ON], isnull(pr_name,'') [priority], isnull(asg.us_username,'') [assigned TO],
isnull(st_name,'') [STATUS], isnull(lu.us_username,'') [last updated BY], bg_last_updated_date [last updated ON]
FROM bugs
LEFT OUTER JOIN bug_user ON bu_bug = bg_id AND bu_user = $ME
LEFT OUTER JOIN users rpt ON rpt.us_id = bg_reported_user
LEFT OUTER JOIN users asg ON asg.us_id = bg_assigned_to_user
LEFT OUTER JOIN users lu ON lu.us_id = bg_last_updated_user
LEFT OUTER JOIN projects ON pj_id = bg_project
LEFT OUTER JOIN orgs ON og_id = bg_org
LEFT OUTER JOIN categories ON ct_id = bg_category
LEFT OUTER JOIN priorities ON pr_id = bg_priority
LEFT OUTER JOIN statuses ON st_id = bg_status
WHERE (st_name <> 'closed' AND st_name <> 'UAT Testing' AND st_name <> 'Deploy to UAT')
AND orgs.og_name = 'ORG_NAME'
ORDER BY bg_priority
When twiddling queries in SSMS, you’ll have to comment out and bu_user = $ME
Steps to Recreate
I added a custom field, varchar 2048
Should be required, IMHO
See Also
Comments
Add Comment