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

Merge to master: Release 3.0.0 - OntoPortal federation #753

Merged
merged 29 commits into from
Oct 31, 2024
Merged

Conversation

syphax-bouazzouni
Copy link
Collaborator

@syphax-bouazzouni syphax-bouazzouni commented Sep 11, 2024

Changes

Bug fixes

New concept mappings table UI

Harmonize the ontologies entities UIs

Enable again parent categories

Federation

Backend changes

syphax-bouazzouni and others added 4 commits September 11, 2024 15:11
* simplify the header component to use content instead of a new section

* update dropdown  component to a custom title section instead of  text

* update browse page to use Dropdown component not bootsrap one

* add color option to square badge component

* add text and bg  colors options to ontology browse card component

* add federation helper code and config sample

* add portals filters in the browse page

* use federation helpers to get federation ontologies information

* remove the filter using index code from submission filter as no used

* refactor the filter_using_data function to be faster by using an hash

* update the browse analytics cache to change depending on portals

* add categories and groups ids on hover to know its origin when federated

* use the last part of ids for browse counts independently of its origin

* remove binding.pry from final federation code

* add an error message if one of the external portal is down

* remove $FEDERATED_PORTALS and use existent $PORTALS_INSTANCES variable

* handle the merging of the same ontology from different portals

* fix groups and categories selection at browse page init
* add portal configuration action and view to home controller

* create portal_config_tooltip helper and use  in homepage portals section

* enhance portal config home section style

---------

