Skip to content

Invite Codes System

Jekabs Karklins edited this page Dec 18, 2024 · 5 revisions

Introduction

The new Invite System replaces the legacy placeholder-based redeem code mechanism. This redesign aligns with our long-term objective of eliminating placeholder user data and transferring user management responsibilities away from the UserOffice project.

The purpose of invite code system feature is to allow configuring a user's permissions before they are registered in UserOffice system. This allows asynchronous type of work to be carried out.

What is an Invite Code?

An invite code is a unique 12 character alphanumeric identifier generated to invite a user and associate specific claims with them.

  • Claims represent structured data, such as assigning roles, adding users as co-proposers, or other attributes.

Key Points:

  • Invite codes are stored in the invite_codes table.
  • Claims are stored in related tables (role_invites, coproposer_invites and other tables that can be added to extend the invite functionality).

ER model

ER Model

Future considerations

The Invite System is designed with a basic yet extensible structure (see ER diagram above). Potential future use cases include:

  • Inviting users into specific roles (e.g., users, reviewers, instrument scientists).
  • Inviting users to become Principal Investigators (PI) for proposals.
  • Inviting external reviewers to conduct safety or feasibility reviews.
  • Pre-approving accounts for users where administrative configuration is impractical, and explicit user consent is required.
  • Managing access for temporary contributors and collaborators

This design ensures flexibility for future enhancements.