BlueBug

BlueBug is a free bug and feature tracking system built on the “KISS” principle (keep it simple, stupid). Accounts are not required to post bugs, everything is straight forward and easy to use. Look below for more information and features.

Browse/Checkout/Commit Source @ GitHub

Clone URL:  git clone git://github.com/bluescripts/bbug.git

Installation Instructions

Unzip the files, upload them to your directory. Edit config.php and enter your database information, go to http://bluebug.yoursite.com/install.php enter the admin details and then hit FINISH. Once your user has been created delete the install.php and your ready to go!

System Requirements

This was developed on PHP 5.x but will work on PHP 4.x.
Register globals was ON.
Apache 2 was used, any will do though.
Javascript is required by the users.
MySQL 4.x+ is required and is the only database type supported for now.

Features

  • Lightweight: only 3 tables
  • Unlimited number of users/admins
  • Unlimited number of projects
  • Simple roadmap to show completion of bugs/features for a specific project
  • Versioning for projects (eg: Demo v1.0 Demo v2.0)
  • Ticket Priorities
  • Admin menu to quickly change context menus and assign tickets to users
  • Sortable tables
  • Start / Finish times of tickets
  • Status (Open/Closed)

Changelog

  • v1.5 – 2/19/2009 – RELEASED
    1. Attachments in tickets/reports
    2. Working API (more here eventually)
    3. To Do List functionality added for a new feature
    4. Quick Add form added to quickly add bugs
    5. Added filtering options to show open/closed tickets, and filter by project
    6. Fixed a WYSIWYG editor bug
    7. Really fixed all short tags this time :)
    8. Links are now automatically created when entered into a ticket
    9. Admin’s can edit titles by simply clicking on a ticket and then clicking the edit button next to the ticket’s title
    10. Fixed url for emails not pointing to proper subdirectory
    11. Fixed url issue for bugs being added and emails being sent out for quickadd bugs/features
    12. Fixed report background image not working to show progress
    13. Changed version control system to GIT (maybe some people can contribute now)
    14. NEW LAYOUT!
    15. Fixed various CSS bugs
  • v1.210/27/2008 – RELEASED
    1. Fixed all short tags (if you still get an error let me know, I’m 99.9% sure I got them all)
    2. Script now works properly in sub directories – see demo for in-action.
  • v1.1 – 9/9/2008 – RELEASED
    1. Added a line to the config.php to limit registered users to posting. Add $config[registered] = 1; in your config.php file to only allowed registered users (if upgrading).
    2. Added a last insert id function to the Database class.
    3. Administrators now get emails when new tickets have been added.
    4. Assign to list for tickets now properly displays all users.
    5. When a user is assigned to a ticket, they are notified by email.
    6. Priority # changed to text for easier reading.
    7. Users are now emailed when their ticket is closed, if they are registered.
    8. There is now a user administration area in the admin panel.

To Upgrade to 1.5

Please read the readme file included in the zip. You must run the upgrade.php file and make changes to your config.php file.

To Upgrade from v1 to 1.1

Unzip all the files, upload everything except the config.php file, check the config.php for the syntax of the new feature for forcing users to register.

Download

BlueBug (2906)

Screenshots

BlueBug demo site:

http://bb.bluescripts.net/

Let me know what you think by leaving a rating!

If you like our
script, please rate it!


Any amount is appreciated, especially if its enough to buy a coffee to keep me going.

