With Atlassian’s announcement of the replacement of HipChat and Stride with Slack, Isos Technology was left with the question of what to do. We have been using HipChat as our primary ChatOps tool from the beginning. We have built up a lot of content in HipChat, with it being a core tool in our distributed company model. While it is true that we didn’t need to move to Slack immediately, we felt it was a good idea to migrate to slack for two key reasons:
Andrew Yarrow, the technical lead on our HipChat migration, summarizes a few of the things he encountered during our successful migration as well as his initial impressions...take it away Andrew!
Before doing your actual migration, you have to perform trial migration runs. Though you could pull the trigger without any trial runs, you can also shove a fork in a light socket… to the same effect.
One of the limitations with HipChat has always been the restriction on email addresses. If you were a member of a team using non-hosted HipChat, you were unable to use the same email address for working with another team using non-hosted HipChat. As a consultant, this is an issue due to potentially needing access to multiple non-hosted HipChat instances. While this is something you could get around by using + notation in your email (myname+identifierX@domain.com), this has always been kludgy. In Slack, this limitation does not exist. As a consultant this makes my life easier.
You may be wondering why I led with this point in a section on trial runs at migration. The ability to create multiple Slack workspaces (team spaces in Slack) with the same email address is invaluable when migrating. This will allow you to perform multiple tests on your migration, tweaking options and documenting how you want to proceed. This will let you tailor your migration to your team’s needs.
It is important to choose the right account type and billing while doing your trial migrations. While the free Slack accounts are great, you are limited to 10,000 messages. This can make it difficult to fully prove out a complete restore if you’ve been using HipChat for an extended period of time. At the time of our trial runs, Slack was giving all new accounts $50 in credits, which helped unburden us off the free account limitations. Make sure you sign up for month-to-month billing.
During the import, you will be given several options for how to handle users, including users that have been deactivated in HipChat and users created in rooms with Guest Access turned on. You will be presented with these options:
Here is the logic we used during our trial runs:
For our final migration, we changed this process slightly. Since everyone at Isos needed a new account in the domain, we changed the policy for current employees in HipChat to Create and invite users.
HipChat had some default rooms that came out of the box, like General Announcements and Anything Goes (or in our case Almost Anything Goes). Slack has similar rooms called #general and #random. During the import process we chose to map these HipChat rooms to their Slack analogs:
A very important consideration when performing the migration was whether or not to retain the Public/Private Status of a room. During the import you can choose to enforce creating rooms as public, private or retaining privacy settings from the HipChat backup. We chose to keep some public and some private because of the way Slack handles guests (see more below).
Our first export from HipChat was about 500 MB and took about 24 hours to import. This included 3,329,874 messages (quite a bit more than the 10,000 max for free accounts!). Thanks to the detailed break down Slack sends when importing completes, we learned there was a room called “Stuff we should pay attention to” that included 1,781,811 messages. It turns out that room was full of messages that we didn’t actually need to pay attention to. We deleted this channel from HipChat and then attempted another migration. The second export from HipChat was about 190MB and took about 6 hours to import. The key takeaway here is to review the Slack report, and decide if you actually need everything that is in your HipChat instance.
With HipChat being a core piece of our ChatOps processes, many of our team members are new(ish) to Slack. We’ve been excited to discover some awesome improvements to our daily life from switching to Slack.
Instead of giving relatively anonymous guest access to specific channels, Slack lets us invite users and restrict them to certain channels. Check out more details here: Multi-Channel and Single-Channel Guests.
I’m a huge fan of keyboard shortcuts… please don’t make me use the trackpad! Slack is full of shortcuts: Slack keyboard shortcuts.
I’ll forever miss (and not miss) HipChat notification noise. It’s going to go the way of the Nextel Walkie Talkie notification noise I grew up with. In Slack we get to pick what noise we are alerted to! Check it out: Guide to Slack notifications.
When migrating, keep in mind that your Slack workspace will be a living, breathing part of your organization. The state you start with WILL change over time. So don’t be afraid to experiment during your migration trials, and don’t get bogged down with creating a workspace that will look the same years down the road. The quicker you get your organization onto Slack, the quicker these improvements can begin to grow naturally.
Thad West
3 comments