Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
83 commits
Select commit Hold shift + click to select a range
b2deee4
calypr_admin
bwalsh Sep 23, 2025
68b0e7c
TODO git-drs
bwalsh Sep 23, 2025
da2d6bc
misc ping
bwalsh Sep 23, 2025
0f4405d
Starting to consolidate and organize all of our documentation
kellrott Dec 22, 2025
eacc1f6
Organizing content
kellrott Dec 23, 2025
7c5d5d5
chore: Netlify preview build
lbeckman314 Dec 23, 2025
b51906a
chore: Netlify preview build change
lbeckman314 Dec 23, 2025
e4aec74
chore: Netlify preview build
lbeckman314 Dec 23, 2025
f4565be
Working on the landing page
kellrott Dec 23, 2025
f2d5374
Merge branch 'refactor/new-site' of ssh://ssh.github.com:443/calypr/c…
kellrott Dec 23, 2025
0714627
Playing around with full website build
kellrott Jan 7, 2026
142ac3b
Fixing display issues on the first page
kellrott Jan 14, 2026
ddffa18
Improving front page layout
kellrott Jan 14, 2026
e26cb9a
Starting to working on doc sync tool
kellrott Jan 14, 2026
840ea21
feat: Deprecate submodules + sync script in favor of monorepo structure
lbeckman314 Jan 14, 2026
7e4d693
Working on centralizing Calypr product card
kellrott Jan 14, 2026
20e6899
Removing transforms from featured product card
kellrott Jan 14, 2026
ca92572
Merge remote-tracking branch 'remotes/origin/refactor/new-site' into …
kellrott Jan 15, 2026
821cac6
Working on front page content and formatting
kellrott Jan 15, 2026
91b283f
Merge branch 'refactor/front-page-spash' of github.com:calypr/calypr.…
kellrott Jan 16, 2026
3d3a529
Reworking the navigation
kellrott Jan 16, 2026
5980fb5
feat: Add initial Funnel release links
lbeckman314 Jan 20, 2026
9740b21
feat: Add release pages for all tools
lbeckman314 Jan 20, 2026
92dcd6f
chore: Clean up redundant nav files
lbeckman314 Jan 20, 2026
5054131
Merge remote-tracking branch 'origin/refactor/front-page-spash' into …
lbeckman314 Jan 20, 2026
5f737c3
chore: Remove deprecated navigation files and update mkdocs configura…
lbeckman314 Jan 20, 2026
e118b14
chore: Add snippets
lbeckman314 Jan 20, 2026
3770108
chore: Update snippets
lbeckman314 Jan 20, 2026
54ed883
chore: Update navigation and styles
lbeckman314 Jan 20, 2026
ed32991
Working on fixes to various tool index pages.
kellrott Jan 20, 2026
3daa1d6
fix: Keep cards "below" header
lbeckman314 Jan 20, 2026
dee41cc
fix: Funnel macro errors and missing assets
lbeckman314 Jan 20, 2026
a5e56a0
chore: Update styles and nav
lbeckman314 Jan 20, 2026
0ce9730
chore: Minor formatting updates
lbeckman314 Jan 21, 2026
710f0fc
Merge remote-tracking branch 'origin/fixes/tool-pages' into refactor/…
lbeckman314 Jan 21, 2026
d5711cd
Initial plan
Copilot Jan 22, 2026
acb306a
Initial plan
Copilot Jan 22, 2026
405dfb2
Fix broken links: Replace calypr.ohsu.edu.org with calypr-public.ohsu…
Copilot Jan 22, 2026
9619309
Standardize URL casing: use /Explorer (uppercase) consistently
Copilot Jan 22, 2026
429b2f9
Fix URL from calypr.ohsu.edu.org to calypr.ohsu.edu and remove deprec…
Copilot Jan 22, 2026
ac2b000
Fix broken workflow links to point to correct documentation
Copilot Jan 22, 2026
1d62252
Initial plan
Copilot Jan 22, 2026
6b7aa3b
Fix command inconsistencies - use 'collaborators' plural and remove d…
Copilot Jan 22, 2026
b8fff78
Merge pull request #58 from calypr/copilot/sub-pr-40
bwalsh Jan 22, 2026
91cd3c7
Merge remote-tracking branch 'origin/feature/admin-gitdrs' into refac…
lbeckman314 Jan 23, 2026
a37f1ba
Merge pull request #57 from calypr/copilot/update-requirements-page
lbeckman314 Jan 23, 2026
8eeec11
Merge branch 'refactor/new-site' into copilot/fix-homepage-find-new-d…
lbeckman314 Jan 23, 2026
922ab2e
Merge pull request #56 from calypr/copilot/fix-homepage-find-new-data…
lbeckman314 Jan 23, 2026
dcbdbe4
adds git-drs
bwalsh Jan 23, 2026
cd1b2ac
adds mermaid charts
bwalsh Jan 23, 2026
c2488f4
moves tools to top
bwalsh Jan 23, 2026
07c7613
adds ga4gh reference
bwalsh Jan 23, 2026
27a8eed
Fixing small things on the first page
kellrott Jan 23, 2026
7eb2de6
Adding sifter docs
kellrott Jan 23, 2026
2600f62
Removing extra CSS
kellrott Jan 23, 2026
2aa6684
enable tool cards
bwalsh Jan 23, 2026
2867cf8
Merge pull request #61 from calypr/fixes/tool-pages
kellrott Jan 24, 2026
3594fda
Fixing various issues
kellrott Jan 24, 2026
ccd6bc0
adds forge docs
matthewpeterkort Feb 2, 2026
4156ecb
feat: Deprecate submodules + sync script in favor of monorepo structure
lbeckman314 Jan 14, 2026
8560fdd
feat: Add initial Funnel release links
lbeckman314 Jan 20, 2026
cc710c1
Working on centralizing Calypr product card
kellrott Jan 14, 2026
c9c7074
Removing transforms from featured product card
kellrott Jan 14, 2026
473a7f6
Working on front page content and formatting
kellrott Jan 15, 2026
cb11e9d
fix: Funnel macro errors and missing assets
lbeckman314 Jan 20, 2026
01498e3
Initial plan
Copilot Jan 22, 2026
e15875a
Fix broken links: Replace calypr.ohsu.edu.org with calypr-public.ohsu…
Copilot Jan 22, 2026
23dca34
Standardize URL casing: use /Explorer (uppercase) consistently
Copilot Jan 22, 2026
8fb3ba5
Initial plan
Copilot Jan 22, 2026
b66924a
Initial plan
Copilot Jan 22, 2026
bece8da
Fix broken workflow links to point to correct documentation
Copilot Jan 22, 2026
1ab874f
Resolve merge conflicts and update documentation structure
matthewpeterkort Feb 2, 2026
6eed1d1
update docs
matthewpeterkort Feb 3, 2026
029b9d4
Merge remote-tracking branch 'origin/refactor/new-site' into feature/…
matthewpeterkort Feb 3, 2026
fb96d81
fix navigation
matthewpeterkort Feb 4, 2026
0aa706b
Merge pull request #63 from calypr/feature/add-forge-docs
kellrott Feb 4, 2026
b6a340d
Re-introducing sifter files
kellrott Feb 4, 2026
81fdb0b
Removing a bunch of blank pages that where there from how hugo does i…
kellrott Feb 4, 2026
4823b94
Minor fixes to navigation
kellrott Feb 5, 2026
d33f22e
Adding requirement
kellrott Feb 5, 2026
13c910e
Merge pull request #64 from calypr/fixes/tool-pages
lbeckman314 Feb 9, 2026
6808040
Merge pull request #41 from calypr/refactor/new-site
lbeckman314 Feb 9, 2026
28f4037
chore: Add link check action
lbeckman314 Feb 9, 2026
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
46 changes: 46 additions & 0 deletions .github/workflows/link-check.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# Check links in documentation on every push and pull request
# Uses Lychee link checker to find broken links

