Administration

Published

December 13, 2024

Warning

Still in development.

Adding users to the RAP project

  1. In the UKB AMS go to “Edit application”, then go to the “Add member” form and select the scroll down menu, using either AUH or AU.
  2. In DNAnexus, go to Project -> Share project (people icon to top right, add by username or email address).
  3. After adding the users, delete their email from the survey sheet, since we don’t need it.

Adding users to the GitHub repos

  1. To add someone to the GitHub UKB team, use gh_add_user_to_team().
  2. To add a contributor to a project, use the function gh_add_user_to_repo().

Todo after proposal submission

  1. Review the created Pull Request, provide any feedback or request clarifications if necessary.
    • If changes necessary, main applicant should update the file on their own.

Todo after project acceptance

  1. See a list of approved projects with admin_get_projects() and gh_get_repos() for projects on GitHub.
  2. Run admin_start_approved_project(), using the user name and project abbreviation to create the project, add it to the Steno GitHub, set up permissions, and add the user to the repo.
# Example of how to run the functions
# Find what the correct id is for the project
ukbAid:::admin_get_project_ids()
# Confirm the username to use
ukbAid:::gh_get_users()
# Then create the project!
ukbAid:::admin_start_approved_project("USER", "PROJECT_ID")

General admin

On GitHub or own computer

Need to set a SURVEY_ID variable for the Google Forms Sheet ID (the unique string that comes after the /spreadsheets/d/ in the URL). This needs to be set on GitHub as well as on your own computer if you are going to download the survey data.

  1. On GitHub, add a secret in Settings called SURVEY_ID with the Google Sheet ID.
  2. On your computer, you can either add a new variable in the form of SURVEY_ID="" in a .Renviron file or always get asked for it whenever you run the functions that require the variable (which use the ukbAid:::get_survey_id() function).

Uploading to Zenodo

For protocols, the code to use would be:

path <- here::here("path/to/protocol.qmd")
pdf_path <- zen_create_protocol_pdf(path)
client <- zen_create_file_record(
  path = pdf_path,
  metadata = zen_create_protocol_metadata(path),
  token = zen_get_token(),
  # Test it in the sandbox first
  sandbox = TRUE
)

Always test it in the sandbox first, which you can check that it uploads by going to the Zenodo sandbox.