3.2 features video previews

Hey!

We’ve posted up some videos with early previews of some upcoming functionality for our 3.2 release. The videos show off

  • The new project dashboard, per-project configurable and customizable just like the user dashboard
  • Project settings styled in the new project layout look
  • Early preview of the download / release / release center functionality planned for inclusion in 3.2

For your viewing pleasure!

Continue reading “3.2 features video previews”

Font Fun

One of the plans in The Bug Genie 3.2 is a new font, which will improve clarity as well as improve support for italic characters and foreign scripts. We want to get stuff right, so we have switched the website over to one of the candidate fonts, Google’s Open Sans, and we would very much like to get your feedback.

Please feel free to drop us a line on IRC, forums or via the email – we’d love to know your opinion on this new font. We would especially like to know if you find it more or less readable and pleasant – as clearly the font’s going to be a disaster if you can’t read it!

3.2 improvements

We’re about half-way through the 3.2 development cycle, and it’s starting to become apparent what kind of changes you can expect from the upcoming release. We’ve settled on quite a few features to be included, and even though several of these features haven’t seen any development yet, we’re excited to share with you some of the already completed features and changes. Here are a few highlights of what have been going on in the 3.2 development branch the last few months:

  • Project dashboard reorganization
    We love our project dashboard and project-sections, but there is huge room for improvements. The 3.2 version has seen and is continuously seeing huge improvements and drastic changes in these areas. The main dashboard has already gotten a big facelift, and some of the new functionality we’re working on will have a much more prominent place in this new layout. We don’t want to give it all away just yet, so expect more news related to this 😉
  • Focusing on your projects
    The projects are receiving a lot of love these days. We’re including functionality to better manage your project setup (editions and components); we’ve added support for subprojects to better organize your existing projects; we’re adding much improved release functionality and redesigning the way editions, components and releases work. Project permissions have largely been fixed in our latest releases, but we still have a thorough inspection and fixup planned for project permissions to behave in an expected way and maybe even reduce the complexity.
  • Search improvements
    The main search has also seen some new functionality. You can now sort on the table headers in search results, and you can show / hide columns in the search results to better find the information you need. Also to come is bulk editing functionality, as well as a few other treats.

The list above is far from extensive and far, far from a complete list of changes gone into the 3.2 release. And we still have a lot of stuff on our plates – incoming email support, fully functional LDAP authentication support, support for HTTP auth, bulk editing (as mentioned above), file upload and download functionality for projects and a lot more.

As always, we’re constantly looking for people willing to contribute to the bug genie on a regular or random basis. If you’re familiar with php, html/css or UI / UX design, don’t hesitate to get in touch!

Non-apache love

As a small heads up for those of you who don’t use Apache, I’d like to bring your attention to our library of rewrite rules. We are often asked by users for help setting up URL Rewriting (which The Bug Genie 3 requires) with their server, and this post is there to point out what documentation we have.

Just right now, documentation for IIS 7 and later was added, meaning we now cover the most popular platforms. However are work is not yet done, with documentation for IIS 6 still unwritten (IIS 6 docs now out!), and apparently issues with the nginx one; on top of no doubt other servers that you wonderful users want to use The Bug Genie on (let us know if there is one you need!) Regardless, we currently support:

  • Apache (auto-generated by the installer)
  • IIS 6 (Windows Server 2003 and 2003 R2)
  • IIS 7 and later (so Vista/WS2008 and Windows 7/WS2008R2)
  • Nginx
  • Lighttpd

Further documentation, as well as the above (except Apache) can always be found in the Recipes section of our documentation.

More database encoding (or: how not to have fun with UTF-8)

zegenie posted a short while ago regarding encoding trouble with The Bug Genie, especially those of you who use Greek or Russian alphabets. The good news is we have made some progress on this topic!

The root of the problem is to do with how The Bug Genie connects to the database. Each component has different encoding:

  • Database: whatever you created it as (probably latin1)
  • Tables and columns: UTF-8 (we create them as that)
  • The connection itself: could be anything

The last of these is the crux of the problem. On my system (as I am from Britain), the connection is latin1. This is fine for me, as I don’t need any unicode characters. However, for those of you who do, this means that unicode data is inserted into a unicode table, but is converted to something else (such as latin1) in the process.

The net result is that it will look right on the screen, but in the database it is garbage. This is fine up to the point where you start trying to do stuff with it, as there is a potential for problems to occur with JSON and other unicode-specific things, as what is in the database is not unicode (it is infact latin1 or whatever)!