name: Check Links

on:
push:
workflow_dispatch:
schedule:
Comment on lines +6 to +9
Copy link

Copilot AI Feb 9, 2026

Choose a reason for hiding this comment

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

The workflow header says it runs on pull requests, but the triggers only include push/workflow_dispatch/schedule. Add a pull_request trigger (optionally restricted to relevant paths) or update the comment to match the actual behavior.

Copilot uses AI. Check for mistakes.
# Run weekly on Sunday at 0 AM UTC to catch external link changes
Copy link

Copilot AI Feb 9, 2026

Choose a reason for hiding this comment

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

The schedule comment says “Sunday at 0 AM UTC”, but the cron expression (0 9 * * 0) runs at 09:00 UTC. Update either the comment or the cron value so they match.

Suggested change
# Run weekly on Sunday at 0 AM UTC to catch external link changes
# Run weekly on Sunday at 09:00 UTC to catch external link changes

Copilot uses AI. Check for mistakes.
- cron: '0 9 * * 0'

permissions:
contents: read
pull-requests: write
issues: write

jobs:
lychee:
runs-on: ubuntu-latest
Comment on lines +15 to +20
Copy link

Copilot AI Feb 9, 2026

Choose a reason for hiding this comment

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

Workflow permissions are broader than necessary: nothing in this workflow currently uses pull-requests: write, and issues: write is only needed for the scheduled run that creates an issue. Consider removing pull-requests: write and scoping issues: write to only the job/step that needs it (or guarding via a separate job) to follow least-privilege.

Suggested change
pull-requests: write
issues: write
jobs:
lychee:
runs-on: ubuntu-latest
jobs:
lychee:
runs-on: ubuntu-latest
permissions:
contents: read
issues: write

