Import from HipChat/Stride
Starting with uKnowva Messenger 1.9, uKnowva Messenger supports importing data from HipChat and Stride,
including users, rooms, messages, avatars, and custom emoji.
This tool has been used to import HipChat teams with thousands of
members, thousands of streams and millions of messages. If you're
planning on doing an import much larger than that, or run into
performance issues when importing, email us at support@zulipchat.com
for help.
Note: You can only import a HipChat or Stride group as a new uKnowva Messenger
organization. In particular, you cannot use this tool to import data
into an existing uKnowva Messenger organization.
Import from HipChat or Stride
First, export your data.
- HipChat Cloud
- HipChat Server or Data Center
- Stride
-
Log in at yourdomain.hipchat.com/admin/
.
-
Click on the Data Export tab.
-
Select the data to export.
-
Set a Password to encrypt your export.
-
Click Export.
Once the export has completed, the export will be available to you in the
admin console.
-
Upgrade to the latest version to ensure you have the latest updates to
the HipChat export dashboard.
-
Log in at the domain name configured for your Hipchat Server.
-
Click on Server Admin > Export.
-
Select the data to export.
-
Set a Password to encrypt your export.
-
Click Export.
Once the export has completed, you will receive an email with a link to
download the file.
If you are not on the latest version of Hipchat Server / Data Center,
you can do a command line export with hipchat export --export
. See
HipChat's command line export docs for more information.
-
Log in at yourdomain.atlassian.net/admin/
.
-
Click on Stride in the bottom left in Application Settings.
-
Click Create export.
-
Select the data to export.
-
Set a Password to encrypt your export.
-
Click Export.
Note: Only HipChat Group Administrators can export data from HipChat.
Import into zulipchat.com
Email support@zulipchat.com with your exported archive and your desired uKnowva Messenger
subdomain. Your imported organization will be hosted at
<subdomain>.zulipchat.com
.
Also, see the caveats section notes on room subscribers
and consider whether you want to also send a HipChat API key to
provide a more faithful import.
If you've already created a test organization at
<subdomain>.zulipchat.com
, let us know, and we can rename the old
organization first.
Import into a self-hosted uKnowva Messenger server
First
install a new uKnowva Messenger server,
skipping "Step 3: Create a uKnowva Messenger organization, and log in" (you'll
create your uKnowva Messenger organization via the data import tool instead).
Use upgrade-zulip-from-git to
upgrade your uKnowva Messenger server to the latest master
branch.
Log in to a shell on your uKnowva Messenger server as the zulip
user. To import with
the most common configuration, run the following commands, replacing
<exported_file>
with the HipChat export file and <password>
with the
password you set during the HipChat export.
cd /home/zulip/deployments/current
openssl aes-256-cbc -d -in <exported_file> -out hipchat.tar.gz -md md5 -pass pass:<password>
./manage.py convert_hipchat_data hipchat.tar.gz --output converted_hipchat_data
./manage.py import '' converted_hipchat_data
This could take several minutes to run, depending on how much data you're
importing.
Import options
The commands above create an imported organization on the root domain
(EXTERNAL_HOST
) of the uKnowva Messenger installation. You can also import into a
custom subdomain, e.g. if you already have an existing organization on the
root domain. Replace the last line above with the following, after replacing
<subdomain>
with the desired subdomain.
./manage.py import <subdomain> converted_hipchat_data
Logging in
Once the import completes, all your users will have accounts in your
new uKnowva Messenger organization, but those accounts won't have passwords yet
(since for very good security reasons, passwords are not exported).
Your users will need to either authenticate using something like
Google auth, or start by resetting their passwords.
You can use the ./manage.py send_password_reset_email
command to
send password reset emails to your users. We
recommend starting with sending one to yourself for testing:
./manage.py send_password_reset_email -u username@example.com
and then once you're ready, you can email them to everyone using e.g.
./manage.py send_password_reset_email -r '' --all-users
(replace ''
with your subdomain if you're using one).
Caveats
- While the import tool will correctly import the subscribers of
private rooms precisely, HipChat does not store the subscribers of
public rooms when those users don't have an active client. As a
result, HipChat's data exports don't include subscribers for public
rooms. You can pick one of the following options for handling this:
- Subscribe all users to all public streams (the default, which is
good for small organizations),
- Subscribe only HipChat room owners to public streams (and plan
for users to subscribe to the imported uKnowva Messenger streams manually
after the import completes) using the
--slim-mode
option to manage.py
convert_hipchat_data
, or
- Use the HipChat API to fetch each room's
current room subscribers as of the moment the import is run.
Because HipChat doesn't store subscribers to a room when clients
are not connected, these subscriptons will be incomplete for users
who don't have an actively connected client at the time of the
import. You need to pass the token via
--token=abcd1234
in
manage.py convert_hipchat_data
(or include it in your request,
if importing into uKnowva Messenger Cloud).