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

Add External Source (and External Event) Attribute Validation #1560

Open
wants to merge 42 commits into
base: develop
Choose a base branch
from

Conversation

pranav-super
Copy link
Contributor

@pranav-super pranav-super commented Nov 18, 2024

___REQUIRES_AERIE_PR___="1606"

___REQUIRES_GATEWAY_PR___="116"

Description

This PR adds external source and event attribute validation to AERIE.

It is explained more in depth here.

The main updates to the UI for this PR surround the displaying of source and event attributes in the UI, namely in the External Source Manager, as well as an external source/event type creation page (previously Modals). Derivation group creation has presently been moved out of a modal and is delegated to the Derivation Group field where sources are uploaded.

Below is a view of the new 'External Types Manager' with an External Source Type's attribute schema being shown:
image

Below is a view of an External Event's attributes being shown:
image

Walkthrough

Upload

To use this feature, navigate to the External Sources page of Aerie

Select the Types button in the top-right to switch to the /types sub-page.

Click the 'Choose File' button and select a complete External Source & Event type schema (see bottom of this section for an example file). The pane should display the External Source & Event types that will be created once the 'Upload' button has been clicked - click the 'Upload' button to submit & create the types.

After the types have been created, a source can be uploaded by clicking the Sources button in the top-right, then selecting the Choose File button in the left-pane, selecting the related External Source, and clicking Upload.

Viewing Schemas

The attribute schema for an uploaded External Event or Source Type can be viewed by navigating to the External Sources page and selecting the Types button in the top-right to switch to the /types sub-page.

Once on the Types page, select the tab for the desired type (Event or Source) and then hover the row containing the desired type. Click the View button that appears. On the left-pane, the type should be displayed with two collapsible categories for Attribute Schema - Definition and Attribute Schema - Properties. Definition contains any top-level fields included other than Properties, which is shown under the other collapse.

Viewing Attributes

The attributes of a given External Source or Event can be seen by navigating to the External Sources page, hovering over the row for the desired External Source, and clicking the View button. In the Selected External Source pane on the left, there is a section for Attributes which when clicked will show the specific attributes for the given source.

Example Files

Example External Source Schema:
Schema_Example_Source.json

Example External Source: ExampleExternalSource.json

@JosephVolosin
Copy link

Having some issues with the E2E tests, but all External Source tests are passing locally. Note that because there is a separate Gateway branch for this pull-request there's issues with running the Gateway branch locally causing model upload, I worked around this by forcing it to use a pre-uploaded model to confirm that the actual tests still pass.

e2e-tests/external-sources.test.ts
image

e2e-tests/plan-external-sources.test.ts
image

Test lenght is becoming a concern, so tests may be flaky in this commit
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.

2 participants