Website Transition: Data Migration

DATA WA MIGRATED FOR THE FINAL TIME TO AUTH ON MONDAY, OCTOBER 5, 2009.

Historically, there were multiple sets of data in use by different applications that run on the opensolaris.org website. This situation caused confusion and inconsistencies and prevented a single sign-on mechanism from being feasible. Moving forward, one database holds role information.

This document explains how data was migrated FROM existing data sources TO the new Auth database. It also explains how changes made in the Auth application/database are being "reverse migrated" to the Tonic database during the interim between Phase 1 and the point at which all client applications have integrated with Auth.

See the Roles and Collectives page for more information about the new roles.

Existing Data Sources

Poll Database

  • The Poll database held the voting information for the OpenSolaris community.
  • Voting Members are the set of all Community Group Core Contributors.
  • The Poll database contained no data about Projects or User Groups.

Tonic Database

  • The Tonic database holds the data visible in the current opensolaris.org portal application. There are three categories of data: Community Groups, Projects and User Groups, where User Groups are implemented as Projects.
  • The membership classes used by Tonic did not completely align with either the Poll database or the OpenSolaris Constitution, so data was mapped as outlined below.
  • In addition, the assignment of roles in Poll and Tonic was never synchronized, which created inconsistencies in the role assignments between the two databases; these were resolved by the data mapping as outlined below.

Source Repository Database

  • The Source Repository database held details about the code repositories hosted on opensolaris.org, including User permissions for the repositories.
  • Only Projects have associated source repositories.

Community Groups

DEFINITIVE DATA SOURCE: Tonic database.

CURRENT ROLES: Leader, Observer.

NEW ROLES: LEADER, AFFILIATE, PARTICIPANT,

Community Group Membership Data Migration

  1. Community Group Leaders in Tonic were made LEADERS of the relevant Community Group in Auth.
  2. AFFILIATE is a new role that can edit the Community Group's web pages. Initially, this set was empty, with LEADERS having the ability to assign the role.
  3. Observers of a Community Group in Tonic who were not identified as LEADERS in Step 1 were made PARTICIPANTS of the relevant Community Group in Auth.

Community Group Electorate Membership

DEFINITIVE DATA SOURCE: Poll database.

  1. Core Contributors in Poll were made CORE CONTRIBUTORS of the associated Community Group Electorate in Auth.
  2. Contributors in Poll were made CONTRIBUTORS in the associated Community Group Electorate in Auth.
  3. NOTE: Auth does not model Emeritus Contributor specifically as a role. Emeritus Contributors are Core Contributors who do not have any current voting grants. With regard to data migration: 1) Emeritus Contributors who had grants in Poll (current or expired) were migrated to Auth as CORE CONTRIBUTORS, and 2) Emeritus Contributors with no recorded grants in Poll were discarded.  In the new system, Emeritus Contributors can be derived from the grant data.
  4. Facilitators were not stored in the Poll or Tonic databases, but Auth provides the Facilitator relationship type for Community Group Electorates so that the designated Facilitator can be recorded. Facilitators are associated with the Community Group Electorate rather than the Community Group itself as they are the contact between the OGB and the Community Group Electorate. There may only be one Facilitator per Community Group.

Community Group Source Code Repository Rights

None, because Community Groups do not have source code repositories associated with them.

Projects

DEFINITIVE DATA SOURCES: Tonic database and Source Repository database (there is no Project data in the Poll database).

CURRENT ROLES: Project Leader, Observer.

NEW ROLES: LEADER, DEVELOPER, PARTICIPANT.

Project Membership Data Migration

  1. Project Leaders in Tonic were made LEADERS of the relevant Project in Auth.
  2. Observers of a Project in Tonic who have commit rights to one or more source repositories owned by a Project in Tonic and who were not identified as LEADERS in Step 1 were made DEVELOPERS of the relevant Project in Auth.
  3. Observers of a Project in Tonic who were not identified as LEADERS or DEVELOPERS in Steps 1 and 2 will be PARTICIPANTS of the relevant Project in Auth.

Project Electorate Membership

Projects do not grant governance roles, so there are no associated Project Electorates.

Project Source Code Repository Rights

  • LEADER:
    • Has commit rights to all the Project's source code repositories;
    • Can grant commit rights to specific source code repositories to Project DEVELOPERS;
    • Can create new source code repositories;
    • Current Project Leaders have these rights because as noted above, that role migrated to the new Project LEADER role.
  • DEVELOPER:
    • Has commit rights to one or more Project source code repositories;
    • As noted above, anyone currently with commit rights who is not already a LEADER became a DEVELOPER.
  • PARTICIPANT:
    • No source code repository rights.

User Groups

DEFINITIVE DATA SOURCE: Tonic database (there is no User Group data in the Poll database).

CURRENT ROLES: Project Leader, Observer (because User Groups were implemented as Projects).

NEW ROLES: LEADER, AFFILIATE, PARTICIPANT.

User Group Membership Data Migration

  1. Project Leaders in Tonic were made LEADERS of the relevant User Group in Auth.
  2. AFFILIATE is a new role that can edit the User Group's web pages. Initially, this set was empty, with LEADERS having the ability to assign the role.
  3. Observers of a User Group in Tonic who were not identified as LEADERS in Step 1 were made PARTICIPANTS of the relevant User Group in Auth.

User Group Electorate Membership

User Groups do not grant governance roles, so there are no associated User Group Electorates.

User Group Source Code Repository Rights

None, because User Groups do not have source code repositories associated with them.

Project:Community Group Relationships

In the past, Projects could have been endorsed by one or more Community Groups. This led to confusion about which Community Group was responsible for a given Project. Auth models this relationship as 'sponsors' rather than 'endorses' and only allows a Project to be sponsored by a single Community Group.

If a Project had been endorsed by more than one Community Group in the Tonic database, Auth recorded the oldest endorsing Community Group as the sponsor. Any remaining endorsing Community Groups were recorded as being 'associated with' the Project.

Reverse Data Migration During Interim Period

Auth became the lead database in Phase 1 of the website transition, and the user data in the old Tonic database is being updated in step with changes made to Auth because existing applications that use the old database are still running. Keeping the Tonic database synchronized with Auth during this period gives application owners more flexibility for planning their integration with the Auth application.

Following is how updates to Auth will be propagated into the Tonic database:

Within a Community Group, if you are made a:

  • PARTICIPANT in Auth: you are an Observer of that Community Group in Tonic
  • CONTRIBUTOR in Auth: you are an Observer of that Community Group in Tonic
  • CORE CONTRIBUTOR in Auth: you are a Leader of that Community Group in Tonic

Within a Project, if you are made a:

  • PARTICIPANT in Auth: you are an Observer of that Project in Tonic
  • DEVELOPER in Auth: you are an Observer of that Project in Tonic
  • LEADER in Auth: you are a Leader of that Project in Tonic

Within a User Group, if you are made a:

  • PARTICIPANT in Auth: you are an Observer of the User Group Project in Tonic
  • AFFILIATE in Auth: you are an Observer of the User Group Project in Tonic
  • LEADER in Auth: you are a Leader of the User Group Project in Tonic

Version 10, October 14, 2009

last modified by bjc on 2009/10/27 13:05
Collectives
Project


© Sun Microsystems Inc. 2009
XWiki Enterprise 1.8.2.19075 - Documentation
Terms Of Use | Privacy | Trademarks | Copyright Policy | Site Guidelines | Site map | Help
Your use of this web site or any of its content or software indicates your agreement to be bound by these Terms of Use.