What To Expect in GForge 6.3

Summer has really flown by. We’ve been so busy adding features and fixes for GForge 6.3, I didn’t even get to the State Fair this year. As we begin winding down, I thought I’d take a few minutes and share the current list of what’s done now and what’s left to do for our release in October.

Before I get into the features and improvements, I want to remind everyone about our Customer Repositories. As you’re reading about all the great things in 6.3, please remember that you can have them right now, by cloning our customer repository and installing the current version of 6.3 in the customer-next branch. It’s the same code we run every day on gforge.com. Test it out, tell your friends, and let us know your feedback.

Now, on to the changes!

What’s New (right now)

There are literally hundreds of individual changes (link), and that level of detail has never made sense to me as a customer. So for this posting, I’m going to talk less about the exact technical changes and more about how the features help you and your team.  Even so, there’s waaaaay too much to wade through.  So, I’ll make it easier by listing the topics below.

Tracker

Project

Site/Admin

Tracker Email Integration Burn-Down Enhancements Trove is Back
Tracker Extra Fields Project Ratings and Reviews Jenkins Integration
Tracker Browse Project Invites Security Enhancements
Tracker Item Project Nav Item Counts Site Administration
Support Tracker New “Group Member” Access Control
Commits, Tracker Workflow and Time Tracking

Tracker

Tracker Email Integration

Lots of people (ourselves included) have customers who don’t have the time or inclination to visit a GForge site.  Since everyone already uses email, it’s an obvious choice for bridging the gap.

  • Want to let your business customers, testers, or users create Tracker Items just by sending an email?  Now you can.
  • Of course, it would be really great if they got a response back, so they do.  Want to customize what it says?  Check.
  • Do they want to attach a screen shot showing the problem, a spreadsheet with the right numbers, or the log file you need?  We’ve got that covered, too.
  • Wouldn’t it be nice if folks could add a follow-up to the TI by replying to the email?  We thought so, too.
  • Want to use email on any TI?  No problem – now, every Tracker Item has its own email address, too.

Tracker Extra Fields

So many neat things to play with:

  • Don’t need Start Date, Duration or the other “standard” fields for your Tracker?  Now you can turn them off.  In fact, you can turn off any of the default fields for a Tracker.
  • We’ve moved the Tracker Admin options from a separate “admin” page to the regular list of Trackers in each project.  Less clicks!
  • You can now assign a short (alias) name to each value in a select or multi-select type Extra Field.   When used for Status, these aliases can be part of a commit message to trigger workflow on Tracker Items (See Commits, Tracker Workflow and Time Tracking, below).
  • You can now change the Open/Closed category for a Status element without having to delete and re-create the element.
  • New Extra Field: Member List.  This field can show users, site groups or both, and is used to drive “Member Of” access control (see “Group Member” Access Control, below).

Tracker Browse

  • Quick Browse & File Export – We’ve cleaned up the Quick Browse and Query area so it’s less cluttered and clearer to use.  Also, you can get a one-click CSV, XLS or XML download of the exact list you’re looking at (even for multiple pages), whether it’s a Quick Browse or a saved Tracker Query.
  • Grid Updates – You can choose which standard fields (like start/end date) show up in the grid display, just like Tracker Extra Fields.  And we’ve removed the “Delete” link from each row because, really, who uses that?

Tracker Item

  • Submitter Field – We’ve made the Submitter field editable.  If you enter a Tracker Item on behalf of someone else, it can still belong to them.
  • Edit/Delete Follow-Ups – How often does the discussion around a tough problem change course on you?  Some of the notes that are left after it’s solved can be downright misleading.  So now, you can fix the wording on some follow-ups, and delete the ones you don’t need anymore.  These actions are part of the Tracker Item’s change history, so your audit trail is still intact.
  • Smarter Activity Logging – We’ve centralized storage of significant events across all Project plugins (e.g., Tracker, Docman, Wiki, Discussions, etc.), so that the Activity feed in Chat, the Activity view on your Project Home Page, and Activity reporting are all identical, all the time.
  • Assign to “Nobody” – Automatic assignment as part of workflow is pretty cool.  But we ran into some scenarios where we actually wanted a remove any assignees, such as when the Tracker Item is closed.  So now, in the Workflow Transition edit page, you can specify a person to be assigned, or Nobody.

Support Tracker

