Paul Roub

A Software Tool Geek in His Natural Habitat

About

I’m a developer at SourceGear, working on Veracity these days.

Elsewhere in my life, there’s mainly music - you can find out more about that at paulroub.com.

My complaining-about-air-travel needs are handled on Twitter as @paulroub.

Keeping Up With Your Team via Veracity’s Activity Stream

So far, most of the discussions about Veracity have been about its DVCS abilities. I thought I’d talk a bit about the other side of Veracity, the bug/work tracking side, from the users’ point of view. I’ll start with the Activity Stream.

One choice we made for the initial releases was to forego email notifications as a means of alerting users to new work, updated bug reports, code changes, and so on. There were a number of reasons for this:

  • Since the work item activity is distributed, bugs may be added and updated from multiple machines, sometimes behind-the-scenes, sometimes offline (I’m sitting in an airport right now, waiting to act out the canonical “dev on a plane” DVCS scenario). When should email be sent? By whom?
  • Cross-platform email support would take time away from features we really want in the first release.
  • We all get enough email as it is.
  • There are less-irritating ways to keep people in the loop.

Of course, Veracity has really nice search and filter tools, allowing you to see bugs assigned to you; bugs you need to verify; what’s up for you in the next sprint; any bug mentioning “snickers” or stamped with “SOOPER URGENT”; etc.

But we also wanted to give you a view of what’s going on with your project in a more ambient way, so we added the Activity Stream. Every 30 seconds, if anything new of interest has happened in your repository, it quietly updates to let you know.

Veracity menu - Show Activity Stream

What’s In There?

The activity stream shows you the most-recent 25 things you might care about. In particular, you’ll see:

  • Newly-created work items
  • Modified work items (status changes, comments, relations, etc.)
  • Version control commits
  • Build failures (if your build system is using our reporting scripts)
  • And perhaps more, by the time you read this

Here’s a shot of the last few items in dev@example.com’s activity stream:

Veracity's Activity Stream

What’s Not?

The goal of the activity stream is to be useful, as opposed to complete. If you look at the activity stream side-by-side with our version control history graph, you’ll notice that rev #7 isn’t listed, even though it’s the latest. Why not? Its comment was simply “merge”. That’s not terribly interesting, you probably don’t care, so we hide it. We also hide no-op work item updates, successful builds (our continuous integration setup spins those out constantly, and they’d push the more-urgent stuff off screen), etc.

Activity stream hiding a merge

The “my updates only” option

You can also narrow down the work items shown in the stream to just those that you’re involved with. By checking “my updates only”:

Veracity menu - My Updates Only

you’ll only see work items where your username is either the Reporter, Assignee, or Verifier, or where the item has been stamped with your username.

Veracity activity - my updates only

You’ll still see all commits, since other people’s commits are certainly likely to be of interest to you. You’ll also still see your own commits, which are not likely to surprise you, so that you can drag them around.

Dragging From the Activity Stream

Veracity work items can be related to each other (this depends on that, this is a duplicate of the other, etc.). They can also be associated with version control commits – check in some changes, mark the relevant bug.

All that is nicely searchable in the work item edit page, but when you want to associate with another recent bug, or with a recent commit, why type anything? You’re already looking at that item in the stream, so just drag it into the appropriate slot and Save.

Dragging a work item from the activity stream to relate it to the item being edited

Your Stream in Your Feed Reader

For several of us on the Veracity team, the first we hear of a newly-assigned or reopened bug is when it shows up in our feed reader of choice. The Veracity activity streams for any repository (either the all-inclusive or my-updates-only version) are also served as Atom feeds. The link for whichever version of the stream you’re viewing is always available via the feed icon at the bottom of the stream:

Veracity activity feed icon

Here’s this dev’s full-blown stream:

All Veracity activity in a feed reader

and his mine-mine-mine stream:

"My updates only" in a feed reader