An example of this is to copy some Russian text into both the Title and Issue Description fields. It will appear correctly in the Issue Description but not in the Title (it will claim it is empty).

This is easily fixed by setting the connection to use UTF-8, by placing this call on line 539 of core/B2DB/classes/B2DB.class.php:

self::getDBLink()->query('SET NAMES UTF8');

Now, all unicode data will be stored correctly in the database. However, this now results in another problem!

Any mangled Unicode data stored in the database as latin1 will be outputted as stored in the database (as no conversion is going on). This means that the mangled text in the database will be rendered to the screen. Luckily this is easily resolved by outputting a dump of the database in a latin1 connection, and then reimporting in a utf-8 connection (the nice Unicode output is obtained on the latin1 export, not the mangle that you get if you exported as UTF-8). The following code will do this, but don’t do this unless you put in the above code change:

mysqldump -h localhost --user=root -p --default-character-set=latin1 -c --insert-ignore --skip-set-charset -r dump.sql thebuggenie
mysql --user=root -p --execute="DROP DATABASE thebuggenie; CREATE DATABASE thebuggenie CHARACTER SET utf8 COLLATE utf8_general_ci;"
mysql --user=root --max_allowed_packet=16M -p --default-character-set=utf8 thebuggenie < dump.sql

We will be continuing to work on these encoding issues for The Bug Genie 3.2.

VCS Integration redux

Following my previous post, all the proposed changes to VCS Integration have been made, and this means some important changes for you upon the release of The Bug Genie 3.2:

  • Upon upgrading, the module will be disabled until you upgrade its database from module config. This will be made clear to you, in the mean time commits can’t be checked in.
  • Your hooks will need reconfiguring. We are now using the project key instead of the project ID, so minor changes to your hooks will be necessary. This is simply a matter of replacing a number with a word, project keys are visible in the projects list in configuration. As a note to those who want to try out the latest code from next, due to an unrelated issue, the direct access method (via tbg_cli) still uses ID-based access, even though it says to use the key.

The upgrade process is necessary due to various database changes we have made. The script will import all your old commits, and set the new settings so that they match the previous configuration. You can, afterwards, go through and alter the projects to take advantage of the new features – such as different access methods for different projects.

The script will import all projects which had VCS Integration enabled beforehand to have it on for issue-affecting commits only, all with the same access method and (if using the HTTP method), the same passkey. The URLs for each project will be imported from the old settings.

Testers wanted! If you want to give this a try, feel free to check out the next branch from github and give it a go! There are probably some loose-ends to tie, so please let us know if you find any problems.

What else is new? Naturally, quite a few problems were found in the main code, which were fixed. One of most note to those of you who use the inbuilt scrum support was a bug where anyone can change the scrum colours. This has now been fixed, and only those who have permission to edit issues can have this magical power.

Coming soon to VCS Integration

For the next release of The Bug Genie 3, there will be some exciting improvements to the VCS Integration module. Here is a taste of what is up to come!

Improved setup and configuration

Setting up the module is a bit confusing at the moment, with project IDs being used which aren’t really visible, as well as it not being clear where the projects are set up. We will be moving the project-specific parts of VCS Integration to project configuration, allowing the access method and passkey to be set on a per-project basis, as well as improving the configuration so that  it is a lot clear what you need to do after typing in the boxes.

Better support for repository browsers

Setting up a repository browser is a bit confusing at the moment, with details split over three boxes, some of which don’t apply in all cases. We will be merging all the boxes into one for each kind of page to be viewed (index page, diff page etc.), with %placeholders% so that it is easier to set up the URLs. This also means that The Bug Genie will support any repository browser under the sun, as long as the fields are inputted correctly.

Better localization

A lot of users have requested that it should be possible to localise the words which The Bug Genie picks up. The pick-up words will now be user customisable, as well as supporting cases where no word is wanted at all. Picking up of issue mentions will become better too thanks to some new API functions.

Not just commits that apply to issues!

VCS Integration will also (optionally) pick up ALL commits. This means on the project commits page, you can see a list of all commits ever made to the repository (since setting up). This isn’t quite inbuilt repository browsing, but it will help with keeping track of things. This will also mean database changes, but an added bonus is users of Gitorious will be able to have commit boxes displayed on their issue, as data will no longer be stored in the database on the basis of file changes – instead commits.

Hopefully this should give you a taste of what is to come. Along with fixing any bugs (there is one with Git we are meaning to look at), this should help improve this slightly unloved feature of The Bug Genie. Thanks to all who have suggested improvements!