Export Tasks from Nirvana to Zenkit - Part 1

Categories:
Articles in this series

  • Part 1 (this article)
  • Part 2

I am quite a fan of GTD - Getting Things Done® methodology, and productivity tools in general. Over the last few years I’ve tried different workflows, applications, even #BuJo - Bullet Journal to stay organized and do things.

In this article I will show you how to move your tasks and projects from Nirvana to Zenkit.

Nirvana: an overview

https://www.nirvanahq.com/

I started using Nirvana a couple of years ago, as a substitute of TRGTD - ThinkingRock GTD. TRGTD served its purpose for five years straight, teaching me how to apply GTD correctly and helping me to achieve my goals. Eventually, however, I got fed of its slowness (it’s a Java program), its ugly and difficult user interface (Swing UI - so 90s!), limited mobile and multi-device synchronization features.

After a long and boring review of many, many candidates, I chose Nirvana:

  • it is 100% tailored to GTD methodology
  • it has a very clean, usable and quick user interface
  • excellent mobile support (especially since 2016, when the mobile Android app was re-written)
  • friendly and effective customer support
  • reasonable pricing
  • ability to export data in JSON, CSV or XML

Of course no software is perfectly fit to anyone’s habits and taste, so here are a few things I don’t like about Nirvana:

  • no public API, hence no integration with 3rd party tools like Zapier, Dropbox, Google Drive, etc.
  • no Teams
  • items are not linkable / shareable, like Trello does. E.g.
    https://trello.com/c/z66pcUPN.
    See my article Keep A Markdown Journal To Get Your Projects Done
  • syntax for note text is a limited markdown subset/variant

Zenkit

https://zenkit.com/

Recently I tried Zenkit and I must say that I’m impressed. Opposed to Nirvana, Zenkit is not focused on GTD, but it is so flexible that it can be used for many, many types of workflows. I like very much the views concept, which essentially lets you view your data using popular paradigms:

  • Kanban Board: very similar to Trello lists;
  • List View: very similar to classic To-Do lists apps like Wunderlist or Remember The Milk;
  • Table Views: view tasks as a spreadsheet;
  • Mindmap View: link and organize tasks a a mind-map.

It has also some additional features, compared to Nirvana:

  • team support
  • items can be linked
  • custom fields, like text, checkbox, labels, date and many more
  • import data from Trello, Wunderlist, CSV files (!)

With proper setup, Zenkit can also be used as a complete and effective GTD application. Maybe not as beautiful and focused as Nirvana, but way more flexible.

Migrating data from Nirvana to Zenkit

The procedure described below shows how I managed to migrate my data from Nirvana to Zenkit. Keep in mind that the whole process has been simplified to suit my very own requirements:

  • only Projects and Tasks, i.e. no Reference Lists or Refrence Items
  • Areas, Contexts and Tags are kept
  • completed and trashed items are discarded
  • all other attributes are skipped:
    • Due Dates
    • Recurrencies
    • Energy Level
    • Estimated Time

The steps of the procedure can be summarized as:

  1. Export data from Nirvana (JSON format)
  2. Transform JSON data and produce CSV files
  3. import CSV files into Zenkit Collections
  4. modify collections and fields

Step 1: export data from Nirvana in JSON format

Open your Nirvana Dashboard, click on your account name on top-right corner of the screen, then on My Account:

Export data from Nirvana - step 1

Export data from Nirvana - step 1

From My Account, click on Export as .json link in the Data Export section:

Export data from Nirvana - step 2

Export data from Nirvana - step 2

Step 2: transform JSON data and produce CSV files

For this step I’ve created a small Node utility on my GitHub space:
nirvana2zenkit

If you have different requirements or need some custom conversion just go and fork it!

The script creates a out/ directory with two CSV files:

  • projects.csv: projects
  • tasks.csv: includes tasks with and without a parent project

Here is an example run (Windows)

node .\src\index.js C:\users\dimitri\Desktop\nirvana\Nirvana_Export_1532353863.json
Writing out/projects.csv...
Writing out/tasks.csv...
...Done

Step 3: import CSV files into Zenkit Collections

From Zenkit dashboard, click on “+” sign under “My Collections”, and Choose CSV from the Import from other sources section to open the CSV Import wizard.

Import CSV data into Zenkit - step 1

Import CSV data into Zenkit - step 1

Choose the file projects.csv produced by the script at Step 2, then click on Preview CSV spreadsheet button at the bottom of the dialog window.

In the next page of the wizard Zenkit shows a couple of rows from the file, so you can tweak import parameters.

Import CSV data into Zenkit - step 2

Import CSV data into Zenkit - step 2

Make sure these settings are active:

  • Use first row as header: checked
  • Delimiter to separate columns: “Comma”

Finally, click on Import CSV to import the file.

Repeat the same exact steps for tasks.csv file.

You should now have two new collections in “My Collections”:

  • Csv Import from projects.csv
  • Csv Import from tasks.csv

I suggest to rename them to Projects and Tasks, to reduce visual clutter.

Step 4: modify collections and fields

This step is a bit more involved, but shows the true power of Zenkit: Custom Fields and Views. Because of this I think that this topic deserves its own article. In the meantime I suggest to make yourself familiar with the features and UI of Zenkit, I’m sure you’ll find it very interesting!