Note that the titles are live links to the relevant Veracity work item, changeset detail, etc. pages.

Keep In Touch

As ever, feedback, questions, and suggestions are very much welcome on the Veracity users mailing list. Drop in.

We’ll also have a booth at OSCON again this July, so stop by, say “hi”, kick the tires, argue about rebase…

Adding Veracity Work Items via todo.txt

I think, with this post, I’ll have reached a new peak in my quest to share scripts that almost no one else will use. What is the overlap between “users of the Todo.txt Touch Android app” and “pre-release Veracity users”? The odds of that being “just me” are favorable. I expect those odds to change. In the meantime, I’ve already written the script; it would be rude not to share.

Veracity, if you’ve been paying attention, is Sourcegear’s upcoming Distributed Version Control / Bug Tracking / more system with an open sourced core. The main reason this blog’s been so dead? “Busy. Busy coding. Can’t talk right now.” That kinda thing.

todo.txt is Gina Trapani’s script/app that aims to make simple todo.txt files more useful and mobile, while still maintaining the simplicity we love. I’m a fan and a daily user of the command-line script and the Android app.

One thing Veracity doesn’t have, as yet, is a mobile interface. Since all the boxes on which I deal with Veracity are behind firewalls, I couldn’t use one right now, anyway. But that doesn’t stop me from realizing I need to log myself a task or two when I’m out and away from the keyboard. What to do?

One of the thing’s Gina’s Android app does is sync that todo.txt file via Dropbox. I add a todo item, and in a few seconds, it’s also in todo.txt on my laptop, where an instance of the Veracity team’s repository resides. Also, we have a nice little library of Javascript functions (on which much of Veracity’s web API is built), all callable from our vscript command-line JS tool. See where this is going?

I add a new item in the todo.txt app, like so:

Adding items via the phone

See how I set a “context” of @veracity? That will matter later. If I wished, I could also add tags (things prefixed by “+” in todo.txt’s world), and set a priority from (A) to (E). Here’s a few of those, after the auto-sync:

List of synced items in todo.txt

I have a cron job that runs every 20 minutes, along the lines of:

0,20,40 * * * * vscript todo2vv.js /path/of/todo.txt paul.roub@sourcegear.com veracity-pr

Which tells the the todo2vv.js script (download) to look in todo.txt for any @veracity items, mark them done in the todo.txt list, and add them instead to my Veracity todo list in the veracity-pr repository. Here they are after import:

And filtered by priority:

Medium-priority bug only

All have been assigned to our current milestone-in-progress (Sprint 18, the Veracity team being a scrummy one), stamped “todo” (along with any of those todo.txt tags), and given priorities matching any seen in the text file.

The script is fairly simple; it spends more time parsing todo.txt and managing files than creating the actual work items. Feedback, questions, comments are most welcome; at the moment, they’re probably best asked on the veracity-users mailing list.

Back to work. Gotta change the activity stream sorting.

SourceGear PDC Materials

Upside: we had a great time at PDC, got to talk to tons of users and potential users, and went through all of our T-Shirts and CDs very quickly.

Downside: if you dropped by the booth after Tuesday, you might be without a CD.

We’ve collected all of our PDC booth materials (not including the shirt, of course) in one place, at sourcegear.com/pdc. And yes, that includes the VSS Must Die desktop wallpaper.

PDC Bound

I’ll be part of the booth team at Microsoft PDC ‘09 next week in Los Angeles — we’ll be showing off Vault 5, Fortress 2, SoS 5… and maybe giving away some new T-shirts.

So by all means, drop by booth 511, say “hi”, and tell Eric that Product Managers need SSDs, too.

SourceOffSite 5.0.1 Released

Hot on the heels of SourceOffSite 5.0’s release, SoS 5.0.1 is out with some important bug fixes. The SoS dev and QA team put a lot of effort into getting a solid, well-tested release out in a very short time span. Nice work.

Key changes in this release:

