Skip to content

Conversation

@tcnichol
Copy link
Contributor

In clowder v1 context was a list that consisted in URL and dictionary. This pull request makes v2 match v1. Front end and back end have both been changed. Extractor registration should work correctly.

If testing, make sure to remove old metadata/listeners from DB, or else conflicts will happen.

…ake v2 compatible with some extractors from extractors-core which dynamically build the context.
fix test
@longshuicy
Copy link
Member

Can you fix the linting?

@tcnichol
Copy link
Contributor Author

To test with extractors, use this branch of pyclowder:

clowder-framework/pyclowder#60

Wordcount and other sample extractors there can be used.

@tcnichol
Copy link
Contributor Author

For the errors in pytest. These are happening when metadata with no context_url is being posted to the backend for files and datasets. The field is an optional[str] but the validator looks like it throws an error if it is missing. Not sure what to do to fix it. Also that the changes made in this PR shouldn't affect that.

@ddey2 ddey2 self-requested a review February 20, 2023 21:36
@tcnichol
Copy link
Contributor Author

@ddey2 I pushed a small change that might fix the errors you are seeing.

Copy link
Member

@ddey2 ddey2 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, tested.

Copy link
Contributor

@max-zilla max-zilla left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

everything seemed to work, remove the log and i will merge after tests pass thanks

})

console.log([JSON.stringify(contextJson)]);

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

please remove

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

removed

@tcnichol tcnichol requested a review from max-zilla February 28, 2023 19:41
@max-zilla max-zilla requested a review from ddey2 March 1, 2023 19:15
@max-zilla max-zilla merged commit f9fd810 into main Mar 1, 2023
@max-zilla max-zilla deleted the 306-metadata-context-is-list-of-dict-or-url branch March 1, 2023 19:15
longshuicy added a commit that referenced this pull request Mar 2, 2023
* context is now changed to list union of AnyUrl or dict. This should make v2 compatible with some extractors from extractors-core which dynamically build the context.

* formatting
fix test

* formatting

* still getting pytest errors
changed context from optional[list] to list with default value empty, but still is not fixing the issues.

* should fix the tests

* formatting

* getting rid of class 'context element' not needed

* getting rid of class 'context element' not needed

* removing console log

---------

Co-authored-by: Chen Wang <[email protected]>
max-zilla added a commit that referenced this pull request Mar 6, 2023
* Added group_id to authorization

* Added list of group_ids instead of one group_id per entry

* Addressing comments

* fixing lint failure

