User Profiles (and Organizations) Spec
Overview
User profiles stores personal information, but only a UserID and Email is required. These profiles can for a person, or for an organization to allow participation as a group.
Details:
- User profile: The current version of Codalab v2 does not allow users to edit their profile. This functionality will be implemented (Figure 3). Integration of user accounts on different components (CodaBench, Codalab, ChaGrade) will be supported if needed. User’s profiles will include (* means mandatory; to protect anonymity, only a contact email is required to identify users)
- Organizations as User: This will allow users to organize competitions and participate in them as a group. However, being a member of an organization is not mandatory to organize/participate a challenge/benchmark. This will also allow the platform to give credits to organization members for organizing competitions or participating in them (in their visible profile). To claim organizing a challenge or participating in it, an organization member will need to have been a member of that organization at least some time during the active period of the competition. This feature could replace both the notion of teams and of admins. To avoid sharing passwords, a member of an organization, logged in with his own personal ID, could switch to any organization he/she is a member of.
- Meta-users (platform administrators) will be granted the right to impersonate users.
Tasks
- User ID *: cannot be changed
- Display name *: To be shown on leaderboard and profile page; by default, show the user ID; this can be changed
- Contact Person Email *: can be changed
- Contact Person First Name: optional
- Contact Person Last Name: optional
- Contact Person Title: optional
- Affiliation or Organization Name: optional
- Picture: optional (personal photo or organization logo)
- Description: optional
- Links to websites and social media: optional
- is_organization? Check-box
- Editable list of current organization members: provide Codalab IDs of organization members
- Non-editable list of former organization members (and dates start-end)
- Choice of benchmarks and competitions co-organized to show on profile (check/uncheck) any organization member of a competition can add a competition in this list
- Choice of benchmarks and competitions in which participated and rank/number of participants – any organization member of a competition can add a competition in this list
- Opt-in/out to receive emails (to respect GDPR).
Discussion points
- Have base Profile object extended by User and Organization objects. Users and Organizations would share a lot of features, but would have more differentiation.