Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Tip
titleNew in 3.4.8

The backup / export / re-import feature was added in Requirement Yogi 3.4.8 (November 2022).


Prologue

Some customers in the situation of a merger-acquisition, decide to centralize all their Confluence and Jira instances to one, big, Data Center instance. The major difficulty is that database tables of Requirement Yogi can't simply materialize the foreign keys to entities of Confluence, because the plugin data is isolated from Confluence entities (and this is generally an excellent choice, albeit with this drawback). Therefore, the customers who chose to perform this move had to understand the data, reimport in the new instance and update the foreign keys on the fly, to point to new space keys, new page IDs, etc. It can take weeks to perform this operation, with an EDI, a database consultant and our help.

The goal is to accelerate this process to a few hours, however we can't totally automate it given the complexity of situations.

In what situations can this be used?

SituationIs it supported?

Confluence* DC** instance → New Confluence DC instance

Export and reimport a whole instance, with all the data.

* Same with Jira

** Server and Data Center are both supported.

(tick) Yes, it is supported.

  • We recommend to use the same RY version on both sides (and we support a small range of versions).
  • Please perform the Confluence-level import first, so pages, spaces, etc. already exist in the destination,
  • Please create the application links, and set them up in the RY administration, before starting the RY import,
  • Requirement Yogi settings will be imported.
  • Page IDs, user keys, etc. must be remapped manually. This will be a long and mundane operation on your side.
  • During the mappings, you can even change the space keys.

Note that Confluence and Jira are imported separately, therefore:

  • After a Confluence reimport, perform a Jira reimport.

Confluence DC → Same Confluence DC, but later in time.

(tick) Yes, but there is no reason to do that.

  • Please simply backup your Confluence instance using a way recommended by Atlassian.

Confluence DC space → another Confluence DC instance.

Ideal for merger-acquisitions,

Ideal for centralization into a large Confluence/Jira DC cluster.

(tick) Yes, it is supported.

  • Same specificities as above,
  • The global entities (the settings) will not be imported,
  • If there are pages outside the space pointing to these requirements, they will keep pointing to the old place.

Confluence space → New Confluence space with different key.

Rename a space, or a Jira project

(tick) Yes, it is supported.

  • Please have the new space with the page IDs ready, before starting the RY import,
  • Requirements can even exist in both spaces after import, but Jira links will only point to one of them.
  • Jira links won't be updated, and this will be a problem. Please export-then-reimport the Jira data as well, mapping the space key with the new one.

Backups

(error) No, this is not supported.

  • We require the same version on both sides, and it may take some back-and-forth between the two sides,
  • Confluence data is not part of the RY backup, so you would have to perform a Confluence backup anyway,
  • It is not a sane way to perform backups (backup size, process, etc.).

Migrate from DC to the Cloud

(error) No, this is not supported yet. However, that's the idea for the future.

Migrate from the Cloud to DC

(error) No, this is not supported yet. Same, we're hoping to do it.

Of course, before committing to using the software in a particular way, please test that it fits your situation. As a reminder, to the maximum extent permitted by applicable law, this software is provided by Requirement Yogi "as is". Any express or implied warranties, including, but not limited to, the implied warranties of fitness for a particular purpose are disclaimed.

In what situations will it be difficult?

SituationDifficulty

A space is renamed

Requirement entities will be fine, but:

  • Cross-space references (Pages outside the space) will keep pointing to requirements in the old space. There is nothing we can do, since we're not touching the data outside the space. You will have to edit the XML of pages, directly in the database.
  • Jira links will point to the old space. To avoid this, export-then-reimport the Jira data as well, and map the space key. This is better supported than page-to-page cross-space references, since there is no XML to edit in Jira issues.
  • The history of Jira issues will still reference the old space keys, in case they have changed.

A Jira project is renamed

Same as above: Please also update the references in Confluence, since there are links to Jira, and this can be performed by exporting-then-reimporting the Confluence side.

Requirements are moved to a new instance

No difficulty, you just have to remap to a new Applink URL.

All page IDs have changed.

This happens when you import on a new Confluence instance.

  • You will have to look for the page with the same title, for each page ID and page version.
  • It is better if you gain SQL access to the database and update the table AO_32F7CE_DBBACKUPMAPPING in SQL, so you can retrieve the new page ID with a subquery.
There are requirements in Excel files.

We will reimport as-is, but the Excel attachment IDs will be wrong, since we do not remap them. Links to the Excel files will be broken, but the requirements will still exist.


What are the steps of export / re-import?

Origin instanceDestination instance
1. Export to a table*

2. Write the table to a CSV file

3. Delete the temporary table

4. Load the CSV file into the temporary table

5. Perform the mappings
(automatically, then manually)

6. Import the data

7. Re-start at step 5,
or delete the temporary table


Steps 2-3-4 → You can bypass the CSV file by copying the data yourself to the target DB.

Destructive step

It erases the target data and replaces it
with the import.


* The tables are AO_32F7CE_DBBACKUPITEM and AO_32F7CE_DBBACKUPMAPPING. Emptying those tables after working is important, since they contain an entire copy of the rest of the database.


Step details

Step 1 - Export the entities to a temporary table

ConfluenceJira

Requirement Yogi lets you choose:

...

At the end, we suggest to write the file to disk. If you have lost the link to this progress screen, you can perform this operation using the main menu:

Step 2 - Write to disk

Note: This step can be skipped if you prefer (or need) to copy data manually. In such situation, please copy the contents of the tables AO_32F7CE_DBBACKUPITEM and AO_32F7CE_DBBACKUPMAPPING across to the target Confluence/Jira instance, and skip to step 5.

...

This step is not necessary if you are reimporting to the same instance.

Step 3 - Delete the temporary table

Click on the backup name in the main menu, and delete it. It is not necessary to keep it around.

Step 4 - Load the file on the new instance

The file will be read from a specific folder in the home directory of Confluence, i.e. you need disk access to complete this operation. The wizard will tell you where to place the file.

Step 5 - Perform the mappings

How to reach this step directly: In the main menu, click on the cog button next to a backup, and click "Do the mappings".

...

Once all entities are mapped, you can proceed to the next step.


Step 6 - Import

This step erases all data in the scope, then imports the data.

...

Confluence must not restart during this import. If it does, reapply the import. If you close the page, it doesn't stop the process, and you can easily come back to monitoring the progress using the "Queue" tab (or reopening the previous URL).

Step 7 - Check the data

If you are unhappy with the import (wrong page ID, wrong issue ID), then please come back to the Mapping page (step 5), fix the problem, then reapply the import.

...