From d1d1f445d3669181b718c09597ed3e6f99f3a54a Mon Sep 17 00:00:00 2001 From: "don.sizemore" Date: Wed, 8 Dec 2021 13:16:32 -0500 Subject: [PATCH 1/6] #8295 bump Flyway to support PostgreSQL 14 --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index dfaf8278897..37dd051fe34 100644 --- a/pom.xml +++ b/pom.xml @@ -27,7 +27,7 @@ 8.0.0 5.2021.5 - 42.2.19 + 42.3.1 1.11.762 1.7.32 2.11.0 @@ -42,7 +42,7 @@ 1.15.0 0.4.1 2.28.2 - 5.2.4 + 8.2.0 1.20.1 0.8.6 From 73aa1140b1d181cf6bddc8de2847cb59caaa1965 Mon Sep 17 00:00:00 2001 From: "don.sizemore" Date: Fri, 4 Feb 2022 09:13:38 -0500 Subject: [PATCH 2/6] #8295 bump pgjdbc 42.3.1 to 42.3.2 to address CVE-2022-21724 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 074e08ca7ba..93d823145f0 100644 --- a/pom.xml +++ b/pom.xml @@ -27,7 +27,7 @@ 8.0.0 5.2021.5 - 42.3.1 + 42.3.2 1.11.762 1.7.35 1.2.18.4 From b7763e65588fe94a592a1e6b9a4c005a59431055 Mon Sep 17 00:00:00 2001 From: Oliver Bertuch Date: Mon, 25 Apr 2022 17:46:46 +0200 Subject: [PATCH 3/6] style(docs): make permanent headerlink reappear in nice look #8642 --- doc/sphinx-guides/requirements.txt | 5 ++++- doc/sphinx-guides/source/_static/docsdataverse_org.css | 4 +++- doc/sphinx-guides/source/conf.py | 7 ++++++- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/doc/sphinx-guides/requirements.txt b/doc/sphinx-guides/requirements.txt index c71aeaae2f6..3b1e21874f1 100755 --- a/doc/sphinx-guides/requirements.txt +++ b/doc/sphinx-guides/requirements.txt @@ -1,4 +1,7 @@ # current version as of this writing Sphinx==3.5.4 # Necessary workaround for Sphinx 3.x - unnecessary as of Sphinx 4.5+ -Jinja2>=3.0.2,<3.1 \ No newline at end of file +Jinja2>=3.0.2,<3.1 + +# Sphinx - Additional modules +sphinx-icon==0.1.2 diff --git a/doc/sphinx-guides/source/_static/docsdataverse_org.css b/doc/sphinx-guides/source/_static/docsdataverse_org.css index e8de49c89aa..e4afe89e217 100755 --- a/doc/sphinx-guides/source/_static/docsdataverse_org.css +++ b/doc/sphinx-guides/source/_static/docsdataverse_org.css @@ -60,7 +60,9 @@ ul.navbar-nav li.dropdown.open > span.dropdown-toggle {background: #e7e7e7;} } a.headerlink { - display: none; + font-size: 60%; + vertical-align: middle; + color: #d14e6f; } #sidebar.bs-sidenav { diff --git a/doc/sphinx-guides/source/conf.py b/doc/sphinx-guides/source/conf.py index 748c797bbab..d9439621cb9 100755 --- a/doc/sphinx-guides/source/conf.py +++ b/doc/sphinx-guides/source/conf.py @@ -41,7 +41,8 @@ 'sphinx.ext.intersphinx', 'sphinx.ext.ifconfig', 'sphinx.ext.viewcode', - 'sphinx.ext.graphviz' + 'sphinx.ext.graphviz', + 'sphinxcontrib.icon', ] # Add any paths that contain templates here, relative to this directory. @@ -239,6 +240,10 @@ # typographically correct entities. #html_use_smartypants = True +# Enable and customize the permanent headerlinks with a nice icon (chain symbol from FontAwesome) +html_permalinks = True +html_permalinks_icon = "" + # Custom sidebar templates, maps document names to template names. #html_sidebars = {} #html_sidebars = {'sidebar': ['localtoc.html', 'sourcelink.html', 'searchbox.html']} From d1e34d33d94ced0339dbdf09d23bf9dfd6457851 Mon Sep 17 00:00:00 2001 From: "don.sizemore" Date: Thu, 12 May 2022 13:41:57 -0400 Subject: [PATCH 4/6] #8295 missed bumping PG JDBC to 42.3.5, let's try Flyway 8.5.10 --- modules/dataverse-parent/pom.xml | 2 +- pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/dataverse-parent/pom.xml b/modules/dataverse-parent/pom.xml index 4673fb0cf96..e85608dd0c4 100644 --- a/modules/dataverse-parent/pom.xml +++ b/modules/dataverse-parent/pom.xml @@ -147,7 +147,7 @@ 5.2021.6 - 42.3.3 + 42.3.5 8.11.1 1.11.762 0.157.0 diff --git a/pom.xml b/pom.xml index d69a6305328..ce9f1c4b63d 100644 --- a/pom.xml +++ b/pom.xml @@ -20,7 +20,7 @@ false 1.2.18.4 - 8.2.0 + 8.5.10 1.20.1 0.8.7 5.2.1 From 36bd1e598f32b6c8cade19ba8cf43e93093f0dde Mon Sep 17 00:00:00 2001 From: "don.sizemore" Date: Thu, 12 May 2022 14:30:14 -0400 Subject: [PATCH 5/6] #8295 add release notes per pdurbin --- doc/release-notes/8295-support-postgresql-14.md | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 doc/release-notes/8295-support-postgresql-14.md diff --git a/doc/release-notes/8295-support-postgresql-14.md b/doc/release-notes/8295-support-postgresql-14.md new file mode 100644 index 00000000000..7d658a5e65e --- /dev/null +++ b/doc/release-notes/8295-support-postgresql-14.md @@ -0,0 +1,8 @@ +This release upgrades the bundled PostgreSQL JDBC driver to support major version 14. + +Note that the newer PostgreSQL driver required a Flyway version bump, which entails positive and negative consequences: + +- The newer version of Flyway supports PostgreSQL 14 and includes a number of security fixes. +- As of version 8.0 the Flyway Community Edition dropped support for PostgreSQL 9.6 and older. + +Upgrade instructions may be found under “PostgreSQL Update” in the 5.10 release notes: https://github.com/IQSS/dataverse/releases/tag/v5.10 From 75b51a29d30274394a42a38e493b359cffda56c5 Mon Sep 17 00:00:00 2001 From: Philip Durbin Date: Fri, 13 May 2022 11:22:43 -0400 Subject: [PATCH 6/6] requirements.txt required to use sphinx #8642 --- .../source/developers/documentation.rst | 78 ++++++++----------- .../source/developers/version-control.rst | 2 + 2 files changed, 34 insertions(+), 46 deletions(-) diff --git a/doc/sphinx-guides/source/developers/documentation.rst b/doc/sphinx-guides/source/developers/documentation.rst index 579cc13e566..b20fd112533 100755 --- a/doc/sphinx-guides/source/developers/documentation.rst +++ b/doc/sphinx-guides/source/developers/documentation.rst @@ -10,15 +10,7 @@ Quick Fix If you find a typo or a small error in the documentation you can fix it using GitHub's online web editor. Generally speaking, we will be following https://help.github.com/en/articles/editing-files-in-another-users-repository -- Navigate to https://github.com/IQSS/dataverse/tree/develop/doc/sphinx-guides/source where you will see folders for each of the guides: - - - `admin`_ - - `api`_ - - `developers`_ - - `installation`_ - - `style`_ - - `user`_ - +- Navigate to https://github.com/IQSS/dataverse/tree/develop/doc/sphinx-guides/source where you will see folders for each of the guides: `admin`_, `api`_, `developers`_, `installation`_, `style`_, `user`_. - Find the file you want to edit under one of the folders above. - Click the pencil icon in the upper-right corner. If this is your first contribution to the Dataverse Project, the hover text over the pencil icon will say "Fork this project and edit this file". - Make changes to the file and preview them. @@ -39,60 +31,59 @@ If you would like to read more about the Dataverse Project's use of GitHub, plea .. _style: https://github.com/IQSS/dataverse/tree/develop/doc/sphinx-guides/source/style .. _user: https://github.com/IQSS/dataverse/tree/develop/doc/sphinx-guides/source/user -Other Changes (Sphinx) ----------------------- - -The documentation for the Dataverse Project was written using Sphinx (http://sphinx-doc.org/). -If you are interested in suggesting changes or updates we recommend that you create -the html files using Sphinx locally and then submit a pull request through GitHub. Here are the instructions on how to proceed: +Building the Guides with Sphinx +------------------------------- +The Dataverse guides are written using Sphinx (http://sphinx-doc.org). We recommend installing Sphinx and building the guides locally so you can get an accurate preview of your changes. Installing Sphinx ~~~~~~~~~~~~~~~~~ -On a Mac: +First, make a fork of https://github.com/IQSS/dataverse and clone your fork locally. Then change to the ``doc/sphinx-guides`` directory. -Download the sphinx zip file from http://sphinx-doc.org/install.html +``cd doc/sphinx-guides`` -Unzip it somewhere. In the unzipped directory, do the following as -root, (sudo -i): +Create a Python virtual environment, activate it, then install dependencies: -python setup.py build -python setup.py install +``python3 -m venv venv`` -Alternative option (Mac/Unix/Windows): +``source venv/bin/activate`` -Unless you already have it, install pip (https://pip.pypa.io/en/latest/installing.html) +``pip install -r requirements.txt`` -run ``pip install sphinx`` in a terminal +Installing GraphViz +~~~~~~~~~~~~~~~~~~~ -Building the guides requires the ``dot`` executable from GraphViz and you can find documentation on GraphViz below. +In some parts of the documentation, graphs are rendered as images using the Sphinx GraphViz extension. -This is all you need. You should now be able to build HTML/pdf documentation from git sources locally. +Building the guides requires the ``dot`` executable from GraphViz. -Using Sphinx -~~~~~~~~~~~~ +This requires having `GraphViz `_ installed and either having ``dot`` on the path or +`adding options to the make call `_. -First, you will need to make a fork of the Dataverse Software repository in GitHub. Then, you will need to make a clone of your fork so you can manipulate the files outside GitHub. +Editing and Building the Guides +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ To edit the existing documentation: -- Create a branch (refer to http://guides.dataverse.org/en/latest/developers/version-control.html > *Create a New Branch off the develop Branch*) to record the changes you are about to perform. -- Go to ~/dataverse/doc/sphinx-guides/source directory inside your clone. There, you will find the .rst files that correspond to the guides in the Dataverse Software Guides page (http://guides.dataverse.org/en/latest/). +- Create a branch (see :ref:`how-to-make-a-pull-request`). +- In ``doc/sphinx-guides/source`` you will find the .rst files that correspond to http://guides.dataverse.org. - Using your preferred text editor, open and edit the necessary files, or create new ones. -**NOTE:** When adding ReStructured Text (RST) `cross references `_, use the hyphen character (``-``) as the word separator for the cross reference label. For example, ``my-reference-label`` would be the preferred label for a cross reference as opposed to, for example, ``my_reference_label``. +Once you are done, open a terminal, change directories to ``doc/sphinx-guides``, activate (or reactivate) your Python virtual environment, and build the guides. -Once you are done, open a terminal and change directories to ~/dataverse/doc/sphinx-guides . Then, run the following commands: +``cd doc/sphinx-guides`` -- ``make clean`` +``source venv/bin/activate`` -- ``make html`` +``make clean`` -After sphinx is done processing the files you should notice that the html folder in ~/dataverse/doc/sphinx-guides/build directory has been updated. -You can click on the files in the html folder to preview the changes. +``make html`` -Now you can make a commit with the changes to your own fork in GitHub and submit a pull request to the original (upstream) Dataverse Software repository. +After Sphinx is done processing the files you should notice that the ``html`` folder in ``doc/sphinx-guides/build`` directory has been updated. +You can click on the files in the ``html`` folder to preview the changes. + +Now you can make a commit with the changes to your own fork in GitHub and submit a pull request. See :ref:`how-to-make-a-pull-request`. Table of Contents ----------------- @@ -115,15 +106,10 @@ While PNGs in the git repo can be linked directly via URL, Sphinx-generated imag provide higher visual quality. Especially in terms of quality of content, generated images can be extendend and improved by a textbased and reviewable commit, without needing raw data or source files and no diff around. -GraphViz based images -~~~~~~~~~~~~~~~~~~~~~ - -In some parts of the documentation, graphs are rendered as images via Sphinx GraphViz extension. +Cross References +---------------- -This requires `GraphViz `_ installed and either ``dot`` on the path or -`adding options to the make call `_. - -This has been tested and works on Mac, Linux, and Windows. +**NOTE:** When adding ReStructured Text (RST) `cross references `_, use the hyphen character (``-``) as the word separator for the cross reference label. For example, ``my-reference-label`` would be the preferred label for a cross reference as opposed to, for example, ``my_reference_label``. Versions -------- diff --git a/doc/sphinx-guides/source/developers/version-control.rst b/doc/sphinx-guides/source/developers/version-control.rst index 18cb7ca5cba..c41d958fdea 100644 --- a/doc/sphinx-guides/source/developers/version-control.rst +++ b/doc/sphinx-guides/source/developers/version-control.rst @@ -46,6 +46,8 @@ Feature branches are used for both developing features and fixing bugs. They are "3728-doc-apipolicy-fix" is an example of a fine name for your feature branch. It tells us that you are addressing https://github.com/IQSS/dataverse/issues/3728 and the "slug" is short, descriptive, and starts with the issue number. +.. _how-to-make-a-pull-request: + How to Make a Pull Request --------------------------