* Added new component for file actions (#352)

* Added new component for file actions

* Tested file download and file delete from File page

* Verified after deleting file, page navigates back to main dataset page

* Fixed version-not-updating error

* Updated onSave sequence to first synchronously update the file and then subsequently call listVersions API to display on the frontend

* Fixed lint issues by running eslint

* UI for displaying logs on extractors (#317)

* Static UI for displaying logs on extractors

* Created 2 React custom components:
* ExtractorStatus -- UI table to display summary of job/progress so far
* ExtractorLogs -- terminal-like UI to display logs in real-time as they are being fetched

* [WIP] Enable extractor job id retrieval from backend

* Updated redux store value when job id is returned

* Added actions for job update, job summary API endpoints

* [WIP DO NOT MERGE] Testing frontend functionality with dynamic log rendering

* Updated API endpoints, return payload, reducers and actions (#330)

* Updated API endpoints, return payload, reducers and actions for the extractor jobs

* Tested API calls to fetchJobSummary, fetchJobUpdates from frontend, able to receive extractor job data

* Tested submit job process flow, able to retrieve extractor job id from the backend

* Removed redundant code

---------

Co-authored-by: Chen Wang <[email protected]>

* Integrated UI with backend

* Tested with sample extractor logs, able to view both extractor status and summary from the UI

* Removed hardcoding of job id

* Fixed indentation

* Adding download button on UI to download correct verison file (#334)

* Adding download button on UI to download correct verison file

* fix filename issue

* Update FileVersion.ts

---------

Co-authored-by: Chen Wang <[email protected]>

* fix member typing (#336)

* fix member typing

* adjust the test so it can pass

* fixing error of blank page on submit file to extractor (#338)

files.py - renaming resubmit method
codegen
fixing error in listeners.py

* Modified extractor job summary duration calculation

* Moving fetchJobSummary, fetchJobSummary API calls to ExtractorStatus component to fix interval issue

---------

Co-authored-by: Chen Wang <[email protected]>
Co-authored-by: Dipannita <[email protected]>
Co-authored-by: Todd Nicholson <[email protected]>

* Properly interpret extractor statuses (#356)

* various fixes to message listener

* black formatting

* Added new component for file actions (#352)

* Added new component for file actions

* Tested file download and file delete from File page

* Verified after deleting file, page navigates back to main dataset page

* Fixed version-not-updating error

* Updated onSave sequence to first synchronously update the file and then subsequently call listVersions API to display on the frontend

* Fixed lint issues by running eslint

* UI for displaying logs on extractors (#317)

* Static UI for displaying logs on extractors

* Created 2 React custom components:
* ExtractorStatus -- UI table to display summary of job/progress so far
* ExtractorLogs -- terminal-like UI to display logs in real-time as they are being fetched

* [WIP] Enable extractor job id retrieval from backend

* Updated redux store value when job id is returned

* Added actions for job update, job summary API endpoints

* [WIP DO NOT MERGE] Testing frontend functionality with dynamic log rendering

* Updated API endpoints, return payload, reducers and actions (#330)

* Updated API endpoints, return payload, reducers and actions for the extractor jobs

* Tested API calls to fetchJobSummary, fetchJobUpdates from frontend, able to receive extractor job data

* Tested submit job process flow, able to retrieve extractor job id from the backend

* Removed redundant code

---------

Co-authored-by: Chen Wang <[email protected]>

* Integrated UI with backend

* Tested with sample extractor logs, able to view both extractor status and summary from the UI

* Removed hardcoding of job id

* Fixed indentation

* Adding download button on UI to download correct verison file (#334)

* Adding download button on UI to download correct verison file

* fix filename issue

* Update FileVersion.ts

---------

Co-authored-by: Chen Wang <[email protected]>

* fix member typing (#336)

* fix member typing

* adjust the test so it can pass

* fixing error of blank page on submit file to extractor (#338)

files.py - renaming resubmit method
codegen
fixing error in listeners.py

* Modified extractor job summary duration calculation

* Moving fetchJobSummary, fetchJobSummary API calls to ExtractorStatus component to fix interval issue

---------

Co-authored-by: Chen Wang <[email protected]>
Co-authored-by: Dipannita <[email protected]>
Co-authored-by: Todd Nicholson <[email protected]>

* Millisecond (#360)

* it's seconds

* add more icons

* default to open tab

---------

Co-authored-by: Aruna Parameswaran <[email protected]>
Co-authored-by: Chen Wang <[email protected]>
Co-authored-by: Dipannita <[email protected]>
Co-authored-by: Todd Nicholson <[email protected]>

* Context matches v1 type. (#328)

* context is now changed to list union of AnyUrl or dict. This should make v2 compatible with some extractors from extractors-core which dynamically build the context.

* formatting
fix test

* formatting

* still getting pytest errors
changed context from optional[list] to list with default value empty, but still is not fixing the issues.

* should fix the tests

* formatting

* getting rid of class 'context element' not needed

* getting rid of class 'context element' not needed

* removing console log

---------

Co-authored-by: Chen Wang <[email protected]>

* Mongo views (#353)

* add a readme

* add listener job update view

* temp

* add init

* add to production docker-compose as well

* 343 list resources that user has access (#355)

* add logic to filter user

* add filters to file

* list files working too

* add same filter for folder

* include executions

* exempt the current resource owner

* add test database

* rewrite createView part

* rewrite init script but it's still not working yet

* fix typo

* fix linting

* Replaced EmbeddedSearch with custom search box component to fix session refresh issue (#365)

* Tested dataset search by clicking button and pressing enter, able to view search results

* match user_ids which is a list now (#368)

* update to lookup query

* update authorization_deps queries

* simplify group logic in auth check

* formatting

* Formatting

---------

Co-authored-by: Aruna Parameswaran <[email protected]>
Co-authored-by: Chen Wang <[email protected]>
Co-authored-by: Todd Nicholson <[email protected]>
Co-authored-by: Max Burnette <[email protected]>
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.

metadata context is list of dict or url

5 participants