Skip to content

Commit

Permalink
Merge to master: Release 2.8.1 (#631)
Browse files Browse the repository at this point in the history
* fix: home annotator block redirection to annotator page with empty text (#629)

* Fix: Download button in summary export metadata (#628)

* fix xml download button in summary page, export metadata

* adjust the position of the export metadata download button and make the hover cursor pointer for it

* Fix: the contexual json icon  for to the concept adapt to the select tab (#539)

* refactor concepts json code and put it in a stimulus controller

* adjust the position of the concepts json link

* remove non related code to concepts json PR

* remove non related code to contextual json pull request

* pass base class URL directly to concepts json stimulus controller

* clean concepts json stimulus code

* remove undesired code from concepts json button PR

* fix typo in agent_search_input_component.html.haml

* rename concepts json button stimulus controller

* clean concepts json button controller code

* clean concepts json button related code

---------

Co-authored-by: Syphax bouazzouni <gs_bouazzouni@esi.dz>
Co-authored-by: Bilel KIHAL <kb_kihal@esi.dz>
Co-authored-by: @SirineMhedhbi

* feature: make view of clickable in summary page header (#643)

* feature: use the ontologies selector by name and acronym in edit groups and categories (#641)

* Fix: Reject the current ontology from appearing in the ontologies selector in editing the submission's relations (#640)

* reject current ontology from the ontologies selector in relations section - edit submission

* pass reject ontology as a param in generate ontology seect input method

* Feature: Make text area resisable in upload ontology and edit submission forms (#644)

* make text areas resisable in upload ontology and edit submission forms

* make forms list input text areas resisable

* Fix: The issue when the agent has no acronym (#645)

* fix the issue when the agent has no acronym

* clean agent affiliations combination

* fix: the concepts chips links redirecting to the wrong destination  (#638)

* Feature: Scroll to the selected term in the tree view  component (#646)

* scroll to the selected term in the tree view

* prevent the whole page scrolling when centring the scroll to the selected tree view element

* fix: change local test "URL" to "URI" in check resolvability components (#651)

* Feature: Add content negotiation redirection tests (#622)

* Add uri redirection for /ontologies/:acronym/:id to the appropriate page

* small fixes: remove binding.pry and return resource_id in find_type_by_search

* Add copy agroportal link functionality

- this functionality is using the ClipboardComponent because it works the same but differ only in the content and icon
- the clipboard component has been changed to accept title and icon

* redirect to content finder page when no type is valid

* Updated route to use redirect action instead of show_redirection

* Use default icon and title arguments in the Clipboard Component

* rename and internationalize clipboard component titles

* small fix: remove % from svg icon

* Add the copy title to the components section in en.yml and fr.yml

* Show the generated uri when user hover over the copy link icon

* Make the dynamic route content negotiable

- based on the accept header we will
  - if "text/html" we will redirect to the agroportal page
  - else we will call the api and get the content serialized in the format specified and return it

* update serialize content to return accept_header

* translate copy_original_uri and copy_portal_uri to french

* reuse search content concern in uri redirection concern

* remove duplicate link_last_part method

* Add htaccess functionality

* Add apache and nginx instruction for htaccess redirection

* Clean te code in the view file

* Add OntologiesRedirectionController

- remove redirect and generate_htaccess from ontologies_controller
- clean code the generate_htaccess method
- add "ontology_portal_uri" in @Identifiers

* Regroupe routes

* Make ontologies_redirection controller and refactor generate_htaccess code

* Internationalization of redirection rewrite rules modal

* Add note for url that has #

* link contact support button to the feedback page

* Change regex to redirect only url of type: /path/resource_id

- for urls that has the # it will redirect to the ontology page

* Add ontology redirection based on the accept header format

* move the ontology redirection route to the bottom to have less priority

* Change rewrite rules note using alert component

* Add /ontologies/ACRONYM/download?format=FORMAT route

* ontology redirection  based on the accept header using /ontologies/acronym/download route

* Add redirect assertion in ontologies controller test

* Fix content serialization when calling /ontologies/:acronym/:id

* create private function for accept header and remove ontology redirection

* remove generate_rewrite_rules function

* remove redirect assertion in ontologies controller test

* change htaccess route to /ontologies/:acronym/htaccess

* fix copy internal links in LinkFieldComponent

* add raw to copy internal links in identifiers card

* return all response and add text/n3 format in content serializer

* escape id when redirecting to content_finder

* choose the right result from the results of search content

* add algorithm to choose the right accept header, not_acceptable if no format valid

* add an additional security to the uri redirection to have an exact match

* make the check resolvability icon clickable & redirect to the tool page

* make the check resolvability extend to accept equivalent formats

* move the redirection function from ontologies_controller to uri concern

* fix check_resolvability_tool to redirect to the full url not only the path

- the problem was because everytime it is redirecting to the uri.path and uri.path does not include the ?format parameter
- add the octet-stream accept header in the accepted format for xml

* add reference to the url of the original file when format not acceptable

* put again the resolvability timeout to 5 secondes

* setup content negotiation and redirection tests

* remove redirection when request ontology with format

- the redirection is removed when request ontology in any format, by making request to the api and forward the result

* add ids to the resource format icons and modal

* assert the content type for html and json

- the xml and csv is returning 500 internal server error from the api, but it's working locally

* refactor content_redirection tests

- still not completed

* add multiple response status for ontology xml and csv format

* add test for the content format of the resource

* add turtle format based on hasOntologySyntax field

* assert success and not_acceptable in turtle format

it depends on hasOntologySyntax

* add NTriples format for ontologies based on hasOntologySyntax field

* test content negotiation for ontology resources

* fix redirection url for resource html format

* fix ontologies controller test indentation

* assert redirection location in resource html format

* update the admin user  creation in tests possible only  by an admin now

---------

Co-authored-by: Syphax bouazzouni <gs_bouazzouni@esi.dz>

* Feature: add Annotator UI tests (#627)

* setup annotator page UI tests

* check if all the inputs and filters are present in annotator page test

* add annotator http requests to test fixtures

* test annotator results and count them

* test annotator empty illustration

* add comments in annotator page tests

* use dynamic api in recommender tests

* test that we have the exact correct annotations in the annotator test

* undo adding ids for elements to run annotator tests

* add a default ANNOTATOR_URL value for test config

---------

Co-authored-by: Syphax bouazzouni <gs_bouazzouni@esi.dz>

* Fix: multiple highlighted terms in concepts date view (#657)

* Fix multiple highlighted terms in the date view

* refactor concepts by date method code

* Fix: concept details table layout max-with when long strings (#649)

* fix concepts table layout when we put very long strings

* fix concepts json button position

* use a css class intead of an id for the concepts_json_button

* move concepts_json_button css class from concept details file to concepts file

* remvoe #concepts_json_link unsued style

---------

Co-authored-by: Syphax Bouazzouni <gs_bouazzouni@esi.dz>

* Feature: Clean no more used gems  and code (#658)

* remove cube ruby

* remove not used gems and add documentation to the Gemfile

* remove miniprofiler

* remove bpdi resolver and redirect_to_new_api

* remove ajax proxy and no more used helpers

* remove no more used helpers

* handle the case reset_agents in edit submissions error state are already Agents (#663)

* Feature: Add issues and requests link to the footer and feedback form (#665)

* add issues and requests link to the footer and feedback form

* add $GITHUB_ISSUES to sample config file

* Fix a typo in bioportal_config_env.rb.sample

* fix: upload ontology on errors non returned values and no default values (#625)

* move pry gem outside development block in gemfile (#671)

* Feature: Add back slices (#598)

* Add slices section to home page

* Update the design of the slice top notice bar

* fix home slice name styles

* fix slices error on home page, when there are no slices available

* make the annotator support slices

* make browse page compatible with slices

* update home slices section to include the number of ontologies per slice and the description

* make mappings page supports slices

* rearrange home page sections to be in this order: slices, ontoportal instances then collaborations

* remove unnecessary code in submission filter file

* Adjust the slice link to comply with the production URL

* update home page slices section style

* add a description to the home page slice section

* update home page slices section style

* update ontoportal instances and support home sections styles

* change the button of add new slice to suggest a new group/slice in the home page

* update slices descriptive texti in the home page

* add a description for ontoportal instances in the home page

* move home_ontoportal_tooltip to home helper

* add ontoportal links in config file

* remove http from slice link to make it work with https

* add slice notice to lang local files

* remove mappings statistics slices support in the UI cause it's already done in the back

* update ontoportal website links to be upper case

* fix slices https issue

---------

Co-authored-by: Syphax bouazzouni <gs_bouazzouni@esi.dz>

* fix docker compose to make local env dev work in port 3000

* Fix: submissions properties selector labels and include ontologies properties (#669)

* add ontologies properties to the submission properties selector

* show submission attributes label instead of the keys in the selector

* make slices open in the same tab not in a new tab

* put the ontoportal instances directly before the logos instead of a tooltip

* Fix: Redirect to the login page when accessing private ontology while being not authenticated (#673)

* Feature: Distinguish reused terms in tree view (#650)

* distinguish reused properties in the tree view

* use preferredNamespaceUri to distinguish reused terms in the tree view if uriRegexPattern is not present

* use preferredNamespaceUri to distinguish reused properties in the tree view

* distinguish reuses for instances tree

* clean terms reuses code

* extract is_reused to a separate function in components helper

* add concepts reuses to the date view

* pass submission directly instead of ontology_uri_pattern

* pass direcly the submission instead of passing by a function in terms reuses

* Clean terms reuses concern code

* add reuses to schemes tree

* add reuses to schemes tree when we perform a search

* add reuses for collections tree

* add reuses to properties tree when we perform a search

* add reuses for concepts list view

* Clean terms reuses code

* extract submission variable form the concept date render  helper

* remove binding.pry comments left in the code

---------

Co-authored-by: Syphax Bouazzouni <gs_bouazzouni@esi.dz>

---------

Co-authored-by: Bilel Kihal <61744974+Bilelkihal@users.noreply.github.com>
Co-authored-by: SirineMhedhbi <31127782+SirineMhedhbi@users.noreply.github.com>
Co-authored-by: Bilel KIHAL <kb_kihal@esi.dz>
Co-authored-by: Imad Bourouche <ji_bourouche@esi.dz>
  • Loading branch information
5 people authored Jun 21, 2024
1 parent 88c6855 commit 76b64cf
Show file tree
Hide file tree
Showing 99 changed files with 1,490 additions and 9,694 deletions.
163 changes: 101 additions & 62 deletions Gemfile
Original file line number Diff line number Diff line change
@@ -1,93 +1,125 @@
source 'https://rubygems.org'

# Main Rails gem
# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '7.0.3'

gem 'chart-js-rails'
# JavaScript bundling for Rails
gem 'jsbundling-rails'
gem 'sassc-rails' # sass-rails replacent
gem 'terser' # ugilifer replacent

# See https://github.com/rails/execjs#readme for more supported runtimes
# gem 'therubyracer', platforms: :ruby
# gem 'duktape'
# Chart.js integration for Rails
gem 'chart-js-rails'

# SassC as a replacement for sass-rails
gem 'sassc-rails' # sass-rails replacement

# Terser JavaScript minifier as a replacement for Uglifier
gem 'terser' # uglifier replacement

# Bootstrap front-end framework
gem 'bootstrap', '~> 4.2.0'

# jQuery integration for Rails
gem 'jquery-rails'

# jQuery UI integration for Rails
gem 'jquery-ui-rails'

# The original asset pipeline for Rails [https://github.com/rails/sprockets-rails]
# The original asset pipeline for Rails
# [https://github.com/rails/sprockets-rails]
gem 'sprockets-rails'

# Use the Puma web server [https://github.com/puma/puma]
# Use the Puma web server
# [https://github.com/puma/puma]
gem 'puma', '~> 5.0'

# Use JavaScript with ESM import maps [https://github.com/rails/importmap-rails]
# Use JavaScript with ESM import maps
# [https://github.com/rails/importmap-rails]
gem 'importmap-rails'

# Hotwire's SPA-like page accelerator [https://turbo.hotwired.dev]
# Hotwire's SPA-like page accelerator
# [https://turbo.hotwired.dev]
gem 'turbo-rails'

# Hotwire's modest JavaScript framework [https://stimulus.hotwired.dev]
# Hotwire's modest JavaScript framework
# [https://stimulus.hotwired.dev]
gem 'stimulus-rails'

# Build JSON APIs with ease [https://github.com/rails/jbuilder]
# gem "jbuilder"
# Debugging tool
# See https://guides.rubyonrails.org/debugging_rails_applications.html#debugging-with-the-debug-gem gem 'pry'
gem 'pry'

# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
# Time zone info for Windows platforms
gem 'tzinfo-data', platforms: %i[mingw mswin x64_mingw jruby]

# To use ActiveModel has_secure_password
# gem 'bcrypt-ruby', '~> 3.0.0'

# Reduces boot times through caching; required in config/boot.rb

gem 'bootsnap', require: false

gem 'cube-ruby', require: 'cube'
# Memcached client for Ruby
gem 'dalli'
gem 'ffi', '~> 1.16.3'
gem 'flag-icons-rails', '~> 3.4'
gem 'flamegraph'

# GraphQL client for Ruby
gem 'graphql-client'

# Haml template engine for Ruby on Rails
gem 'haml', '~> 5.1'

# Internationalization (i18n)
gem 'i18n'
gem 'iconv'
gem 'inline_svg'
gem 'iso-639', '~> 0.3.6'
gem 'lookbook', '~> 1.5.5'
gem 'multi_json'
gem 'rails-i18n', '~> 7.0.0'

# MySQL database adapter
gem 'mysql2'

# JSON parsing libraries
gem 'multi_json'
gem 'oj'
gem 'ontologies_api_client', git: 'https://github.com/ontoportal-lirmm/ontologies_api_ruby_client.git',
branch: 'development'
gem 'open_uri_redirections'
gem 'pry'
gem 'psych', '< 4'
gem 'rack-mini-profiler'
gem 'rails_autolink'
gem 'rails-i18n', '~> 7.0.0'
gem 'rdoc'

# Google reCAPTCHA integration
gem 'recaptcha', '~> 5.9.0'

# Simple HTTP and REST client for Ruby
gem 'rest-client'
gem 'stackprof', require: false
gem 'thin'
gem 'turnout'

# View components framework for Rails
gem 'lookbook', '~> 1.5.5'
gem 'view_component', '~> 2.72'

# Pagination library for Rails
gem 'will_paginate', '~> 3.0'

# Render SVG files in Rails views
gem 'inline_svg'

# ISO language codes and flags
gem 'flag-icons-rails', '~> 3.4'
gem 'iso-639', '~> 0.3.6'

# Custom API client
gem 'ontologies_api_client', git: 'https://github.com/ontoportal-lirmm/ontologies_api_ruby_client.git', branch: 'development'

# Ruby 2.7.8 pinned gems (to remove when migrating to Ruby >= 3.0)
gem 'ffi', '~> 1.16.3'
gem 'net-ftp', '~> 0.2.0', require: false
gem 'net-http', '~> 0.3.2'

# Multi-Provider Authentication
gem 'omniauth'
gem 'omniauth-rails_csrf_protection'
gem 'omniauth-github'
gem 'omniauth-google-oauth2'
gem 'omniauth-keycloak'
gem 'omniauth-orcid'
gem 'omniauth-rails_csrf_protection'

group :staging, :production, :appliance do
# application monitoring
gem 'newrelic_rpm', '< 9.10.0'
# logs in json format, useful for shipping logs to logstash
# Application performance monitoring
gem 'newrelic_rpm'

# Error monitoring
gem 'bugsnag', '~> 6.26'

# Logs in JSON format, useful for shipping logs to logstash
# gem 'rackstash', git: 'https://github.com/planio-gmbh/rackstash.git'
# gem 'logstash-logger'
end
Expand All @@ -102,40 +134,47 @@ group :development do
gem 'capistrano-rails', '~> 1.4', require: false
gem 'capistrano-yarn', require: false
gem 'ed25519', '>= 1.2', '< 2.0', require: false # https://github.com/miloserdow/capistrano-deploy/issues/42
gem 'html2haml'
gem 'listen'
# static code analysis

# Static code analysis
gem 'brakeman', require: false
gem 'rubocop', require: false
# gem 'i18n-debug'
# See https://guides.rubyonrails.org/debugging_rails_applications.html#debugging-with-the-debug-gem

# Haml support for Rails
gem 'haml-rails'
gem 'html2haml'

# Debugging tools
gem 'debug', platforms: %i[mri mingw x64_mingw]

# Use console on exceptions pages [https://github.com/rails/web-console]
gem 'i18n-tasks'
gem 'i18n-tasks-csv', '~> 1.1'
# Use console on exceptions pages
# [https://github.com/rails/web-console]
gem 'web-console'

# Internationalization tasks
# gem 'i18n-debug'
gem 'i18n-tasks'
gem 'i18n-tasks-csv', '~> 1.1'
gem 'deepl-rb'
gem 'haml-rails'
gem 'letter_opener_web', '~> 2.0'
end

group :test, :development do
gem 'rspec-rails'
# Email preview in the browser
gem 'letter_opener_web', '~> 2.0'
end

group :test do
# Use system testing [https://guides.rubyonrails.org/testing.html#system-testing]
# System testing
# [https://guides.rubyonrails.org/testing.html#system-testing]
gem 'capybara'

# WebDriver for system testing
gem 'selenium-webdriver'

# Code coverage generation
gem 'simplecov', require: false
gem 'simplecov-cobertura' # for codecov.io
# gem 'webdrivers'
gem 'webmock'
end

gem 'net-ftp', '~> 0.2.0', require: false
gem 'net-http', '~> 0.3.2'
# Mock HTTP requests in tests
gem 'webmock'

gem 'bugsnag', '~> 6.26'
# Testing framework for Rails
gem 'rspec-rails'
end
Loading

0 comments on commit 76b64cf

Please sign in to comment.