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

Use a fillable form for users to input job submissions #107

Open
jtyoung84 opened this issue May 19, 2024 · 2 comments · May be fixed by #187
Open

Use a fillable form for users to input job submissions #107

jtyoung84 opened this issue May 19, 2024 · 2 comments · May be fixed by #187
Assignees

Comments

@jtyoung84
Copy link
Contributor

Is your feature request related to a problem? Please describe.
Currently, users need to fill out a csv file, which can be confusing if the fields get updated.

Describe the solution you'd like
Using a fillable form will make it clearer what needs to get filled in.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

@helen-m-lin
Copy link
Contributor

I evaluated a few libraries for forms generation- ideally to generate form from pydantic model.

Demos: aind-data-transfer-ui-demo (or see screenshots)

Summary

Package Pros Cons
FastUI - UI components straightforward
- Integrates with FastAPI
- Does not support dict, complex list, PurePosixPath, .ONE_OF
- Limited support/still in dev
- Lengthy UI components
Streamlit-pydantic - Supports lists, dicts, nested models
- Easy to build UI
- Renders base form even with issues
- Does not support Optional fields
- Latest version not on PyPI
- Limited support for pydantic v2
- spin up new service
Json Editor - Can use CDN
- Simplified models work in Playground
- Can plug into current JinjaTemplates
- UI customization
Alpaca Forms - Can use CDN
- Simplified models work in Playground
- Can plug into current JinjaTemplates
- UI customization
RJSF - aind-metadata-entry-app - Nested models UI

Proposals

  1. Add endpoints to aind-data-transfer-service to validate user submitted json
  2. Short term: render form from json schema
  3. Long term: FastUI once lists are supported

@helen-m-lin
Copy link
Contributor

React demo: https://github.com/AllenNeuralDynamics/aind-metadata-entry-js/tree/feat-aind-data-transfer-ui-demo

The ui workflow will be simplified with preset job types. Putting this ticket in blocked for now.

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