March 2, 2010

Custom Fields in Surround SCM

Surround SCM
Custom fields allow you to define metadata you want to capture about a file beyond the normal information (like last date modified) that Surround SCM inherently tracks. Each field can be typed as text, integer, float, list, SCM users, date/time or check box. You can also set default values for any of these. By themselves, custom fields let you do some useful things. For example, Surround ships with a custom field called Owner, which is a drop-down list of your users. As a team lead you can grab groups of design specifications and, with one click, assign those files to an engineer to manage. The real power though is in combining custom fields with triggers and workflow to create and manage processes. For example, you could create a custom field called Reviewer to be used with the default workflow process defined in Surround. Next, create a trigger that fires whenever a file is checked in that changes its state to “Work in progress”. When the developer is ready to have their changes looked at, they can change the state to “Ready for Review.” When that happens, another trigger would fire to send an email to the lead engineer. That person then assigns the file to a reviewer using the Reviewer custom field, as well as sets the due date for the review using another custom field. Once the changes have been reviewed, the reviewer marks the file as passed review (or not) which also clears the Reviewer field. Senior engineers can easily create an email trigger to notify them when they have files that need to be reviewed. Here’s a short diagram outlining the process just described.

Workflow Sample

Using this approach, it’s easy for everyone to see what the state of a file is and who should be reviewing what and when. The lead engineer can create a filter to show files awaiting review, including the due date.