Planning ahead with BugTracker.NET

Planned Dates Screenshot
Planned Dates columns highlighted

When I joined RedZebra, we were good at supporting customers because there were few requests and few problems. We’ve grown a lot and managing support requests is not easy when there are all the different configurations etc.

I introduced BugTracker.NET several months ago and got buy-in from the rest of the team to use this tool to log and record everything that comes through from support. We also use it to plan support if we’re waiting on someone. Ideally we’d integrate this with Outlook Calendars and resource scheduling so we can plan ahead, but this hits the budget for now.

I wanted a way to add a date to the items, and then be able to see when they’re planned in for, and if something is due for today. We already use BugTracker.NET’s categories, organisation, statuses and priorities, this just helps us organise that little bit better since we don’t have any time to go in and customise it ourselves.

I added a custom field called Planned Date and then modified our Queries (bug lists) to show the planned date, and another column indicating if the job is today. I’d previously joined the two together but mixing datetime and varchar sort wouldn’t be easy in this. I’m sure we could write a custom sort, or just modify the codebehind to do this, but I wanted to try and stay within the confines of the editors if I could.

Adding a Custom Field

  • In BugTracker.NET, navigate to Admin > Custom Fields
  • Click Add New Custom Field
  • Planned Date was the name of the field, and I chose datetime as the type. This hint lets BugTracker.NET display the right component. There’s a few different options here worth exploring, but for now just choose datetime so we get a calendar control.
  • Save

Now when you return to the Add or Edit Bug screens, you’ll be presented with the field.

Adding fields in here actually modifies the bugs table definition in the database (by adding and removing columns), so use with caution.

Selecting dates

When you’ve added your Custom Field, it’s right there when you edit an item.

Custom SQL for Queries

You won’t be able to see Planned Date or Today columns unless you add them to your Queries.

In BugTracker.NET navigate to Queries > Add New Query

Enter “planned” as the Description and copy the code below into the SQL box. Hit Create to add the Query and then navigate to Items > Query dropdown list > planned to see your new list. You can organise by Today or Planned as expected. It should look like the screenshot above.

I used an inline SELECT CASE which is similar to a switch or inline if for dates.


select DISTINCT
isnull(pr_background_color,'#ffffff'),
bg_id [id],
isnull(bu_flag,0) [$FLAG],
CASE WHEN CONVERT(DATETIME, bugs.[Planned Date]) >=
(SELECT DATEADD(dd, DATEDIFF(dd,0,GETDATE()), 0))
AND CONVERT(DATETIME, bugs.[Planned Date]) <
(SELECT DATEADD(dd, DATEDIFF(dd,0,GETDATE()), 1))
THEN 'Today!'
ELSE '' END [Today],
bugs.[Planned Date],
bg_short_desc [desc],
isnull(st_name,'') [status],
isnull(asg.us_username,'') [assigned to],
isnull(ct_name,'') [category],
isnull(pj_name,'') [project],
isnull(og_name,'') [organization],
isnull(pr_name,'') [priority],
rpt.us_username [reported by],
bg_reported_date [reported on],
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 lu on lu.us_id = bg_last_updated_user
left outer join users asg on asg.us_id = bg_assigned_to_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 bg_status not in (5,6)
order by bg_id desc

Service Management Expo 2012

Service Management Expo - Copyright SME
Service Management Expo 2011 – Copyright SME

Today I went to the annual Service Management Expo which was held in the National Exhibition Centre in Birmingham (the NEC). This is the second time I’ve gone, again with my boss, to check out our competition and get a feel for how the market is changing. It’s nice to see what’s out there, what’s new and where we fit into things – it gives me perspectives and ideas that I just cannot get from sitting and researching behind a computer screen.

The industry, like any other, is smart. It adapts, morphs and constantly pushes and innovates by creating more features and options. These features come at a cost; for the developing teams in terms of hours and other resources, and then to the customer as they purchase it; pushing up the initial and ongoing costs of the software.

There are always new entrants into the field and these are now web-based, look really promising and match our thinking. The industry is pushing HTML5 apps and the cloud in a big way. I have my reservations of cloud storage, I always prefer owning my content and I can understand why customers are hesitant about migrating to the cloud. I saw a demonstration today where the presenter could dip into live systems from a sitemap list and view live installations at will. Imagine if he accidentally saved his password using Chrome or similar – disastrous.

Thankfully we are keeping up with the innovation game and know where we want to go with the software in the next couple of years. There was nothing there we’d not considered or hadn’t thought about before, so there was nothing so shocking or interesting for us this time. I still maintain that it’s important keep up with your competitors through innovation, and I pushed for our apprentice to go and visit it and get a feel for the industry he’s in. He came back with some ideas, some of the features he thought our competitors lacked and saw gaps in the software that he never saw before.

One day, when this business grows enough, we hope to present at the SME, but for now we need to continue developing the features we’re going to add and concentrate on that at a later date.

DataTables with Twitter Bootstrap


No doubt I’ll use this later, so here are some links to getting Twitter Bootstrap working with DataTables.Net.

I extensively use Twitter Bootstrap for all our web applications at RedZebra Software, and our search/finder features are grids with DataTables applied to them.

If you’ve never explored Twitter Bootstrap or DataTables, I strongly advise you to do so – they’re both pretty epic and show what a collaborative spirit can produce!

Remove AVG Secure Search from Google Chrome

AVG Secure Search comes bundled with the AVG Pack. When it’s installed, it overrides the settings in Google Chrome, so you can’t get to your preferred homepage or installed Chrome Applications.

To remove it, go to Wrench > Tools > Extensions and disable AVG Secure Search.

Unfortunately the quite useful AVG Do Not Track tool is disabled too, but other extensions such as AdBlock can fill this gap which is better behaved and honors Chrome’s settings.

Chrome Apps Dashboard

Music Subscription Services

I’m not a fan of giving my money away, and I see the music industry as very greedy at times. Like everyone else, I enjoy music and it’s an integral part of modern living. I also enjoying albums and being able to play the music I love. Lots of people I know have massive collections of music and spend a lot of money on buying new CD’s or downloads of the songs they want to keep.

There are alternatives to downloading or buying music, such as subscriptions services like SpotifyRdio.com and Deezer, each with their own drawbacks and merits. Instead of buying music and owning it, you are renting it from them until you stop paying your subscription. If you work out the cost of music, the cost of one new CD  downloadable album on its day of release pays for a whole month of unlimited streaming (and offline DRM’d copies) of any album in the vast archives of music these subscriptions offer. Since I listen to music a lot at home or when I’m coding at work, I thought I’d give rdio.com a try for a week and see if I would use it. It turns out I listen to a lot of music and many different albums in the space of one day. I do listen to a lot of the same thing if I like it, but then get bored and move on. I figure if I really like an album, I’ll go and buy that album regardless, but really like discovering music so will try a full rdio.com subscription for a few months.

Spotify is well advertised in the UK and there is a lot of tie ins with Facebook, but too much for my liking. My close friends love Spotify, but there’s something at the back of my mind about them that I don’t like, which must stem from the tight Facebook integration, something that rdio.com didn’t force on me when I signed up. I also love an underdog and like a fair playing field – so we’ll see how rdio.com does.

 

Bing and 118 business data sources

When Bing and other search engines scour and index the web for business and address information, sometimes the information isn’t detailed enough, or they need an authorative answer for business information.

Bing and the UK’s 118 services (directory enquiries) (e.g. 118 118, or 118 192 etc.) share the same base database and then add their own records to it.

To perform a free lookup and check your information is right, it makes sense to go to the source: www.marketlocation.com/changereq

Related Links