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

"Classify this Subject" feature: use live active Workflow data #260

Merged
merged 9 commits into from
Aug 22, 2024

Conversation

shaunanoordin
Copy link
Member

PR Overview

Our recent experience with the Stereovision project has highlighted the following issues:

  • Workflows can be activated and/or inactivated without warning, causing a mismatch in hardcoded project configs.
  • Subjects can be de-associated from workflows, making them impossible to Classify (i.e. the subject sets they belong to can be de-associated from active workflows, such as the case with beta test Subjects)

This PR attempts to address the issues above by pulling live active Workflow data for a given Project, and ensuring a Subject "belongs" to at least one active

  • ProjectContainer and AppStore:
    • now fetches all active workflows belonging to a Project.
    • Note: this data fetch is considered secondary, and won't block the app from running while it's still ongoing in the background. This is because the WF data is only needed for the "Classify this Subject" feature.
  • WorkflowSelectionDialog:
    • lists all active workflows that a Subject is associated with
    • The list of valid workflows is done by comparing active_workflow.links.subject_sets and subject.links.subject_sets; if there's at least one matching subject set, then a volunteer can classify that Subject on that Workflow.

Also:

  • documentation updated to reflect current format of project configs in projects.json

Screenshot: WorkflowSelectionDialog after clicking "Classify this Subject" on a Stereovision Subject

image

Screenshot: similar to above, but the Subject is a test subject that's not associated with any active workflows

image

Future ideas: since we know the completeness of each live workflow, we can also grey out workflows that are complete. The screenshot below demonstrates how this might look like, and the feature is already partially implemented in the code. (We're just missing good design, and actually completed workflows to test it.)

Screenshot 2024-08-13 at 22 31 53

NOTE: these changes, when deployed, will only affect the Stereovision project. We could easly apply these changes to How Did We Get Here by changing the project config if we wanted, but I'll try my best to not disturb older projects.

Status

Ready to go, but do NOT merge and deploy until we get the green light. We don't want to deploy major feature changes while the Stereovision team is still getting a feel for the Community Catalog

@shaunanoordin
Copy link
Member Author

I've confirmed on Slack that we're good to go! Merging and deploying now.

@shaunanoordin shaunanoordin merged commit 48c6219 into master Aug 22, 2024
2 checks passed
@shaunanoordin shaunanoordin deleted the dynamic-workflows-for-classify branch August 22, 2024 14:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant