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.2 - 10/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 (1733)

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.

59 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. 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

  29. 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

  30. 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.

  31. 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

  32. chrizb Says:

    Hi,

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

  33. 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

  34. Dominic Says:

    “Fixed all short tags”

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

  35. 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.

  36. 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?

  37. 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

  38. 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

  39. Geert Says:

    Any idea when the new version will come out?

  40. Josh Says:

    Hopefully by the end of the month.

  41. 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.

  42. Josh Says:

    Its been released :).

  43. Josh Says:

    Lee,

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

  44. 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

  45. 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

  46. 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

  47. 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 :)

  48. 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

  49. Josh Says:

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

  50. 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!

  51. 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

  52. 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.

  53. Josh C Says:

    Have you got an ETA on the next build?

  54. 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

  55. Josh C Says:

    Thanks i will :)

  56. 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

  57. 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 [...]

  58. 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

  59. 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

Leave a Reply

© 2008 Josh Rendek.