Skip to content

Latest commit

 

History

History
30 lines (20 loc) · 3.07 KB

UserSettings.md

File metadata and controls

30 lines (20 loc) · 3.07 KB

User Settings

The user settings will be stored in .statwrap/.user-settings.json.

The following elements will be in the user settings file, with more detail in sub-sections below.

Item Type Description
user object Details about the user running StatWrap. See User Information
directory object List of people the user has added to projects. See Person Directory

Person Directory

As a user adds a person to a project, it's very likely they would want/need that information for the person to be used on another project (we can reasonably expect they will collaborate with the same people on multiple projects). To accommodate this, we will store a directory of people as part of the user settings. This is conceptually more like a 'most recently used' list, and we will fix an artifical limit of 20 people in the list.

The directory element within the user settings will be an array containing 0..10 person entries of the following format:

Item Type Description
id string A system-generated UUID that allows us to distinguish between different people entries. Does not guarantee a person is different from another.
name object The person's name - this is an object type to allow capturing granular name components.
affiliation string The primary affiliation for the person.
notes array Notes associated with the person.
added string An ISO-8601 formatted date and time string of when the person entry was added to the directory. This will be updated to the current date and time any time the person is used.

User Information

The user information will be an object that follows the same person structure as defined in the "Person Directory" section. There will only be one entry allowed, and one difference is that id will be the user's login name instead of a UUID. We don't anticipate using the notes and added attributes, but it is not an issue if they are included.

This information will be stored in the user element in the user settings.