Client

  • Get latest on a folder now correctly retrieves missing files in the immediate folder.
  • Project History maintains History options for “Include Files”, “Include Labels”, and “Labels Only” between client sessions.
  • View/Edit tool has been corrected to save the settings in the User options.
  • The IDE can be configured to not emit a disconnect message which may crash IDEs such as VB 6.
  • The Auto connect option used from within the IDE client now connects upon opening a project.

Server

  • The server corrected a problem where project history incorporating a FROM or TO label to sets the boundaries for the History results.

If you’re a SourceOffSite user and haven’t yet seen SoS 5… you really, really should. Looks, features, performance — this is a huge upgrade.

Now Available: Vault 5 Beta 2, Fortress 2 Beta 2

The second beta releases of SourceGear Vault 5 and Fortress 2 are now available: Vault 5b2 is here, Fortress 2b2 is here. This should be the last preview before the final release of Vault 5 and Fortress 2, so speak now or forever hold your peace (or at least, hold it until the next release). Jeremy has the details on beta 2. Previously, I’d talked about the updated web interface and the new WebDAV interface; Jeremy dropped hints about the new import tool (now in place, and known as “Handoff”) and Shelve.

Beta 2 Is Coming; Let’s Take a Look

We should be releasing Beta 2 of Vault 5 and Fortress 2 later today (watch the Development Blog for details). You’ll notice pretty quickly that the web interface has been revamped, especially on the work item tracking side; seemed worth a walkthrough of its own. The Query page is not terribly different; but cleaner and easier to navigate. Sometimes it’s as simple as letting you “roll up” any projects you’re not interested in at the moment, keeping your front page cleaner: Once we start viewing query results, the changes really make themselves known. As always, we aim toward making it easier to find the bug you’re after. Hovering over the magnifying glass icon next to any bug in the list gives you a quick summary of that bug, without needing to leave the list and load the whole thing: We’ve removed the sidebar, giving more space over to the actual bug information; selection of Customized and Grouped views has moved to the list header. Easy to find, but out of the way. We’ve taking the friction out of adding and editing bugs, as well — getting a bug into Fortress takes just a couple of clicks from any bug list. We’ll (optionally) use the current query as a template, so a new bug added from the “Milestone 1” list will default to “Milestone 1”, tags will be copied, etc. Updating a bunch of issues at once is easier, too: want to reassign or close some of the items you’re looking at? Check them off, and use the quick-edit tools at the end of the list to update them in-page. We’ve also eliminated the “printable view” menu item from all pages; bugs, bug lists, etc. will print properly without any extra steps. Editing a bug’s details is easier than ever — when you’re viewing a bug, clicking on any of its fields lets you edit the field in place. The Source Control web interface has been revamped as well; the new repository tree is much faster, cleaner and easier to navigate. There’s a lot more to the beta, from Shelve improvements to the new full-fledged VSS Handoff feature. I’ll post again later when it’s out; give it a shot, and please let us know what you think in the Beta Support Forum.

SourceOffSite 5 Community Technology Preview (CTP)

Remember that SourceOffSite CTP release I mentioned? It’s here. Jeff has the details if you’d like to try it out.

Why are we doing another update of SoS? Shouldn’t everybody just get away from SourceSafe and into Vault or Fortress? In a perfect world, sure.

But we know a lot of you are still living with SourceSafe, now and in the forseeable future, for all the usual reasons – time, budget, inertia, IT priorities that outrank your SCC provider. And we feel for you, and want to continue helping via SoS.

And now, we can help even more.

A folder-spanning “pending changes” window, so you don’t forget to check in one of the 50 file in your latest web update? Got that.

Multiple tabs, allowing you to keep tabs on your searches, your history, and everything else in your multitasking day? That too.

Performance? Yep. Stability? Sure. Modern UI? Gotcha.

Give it a shot (Windows only right now, BTW) and let us know what you think.