Spaces are reset after migration from 2.2.2 to 3.x

Problem

  • while using the 2.x version of the plugin you did not use the "Show subspace menu on each page" feature, which renders a global navigation menu containing the whole space structure, putting all spaces in the root level which have no predecessor
  • after the upgrade to 3.x the global navigation is now always rendered, thus
    • displays all spaces from your system in the root level
    • causing navigation performance degradation

Solution

If these assumptions are correct, you have 2 possibilities. Both involve manually configuring the navigation structure as described in the documentation under "Configure SubSpace Navigation (v 3.1)"

Preparations (always required):

  1. Uninstall the Subspace plugin (deactivate is not enough!)
  2. Install Subspace 3.1.1 or newer
  3. Go to Dashboard

The first option

  1. Remove the spaces from the navigation which you don't want to appear in the navigation:
  2. Optional: hide the navigation bar as described by the following workaround

The second option

Always back up your data before performing any modification to the database.

Please note that this will reset your whole navigation structure and you will have to recreate the part of the navigation which you want to use with the macro:

  1. Stop Confluence
  2. Check that the navigation structure was migrated once and that this is the correct SQL query. This query was tested with PostgreSQL, it may have to be adjusted for other databases:
    SELECT * FROM bandana WHERE bandanakey IN ('SUBSPACE_MIGRATED','de.communardo.confluence.plugins.subspace.navigationstructure')
    • this should return 2 records
  3. run the following Query:
    DELETE FROM bandana WHERE bandanakey = 'de.communardo.confluence.plugins.subspace.navigationstructure'
  4. Start Confluence
    • Now the navigation structure should be empty (no global menu displayed).
  5. You now can recreate only the part of the structure that you need:
  6. Optional: hide the navigation bar as described by the following workaround