Copilot uses AI. Check for mistakes.
steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Run Lychee link checker
id: lychee
uses: lycheeverse/lychee-action@v2
with:
# Check all markdown files in docs/ and README.md
args: --verbose --no-progress --exclude-private 'docs/**/*.md' 'README.md' '**/*.md'
Comment on lines +29 to +30
Copy link

Copilot AI Feb 9, 2026

Choose a reason for hiding this comment

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

The args/comment don’t match: the comment says only docs/ and README.md, but the args include '**/*.md' which already covers those and will also scan every Markdown file in the repo. Either drop the redundant globs or update the comment (and consider restricting to the intended paths to reduce runtime/noise).

Suggested change
# Check all markdown files in docs/ and README.md
args: --verbose --no-progress --exclude-private 'docs/**/*.md' 'README.md' '**/*.md'
# Check all Markdown files in the repository
args: --verbose --no-progress --exclude-private '**/*.md'

Copilot uses AI. Check for mistakes.
# Fail on broken links but allow exclusions
fail: true
env:
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}

- name: Create Issue from Failures
if: steps.lychee.outputs.exit_code != 0 && github.event_name == 'schedule'
uses: peter-evans/create-issue-from-file@v5
with:
title: 'Link Checker Report - Broken Links Found'
body-file: lychee/out.md
labels: |
documentation
broken-links
automated-report

4 changes: 4 additions & 0 deletions docs/.nav.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
nav:
- Home: index.md
- Calypr: calypr/
- Tools: tools/
Binary file added docs/assets/banner.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/assets/banner_fade.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/assets/calypr_family.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/assets/funnel.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/assets/git-drs.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/assets/grip.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/assets/logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
10 changes: 10 additions & 0 deletions docs/calypr/.nav.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
title: Calypr
nav:
- Quick Start Guide: quick-start.md
- Troubleshooting & FAQ: troubleshooting.md
- Data Management: data-management/
- Analysis: analysis/
- Data Model: data-model/
- Project Management: project-management/
- Calypr Admin: calypr-admin/
- Website: website/
2 changes: 2 additions & 0 deletions docs/calypr/analysis/.nav.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
nav:
- Data Querying + Gen3 SDK: query.md
12 changes: 6 additions & 6 deletions docs/workflows/query.md → docs/calypr/analysis/query.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,20 +12,20 @@ Gen3 supports API access to Files and Metadata, allowing users to download and q
## 1. Dependency and Credentials


Prior to installing, check a profile credentials.
Prior to querying, ensure your DRS remotes are configured.
Test:
```bash
g3t ping
git drs remote list
```
- will return a list of projects that a profile has access to.
- will return a list of configured DRS remotes and projects you have access to.

- For new setup or renew of gen3 credentials - Follow steps to configure/re-configure a profile with credentials:

