Skip to content

Commit

Permalink
Merge pull request #673 from geobtaa/resource-lifecycle
Browse files Browse the repository at this point in the history
update resource lifecycle documentation
  • Loading branch information
karenmajewicz authored Aug 13, 2024
2 parents 391f77e + ec5b560 commit a733bb8
Show file tree
Hide file tree
Showing 3 changed files with 57 additions and 42 deletions.
Binary file added docs/images/resourceLifecycle.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/sequence-chart.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
99 changes: 57 additions & 42 deletions docs/resource-lifecycle.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,18 @@
# Resource Lifecycle

The Resource Lifecycle describes how we manage resources from curation to ongoing maintenance.

![](images/resourceLifecycle.png)

## 1. Identify

:fontawesome-solid-user: BTAA-GIN Team Members and Product Manager

Team members seek out new content for the geoportal. See the page [How to Submit Resources to the BTAA Geoportal](submit-resources.md) for more information.

## 2. Harvest
## 2. Obtain and Process Metadata

### a. Harvest

:fontawesome-solid-user: Graduate Research Assistants and Product Manager

Expand All @@ -20,7 +26,7 @@ Here are the most common ways that we obtain the metadata:
4. we manually copy and paste the metadata into a spreadsheet
5. a combination of one or more of the above

## 3. Crosswalk
### b. Crosswalk

This step involves using a crosswalk to convert the metadata into the schema needed for the Geoportal. Our goal is to end up with a spreadsheet containing columns matching our [metadata template](https://z.umn.edu/b1g-template).

Expand All @@ -30,70 +36,79 @@ This step involves using a crosswalk to convert the metadata into the schema nee

We have found this tabular format to be the most human-readable way to batch create, edit, and troubleshoot metadata records. We can visually scan large numbers of records at once and normalize the values in ways that would be difficult with native nested formats, like JSON or XML. Therefore, many of our workflow processes involve transforming things to and from CSV.

## 4. Edit
### c. Edit

:fontawesome-solid-user: Graduate Research Assistants and Product Manager

When working with metadata, it is common to come across missing or corrupted values, which require troubleshooting and manual editing in our spreadsheets. Refer to the [Collections Project Board](https://github.com/orgs/geobtaa/projects/4) for examples of this work.

## 5. Validate
### d. Validate

After compiling the metadata, we run a validation and cleaning script to ensure the records conform to the required elements of our schema.

## 6. Index
## 3. Index Metadata

:fontawesome-solid-user: Product Manager

### a. Ingest to GBL Admin

We upload the completed spreadsheet to GBL Admin, which serves as the administrative interface for the Geoportal. If GBL Admin detects any formatting errors, it will issue a warning and may reject the upload.

Once the metadata is successfully uploaded to GBL Admin, we can publish the records to the Geoportal. The technology that actually stores the records and enables searching is called [Solr](https://solr.apache.org). The action of adding records is known as "Indexing."
### b. Publish new records to the Geoportal

Once the metadata is successfully uploaded to GBL Admin, we can publish the records to the Geoportal. The technology that actually stores the records and enables searching is called [Solr](https://solr.apache.org).

### c. Unpublish

Periodically, we need to remove records from the Geoportal. To do this, we use GBL Admin to either delete them or change their status to "unpublished."


## 7. Maintain
## 4. Maintenance

:fontawesome-solid-user: BTAA-GIN Team Members, Graduate Research Assistants, and Product Manager

Periodically, we need to remove records from the Geoportal. To do this, we use GBL Admin to either delete them or change their status to "unpublished."
### a. Monitor sources

We monitor our sources to check for new and retired contnet.

We monitor currentness and re-harvest based on how frequently sources update their content. See the [Collections Dashboard](https://github.com/orgs/geobtaa/projects/4) for this schedule.
### b. Monitor Geoportal

We regularly assess currentness of the content in the Geoportal and check for broken links.

## Sequence diagram of Resource Lifecycle
### c. Schedule re-harvests

``` mermaid
We schedule re-harvests from sources based on how frequently they update their content. See the [Collections Dashboard](https://github.com/orgs/geobtaa/projects/4) for this schedule.

## Sequence diagram of processing workflow

This diagram illustrates the roles, tasks, and communication workflow for Team Members, the Product Mananger, and Research Assistants. The two technologies are GitHub for tracking work and GBL Admin for managing the metadata records.

![](images/sequence-chart.png)

<!--
plantUML code for the sequence chart
@startuml
!theme mars
actor "Team Member" as TM
actor "Product Manager" as PM
participant "GitHub" as GH
actor "Research Assistant" as RA
participant "GBL Admin" as GBL
TM -> PM : Submit Resources
PM -> GH : Create GitHub issue
GH -> RA : Assign issue
RA -> GBL : Upload completed records
RA -> GH : Update GitHub issue
GH -> PM : Notify readiness
sequenceDiagram
actor Team Member
actor Product Manager
participant GitHub
actor Research Assistant
participant GBL Admin
participant Geoportal
Note right of Team Member: IDENTIFY
Team Member->>Product Manager: Submit Resources
Product Manager->>GitHub: Create GitHub issue
GitHub ->>Research Assistant: Assign issue
Note left of Research Assistant: HARVEST
Note left of Research Assistant: EDIT
Research Assistant->>GBL Admin: Upload records
Research Assistant ->>GitHub: Update GitHub issue
Note right of GBL Admin: PUBLISH
Product Manager->>GBL Admin: Publish records
GBL Admin->>Geoportal: Send records online
Product Manager->>GitHub: Close GitHub issue
Product Manager ->> Team Member: Share link to published records
Note left of Research Assistant: MAINTAIN
```
PM -> GBL : Publish records
PM -> GH : Close GitHub issue
PM -> TM : Share link to published records
@enduml-->

0 comments on commit a733bb8

Please sign in to comment.