Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add documentation #1

Draft
wants to merge 3 commits into
base: main
Choose a base branch
from
Draft
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 13 additions & 9 deletions docs/entity_relationship_diagram.md
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Very helpful for establishing the context of this workflow!

Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,21 @@

The Publication Email Request Service (PERS) relies on a database to keep track of the email requests that have been sent by stakeholders. Monitoring the email requests via database prevents duplication of email requests. The diagram describes the relationships between entities, or tables, in the database.

The relationships depicted in the diagram can be summarized as follows:
* A `Liaison` belongs to **one** `DLC`.
* A `DLC` is assigned to **one or more** authors.
* A `Publication (needing request)` can be associated with **one or more** `Author(s)`.
* A `Publication (needing request)` can only be included in **one** `Email`; an `Email` can include **one or more** `Publication(s)`.
* When an `Email` is created, it is assigned to **one** `Author` and **one** `Liaison`.
The entities involved in PERS are as follows:

* `DLC`: Represents a department, lab, or center at MIT and is managed by a single **liaison**. A **DLC** can comprise of many **authors**, but an author is assigned to a single **DLC**.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Extra detail is very helpful

* `Liaison`: Represents a DLS staff member on MIT's Scholarly Communications team. **Liaisons** are assigned to one or more **DLCs**. **Liaisons** receive the email requests generated by PERS, who then send the email to authors in their assigned DLCs.
* `Author`: Represents MIT student and faculty who are registered on Symplectic Elements. An **author** is assigned to a single **DLC**. When citations are imported for an author, zero or more **Publications** may be found that require submission.
* `Publications`: Represents a publication written by one or more **Authors**.
* `Email`: Represents an email request for a publication. Many **publications** may be associated with a single **email**. The email generated by PERS will contain a list of citations for publications that need submission.

**Note:** According to Solenoid documentation, authors on a single publication will receive **at most one (1)** email for a publication. However, (TO BE CONFIRMED) this is only if, when they're data is imported, the publication appears as not having been requested yet (via a second author that was previously imported through PERS).

```mermaid
erDiagram
publication["Publication (needing request)"]{
string id PK
string publication_id PK
string author_id PK
string title
string citation
string email_id FK
Expand Down Expand Up @@ -41,8 +45,8 @@ erDiagram
richtext latest_text
date date_sent
}
liaison }o--o| dlc: "belongs to"
dlc ||--|{ author: has
liaison |o--o{ dlc: "belongs to"
dlc ||--o{ author: has
author }|--o{ publication: has
publication }o--|| email: "included in"
author ||--o{ email: receives
Expand Down
Loading