Co-authored-by: Bilel KIHAL <[email protected]>
…ookie banner (#760)

* Add language-specific anchors to footer  section links

* Add language-specific anchors to the cookie banner

* Refactor language-specific anchors to use I18n default option

* Remove anchors from bioportal_config_env.rb.sample; now handled by footer view
…, Instances, Schemes, and Collections (#754)

* limite taxonomy card ontologies chips number and add a see all button

* Properties layout harmonization

* Instances layout harmonization

* fix: resolve issues related to properties raised in code review

* fix: resolve issues related to instances raised in code review

* adding subtab "Details" and API cotextual button to `Schemes`

* adding subtab "Details" and API cotextual button to `Collections`

* Using unless instead of if in sections controllers

* Adding new section tab component and using it in Properties, Instances, Schemes and Collections

* display first scheme if none are selected

* move the created tabs_section component to rails helpers

* fix schemes and collections shows not selecting the right object

* remove details partials moving the content directly to the show files

* remove unnecessary call in the properties show  to find the ontology

* use the correct partial in the schemes controller show action

* put the tab item helper in the component helpers as generic

* use the correct collection partial in the show action

* remove unnecessary local in the instances partial

* clean instance show partial code

* remove unnecessary locals in the properties partial call

* remove unnecessary locals in the collections show partial call

* remove unnecessary locals in the schemes show partial call

* Add presence check (not nil and not empty) for ontology details component before rendering

---------

Co-authored-by: Syphax bouazzouni <[email protected]>
Co-authored-by: Bilel KIHAL <[email protected]>
app/views/instances/_show.html.haml Dismissed Show dismissed Hide dismissed
Bilelkihal and others added 6 commits October 11, 2024 15:39
* update categories selector in admin page to allow multiple parentCategories

* handle category multiple parents in category page

* add null safety in nest categories children function
* ensure that the custom ontology viewer context fix is only applied to it

* handle collections sort if all languages mode  raising an exception
* simplify the header component to use content instead of a new section

* update dropdown  component to a custom title section instead of  text

* update browse page to use Dropdown component not bootsrap one

* add color option to square badge component

* add text and bg  colors options to ontology browse card component

* add federation helper code and config sample

* add portals filters in the browse page

* use federation helpers to get federation ontologies information

* remove the filter using index code from submission filter as no used

* refactor the filter_using_data function to be faster by using an hash

* update the browse analytics cache to change depending on portals

* add categories and groups ids on hover to know its origin when federated

* use the last part of ids for browse counts independently of its origin

* remove binding.pry from final federation code

* add an error message if one of the external portal is down

* display federated results in search page

* display federated search results in different colors

* add portals param in federated search

* add federation checks in search page

* merge federated search results

* show portals names in federated search result chips in the form 'AgroPortal' instead of 'agroportal'

* sort federated search results by string similarity

* fix merge development to federated search issues

* clean search result component

* internationalize: results from other portals in search and browse page

* fix performance issue in federated search

* merge results using class id and ontology acronym

* extract federation enabled into a helper in federated search

* refactor search result elem function

* add realtime benchmark for search federated search

* add portal names and colors in top of federated search results

* make sort by string similarity not case sensitive

* remove duplicated federation configuration

* extract portal button in home page to federation helper, fix the style of it and make it clickable

* fix icons colors in federation

* display a message in the federated search results when a portal is not responding

* disable input chips in federated search page for the portals that are not responding

* show tooltip for disabled input chips in the federated search

* clean search controller federation code

* update ontologies api ruby client to the latest version of federated search

* fix federated browse icons colors

* add tooltip for portal button in federated search

* open external ontologies links in new tab in federated browse

* use portal button helper in federated browse

* cache federation status call

* update chip helpers to support disabled state

* use turbo frame for federation input chips, and use federation portals status to disable non working portals

* add skelton loading animation for federation input chips

* cache federation input chips separately

* use cached federation input chips in browse page

* fix browse page federation inputs section title style

* initialize federation portals input chips in the home page (asynch in the background)

* clean federated search aggregator code

* move chip skelton to components helper

* internationalize portal is not responding message

* clean federation portal status cache method

* clean federation stimulus controller code

* display federated browse errors as warning instead of danger (orange instead of red)

* remove related code to fedrated portals status to put it in another PR

* use the key "collection" instead of "results" in federated search result hash to maintain the endpoint expected schema

* Fix issue when enabling federation and ontologies selector

* rename the federation color setter stimulus controller

* extract federation errors helpers and a fix a typo in a function name

* clean search aggregator by extracting some federation helpers

* use again  the development branch of the api client

* fix some imports and functions calls after the refactor

* extract and create federated portal button component

* put again custom api documentation line

* remove no more used data controller calls

* clean the search result component federated code

---------

Co-authored-by: Syphax bouazzouni <[email protected]>
* cache federation status call

* update chip helpers to support disabled state

* use turbo frame for federation input chips, and use federation portals status to disable non working portals

* add skelton loading animation for federation input chips

* cache federation input chips separately

* use cached federation input chips in browse page

* fix browse page federation inputs section title style

* initialize federation portals input chips in the home page (asynch in the background)

* clean federated search aggregator code

* move chip skelton to components helper

* internationalize portal is not responding message

* clean federation portal status cache method

* clean federation stimulus controller code

* display federated browse errors as warning instead of danger (orange instead of red)

* use federation portal status in home page portals configuration

* fix issue in federation portal status method

* clean portal_config_tooltip method to make it more readable

* consider the portal as down if the api of it is not present in the config file

* put federation portal status vue in a helper, and remove the html file of it

* internationalize portals status message

* extract federation_input_chips to a helper

* put init portals status in home page logic in a helper for clarity

* change home/federation_portals_status root to status/:portal_name

* use dig in federation_portal_status to ensure to not raise an exception

* move init portal status helper to federation file and fix class name

* move federation helpers from application helper to federation file and fix variables calls

* add loading state to the chips component and use it in federation status

* rename federation chip component helper name to prevent conflicts

---------

Co-authored-by: Syphax bouazzouni <[email protected]>
…hanged (#779)

* sort by name when we do federated browse

* extract categories and groups inputs sections into a turbo frame

* use switch input helper in the browse page for more clarity

* create dropdown component helper and add small argument to loader helper

* use current_user_admin? helper instead of  session[:user]&.admin?

* move some of the browse page code to helpers

* fix the bug of mixing the section filters because this.element was the container not the filters section blocks

* update the categories section in browse page if request_portal changed

---------

Co-authored-by: Syphax <[email protected]>
* add text for api json button in search page, and show it only when the search is performed

* count federated search results count by portal

* show separate portals federated search result counts

* show separate federated browse ontologies counts for each portal

* Fix color issue in browse page portal name button

* fix federated browse counts function to handle all cases

* limit search page results count sentence width

* fix api json button non clickable in search page

* Fix external ontology icon when the ontology is not external in the browse page

* display ontology sources buttons in browse page for internal ontologies that are present in other portals

* use helpers for re-used  ui components in the search UI page

* extract same helper for the error message alert UI component

* harmonize federation result text  code

* fix text_with_icon helper style

* remove no more used :from local text key

* complete match_in local text

* move urls related helpers from application_helper to urls_helpers file

* update search aggregator and  result component to save ontology id

* extract common logic to count ontology id from search and browse results

* clean url helpers usages

---------

Co-authored-by: Syphax <[email protected]>
@syphax-bouazzouni syphax-bouazzouni changed the title Merge to master: Release 3.0.0 Merge to master: Release 3.0.0 - Ontoportal federation Oct 23, 2024
@syphax-bouazzouni syphax-bouazzouni changed the title Merge to master: Release 3.0.0 - Ontoportal federation Merge to master: Release 3.0.0 - OntoPortal federation Oct 23, 2024
Bilelkihal and others added 6 commits October 23, 2024 19:03
* method to get the canonical portal for an ontology using pullLocation

* display federated ontologies in browse page based on the canonical portal

* clean canonical portal function in federation helper

* extract canonical portal ontology choice in a function for clarity

* display search page results based on the canonical portal of the ontology

* move federation canonical to federation helper

* clean swap portal attributes function in federation helper

* fix and clean apply canonical portal function

* extract count portals into a separate function from external_canonical_ontology_portal function + apply_canonical_portal function

* put again search canonical logic the search_aggregator file and refactor the code

* do the search canonical logic only if enabled

* fix rest_hostname raising an exception that REST_URI does not exist

---------

Co-authored-by: Syphax bouazzouni <[email protected]>
* create metrics helper module and implement  portal_metrics that handle slices also

* update home controller and home index to use the portal_metrics helper

* add mappings sliced count

* add projects sliced count

* use the slice name in figures section title if enabled

* fix mappings metrics count when not sliced to includes interportal and external mappings
* fix summary page scroll up auto multiple times

* clean center tree view code and use it for: 'classes', 'properties', 'schemes', 'collections', 'instances'

* revert adding useVisibility, and extract tree_view_pages to a constant
Bilelkihal and others added 2 commits October 26, 2024 10:31
* add enable/disable federation

* hide federation inputs in browse page when federation is disabled

* hide federation inputs in search page when federation is disabled

* fix federation enabled function name in ontologies controller

* put @federation_enabled variable in the right place in search controller index

* rename federation_portals_enabled? to federated_request?

* remove the usage of  "@federation_enabled" to use directly the helper

* fix a bug of the url of federation status, to add "/" to sure to always go to the correct route

---------

Co-authored-by: Syphax <[email protected]>
* fix jump to infinit loading

* search result as an object instead of hash in search controller
Bilelkihal and others added 6 commits October 26, 2024 11:01
* include views in ontologies selector

* refactored onts_for_select to have the option to include views and by default no

---------

Co-authored-by: Syphax <[email protected]>
* fix the issue in the projects page when the ontologies are private

* fix ontologies selector name in projects from

* pass the correct project ontologies value in project ontologies selector

* pass an empty array if used ontologies of a group is nil
…ure main_language_label is defined in collections helper (#793)
…ews in the list (#791)

* fix ontologies selector weird results sentence

* show [view] beside ontology views in ontologies selector
Copy link
Collaborator Author

@syphax-bouazzouni syphax-bouazzouni left a comment

Choose a reason for hiding this comment

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

Before merging this we need to fix the tests.

@jonquet
Copy link

jonquet commented Oct 30, 2024

Review done for me in agroportal/project-management#619 (comment)

syphax-bouazzouni and others added 2 commits October 30, 2024 15:57
… any language remaining over the not tagged (#795)

* update select_language_label  helper to select f no english found any language remaining over the not tagged

* fix tests by fixing a dependency change

* fix login system tests after securing the user delete action in the API
@syphax-bouazzouni
Copy link
Collaborator Author

syphax-bouazzouni commented Oct 30, 2024

Before merging this we need to fix the tests.

@Bilelkihal, all tests are green now with #795, you can merge when you want.

@syphax-bouazzouni syphax-bouazzouni removed the request for review from jonquet October 30, 2024 15:19
syphax-bouazzouni and others added 2 commits October 30, 2024 17:38
)

* update select_language_label  helper to select f no english found any language remaining over the not tagged

* hide the slices section in the home page if slices disabled
* fix mappings table style

* hide relations column when it's completely empty

* use icons and Abbreviations types and sources

* hide actions column if no mapping is of type REST

* update create new mapping button style

* remove concept mapping table padding

* remove relation column and remove Action title

* make the column width for the mapping to and ontology larger

* move some mappings helper to the mapping controller as used only there

* move the logic from the mapping table view to helpers

* fix link text component icon size

* change mappings action icons colors to primary color

* pass button component in create new mapping instead of using only the css of it

* internationalize create new mapping button text

* internationalize mapping types description

* fix interportal mapping issue when the interportal_hash is empty

* limit mapping type tooltip by 300px width

---------

Co-authored-by: Syphax <[email protected]>
@Bilelkihal Bilelkihal merged commit 6e99168 into master Oct 31, 2024
7 of 8 checks passed
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.

4 participants