This one is pretty big – Tony has already written an entire post about it.  We been using an outdated, open-source system for tracking customers, license keys, support tickets and knowledge base articles for a long time.  Like, multiple Presidents ago.  Many of the features listed here were things we needed to bring all of that support directly into GForge.  Starting soon, you’ll be able to open and reply to support tickets via email, get your license keys, and see all of the support incidents for your organization through gforgegroup.com and gforge.com.

What’s really great is that everyone can take advantage of the same features to provide support for GForge, or for your GForge-based projects just like we do.  If you provide support of any kind, to internal or external customers, you should take a good look at Support Tracker.  Or, just ask us for a tour.

Commits, Tracker Workflow and Time Tracking

GForge already lets you tie files changed in your SCM (CVS, SVN, Git and others) to the Tracker Item you’re working on.  That kind of traceability is huge for code reviews, change management and quality control.  But I’ve always been a little envious of Github’s ability to close issues with a commit.  For developers, it means you commit your code, and don’t have to go back and update a web page, which is a real time-saver.  It’s such a great feature, with one little problem:  in what world are developers allowed to close bugs?  Plus, as much as agile is wonderful and fun, it is still a great idea to know how much time something really took – another area where Github’s approach really falls short.

So we’re going to go Github one better – well, THREE better, if you’re counting:

  1. Branch Name -> Tracker Item – Putting the Tracker Item ID in the commit message is cool.  For the first two or three messages.  But it gets boring pretty quickly.  How about putting #12345 in the branch name instead, and we’ll associate all of the commits to that Tracker Item.  More than one TI (like, fixit_#12345_#23456)?  Not a problem.  Have #12345 in the branch name, and need to point one commit to #23456?  Do it, we’ll handle it for you.
  2. Commit Message -> Workflow – Usually there’s a step or two after you’ve done the work – testing, customer evaluation, staging for release, all that.  If you define the workflow for a Tracker, you can use the status aliases in your commit message to set the next status for a Tracker Item.  When you push that commit to the GForge repository, it will automatically move the Tracker Item along.  For example, add [#12345,test] to the message, and we’ll set #12345 to status “Ready For Test”.
  3. Time Reporting – No one likes reporting time, because you always do it after the work is done.  Like the next day, or a week later.  If you could report time to a Tracker Item right when you did it, not only would it be brain-dead simple, could it actually become….accurate??  Try this in your commit message: [#12345,test,1.5] to tie your commit to #12345, AND move it to “Ready For Test” status, AND log an hour an a half of working time to it.

Project

Burn-Down Enhancements

In 6.2.1, we added Burn-down charts for open/closed Tracker Items associated to each Release.  And that was pretty cool.  For 6.3, we’ve improved the graphing algorithm to give more accurate predictions on velocity and completion date.  We also made it possible to add burn-down charts to your Project Home Page, by adding the %%BURNDOWN%% keyword.  You can add as many as you like, and put HTML DIVs around them to customize the layout and size.

What’s more you can also choose any Tracker Query for the data source.  This Week’s Work, Jeremy’s Bugs, whatever you want, on the front page of the project.

Project Ratings and Reviews

Now your users can leave 5-star ratings on projects, and also add short text reviews.  Ratings and reviews are viewable as part of the project information, to anyone with read permissions.  The average rating can also be part of search results when looking for Projects.

Project Invites

A simple but powerful feature that we’ve been asked for several times – Project Admins can now invite users to join a project.  Enter a list of email addresses, and GForge will send the invitation with a link.  You can invite existing GForge users and new ones in the same batch.  You can even pick the Project role for those users when they join.  One step, done.

Project Nav Item Counts

Different projects use GForge differently – some need lots of mailing lists, some have lots of News/Blog postings, and so on.  To make it easier to see where the good stuff is on each project, we’ve added item counts to primary elements in the Project-level menu (left-side nav).  You’ll be able to see how many Releases, how many root-level Documents and Folders, Blog Postings, and other things you’ve got, without having to click through to each area of the project.

New “Group Member” Access Control

Remember that new “Member List” Extra Field I mentioned before?  Member List fields can be used to drive access control to the Tracker and Tracker Items based on the value.  For example, you can put users from Customer A in one site group, and users from Customer B in another site group.  Then, using the Member List field (let’s label it “Customer” for kicks), you can ensure that only users in Customer A see Tracker Items with that group selected in the “Customer” field.

Member List fields automatically show up in Project Admin’s Role Edit page for Trackers where they are added.

Site/Admin

Trove is Back

Yes, we’ve brought back the Trove system for categorizing projects across many different subjects. Site administrators can create whatever categories your enterprise might need, for technology, project phase, geographical area, business unit, compliance – anything you’d like. Project admins can select the right values for their projects, and update them over time.

In 6.3, we’ve made several improvements to Trove to make it more useful for cross-cutting concerns like PMO/budget/performance management, architecture and regulatory compliance, licensing and component re-use, etc.

  • Searching for Projects now includes Trove categories in the search. Use the category names and find projects with the matching Trove entry.
  • Search results can include selected Trove categories in the result table. Site admins can define the specific categories to be displayed. So now you can have Project Phase, Business Unit, or whatever other important information shown right away.
  • Site admins can now set access controls on Trove categories, for information that needs to be managed outside of the project.  We have a customer using this feature for rating the re-use potential and readiness of their individual software projects.  Other orgs may choose to rate project performance, architectural, process or regulatory compliance, or even project success/failure (if there is such a thing!) – anything that might need to be evaluated by people outside the project itself.

Jenkins Integration

We’ve updated our Jenkins plugin code to the newest versions of the Jenkins API, and improved the information we send back to GForge about builds.  You’ll now see activity records each time the build starts and ends, as well as each build result.  Turn on the Activity feed in your Project Chat and see builds happen in real time!

Security Enhancements

  • Better protection against frame-based click-jacking
  • Removal of server info from the HTTP response
  • Protection against bot-based account harvesting, site admins can choose how much user profile info to expose to anonymous users and registered users.
  • When updating your SSH key (for SCM access), users will now be required to enter their password as part of the update.
  • Site admins can set accounts to lock after n bad attempts.  Use 0 to disable this new feature, the default is 5.  Admins can re-enable accounts through the GForge Site Admin pages.

Site Administration

  • Site Admins can now find orphaned and dead projects with some new search criteria.  Click on the “Projects” top-nav tab to see the criteria and search.  Then select a set of projects and mark them all for removal with one click.  Don’t worry, we’ll still ask if you’re sure first.
  • Did your SVN repository get out of sync with GForge commit history/messages?  We’ve got a script for that.  Run the re-parse script to go back through SVN commits and rebuild the corresponding data in GForge.

What’s On The Way (6.3 final)

Well, we’re not done yet.  Here’s what we’re going to finish in the next few weeks.

  • Search Stats – We’ll keep track of popular keywords, and show the top searches to help users find what they’re looking for, and help site admins understand what’s hot.
  • E-Mail Project Members – Project Admins will be able to send email to all members of a project.
  • Generated robots.txt – GForge will automatically offer up a robots.txt, to make sure that search engines don’t choke your server
  • Executable cronjob scripts – A minor enhancement to make manually running the occasional cron script a bit easier.
  • Tracker Browse w/GET – By putting all of the filter params into the URL, you’ll be able to easily copy and paste exact searches to share or bookmark.
  • Tracker Query on Tags – Users will be able to filter Tracker Items by tag values
  • User Stories Tracker Template – A first-class implementation of Use Cases/User Stories that you’ll be able to clone into your own project.  All set up and ready to, uh, agile.
  • Centralized “@”-mentions – Being mentioned in live chat, discussions, Tracker Items or even commit messages will go to your Message Wall, your Chat window, the Notifications list, or the Growl-style notifier, depending on how you’re available at the moment.
  • SCM Access Control from GForge Database – Instead of generating files for Git access control, a hook script will query GForge users, roles and project memberships in real time.  No more giant ACL files for large installations, and no more running the ACL cron manually to repair them.
  • CKEditor Update – The latest version of the greatest embedded WYSIWYG editor.  Some great new features and sweet visual design (See more at http://ckeditor.com/about/features)

Okay, that was a long list of stuff.  I hope you found some interesting things to check out, and some really good reasons to update.  But for many of you, there is one more reason to consider…

End of Support for 5.x

With all of these new features, and the roadmap we’re planning for 2014, something’s gotta give.  We’ve been making noise all year about the end of support for GForge 5.x, but this time we mean it.  With the release of GForge 6.3 in mid-October, we will no longer provide direct support for 5.x installs.  If at all possible, you should make plans to upgrade, like, now.  Go get the 6.3 snapshot from the Customer repository, fire up a VM copy of your GForge instance and go through the upgrade process.  Let us know what questions, problems and tricks you come across, because we want the upgrade to go smoothly when it’s time.