NASA-AMMOS / aerie-ui

The client application for Aerie.
https://nasa-ammos.github.io/aerie-docs/
MIT License
28 stars 4 forks source link

Add feature for defining model specifications #1221

Closed duranb closed 2 months ago

duranb commented 2 months ago

resolves #1212

To test:

  1. Create constraint(s)
  2. Create scheduling condition(s)
  3. Create scheduling goal(s)
  4. Create a model
  5. Click on the newly created model in the models table
  6. Click on the new "Edit details and associations" button on the left, under the model's metadata
  7. Verify that you are taken to the new edit model page
  8. Modify the model metadata (i.e. name, description, etc)
  9. Click on the "Constraints" tab
  10. Click the "Library" tab
  11. Toggle on the checkboxes for all the constraints that you want to add
  12. Click the "Model" tab
  13. Verify that all the constraints that you toggled on are present
  14. Choose specific versions of the constraints that you prefer
  15. Click on the "Conditions" tab and repeat steps 10 - 14, but for scheduling conditions
  16. Click on the "Goals" tab and repeat steps 10 - 14, but for scheduling goals
  17. For goals, also update the priority if desired
  18. Click the "Save" button at the top right
  19. Verify that all changes are persisted after a refresh
Mythicaeda commented 2 months ago

Been using this branch to debug a model spec issue and it's been working swimmingly so far!

A pain point I've encountered is the ability to remove goals from the model spec (though this also applies to plan specs and very likely applies to constraints and scheduling conditions as well). In order to remove a goal from the spec, I have to hunt it down in the manage goals panel, which starts out I believe alphabetically sorted by name?

Some ideas for alleviating this pain point:

duranb commented 2 months ago

Been using this branch to debug a model spec issue and it's been working swimmingly so far!

A pain point I've encountered is the ability to remove goals from the model spec (though this also applies to plan specs and very likely applies to constraints and scheduling conditions as well). In order to remove a goal from the spec, I have to hunt it down in the manage goals panel, which starts out I believe alphabetically sorted by name?

Some ideas for alleviating this pain point:

  • Add a remove button when viewing the spec (may not be the best for plan specs given their very limited space real estate)
  • Add the ability to sort/filter the manage goals panel on if a goal is in the spec
  • "Pin" goals in the spec when the manage goals panel is opened at the top of the list (I say "pin" as this solution imagines that if a user decides to sort on, ie, ID, the goals in the spec will be reordered without getting interspersed with the other goals)

Thanks for the feedback @Mythicaeda! I can definitely see that as annoying. I think that we should use this for a second pass effort. Your comment is also somewhat related to https://github.com/NASA-AMMOS/aerie-ui/issues/1164 so it'd be nice to tackle both at the same time.