Skip to content

Commit

Permalink
doc(dev): add initial feature flags documentation to the guides IQSS#…
Browse files Browse the repository at this point in the history
  • Loading branch information
poikilotherm committed Jan 18, 2023
1 parent 5965c4f commit 1b083fa
Show file tree
Hide file tree
Showing 3 changed files with 37 additions and 1 deletion.
14 changes: 14 additions & 0 deletions doc/sphinx-guides/source/developers/configuration.rst
Original file line number Diff line number Diff line change
Expand Up @@ -109,3 +109,17 @@ always like ``dataverse.<scope/....>.newname...=old.property.name``. Note this d
aliases.

Details can be found in ``edu.harvard.iq.dataverse.settings.source.AliasConfigSource``

Adding a Feature Flag
^^^^^^^^^^^^^^^^^^^^^

Some parts of our codebase might be opt-in only. Experimental or optional feature previews can be switched on using our
usual configuration mechanism, a JVM setting.

Feature flags are implemented in the enumeration ``edu.harvard.iq.dataverse.settings.FeatureFlags``, which allows for
convenient usage of it anywhere in the codebase. When adding a flag, please add it to the enum, think of a default
status, add some Javadocs about the flagged feature and add a ``@since`` tag to make it easier to identify when a flag
has been introduced.

We want to maintain a list of all :ref:`feature flags <feature-flags>` in the :ref:`configuration guide <feature-flags>`,
please add yours to the list.
23 changes: 23 additions & 0 deletions doc/sphinx-guides/source/installation/config.rst
Original file line number Diff line number Diff line change
Expand Up @@ -1913,6 +1913,29 @@ production context! Rely on password alias, secrets directory or cloud based sou



.. _feature-flags:

Feature Flags
-------------

Certain features might be deactivated because they are experimental and/or opt-in previews. If you want to enable these,
please find all known feature flags below. Any of these flags can be activated using a boolean value
(case-insensitive, one of "true", "1", "YES", "Y", "ON") for the setting.

.. list-table::
:widths: 35 50 15
:header-rows: 1
:align: left

* - Flag Name
- Description
- Default status

**Note:** Can be set via any `supported MicroProfile Config API source`_, e.g. the environment variable
``DATAVERSE_FEATURE_XXX``.



.. _:ApplicationServerSettings:

Application Server Settings
Expand Down
1 change: 0 additions & 1 deletion doc/sphinx-guides/source/installation/oidc.rst
Original file line number Diff line number Diff line change
Expand Up @@ -86,4 +86,3 @@ configuration option. For details, see :doc:`config`.
.. hint::
In contrast to our :doc:`oauth2`, you can use multiple providers by creating distinct configurations enabled by
the same technology and without modifying the Dataverse Software code base (standards for the win!).

0 comments on commit 1b083fa

Please sign in to comment.