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

Schema2.0 #419

Open
khoroshevskyi opened this issue Mar 17, 2025 · 4 comments
Open

Schema2.0 #419

khoroshevskyi opened this issue Mar 17, 2025 · 4 comments
Assignees

Comments

@khoroshevskyi
Copy link
Member

New version of schemas in PEPhub needed.
Major improvements include:

  • Adding versions to schema records
  • Adding tags to schema versions
  • New improved UI and API endpoints.
@khoroshevskyi
Copy link
Member Author

khoroshevskyi commented Mar 17, 2025

@sanghoonio . For convenience, I include here instructions how to run local PEPhub instance:

  1. Pull latest pephub, and checkout to schema2.0 branch: https://github.com/pepkit/pephub/tree/schemas2.0
  2. Install docker and run this script to create local instance of the database: https://github.com/pepkit/pepdbagent/blob/master/tests/README.md
  3. Install requirements: pip install -r requirements/requirements_all.txt
  4. Add .env file in root folder of the repository with following values:
POSTGRES_HOST=localhost
POSTGRES_DB=pep-db
POSTGRES_USER=postgres
POSTGRES_PASSWORD=pass8743hf9h23f87h437


GH_CLIENT_ID={...}
GH_CLIENT_SECRET={...}
REDIRECT_URI="http://localhost:8000/auth/callback"
BASE_URI="http://127.0.0.1:8000"

PH_DEV_MODE=true
  1. launch pephub:
uvicorn pephub.main:app --reload

@sanghoonio
Copy link
Member

sanghoonio commented Mar 18, 2025

UI notes

some clarification:

  • NOT tied to version: schema name, description, maintainers, private, system lifecycle
  • YES tied to version: schema json, release notes, contributors, tags
  • tags within a version can be updated without modifying the version number

todo:

  • include new inputs for new schema and upload schema modal forms
  • schema interface needs to provide details on current schema version in addition to current metadata
  • allow selecting version, which should update schema json, and deleting schema versions
  • schema interface should have a separate edit metadata modal for handling name?, description, maintainers, private setting, system lifecycle. because tags can be updated in the current modal, include options to update tags of most recent version. perhaps this modal should use two separate mutations on modal submission to handle this
  • to update schema json and other version specific content, clicking on the current save button should bring up a modal that provides inputs to provide a new version number, release notes for new version, contributors for new version, and options to update tags. modal could also provide a static preview of json schema to be saved. update schema version only using most recent schema version as base

@sanghoonio
Copy link
Member

sanghoonio commented Mar 21, 2025

feedback

todo by 28-mar:

  • add new schema version by file
  • make separate edit general schema and edit schema version buttons or forms
  • save button should not be save a new schema version, but update json contents of current (most recent) schema version (may require endpoint change @khoroshevskyi)
  • read only forms should not be in an editor
  • add delete schema version
  • additional endpoints (json, yaml download) in api modal
  • removing a file from the schema file input causes crash
  • input checks for version, name

@sanghoonio
Copy link
Member

sanghoonio commented Mar 25, 2025

feedback

todo later:

  • make sidebar sections more clear
  • add new version button more clear
  • router for current version in url
  • check pep work with schema and version

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants