-
Notifications
You must be signed in to change notification settings - Fork 6
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
Add External Events #1396
Add External Events #1396
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do you mind reverting all the changes made to the port and github workflows, please?
To be specific, do you mean all changes in |
I'd say just the added caching test step in the test.yml file is fine to keep, but all the other changes in that folder in general do not seem necessary to support the feature. I'm open to discussing more about it if you feel otherwise. The only changes outside that folder that should be reverted are the port changes from 3000 -> 3005. |
4a6f5d3
to
ecd8f09
Compare
ecd8f09
to
a775a94
Compare
Taken care of! |
a775a94
to
c9dde48
Compare
65b18ce
to
6bdc971
Compare
085d7de
to
d0fc9b2
Compare
The bulk grid action table was used to support the quick fix suggested here: #1396 (comment), and ultimately to support that table, multi-delete was implemented.
7cee587
to
4f383e0
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Everything looks good to me! Thank you!
___REQUIRES_AERIE_PR___="1513"
A new construct in AERIE is that of External Events. In this PR, we will introduce External Events, their containing entities (External Sources), their grouping mechanisms (Derivation Groups), as well as how they manifest in the UI and in the backend. Extensive documentation on this will be added to aerie-docs, but a general introduction can be provided in this PR description.
External Events
An External Event is a construct that represents the occurrence of something outside of what is modeled in the mission model. They could be events that are close to the spacecraft and directly affect behavior on it, like a DSN visibility event that might affect when communications happen, or they could be much more remote, like a constellation event. Functionally, these are at the interstice between external datasets and activities, in that they manifest on the timeline as activities (discrete blocks of time), but they themselves do not affect the mission model or invoke any actions much like external datasets.
The need for these became apparent after an exploration of External Events implemented as activities and as resources. To mimic the same construct as a resource, we would need to parse the external data, and then place it on the timeline as a discrete resource, which given the fact that there are gaps between events and there can also be simultaneous events, proved extremely unwieldy and awkward. While activities were a more natural representation, we still required an intermediary of a resource to schedule these activities based off of an ingested file, as it isn't possible to schedule activities exclusively following information in a file.
As such, a new construct became envisioned, and that is what is introduced in this PR.
How?
External Events are bundled in files called External Sources. External Sources additionally contain some metadata about the collection of External Events (i.e. what period of time this External Source applies over). These can be uploaded to AERIE and managed in a newly added External Source Manager:
It is in this view that External Sources can be inspected, uploaded, and deleted. Both the metadata as well as the component External Events (via a Timeline or Table view) can be inspected:
Furthermore, grouped within another new construct (and operation) known as Derivation Groups, these External Sources and their External Events can be viewed on a timeline:
For the sake of brevity, we will not discuss these details further. Furthermore, details on the derivation operation can be found in the AERIE PR, as it is there that the majority of derivation-related logic is handled.
Discussion Items and TODOS:
Discussion Items
TODOS:
Sometimes nothing appears in the external sources panel - rare timing issue.(MAYBE) change derivation group in the UI itself? (not yet?)(MAYBE) Add handling in ExternalSourceManager if can't reach hasura, don't show toasts saying it worked and switch panels, instead fail out, give a message, cancel the outgoing request?