User mapping - POC

The objective of this task is to create a proof of concept for the improved user mapping feature described in &12378 (closed).

The main objective is to test the proposed feature, identify any oversights, and ensure its feasibility.

For the POC, we will implement some core features:

  • Update Direct Transfer to create users during the import process and allocate contributions to these newly created users.
  • Save additional information for each created user in a separate table. This information should include: source_user_id, source_hostname, source_name, source_username, and import_type.
  • When creating a user in the user table, maintain consistency by using the same name as the source name. The username structure should follow a format similar to %{source_username}_placeholder_user_%{unique number}.
  • Make sure Direct Transfer only creates one user per source_user_id and re-use the user if a corresponding one exists.
  • Make sure for these users to be re-used across multiple migrations
  • Create a class that enables re-assigning a user's contributions in a project to another user. For the POC, we can execute the class using Rails console.
Edited by Rodrigo Tomonari