- Download an API Key from the [Profile page](https://calypr.ohsu.edu.org/identity) and save it to `~/.gen3/credentials.json`
- Download an API Key from the [Profile page](https://calypr-public.ohsu.edu/identity) and save it to `~/.gen3/credentials.json`

![Gen3 Profile page](../images/api-key.png)
![Gen3 Profile page](../../images/api-key.png)

![Gen3 Credentials](../images/credentials.png)
![Gen3 Credentials](../../images/credentials.png)


## 2. Install
Expand Down
4 changes: 4 additions & 0 deletions docs/calypr/calypr-admin/.nav.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
nav:
- Add users: add-users.md
- Role Based Access Control: approve-requests.md
- Creating a Project: creating-project.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
## Granting user access to a project

Once a project has been created you will have full access to it.
The project owner can add additional users to the project using the `g3t collaborator` commands.
The project owner can add additional users to the project using the `data-client collaborator` commands.

There are two ways to request the addition additional users to the project:

Expand All @@ -12,15 +12,14 @@ There are two ways to request the addition additional users to the project:
To give another user full access to the project, run the following:

```sh
g3t collaborator add --write user-can-write@example.com
data-client collaborator add [project_id] user-can-write@example.com --write
```

Alternatively, to give another user read access only (without the ability to upload to the project), run the following:
```sh
g3t collaborator add user-read-only@example.com
data-client collaborator add [project_id] user-read-only@example.com
```


## 2. Approvals
In order to implement these requests, **an authorized user will need to sign** the request before the user can use the remote repository. See `g3t collaborator approve --help
`
In order to implement these requests, **an authorized user will need to sign** the request before the user can use the remote repository. See `data-client collaborator approve --help`
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@
* Ony users with the steward role can approve and sign a request

```text
g3t collaborator approve --help
Usage: g3t collaborator approve [OPTIONS]
./data-client collaborator approve --help
Usage: ./data-client collaborator approve [OPTIONS]

Sign an existing request (privileged).

Expand All @@ -40,9 +40,9 @@ Note: This example uses the ohsu program, but the same process applies to all pr

```text
## As an admin, I need to grant data steward privileges add the requester reader and updater role on a program to an un-privileged user
g3t collaborator add add data_steward_example@<institution>.edu --resource_path /programs/<program_name>/projects --steward
./data-client collaborator add add data_steward_example@<institution>.edu --resource_path /programs/<program_name>/projects --steward
# As an admin, approve that request
g3t collaborator approve
./data-client collaborator approve



Expand Down
48 changes: 48 additions & 0 deletions docs/calypr/calypr-admin/creating-project.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
---
title: Creating a Project
---

## CLI

```bash
$ git drs init --help

Usage: git drs init [OPTIONS] [PROJECT_ID]

Initialize a new repository.

Options:
--debug Enable debug mode. G3T_DEBUG environment variable can also be used.
--help Show this message and exit.
```

## Overview
The `git drs init` command initializes a new project in your current working directory. It works with existing files in the directory and creates a couple important directories:

* `META/`: A visible directory within your project that houses the FHIR metadata files.
* `CONFIG/`: Any additional configurations that can be used to customize the gen3 data platform.

An initialized project will look something like this...

```
.
├── .git // git repository state
├── META // metadata in FHIR format
├── CONFIG
└── <your data here> // existing data files maintained
└── ...
```

## Choosing a Project ID

> In a Gen3 Data Commons, programs and projects are two administrative nodes in the graph database that serve as the most upstream nodes. A program must be created first, followed by a project. Any subsequent data submission and data access, along with control of access to data, is done through the project scope.
> [more](https://gen3.org/resources/operator/#6-programs-and-projects)

A project ID initializes a unique project, taking the form of program-project. A project ID is significant because it determines the location of the remote repository, bucket storage, and access control. Project IDs have a set of constraints, particularly the program name is predefined by the institution, while the project name must be unique within the server and alphanumeric without spaces. Contact an admin for a list of supported program names.

### Authorization
While you can work with an initialized repository locally, **an authorized user will need to sign** the project request before you can push your project to the data platform. You can confirm your project authorization with `git drs ping`

## Next steps

- [Adding data to a project](../calypr-projects/add-files.md)
6 changes: 6 additions & 0 deletions docs/calypr/data-management/.nav.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
nav:
- Git-DRS: git-drs.md
- Managing Metadata: meta-data.md
- Adding FHIR metadata: metadata.md
- Common Errors: common-errors.md

61 changes: 61 additions & 0 deletions docs/calypr/data-management/common-errors.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
# Common Errors

## .ndjson is out of date
**Error:** After `git-drs` adding and committing a file, when you go to submit your data, "DocumentReference.ndjson is out of date",
```sh
$ git add file.txt
$ git commit -m "adding file.txt"
$ git push
Please correct issues before pushing.
Command `git drs status` failed with error code 1, stderr: WARNING: DocumentReference.ndjson is out of date 1969-12-31T16:00:00. The most recently changed file is MANIFEST/file.txt.dvc 2025-02-28T09:24:46.283870. Please check DocumentReferences.ndjson
No data file changes.
```

```
$ forge meta init
DocumentReference file not found at META/DocumentReference.ndjson. Creating a new one with new records.
Processed 600 records
Finished writing all DocumentReference records.
Finished writing all Directory records.
```

To better understand the process of adding file metadata through the manifest, see [adding file metadata](add-files.md) and [adding FHIR metadata](metadata.md).

## No new files to index

**Error:**
```sh
$ git drs push
No new files to index. Use --overwrite to force
```

**Resolution:** When pushing data, `git-drs` checks the manifest (`MANIFEST/` directory) to see if there are any files to update, including new files or modified files. If no files have been modified, then the push will not go through. To push up the same file data or push up new FHIR metadata (`META/`), use `git drs push --overwrite`

## Uncommitted changes

**Error:** On the subsequent rounds of adding files, updating FHIR metadata, and committing the changes, you are unable to push up those new changes
```
$ git drs add hello.txt
$ forge meta init
$ git commit -m "add hello file"

$ git drs push
Uncommitted changes found. Please commit or stash them first.

$ git drs status
No data file changes.
On branch main
Changes not staged for commit:
...
modified: META/DocumentReference.ndjson
```

**Resolution:** This happened because the update FHIR metadata created in the META init was not staged for commit. To stage and commit the FHIR metadata, do:

```sh
$ git add META/
$ git commit -m "update DocumentReference.json"
$ git drs push
```

Note that `git add` is used here rather than `git drs add` because `git add` will update the project's FHIR metadata while `git drs add` only updates the project's manifest. If you want to commit multiple file changes, you can also use `git commit -am "update all files"`, where all changes get committed to the project.
Loading
Loading