Project Merging

Added by birbal tahim about 4 years ago

Want to merge 2 project data into single propject, any idea?

Replies (1)

RE: Project Merging - Added by Hugo da Silva da Silva over 1 year ago

Hi, birval. As far as I research, Redmine has no function for this and many user has requested (#5837, #1840, #17493 note 1, this other topic) for this feature, but all of them were closed as evaluated as not needed.
EasyRedmine (payable version of Redmine), in the other hand, has it. Any way, As I'm facing the same situation, I'll post here the script I created to guide me on this road. I'll have to merge something around 30 projects turning them into 5 projects.

Redmine merging projects

On this page there is a guide for Redmine Administrator follow when he needs to merge, exclude or include new project into hierarchical tree.

Recomendations

  • We hardly recomend you to schedule a Requesto for Change, notifying all areas that uses Redmine and check the impact of your change on all IT services that make use of Redmine API or Redmine Database;
  • Before you start this change, we recomend you to snapshot your database, so you can roll back your data in case of mistake;
  • If you have to reconfigure many projects, split your change in phases, so, if you make any mistake on you first change, you can prevent it on the following changes;
  • Don't rename your Project, once it will not match with its code;

Notation

  • Project O: origen project, from where the datum will be migrated;
  • Project D: destination project, to where the datum will be placed;
  • Project N: new project that is been created;

Scenario 1: Delete project

Follow these steps

  1. Start from the lower project on your hierarchical tree;
  2. Copy the user/group of Project O, inherithed;
    1. If Project O, inherits members from the same parent project as Project D, inherits the same members at Project D;
    2. If Project O inherits members from a diferent parent of Project D, set these new members (user and groups) at Project D;
  3. Set members at project D just like Project O;
  4. If Project O has subproject, check if any subproject inherits members. If so, then:
    1. Migrate Project O´s subprojects to Project D;
    2. Set at new Project D's subprojects, to inherits members;
  5. Set at Project D the same type of tasks and custom fields as those used at Project O;
  6. Copy Workflow, documents, Wiki pages (it might break some links) and custom queries from Project O to Project D;
  7. Transfer tasks from Project O to Project D by using bulk edit;
  8. Delete Project O;

Scenario 2: Change Project of its hierarchical position

  1. Start from the lower project on your hierarchical tree;
  2. Copy the user/group of Project O, inherithed;
    1. If Project O, inherits members from the same parent project as Project D, inherits the same members at Project D;
    2. If Project O inherits members from a diferent parent of Project D, set these new members (user and groups) at Project D;
  3. Set members at project D just like Project O;
  4. If Project O has subproject, check if any subproject inherits members. If so, then:
    1. Migrate Project O´s subprojects to Project D;
    2. Set at new Project D's subprojects, to inherits members;

Scenario 3: Create new project and position it at a intermediate hierarchical place

  1. Create the new project;
  2. Position Project N where you will;
  3. Make note of each subproject inherit member set;
  4. Set Project N to inherits all members that all his subprojects inherits;
  5. Position subproject bellow Project N;
  6. Set the members inheritence at subproject as noted;
  7. Create at Project N, if necessary, custom queries that existed at the old parent Projects.

(1-1/1)