diff --git a/doc/data_model.png b/doc/data_model.png deleted file mode 100644 index cb83c4d..0000000 --- a/doc/data_model.png +++ /dev/null Binary files differ diff --git a/doc/roadmap.svg b/doc/roadmap.svg new file mode 100644 index 0000000..790a0e5 --- /dev/null +++ b/doc/roadmap.svg @@ -0,0 +1,1323 @@ + + + + + + +Database Structure + +ER Diagram: roadmap + + +annotations + + +annotations + +id: +INT + +question_id: +INT + +org_id: +INT + +text: +TEXT + +type: +INT + +created_at: +DATETIME + +updated_at: +DATETIME + +versionable_id: +VARCHAR + + + +orgs + + +orgs + +id: +INT + +name: +VARCHAR + +abbreviation: +VARCHAR + +target_url: +VARCHAR + +created_at: +DATETIME + +updated_at: +DATETIME + +is_other: +TINYINT + +sort_name: +VARCHAR + +region_id: +INT + +language_id: +INT + +logo_uid: +VARCHAR + +logo_name: +VARCHAR + +contact_email: +VARCHAR + +org_type: +INT + +links: +TEXT + +feedback_enabled: +TINYINT + +feedback_email_subject: +VARCHAR + +feedback_email_msg: +TEXT + +contact_name: +VARCHAR + + + +annotations:org_id->orgs:id + + + + + +questions + + +questions + +id: +INT + +text: +TEXT + +default_value: +TEXT + +number: +INT + +section_id: +INT + +created_at: +DATETIME + +updated_at: +DATETIME + +question_format_id: +INT + +option_comment_display: +TINYINT + +modifiable: +TINYINT + +versionable_id: +VARCHAR + + + +annotations:question_id->questions:id + + + + + +answers + + +answers + +id: +INT + +text: +TEXT + +plan_id: +INT + +user_id: +INT + +question_id: +INT + +created_at: +DATETIME + +updated_at: +DATETIME + +lock_version: +INT + +label_id: +VARCHAR + + + +plans + + +plans + +id: +INT + +title: +VARCHAR + +template_id: +INT + +created_at: +DATETIME + +updated_at: +DATETIME + +grant_number: +VARCHAR + +identifier: +VARCHAR + +description: +TEXT + +principal_investigator: +VARCHAR + +principal_investigator_identifier: +VARCHAR + +data_contact: +VARCHAR + +funder_name: +VARCHAR + +visibility: +INT + +data_contact_email: +VARCHAR + +data_contact_phone: +VARCHAR + +principal_investigator_email: +VARCHAR + +principal_investigator_phone: +VARCHAR + +feedback_requested: +TINYINT + +complete: +TINYINT + + + +answers:plan_id->plans:id + + + + + +answers:question_id->questions:id + + + + + +users + + +users + +id: +INT + +firstname: +VARCHAR + +surname: +VARCHAR + +email: +VARCHAR + +created_at: +DATETIME + +updated_at: +DATETIME + +encrypted_password: +VARCHAR + +reset_password_token: +VARCHAR + +reset_password_sent_at: +DATETIME + +remember_created_at: +DATETIME + +sign_in_count: +INT + +current_sign_in_at: +DATETIME + +last_sign_in_at: +DATETIME + +current_sign_in_ip: +VARCHAR + +last_sign_in_ip: +VARCHAR + +confirmation_token: +VARCHAR + +confirmed_at: +DATETIME + +confirmation_sent_at: +DATETIME + +invitation_token: +VARCHAR + +invitation_created_at: +DATETIME + +invitation_sent_at: +DATETIME + +invitation_accepted_at: +DATETIME + +other_organisation: +VARCHAR + +accept_terms: +TINYINT + +org_id: +INT + +api_token: +VARCHAR + +invited_by_id: +INT + +invited_by_type: +VARCHAR + +language_id: +INT + +recovery_email: +VARCHAR + +ldap_password: +VARCHAR + +ldap_username: +VARCHAR + +active: +TINYINT + + + +answers:user_id->users:id + + + + + +answers_question_options + + +answers_question_options + +answer_id: +INT + +question_option_id: +INT + + + +exported_plans + + +exported_plans + +id: +INT + +plan_id: +INT + +user_id: +INT + +format: +VARCHAR + +created_at: +DATETIME + +updated_at: +DATETIME + +phase_id: +INT + + + +guidance_groups + + +guidance_groups + +id: +INT + +name: +VARCHAR + +org_id: +INT + +created_at: +DATETIME + +updated_at: +DATETIME + +optional_subset: +TINYINT + +published: +TINYINT + + + +guidance_groups:org_id->orgs:id + + + + + +guidances + + +guidances + +id: +INT + +text: +TEXT + +guidance_group_id: +INT + +created_at: +DATETIME + +updated_at: +DATETIME + +published: +TINYINT + + + +guidances:guidance_group_id->guidance_groups:id + + + + + +identifier_schemes + + +identifier_schemes + +id: +INT + +name: +VARCHAR + +description: +VARCHAR + +active: +TINYINT + +created_at: +DATETIME + +updated_at: +DATETIME + +logo_url: +VARCHAR + +user_landing_url: +VARCHAR + + + +languages + + +languages + +id: +INT + +abbreviation: +VARCHAR + +description: +VARCHAR + +name: +VARCHAR + +default_language: +TINYINT + + + +notes + + +notes + +id: +INT + +user_id: +INT + +text: +TEXT + +archived: +TINYINT + +answer_id: +INT + +archived_by: +INT + +created_at: +DATETIME + +updated_at: +DATETIME + + + +notes:answer_id->answers:id + + + + + +notes:user_id->users:id + + + + + +notification_acknowledgements + + +notification_acknowledgements + +id: +INT + +user_id: +INT + +notification_id: +INT + +created_at: +DATETIME + +updated_at: +DATETIME + + + +notifications + + +notifications + +id: +INT + +notification_type: +INT + +title: +VARCHAR + +level: +INT + +body: +TEXT + +dismissable: +TINYINT + +starts_at: +DATE + +expires_at: +DATE + +created_at: +DATETIME + +updated_at: +DATETIME + + + +notification_acknowledgements:notification_id->notifications:id + + + + + +notification_acknowledgements:user_id->users:id + + + + + +org_identifiers + + +org_identifiers + +id: +INT + +identifier: +VARCHAR + +identifier_scheme_id: +INT + +attrs: +VARCHAR + +created_at: +DATETIME + +updated_at: +DATETIME + +org_id: +INT + + + +org_identifiers:identifier_scheme_id->identifier_schemes:id + + + + + +org_identifiers:org_id->orgs:id + + + + + +org_token_permissions + + +org_token_permissions + +id: +INT + +org_id: +INT + +token_permission_type_id: +INT + +created_at: +DATETIME + +updated_at: +DATETIME + + + +org_token_permissions:org_id->orgs:id + + + + + +token_permission_types + + +token_permission_types + +id: +INT + +token_type: +VARCHAR + +text_description: +TEXT + +created_at: +DATETIME + +updated_at: +DATETIME + + + +org_token_permissions:token_permission_type_id->token_permission_types:id + + + + + +orgs:language_id->languages:id + + + + + +regions + + +regions + +id: +INT + +abbreviation: +VARCHAR + +description: +VARCHAR + +name: +VARCHAR + +super_region_id: +INT + + + +orgs:region_id->regions:id + + + + + +perms + + +perms + +id: +INT + +name: +VARCHAR + +created_at: +DATETIME + +updated_at: +DATETIME + + + +phases + + +phases + +id: +INT + +title: +VARCHAR + +description: +TEXT + +number: +INT + +template_id: +INT + +created_at: +DATETIME + +updated_at: +DATETIME + +modifiable: +TINYINT + +versionable_id: +VARCHAR + + + +templates + + +templates + +id: +INT + +title: +VARCHAR + +description: +TEXT + +published: +TINYINT + +org_id: +INT + +locale: +VARCHAR + +is_default: +TINYINT + +created_at: +DATETIME + +updated_at: +DATETIME + +version: +INT + +visibility: +INT + +customization_of: +INT + +family_id: +INT + +archived: +TINYINT + +links: +TEXT + + + +phases:template_id->templates:id + + + + + +plans:template_id->templates:id + + + + + +plans_guidance_groups + + +plans_guidance_groups + +id: +INT + +guidance_group_id: +INT + +plan_id: +INT + + + +plans_guidance_groups:guidance_group_id->guidance_groups:id + + + + + +plans_guidance_groups:plan_id->plans:id + + + + + +prefs + + +prefs + +id: +INT + +settings: +TEXT + +user_id: +INT + + + +question_format_labels + + +question_format_labels + +id: +INT + +description: +VARCHAR + +question_id: +INT + +number: +INT + +created_at: +DATETIME + +updated_at: +DATETIME + + + +question_formats + + +question_formats + +id: +INT + +title: +VARCHAR + +description: +TEXT + +created_at: +DATETIME + +updated_at: +DATETIME + +option_based: +TINYINT + +formattype: +INT + + + +question_options + + +question_options + +id: +INT + +question_id: +INT + +text: +VARCHAR + +number: +INT + +is_default: +TINYINT + +created_at: +DATETIME + +updated_at: +DATETIME + + + +question_options:question_id->questions:id + + + + + +questions:question_format_id->question_formats:id + + + + + +sections + + +sections + +id: +INT + +title: +VARCHAR + +description: +TEXT + +number: +INT + +created_at: +DATETIME + +updated_at: +DATETIME + +phase_id: +INT + +modifiable: +TINYINT + +versionable_id: +VARCHAR + + + +questions:section_id->sections:id + + + + + +questions_themes + + +questions_themes + +question_id: +INT + +theme_id: +INT + + + +roles + + +roles + +id: +INT + +user_id: +INT + +plan_id: +INT + +created_at: +DATETIME + +updated_at: +DATETIME + +access: +INT + +active: +TINYINT + + + +roles:plan_id->plans:id + + + + + +roles:user_id->users:id + + + + + +schema_migrations + + +schema_migrations + +version: +VARCHAR + + + +sections:phase_id->phases:id + + + + + +settings + + +settings + +id: +INT + +var: +VARCHAR + +value: +TEXT + +target_id: +INT + +target_type: +VARCHAR + +created_at: +DATETIME + +updated_at: +DATETIME + + + +stats + + +stats + +id: +INT + +count: +BIGINT + +date: +DATE + +type: +VARCHAR + +org_id: +INT + +created_at: +DATETIME + +updated_at: +DATETIME + + + +templates:org_id->orgs:id + + + + + +themes + + +themes + +id: +INT + +title: +VARCHAR + +description: +TEXT + +created_at: +DATETIME + +updated_at: +DATETIME + +locale: +VARCHAR + + + +themes_in_guidance + + +themes_in_guidance + +theme_id: +INT + +guidance_id: +INT + + + +themes_in_guidance:guidance_id->guidances:id + + + + + +themes_in_guidance:theme_id->themes:id + + + + + +user_identifiers + + +user_identifiers + +id: +INT + +identifier: +VARCHAR + +created_at: +DATETIME + +updated_at: +DATETIME + +user_id: +INT + +identifier_scheme_id: +INT + + + +user_identifiers:identifier_scheme_id->identifier_schemes:id + + + + + +user_identifiers:user_id->users:id + + + + + +users:language_id->languages:id + + + + + +users:org_id->orgs:id + + + + + +users_perms + + +users_perms + +user_id: +INT + +perm_id: +INT + + +