0.8.X Branch now available

camd

We are working our way toward our 1.0 release slated for 3/30.  And this is a major milestone for us.

This new branch reflects an architectural change we decided to make last November.  We have moved the project to be purely Django.  This has simplified everything from deploying the product to developing new features and we’re really excited about it.

Along with the architectural change, we have added a bunch of improvements “while we’re at it.”  For a complete list, look in the “Done” section of our Pivotal Tracker page.  But to name a few:

  • Re-work of the UI to make it cleaner and clearer
  • Lists are now default ordered by creation date to make it easier to find your new items
  • Test Cycles are now Product Versions (I’ll blog on this in a later post)
  • Test Case versions are now directly mapped to the Product Version to make it clearer just what a Test Case version means.
  • You can now create a test case with no steps, if you like
  • Documentation! (as mentioned here in last blog post)
  • Soft-deletes as well as Cascading deletes.  If you decide that you don’t want an old project (or anything else) in the system any longer, you can delete it and all the Versions, Cases, and Suites go with it.  If you deleted it by mistake, you can undelete it in the Admin.  Speaking of the Admin…
  • Django Admin!  Now that we are pure Django, you can access the admin by the URL: <yourdomain>/admin/.  Not surprisingly, only users with admin privileges can use it.  :)

Upgrading from 0.7.X

If you have been using the 0.7.X branch version of Case Conductor, one thing that may be obvious is that the move to pure Django means a big shift in the database schema.  This was a fairly unavoidable change to bring the schema into the Django best-practices and conventions.  So installation of 0.8.X will need to be a new installation, with a new database.  And then you’ll need to migrate your 0.7.X data.

Here’s how:

  1. Upgrade your existing installation to the 0.7.1 branch.  This will add a new management command to extract suites and cases for your existing data:
    cd <your github repo>
    git pull
    git checkout 0.7.1
  2. For each product you want to migrate, extract the suites and cases to a .json file:
    ./manage.py export_cases "My Product" > myproduct_tests.json
  3. The 0.8.X data structure is different enough that you will need to recreate your Products, Product Versions, Environments and Users in the new UI.
  4. Import your “myproduct_tests.json” file into the new 0.8.X branch.  The command is called “import” and the parameters are <product> <prouct version> <file.json>:
    ./manage.py import "My Product" 1.0 myproduct_tests.json

If you run into any problems with your upgrade, please either comment here, or come visit us on irc at irc.mozilla.org #caseconductor.

Thanks,

-Cam