BugTracker.NET Documentation

 

  • BugTracker.NET Home

  • Documentation Home

     

     

    Is BugTracker.NET helping you? Donate!

     

  • sponsors
    Axosoft OnTime 2008
    A bug tracker, project wiki, requirements manager, and help desk solution that manages the development process so developers can focus on coding. Windows, Web, and VS.NET interfaces. Free single-user licences and 30-day Team Trials

    Gemini Project Issue Management - Free 5 User License
    Gemini is a leading .NET issue management platform used worldwide. Web, Windows, VSS and Outlook integration. Free download or host with us! Special licensing for qualifying OSS projects and non-profits. http://www.countersoft.com

    JIRA 3.12.3 - Free Evaluation License
    Brilliantly Simple, Incredibly Powerful bug and issue tracking software used by more than 8,700 organizations in over 97 countries.
    Get your free evaluation copy now.

     

    API   [back to contents]

    The file "insert_bug.aspx" actually serves as the API for inserting new bugs and appending posts to existing bugs. Both the screen capture utility, btnetsc.exe, and btnet_service.exe, the service that acts as a POP3 client, use insert_bug.aspx for adding new bugs and appending posts to existing bugs. Any program that can send an HTTP request can use the API.

    To use it, send an HTTP request with a URL like so (ignore the line breaks):

    insert_bug.aspx?username=YOURUSERNAME
    &password=YOURPASSWORD
    &short_desc=YOUR+SHORT_DESC
    &comment=YOUR+COMMENT&projectid=YOUR_PJID

    The response will either be ERROR: followed by the specifics of the error or OK: followed by the bug id.

    To add a comment to an existing bug, format a URL like the following:

    insert_bug.aspx?username=YOURUSERNAME
    &password=YOURPASSWORD
    &bugid=9999&comment=YOUR+COMMENT

    You can experiment with these URLs by typing them directly into your browser's address bar.

    HTTP "GET" requests, where the payload is in the URL, have a size limit, so for larger requests, format a POST.

    For the GET query string or POST form variables, the variable names are:
        username
        password
        bugid
        short_desc
        comment
        projectid (the integer id of the project)

    Another way of using insert_bug.aspx is by putting magic words in the body of the email text, at the start of the body, in column 1. For example:
        $CATEGORY$:12
        $PRIORITY$:98
        $ASSIGNEDTO$:33
        $STATUS$:66
        $PROJECT$:2
        $UDF$:2
        Here's the REAL first line of the email body...

    The numbers above are the id's of the corresponding categories, priorities, etc. The magic lines themselves will be stripped out of the body before it is saved as a comment.

    This feature of using variables in the email body is disabled by default to prevent malicious emails from changing your bugs. To enable the feature, set the Web.config setting "ProcessVariablesInEmails" to "1".

    Neither the screen capture nor btnet_service.exe can use IIS's Windows security, but there's a workaround if you use Windows security: You can change the website so that insert_bug.aspx ONLY is configured not to use windows security. That is, you can set the security at the level of a page, not just at the level of a virtual directory.

     

    FCKEditor   [back to contents]

    For editing text with colors and fonts, BugTracker.NET uses "FCKEditor",from http://www.fckeditor.net

    In case you want to get a newer version of that editor, here are the fckeditor files I've customized for BugTracker.NET:
    fckeditor\fckconfig.js
    fckeditor\editor\skins\btnet\fck_editor.css

    The skins\btnet folder is a copy of the skins\default folder from the original FCKEditor. In fck_editor.css, I just changed some colors.

    There are some necessary changes in fckconfig.js. In case you overlay it, there's a backup in the same folder. You can see what I (and the contributor of this feature, Jochen Jonckheere) changed by comparing it to original_fckconfig.js.

    There are other options in fckconfig.js that you might want to experiment with. For example, you can add even more features to the toolbar.

    If you do get a newer version, in addition to the fckeditor folder and subfolders, don't forget to replace "FredCK.FCKeditorV2.dll" in the "bin" folder.

     

    Using Visual Studio   [back to contents]

    To work with BugTracker.NET in Visual Studio, open and build it as a "Web Site".

    Opening as a Web Site:



    Rebuild Web Site:




    You will notice some compiler warnings about the obsolete System.Web.Mail classes. The app works fine despite the warnings.

    Parsing of incoming email uses SharpMimeTools.dll, built from the files in the SharpMime folder. SharpMimeTools is another open source project, created by Angel Marin. More info at http://anmar.eu.org/projects/sharpmimetools

    Editing with fonts and colors is done using code from another open source project, FCKeditor. More details here.

     

    Historical note   [back to contents]

    If you work with the code, you'll notice it doesn't use "code-behind". Here's the story:

    I started BugTracker.NET in 2002 as a learning project, to teach myself .NET and C#, to get those technologies on my resume. At the time I didn't own Visual Studio, so I went about learning .NET the same way I had learned Java in its early days: I downloaded the SDK, edited files using a text editor, and compiled using the command line.

    If you work with the SDK and the documentation of for the .NET libraries, you won't even come across the term "code-behind". Code-behind is a Visual Studio concept, not a .NET concept. I didn't know about code-behind when I created BugTracker.NET and so BugTracker.NET does not use that technique. Some folks who are very attached to the Visual Studio way of doing things have been very disappointed.

    Even today (Feb 2008), I still usually just edit the files using a text editor. I just edit, save, and refresh the browser.

     
     


    Corey Trager
    ctrager@yahoo.com
    http://ifdefined.com.