84 Responses to “BlueBug”

  1. radool Says:

    nice job, simple and efficient.
    what i would like (and probably do it myself) is an option for the admin to limit the bug submission to registered users only.
    regards.
    radu

  2. Greg Says:

    +1
    But one thing missed I think – It will be good to implement 3 types of email notifications:
    1. to the Admin when new task is created
    2. to the person to whom task was assigned
    3. to the task author about task completion

  3. Josh Says:

    I’ve noted both of these and will implement them in the next version.

    Thanks for the great feedback and suggestions!

  4. Søren Says:

    My download manager offers to download the site when I enter the /install.php file, instead of showing it, which kind of make it impossible to install

    BTW. It would be nice to have table prefixes

  5. Josh Says:

    Sounds as though you don’t have php installed or installed properly.

  6. John Says:

    Hi, I was wondering if there is a way to edit/delete features as admin. And is there a way to add and remove users? A way to stop users from adding bugs Anonymous ly?

  7. Josh Says:

    You can delete tickets when you click on them (I’m assuming thats what you meant). Users can hit the register link to add themselves.

    In the next version I will be making a anonymous/registered option for posting bugs.

  8. Shinsou Says:

    Hi,
    I think you should probably add [an optional] setting for coloring reported bugs dependent of the Severity (I guess this can also be “Priority”). Another thing I suggest is to make the “Priority” to show text instead of numbers.

  9. Carlos Galindo Says:

    make sure you replace all “<?” with “<?php” throughout the script to make it work with php5 and most hosts.

  10. Carlos Galindo Says:

    I know this question is ironic.. but, is there a bug tracking system setup for this script?..

    .. also noticed that all the media, such as images and css files are referenced as eg. src=”/images/etc..” if you remove the first slash to make it look like src=”images/etc..” will allow people to install the script in sub-directories, such as http://site.com/bugs/,
    other wise, the images won’t load or the javascript (at least in Firefox)

    do you have an SVN setup? I could help a little if we team up (not asking, just a suggestion, I have a lot of work!, but i could consider helping).

    thanks

  11. Josh Says:

    If you want to report any bugs just leave a note here :) .

    Thanks for all your comments! I will make sure in the next version to change the

    Josh

  12. Josh Says:

    I’ve upload v1.1, you can look at the changelog above for more information.

    Let me know if you have anymore questions or bugs!

    Josh

  13. Kevin Says:

    Nice script, but I have some open points as well:

    1. Do not use INSERT INTO …(id, …) VALUES (”, …)
    Will fail if you use this MySQL setting (because ” is not a integer value!):
    [mysqld]
    sql-mode = “STRICT_TRANS_TABLES”
    This problem occurs in many places…

    2. Fix the path problem (simply use a “directory” constant) otherwise this script is hard to use.

    3. Do not use variables like $config[registered] BUT $config["registered"].

    4. Probably add a language flag to the usertable and use a translation file (I would help translating it to german)

    5. Turn register_globals OFF during development.

    I’d like to use the script. But currently it doesn’t work, because I like my server to use strict settings, so developed scripts will likely run in most other environments.
    Why don’t you use your own script for bug handling???
    Looking forward for the next version :)

  14. Josh Says:

    I’ll make sure to export the schema next time in strict mode.

    In the next version I’ll fix the few bugs you mentioned although I don’t plan on translating this at all.

  15. Marius Says:

    It looks great but I do have some comments that would be nice to see in future versions:

    - registered globals off
    - no short open tags

    Especially the last point is quite important to me, since all our servers have short open tags disabled.

  16. Kevin Says:

    Cool, so I come back once in a while to check for the new version :)

  17. kilah Says:

    very cool, i will use

  18. abhisek Says:

    nice. very lightweight, indeed. Would like to use it.

  19. katexter Says:

    unfortunately, it doesn’t work. probably due to post #15. Any chance you can upload the fixes? Thanks.

  20. Mike Says:

    Is it just me ?

    Just downloaded and installed bluebug.

    first problem:
    bluebug installed in its own directory, and trying to load images from base domain/images instead of domain/bluebug/images

    next go to admin/admin.php:
    nothing but a ” > ”
    blank screen otherwise.

    next go to index.php:
    same image problem
    same “>” as above
    try log in box, incorrect user/password

    I did note your install instructions show upload to bluebug.domain.com I now assume one must use it on a subdomain ? If so why ?

    There’s a few minutes of my life ill never get back….

  21. Ali Khan Says:

    Great script. Been tinkering with it. I feel you could add ALOT more. If you’re open to partnering up development I’d be glad to help add new features.

  22. Eric Says:

    Whats with the error messages?? I tried to re-install several times. Please help!

    Thanks.

  23. Eric Says:

    Please see:

    http://www.ericport.com/trackingsystem/index.php

  24. Josh Says:

    If you’re modifying the script make sure you do modifications after the headers are sent (in this case the session_start() function ).

    If your still having issues after that feel free to shoot me an email: josh [@] bluescripts DOT net

  25. Josh Says:

    1.2 of BlueBug has been released and has addressed all of the issues many of you have been having. Please let me know if you’re still having any problems or have any suggestions!

  26. Eric Says:

    I just emailed you Josh. Thanks.

  27. Josh Says:

    Fixed another minor bug that Eric found where a PHP5 function was accidentally used instead of a PHP4 friendly one. If you replace line 82 in includes/db.php the function stripos with strpos it will fix any errors you may have had on a PHP4 host.

  28. Vibes Says:

    Hi, great little script i changed the user auth to work with my site and plugs in very nice.

    I would recommend switching on PHP errors and fixing all the errors!! i had to add error_reporting(0); on my development server cos there was that many errors.

  29. bmoinet Says:

    Nice tool, Josh. It’s almost exactly what I was looking for.

    However, I found bugs and I have simple ideas to enhance it :

    - It is possible to create an admin with no login and no password.

    - Connected as an admin, it is possible to delete oneself

    - On IE 7, the button in the editor to submit a bug has strange behaviours

    - The path to images is sometimes “hard coded” (/images/…), it is not relative

    - It is possible to submit an “empty” bug

    - Changelog and doc for install could be integrated in the zip file

    - It would be nive to be redirected to install.php when you enter the url and you point at the root of the project, at installation (no tables created yet)

    Best regards,
    Bastien

  30. Josh Says:

    I will keep all that in mind for the next release — One question though is where you found the /images/ – I thought I had fixed all those.

    Thank you for your interest and comments!
    Josh

  31. the pizz Says:

    Thanks Josh,

    Its hard to find some simple software.
    Mostly it is to heavy, full of functions you don’t want to use.

    Feature :
    can you add an upload field for screendumps or docs / pdfs.
    can you put the sendadres in config.php

    Keep up the great work.

  32. Seiya Says:

    Cool Script! Thanks!

    Gives there a way to see which Project is for which issue/bug?

  33. Pacheco Says:

    nice aplication….

    I already install, and the very nice work…
    In my version and also in the web, when we make one reply, we get:
    Subject:
    Reported by: xxxxx
    IP Address: xxx.xxx.xxx.xxx
    Submission Date:
    Tue, November 25 2008 04:11:17 PM WET

    And it misses the box(editor) to enter coment…in mozila appear some points and after the box in IE just points….

  34. Pacheco Says:

    remove the slash before the “/js…

    href=”js/jquery.wysiwyg.css” rel=”stylesheet”>

  35. John Says:

    Hi Josh,

    When installed in a sub-directory, the e-mails sent to notify about new bugs, assignment, etc. contain a link to view the bug, but the URL only contains the main domain name, not the sub-directory name.

    Cheers,
    John

  36. John Says:

    Hi Josh,

    This is very nice & easy to use software. Thanks a lot!
    However the project name & version for each bug/feature request do not appear anywhere, so although they are entered when the report is submitted, the information is not available. It would be nice to have this info in the bug report/feature request, maybe also in the lists of bugs/features (for sorting, etc.).

    Cheers,
    John

  37. chrizb Says:

    Hi,

    Just implemented it now. In 10 minutes I had created all the software projects I am tracking. brilliant. Thank you!

  38. chrizb Says:

    One more thing…it would be nice to have a validation against empty subject field and php coding in the subject field.
    If the subject field is left blank then it can never be selected I think.
    If one enters php code into the tag the one can get global variables displayed and constants and potentially hack the server.
    Could that be fixed? Maybe by validating against text and numbers only in subject field? Something like this for the Latin languages:

    function check_field1($field_name_1)
    {
    if(!preg_match(“/[^a-zA-Z0-9\.\-\?\ä\?\ö\?\ü\
    ]+$/s?,$field_name_1))
    return TRUE;
    else
    return FALSE;
    }

    Kind regards
    Chrizb

  39. Dominic Says:

    “Fixed all short tags”

    Are you kidding! What is <?= then
    Found in 7 or 8 files

  40. Josh Says:

    Dominic,

    If you’re going to quote something, quote it properly: “# Fixed all short tags (if you still get an error let me know, I??m 99.9% sure I got them all)” You seem to have missed that last part.

    It is open source so you’re free to fix them yourself, or you can point them out to me and I will fix them.

  41. Dutchfoxy Says:

    Sorry, could not get it working on a shared hosting account with PHP5 and MySQL5. No idea why not, possibly the globals. Maybe the next release will be better because it will have been tested on a PHP5 environment?

  42. Josh Says:

    Works fine for me on PHP4 and PHP5… you can see it at http://bluebug.home.bluescripts.net/

    If you email your error log to me I might be able to help you out a little.

    Josh

  43. Josh Says:

    I’d also like to point out that on the above link register globals is off and everything works fine. I am using this MySQL release as well:
    mysql Ver 14.12 Distrib 5.0.45, for redhat-linux-gnu (i686) using readline 5.0

  44. Geert Says:

    Any idea when the new version will come out?

  45. Josh Says:

    Hopefully by the end of the month.

  46. Lee Says:

    PHP Short tags need to be enabled for this to work.

    You might like to re-consider this, as not everybody has access to their PHP config file.

  47. Josh Says:

    Its been released :) .

  48. Josh Says:

    Lee,

    Try 1.5 and let me know if you still have an issue.

  49. Dieter Says:

    Hello!
    I need some way to remove outdated entries completely, incl. all related comments – and only “closed” ones, of course.
    I know a bit PHP/SQL, but I don’t understand how to extend your script couse it’s so nested using all these includes and javascripts ;)
    Selection of entries to be deleted should be done manually, so not by “date” or such; may be by putting a link “remove” under the closing date? Or make the date itself a link? Somethíng like that, I think you know what I mean :)

    Except from that, great stuff!

    Dieter
    Berlin, Germany

  50. Josh Says:

    Dieter,

    I forgot to add the delete link in the release I made but its up on GitHub… I’ll link you to file:

    You’ll need to replace the main.php file in includes/

    http://github.com/bluescripts/bbug/blob/ced9c8ebc0a330598c0088245252725ec9f1d6b0/includes/main.php

    Thanks for the great comments!
    Josh

  51. Josh Says:

    WOW cool! the delete ticket was just what I was looking for thanks!

    Best little script ive seen in ages!
    Thanks every one!
    J

  52. Josh Says:

    Just a few bugs,

    - only admin can edit a post
    - only admin can change priority
    - only admin can close job :)

    We need users to do this stuff :)

  53. Josh Says:

    @ #47 – Josh

    I’ll look into getting those into 1.6 – the major feature I’m working on is actual github integration.

    Regards,
    Josh

  54. Josh Says:

    @48 Thanks Josh!, Nice name By the Way ;)

  55. Josh C Says:

    one more thing that is really really really needed and would love if there is a quick fix for this.

    If someone responds to a bug it would be great if on the home screen there could be a response count. because at the moment I have to click through every bug to see if the programmer has added a comment or question to a bug.

    :)
    But loving the the script mate!

  56. Josh Says:

    @50 – Josh

    I’ll try and remember to add that but this is somewhat similar. The new homescreen for bluebug is a “status” screen which displays information like what you want:

    http://img.skitch.com/20090312-d8rcrrbhwh6uu656mjehmenu5b.jpg

  57. Richard Says:

    I recommend that you have one more STATUS field. Either have a NEW category for tickets that haven’t been seen by the admins -OR- use INPROGRESS once an admin has seen or is addressing the ticket.

    This gives feedback to the ticket submitter to let them know that the ticket has been seen or acknowledged.

    (alternatively you could you some kind of flag on the ticket status line. Maybe a graphic or a timestamp showing the last update status of the ticket.)

  58. Josh C Says:

    WOW perfect! thanks for your hard work. that screen shot looks great! your a great designer champ! this is the best looking bug tracker as well as the easiest.

  59. Josh C Says:

    Have you got an ETA on the next build?

  60. Josh Says:

    No ETA yet although you’re welcome to pull the source from GitHub if you want the latest – theres still bugs though.

    Josh

  61. Josh C Says:

    Thanks i will :)

  62. Josh Says:

    Josh C and anyone else:

    Here is the file with the SQL changes/updates:

    http://github.com/bluescripts/bbug/blob/80595a6f6c25adfcb603808a9da170ca08bfc640/sql_changes.sql

  63. AdBlock: X Files BTS | Gioxx's Wall Says:

    [...] di “GxWare BTS” (Bug Tracking System) basato sul software gratuito PHP / MySQL BlueBug, che prende il posto della vecchia piattaforma di supporto (qui e qui i dettagli) pur rimanendo [...]

  64. Aubrey Says:

    Looks very good!
    Please mail me when the “login” feature has been added as that will fit my needs perfectly.

  65. Josh C Says:

    I really don’t know much about programming, All I can do is install scripts and and do small changes.
    is there a new install or upgrade script? as going in and changing SQL tables is out of my knowledge base. Although I’m starting a short coarse in php in a few weeks time :)

    Cheers
    Josh

  66. Josh Says:

    Josh C,

    You just need to run the SQL queries in that file I linked above to add the appropriate tables to your database (you should be able to do this in phpMyAdmin or a similar tool).

    Regards,
    Josh

  67. Olivier Says:

    There was a small bug in your latest release. The install script doesn’t create the column “tid int(11)” in table todo_list

  68. piecealava Says:

    I like this product, and I would make the changes and contribute to the project, but i am not a JS coder and don’t know where to start. Any tips would be greatly appreciated.

    There are a couple JavaScript cross browser compatibility issues preventing me from using this. In Chrome the popup to change the priority level does not work, making it impossible to change the priority level. in IE6 (a lesser issue) the hover state of both the main dropdown, and the priority changer do not hide themselves. a page refresh is required for these to be hidden.

  69. Andy Says:

    Hi, I’ve installed your scripts – very useful, but I can’t find where yo can eithe close or delete a bug. I’ve looked through these messages and swa the one about downloading main.php from github – but it didn’t seem t make any difference.

    Am I just being thick here? Can you tell me how I close a bug/feature and then delete a closed bug/feature.

    Many Thanks

  70. Josh Says:

    Andy,

    I emailed you as well but here for anyone else:
    When you view a ticket (if you’re logged in) an extra menu is added up top that says This ticket… it has a drop down that lets you do various things, including close a ticket.

    Regards,
    Josh

  71. raja Says:

    Hello,

    thanks for a wonderful and light weighted bug tracking tool.
    really superb…
    one query..on actions like…while creating tickets..it triggers an email…where can i change the “From” address?

    thanks

  72. Josh Says:

    Raja,

    Its in the includes/user.php file in this function

    function mailUser($uid, $from, $message, $subject)

    Regards,
    Josh

  73. raja Says:

    Thanks Josh..thanks for the quick turn around…

  74. Alex Coric Says:

    Great job on this tool. Have been using it and works a treat.

  75. Eric dLR Says:

    This blue bug is just as stunning as it is simple and efficient.
    But after installing it, I get this error:

    PHP Notice: Undefined index: REQUEST_URI in d:\www\[...]\includes\main.php on line 6

    It appears twice in the header, and once in the footer.
    Is there something I can do about it?

    Eric.

  76. Raja Says:

    Hello Josh,

    Is it any way so that users can be assigned to a particular project and can not view Tickets related to other projects?

    Thanks
    Raja

  77. Chris Says:

    Josh: Recommendation, in bugs.php I would do a stipslashes on this line, <a href="?pid=pid;?>&cmd=view&id=”>. Its line 101 for me, but I modified your program to require that you have a project id to view anything. That way I can create many different projects, and yet at the same time, nobody knows how many projects I am working on. Other that that, VERY good script, and if you would like to see a copy of my modifications, let me know

  78. Chris Says:

    Ah, it ate the code… here is what I was looking for…if this doesn’t work, don’t approve it
    &lttd&gt&lta href=”?pid=&lt?php echo $this->pid;?&gt&cmd=view&id=&lt?php echo $r["id"];?&gt”&gt&lt?php if($r["title"] == “”) echo “[No Title]“; else echo stripslashes($r["title"]);?&gt&lt/a&gt&lt/td&gt

  79. Jeff Says:

    It would be nice if there were a few more fields on the ticket such as Operating System, Browser, etc. It would be even better if they could be customized from the Admin menu.

  80. Gestionnaires de bogues PHP « Sylvain Lévesque ≈ Blogue Says:

    [...] BlueBug [...]

  81. David Says:

    Will there be any updates on this? It’s been out for almost a year without a single update I believe.

  82. Josh Says:

    If you have a github account fork it and then do a merge request, I’ll see if I can incorporate them into it.

  83. Josh Says:

    Currently no.

  84. Josh Says:

    I’ll be trying to update this more but I’ve become swamped with work and school. I was in the middle of working on it but got distracted by Ruby on Rails :)

Leave a Reply

© 2008 Josh Rendek.