diff --git a/docs/conf.py b/docs/conf.py index e635403..cffb371 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -22,7 +22,14 @@ author = 'Dutch Techcentre for Life Sciences' # The full version, including alpha/beta/rc tags -release = '1.13.0' +release = '1.14' + + +rst_prolog = f""" + +.. |compose_ver| replace:: {release} + +""" # -- General configuration --------------------------------------------------- @@ -30,7 +37,9 @@ # Add any Sphinx extension module names here, as strings. They can be # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom # ones. -extensions = [] +extensions = [ + 'sphinx_substitution_extensions', +] # Add any paths that contain templates here, relative to this directory. templates_path = [] diff --git a/docs/deployment/advanced-configuration.rst b/docs/deployment/advanced-configuration.rst index 1df7fbf..7d321e4 100644 --- a/docs/deployment/advanced-configuration.rst +++ b/docs/deployment/advanced-configuration.rst @@ -24,7 +24,7 @@ FDP uses InMemory triple store by default. In previous examples, there is Blazeg There is no need to configure additional properties to run FDP with In-Memory Store because it's the default option. If you want to explicitly type in configuration provided in ``application.yml``, add following lines there: -.. code:: yaml +.. code-block:: yaml # application.yml @@ -36,7 +36,7 @@ There is no need to configure additional properties to run FDP with In-Memory St With this option, FDP will simply save the data to the file system. If you want to use the Native Store, make sure that you have these lines in your ``application.yml`` file: -.. code:: yaml +.. code-block:: yaml # application.yml @@ -52,7 +52,7 @@ where ``/tmp/fdp-store`` is a path to a location where you want to keep your dat For running `Allegro Graph `_, you need to first set up your Allegro Graph instance. For configuring the connection from FDP, add these lines to your ``application.yml`` file: -.. code:: yaml +.. code-block:: yaml # application.yml @@ -71,7 +71,7 @@ For running `Allegro Graph `_, you need For running `GraphDB `_, you need to first set up your GraphDB instance and **create the repository**. For configuring the connection from FDP, add these lines to your ``application.yml`` file: -.. code:: yaml +.. code-block:: yaml # application.yml @@ -90,7 +90,7 @@ For running `GraphDB `_, you need to first set up y For running `Blazegraph `_, you need to first set up your Blazegraph instance. For configuring the connection from FDP, add these lines to your ``application.yml`` file: -.. code:: yaml +.. code-block:: yaml # application.yml @@ -108,7 +108,7 @@ Mongo DB ======== We store users, permissions, etc. in the `MongoDB database `_. The default connection string is ``mongodb://mongo:27017/fdp``. If you want to modify it, add these lines to your ``application.yml`` file: -.. code:: yaml +.. code-block:: yaml # application.yml @@ -124,7 +124,7 @@ Default attached metadata There are several default values that are attached to each created metadata. If you want to modify it, add the lines below to your ``application.yml`` file. The default values are listed below, too: -.. code:: yaml +.. code-block:: yaml # application.yml @@ -147,7 +147,7 @@ Hosting FDP Index To enable FDP Index mode on your FDP server, just simply adjust your ``application.yml`` file: -.. code:: yaml +.. code-block:: yaml # application.yml @@ -157,7 +157,8 @@ To enable FDP Index mode on your FDP server, just simply adjust your ``applicati Then for the FDP client, you need to use ``fairdata/fairdatapoint-index-client`` Docker image for browsing indexed FDPs and searching harvested metadata. In case you want to use your deployment both as FDP and FDP Index, you can deploy both FDP and FDP Index client applications. The configuration of both clients are identical. -.. code:: yaml +.. code-block:: yaml + :substitutions: # docker-compose.yml @@ -167,7 +168,7 @@ Then for the FDP client, you need to use ``fairdata/fairdatapoint-index-client`` # ... index_client: - image: fairdata/fairdatapoint-index-client:1.13 + image: fairdata/fairdatapoint-index-client:|compose_ver| restart: always # ... @@ -177,7 +178,7 @@ Connecting to FDP Index By default, FDPs use https://home.fairdatapoint.org as their primary FDP Index that they ping every 7 days. You can adjust that in your ``application.yml`` file if needed: -.. code:: yaml +.. code-block:: yaml # application.yml @@ -187,7 +188,7 @@ By default, FDPs use https://home.fairdatapoint.org as their primary FDP Index t You can also set multiple endpoints if needed: -.. code:: yaml +.. code-block:: yaml # application.yml @@ -203,7 +204,7 @@ FDP Index behind proxy FDP Index uses IP-based rate limits to avoid excessive communication caused by bots or misconfigured FDPs. If the FDP Index is deployed behind a proxy, it must correctly set header, e.g., ``X-Forwarded-For``. Furthermore, you need to add this to ``application.yml``: -.. code:: yaml +.. code-block:: yaml # application.yml @@ -235,7 +236,7 @@ you define the values that you want to change. Here is an example of changing the primary color. -.. code:: scss +.. code-block:: scss // _variables.scss @@ -265,7 +266,7 @@ To change the logo, you need to do three steps: 2. Mount the new logo to the assets folder 3. Mount ``_variables.scss`` to SCSS custom folder -.. code:: scss +.. code-block:: scss // _variables.scss @@ -273,7 +274,7 @@ To change the logo, you need to do three steps: $header-logo-width: 80px; // width of the new logo $header-logo-height: 40px; // height of the new logo -.. code:: yaml +.. code-block:: yaml # docker-compose.yml @@ -301,34 +302,35 @@ same domain. Here is an example of running FDP on have to set ``PUBLIC\_PATH`` ENV variable, in this example to ``/fairdatapoint``. Also, don't forget to set correct client URL in the application config. -.. code :: yaml +.. code-block:: yaml + :substitutions: # docker-compose.yml version: '3' services: fdp: - image: fairdata/fairdatapoint:1.13 + image: fairdata/fairdatapoint:|compose_ver| volumes: - ./application.yml:/fdp/application.yml:ro # ... other volumes fdp-client: - image: fairdata/fairdatapoint-client:1.13 + image: fairdata/fairdatapoint-client:|compose_ver| ports: - 80:80 environment: - FDP_HOST=fdp - PUBLIC_PATH=/fairdatapoint -.. code :: yaml +.. code-block:: yaml # application.yml instance: clientUrl: https://example.com/fairdatapoint -.. code :: nginx +.. code-block:: nginx # Snippet for nginx configuration @@ -343,7 +345,8 @@ have to set ``PUBLIC\_PATH`` ENV variable, in this example to } } -.. Attention:: -When running on nested route, don't forget to change paths to all -custom assets referenced in SCSS files. +.. HINT:: + + When running on nested route, don't forget to change paths to all + custom assets referenced in SCSS files. diff --git a/docs/deployment/local-deployment.rst b/docs/deployment/local-deployment.rst index 6df6679..8bf2cce 100644 --- a/docs/deployment/local-deployment.rst +++ b/docs/deployment/local-deployment.rst @@ -6,7 +6,8 @@ FAIR Data Point is distributed in Docker images. For a simple local deployment, Here is an example of the simplest `Docker Compose `__ configuration to run FDP. -.. code :: yaml +.. code-block:: yaml + :substitutions: # docker-compose.yml @@ -14,10 +15,17 @@ Here is an example of the simplest `Docker Compose >>>>>> 9847a0d (Release 1.14.0) ports: - 80:80 environment: @@ -50,7 +58,7 @@ Running locally on a different port If you want to run the FAIR Data Point locally on a different port than the default ``80``, additional configuration is necessary. First, we need to create a new file ``application.yml`` and set the client URL to the actual URL we want to use. -.. code :: yaml +.. code-block:: yaml # application.yml @@ -59,7 +67,8 @@ If you want to run the FAIR Data Point locally on a different port than the defa Then, we need to mount the application config into the FDP container and update the port which the FDP client runs on. -.. code :: yaml +.. code-block:: yaml + :substitutions: # docker-compose.yml @@ -67,12 +76,20 @@ Then, we need to mount the application config into the FDP container and update services: fdp: +<<<<<<< HEAD image: fairdata/fairdatapoint:1.13 +======= + image: fairdata/fairdatapoint:|compose_ver| +>>>>>>> 9847a0d (Release 1.14.0) volumes: - ./application.yml:/fdp/application.yml:ro fdp-client: +<<<<<<< HEAD image: fairdata/fairdatapoint-client:1.13 +======= + image: fairdata/fairdatapoint-client:|compose_ver| +>>>>>>> 9847a0d (Release 1.14.0) ports: - 8080:80 environment: @@ -97,7 +114,8 @@ We can also expose port ``27017`` so we can access MongoDB from our local comput Here is the updated docker-compose file: -.. code :: yaml +.. code-block:: yaml + :substitutions: # docker-compose.yml @@ -105,10 +123,10 @@ Here is the updated docker-compose file: services: fdp: - image: fairdata/fairdatapoint:1.13 + image: fairdata/fairdatapoint:|compose_ver| fdp-client: - image: fairdata/fairdatapoint-client:1.13 + image: fairdata/fairdatapoint-client:|compose_ver| ports: - 80:80 environment: @@ -132,7 +150,7 @@ In this example, we will configure Blazegraph as a triple store. See :ref:`Tripl If we don't have it already, we need to create a new file ``application.yml``. We will use this file to configure the repository and mount it as a read-only volume to the ``fdp`` container. This file can be used for other configuration, see :ref:`Advanced Configuration ` for more details. -.. code :: yaml +.. code-block:: yaml # application.yml @@ -145,7 +163,8 @@ If we don't have it already, we need to create a new file ``application.yml``. W We now need to update our ``docker-compose.yml`` file, we add a new volume for the ``fdp`` and add ``blazegraph`` service. We can also expose port ``8080`` for Blazegraph so we can access its user interface. -.. code :: yaml +.. code-block:: yaml + :substitutions: # docker-compose.yml @@ -153,12 +172,12 @@ We now need to update our ``docker-compose.yml`` file, we add a new volume for t services: fdp: - image: fairdata/fairdatapoint:1.13 + image: fairdata/fairdatapoint:|compose_ver| volumes: - ./application.yml:/fdp/application.yml:ro fdp-client: - image: fairdata/fairdatapoint-client:1.13 + image: fairdata/fairdatapoint-client:|compose_ver| ports: - 80:80 environment: diff --git a/docs/deployment/production-deployment.rst b/docs/deployment/production-deployment.rst index 5e33962..9d2bd39 100644 --- a/docs/deployment/production-deployment.rst +++ b/docs/deployment/production-deployment.rst @@ -25,7 +25,7 @@ The file ``nginx.conf`` is the configuration of the whole nginx, and it includes Let's see what should be the content of the configuration files. -.. code :: nginx +.. code-block:: nginx # nginx/nginx.conf @@ -48,7 +48,7 @@ Let's see what should be the content of the configuration files. Then, we need to configure the FDP server. -.. code :: nginx +.. code-block:: nginx # nginx/sites-available/fdp.conf @@ -86,7 +86,8 @@ Finally, we need to create a soft link from sites-enabled to sites-available for We have certificates generated and configuration for proxy ready. Now we need to add the proxy to our ``docker-compose.yml`` file so we can run the whole FDP behind the proxy. -.. code :: yaml +.. code-block:: yaml + :substitutions: # docker-compose.yml @@ -104,12 +105,12 @@ We have certificates generated and configuration for proxy ready. Now we need to - /etc/letsencrypt:/etc/letsencrypt:ro fdp: - image: fairdata/fairdatapoint:1.13 + image: fairdata/fairdatapoint:|compose_ver| volumes: - ./application.yml:/fdp/application.yml:ro fdp-client: - image: fairdata/fairdatapoint-client:1.13 + image: fairdata/fairdatapoint-client:|compose_ver| environment: - FDP_HOST=fdp @@ -128,7 +129,7 @@ We have certificates generated and configuration for proxy ready. Now we need to The last thing to do is to update our ``application.yml`` file. We need to add ``clientUrl`` so that FDP knows the actual URL even if hidden behind the reverse proxy. It's a good practice to set up a persistent URL for the metadata too. We recommend using ``https://purl.org``. If you don't specify ``persistentUrl``, the ``clientUrl`` will be used instead. And we also need to set a random JWT token for security. -.. code :: yaml +.. code-block:: yaml # application.yml @@ -164,7 +165,7 @@ At this point, we should be able to run all the containers using ``docker-compos In order to improve findability of itself and its content, the FAIR Data Point has a built-in feature that registers its URL into our server and pings it once a week. This feature facilitates the indexing of the metadata of each registered and active FAIR Data Point. If you do not want your FAIR Data Point to be included in this registry, add these lines to your application configuration: - .. code :: yaml + .. code-block:: yaml # application.yml diff --git a/docs/development/changelog.rst b/docs/development/changelog.rst index 8d87356..ab53dcb 100644 --- a/docs/development/changelog.rst +++ b/docs/development/changelog.rst @@ -7,10 +7,18 @@ Overview Here we summarize the key features and changes for each FAIR Data Point release. For details including bugfixes and minor changes, see :ref:`detailed-changelog`. +1.14.0 +------ + +- Security audit via GitHub Actions (Snyk and CodeQL) +- Introduced metadata schemas (as replacement of shapes) including versioning and importing +- Updated RDF4J to 4.0 +- Several dependencies updated + 1.13.0 ------ -- Added restriction to URL prefixes of Resource Definitions ([a-zA-Z_-]*) +- Added restriction to URL prefixes of Resource Definitions - Upgraded Java JDK from 16 to 17, updated SpringDoc OpenAPI UI and several other dependencies - Compliance with FDP-O ontology (fdp-o:FAIRDataPoint) - Added form preview to shape edit diff --git a/docs/openrefine/setup.rst b/docs/openrefine/setup.rst index a667336..6a94971 100644 --- a/docs/openrefine/setup.rst +++ b/docs/openrefine/setup.rst @@ -62,7 +62,7 @@ Settings configuration file serves for generic configuration options that adjust * ``preselected`` (boolean, optional) = flag if should be pre-selected in the form (in case that more connections have this set to true, only first one is applied) * ``metadata`` (map, optional) = similar to instance-wide but only for specific connection -For more information and further configuration options, see `examples `_. +For more information and further configuration options, see `settings example `_. .. _openrefine-configuration-storages: @@ -73,7 +73,7 @@ Storages configuration file holds details about storages that are possible to us * ``name`` (string) = custom name identifying the storage * ``type`` (string) = one of the allowed types (others are ignored): ``ftp``, ``virtuso``, ``tripleStoreHTTP`` -* ``details`` (object) = configuration related to specific type of storage (see `examples `_) +* ``details`` (object) = configuration related to specific type of storage (see `storages example `_) For :abbr:`FTP (File Transfer Protocol)` and Virtuoso, ``directory`` should containt absolute path where files should be stored. In case of triple stores, repository name is used to specify the target location. diff --git a/docs/requirements.txt b/docs/requirements.txt index f8d6513..3b041d3 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -1,2 +1,26 @@ -sphinx==4.0.1 -sphinx_rtd_theme +alabaster==0.7.12 +Babel==2.10.3 +certifi==2022.6.15 +charset-normalizer==2.0.12 +colorama==0.4.5 +docutils==0.17.1 +idna==3.3 +imagesize==1.3.0 +Jinja2==2.11.3 +MarkupSafe==1.1.1 +packaging==21.3 +Pygments==2.12.0 +pyparsing==3.0.9 +pytz==2022.1 +requests==2.28.0 +snowballstemmer==2.2.0 +Sphinx==5.0.2 +sphinx-rtd-theme==1.0.0 +Sphinx-Substitution-Extensions==2022.2.16 +sphinxcontrib-applehelp==1.0.2 +sphinxcontrib-devhelp==1.0.2 +sphinxcontrib-htmlhelp==2.0.0 +sphinxcontrib-jsmath==1.0.1 +sphinxcontrib-qthelp==1.0.3 +sphinxcontrib-serializinghtml==1.1.5 +urllib3==1.26.9