From 8718b2e6246a87e91c6f2c8b3a74e451e79ca84d Mon Sep 17 00:00:00 2001 From: j-n-c Date: Fri, 22 Apr 2022 15:17:16 +0100 Subject: [PATCH 1/2] #8617 Branding customization docs refactoring --- .../source/installation/config.rst | 129 ++++++++++++++---- .../installation/img/dvBrandingCustBlocks.png | Bin 0 -> 84172 bytes 2 files changed, 103 insertions(+), 26 deletions(-) create mode 100644 doc/sphinx-guides/source/installation/img/dvBrandingCustBlocks.png diff --git a/doc/sphinx-guides/source/installation/config.rst b/doc/sphinx-guides/source/installation/config.rst index f890f5312ff..69791c3d45b 100644 --- a/doc/sphinx-guides/source/installation/config.rst +++ b/doc/sphinx-guides/source/installation/config.rst @@ -628,41 +628,39 @@ Is currently documented on the :doc:`/developers/deployment` page. Branding Your Installation -------------------------- -The name of your root Dataverse collection is the brand of your Dataverse installation and appears in various places such as notifications and support links, as outlined in the :ref:`systemEmail` section below. To further brand your installation and make it your own, the Dataverse Software provides configurable options for easy-to-add (and maintain) custom branding for your Dataverse installation. Here are the custom branding and content options you can add: +The name of your root Dataverse collection is the brand of your Dataverse installation and appears in various places such as notifications and support links, as outlined in the :ref:`systemEmail` section below. To further brand your installation and make it your own, the Dataverse Software provides configurable options for easily adding (and maintaining) custom branding to your Dataverse installation. Here are the custom branding and content options you can configure: +- Custom header +- Dataverse navbar settings - Custom welcome/homepage -- Logo image to navbar -- Header -- Footer +- Custom footer +- Dataverse footer settings - CSS stylesheet Downloadable sample HTML and CSS files are provided below which you can edit as you see fit. It's up to you to create a directory in which to store these files, such as ``/var/www/dataverse`` in the examples below. -You may also want to look at samples at https://github.com/shlake/LibraDataHomepage from community member Sherry Lake as well as her poster from the Dataverse Project Community Meeting 2018 called "Branding Your Local Dataverse Installation": https://github.com/IQSS/dataverse/files/2128735/UVaHomePage.pdf +You may also want to look at samples at https://github.com/shlake/LibraDataHomepage from community member Sherry Lake. A simpler option to brand and customize your installation is to utilize the Dataverse collection theme, which each Dataverse collection has, that allows you to change colors, add a logo, tagline or website link to the Dataverse collection header section of the page. Those options are outlined in the :doc:`/user/dataverse-management` section of the User Guide. -Custom Homepage -+++++++++++++++ - -The Dataverse Software allows you to use a custom homepage or welcome page in place of the default root Dataverse collection page. This allows for complete control over the look and feel of your installation's homepage. - -Download this sample: :download:`custom-homepage.html ` and place it at ``/var/www/dataverse/branding/custom-homepage.html``. - -Once you have the location of your custom homepage HTML file, run this curl command to add it to your settings: +Before detailing the available customization options, perhaps it is important to present the basic blocks of the Dataverse GUI layout. +From the image below, you can see that the page layout consists of three main blocks: an header block, a content block and a footer block: -``curl -X PUT -d '/var/www/dataverse/branding/custom-homepage.html' http://localhost:8080/api/admin/settings/:HomePageCustomizationFile`` +|dvPageBlocks| -If you prefer to start with less of a blank slate, you can review the custom homepage used by the Harvard Dataverse Repository, which includes branding messaging, action buttons, search input, subject links, and recent dataset links. This page was built to utilize the :doc:`/api/metrics` to deliver dynamic content to the page via Javascript. The files can be found at https://github.com/IQSS/dataverse.harvard.edu +Header block +++++++++++++ -Note that the ``custom-homepage.html`` file provided has multiple elements that assume your root Dataverse collection still has an alias of "root". While you were branding your root Dataverse collection, you may have changed the alias to "harvard" or "librascholar" or whatever and you should adjust the custom homepage code as needed. +Within the header block, you have a navbar (which will always be displayed) and may insert a custom header, that will be displayed **alongside** the navbar to add additional information to the header block. -For more background on what this curl command above is doing, see the :ref:`database-settings` section below. If you decide you'd like to remove this setting, use the following curl command: +Navbar +^^^^^^ -``curl -X DELETE http://localhost:8080/api/admin/settings/:HomePageCustomizationFile`` +The navbar is the component displayed by default on the header block and will be present on every Dataverse GUI page. +The navbar encompasses several (configurable) settings that manage user interaction with the Dataverse platform. Such settings are described below. Custom Navbar Logo -++++++++++++++++++ +################## The Dataverse Software allows you to replace the default Dataverse Project icon and name branding in the navbar with your own custom logo. Note that this logo is separate from the *root dataverse theme* logo. @@ -672,8 +670,32 @@ Once you have the location of your custom logo image file, run this curl command ``curl -X PUT -d '/logos/navbar/logo.png' http://localhost:8080/api/admin/settings/:LogoCustomizationFile`` +To revert to the default configuration and have the Dataverse Project icon be displayed, run: + +``curl -X DELETE http://localhost:8080/api/admin/settings/:LogoCustomizationFile`` + +About URL +######### + +Refer to :ref:`:NavbarAboutUrl` for setting a fully-qualified URL which will be used for the "About" link in the navbar. + +User Guide URL +############## + +Refer to :ref:`:NavbarGuidesUrl`, :ref:`:GuidesBaseUrl`, and :ref:`:GuidesVersion` for setting a fully-qualified URL which will be used for the "User Guide" link in the navbar. + +Support URL +########### + +Refer to :ref:`:NavbarSupportUrl` for setting to a fully-qualified URL which will be used for the "Support" link in the navbar. + +Sign Up +####### + +Refer to :ref:`:SignUpUrl` and :ref:`conf-allow-signup` for setting a relative path URL to which users will be sent for signup and for controlling the ability for creating local user accounts. + Custom Header -+++++++++++++ +^^^^^^^^^^^^^ Download this sample: :download:`custom-header.html ` and place it at ``/var/www/dataverse/branding/custom-header.html``. @@ -687,9 +709,47 @@ If you have enabled a custom header or navbar logo, you might prefer to disable Please note: Disabling the display of the root Dataverse collection theme also disables your ability to edit it. Remember that Dataverse collection owners can set their Dataverse collections to "inherit theme" from the root. Those Dataverse collections will continue to inherit the root Dataverse collection theme (even though it no longer displays on the root). If you would like to edit the root Dataverse collection theme in the future, you will have to re-enable it first. +Content block ++++++++++++++ + +By default, the content block encloses the default root Dataverse collection page. This page contains the data available on the Dataverse installation (e.g. dataverses and datasets) and the functionalities that allow the user to interact with the platform (e.g. search, create/edit data and metadata, ...). +The Dataverse Software allows you to use a custom homepage, that will **replace** the default collection page on the content block, and serve as a welcome page. This allows for complete control over the look and feel of your installation's homepage. + +Custom Homepage +^^^^^^^^^^^^^^^ + +Download this sample: :download:`custom-homepage.html ` and place it at ``/var/www/dataverse/branding/custom-homepage.html``. + +Once you have the location of your custom homepage HTML file, run this curl command to add it to your settings: + +``curl -X PUT -d '/var/www/dataverse/branding/custom-homepage.html' http://localhost:8080/api/admin/settings/:HomePageCustomizationFile`` + +If you prefer to start with less of a blank slate, you can review the custom homepage used by the Harvard Dataverse Repository, which includes branding messaging, action buttons, search input, subject links, and recent dataset links. This page was built to utilize the :doc:`/api/metrics` to deliver dynamic content to the page via Javascript. The files can be found at https://github.com/IQSS/dataverse.harvard.edu + +Note that the ``custom-homepage.html`` file provided has multiple elements that assume your root Dataverse collection still has an alias of "root". While you were branding your root Dataverse collection, you may have changed the alias to "harvard" or "librascholar" or whatever and you should adjust the custom homepage code as needed. + +For more background on what this curl command above is doing, see the :ref:`database-settings` section below. If you decide you'd like to remove this setting, use the following curl command: + +``curl -X DELETE http://localhost:8080/api/admin/settings/:HomePageCustomizationFile`` + +Footer block +++++++++++++ + +Within the footer block you have the default footer section (which will always be displayed) and may insert a custom footer, that will be displayed **alongside** the default footer to add additional information to the footer block. + +Default Footer +^^^^^^^^^^^^^^ + +The default footer is the component displayed by default on the footer block and will be present on every Dataverse GUI page. +The default footer encompasses (configurable) settings that can be used to enhance the look and feel of the default Dataverse footer. Such settings are described below. + +Footer Copyright +################ + +Refer to :ref:`:FooterCopyright` to add customized text to the Copyright section of the default Dataverse footer Custom Footer -+++++++++++++ +^^^^^^^^^^^^^ Download this sample: :download:`custom-footer.html ` and place it at ``/var/www/dataverse/branding/custom-footer.html``. @@ -1552,6 +1612,8 @@ See :ref:`Branding Your Installation` above. See :ref:`Web-Analytics-Code` above. +.. _:FooterCopyright: + :FooterCopyright ++++++++++++++++ @@ -1795,15 +1857,19 @@ This will *force* a re-export of every published, local dataset, regardless of w The call returns a status message informing the administrator, that the process has been launched (``{"status":"WORKFLOW_IN_PROGRESS"}``). The administrator can check the progress of the process via log files: ``[Payara directory]/glassfish/domains/domain1/logs/export_[time stamp].log``. +.. _:NavbarAboutUrl: + :NavbarAboutUrl +++++++++++++++ -Set ``NavbarAboutUrl`` to a fully-qualified URL which will be used for the "About" link in the navbar. +Set ``:NavbarAboutUrl`` to a fully-qualified URL which will be used for the "About" link in the navbar. Note: The "About" link will not appear in the navbar until this option is set. ``curl -X PUT -d http://dataverse.example.edu http://localhost:8080/api/admin/settings/:NavbarAboutUrl`` +.. _:NavbarGuidesUrl: + :NavbarGuidesUrl ++++++++++++++++ @@ -1813,13 +1879,17 @@ Note: by default, the URL is composed from the settings ``:GuidesBaseUrl`` and ` ``curl -X PUT -d http://example.edu/fancy-dataverse-guide http://localhost:8080/api/admin/settings/:NavbarGuidesUrl`` +.. _:GuidesBaseUrl: + :GuidesBaseUrl ++++++++++++++ -Set ``GuidesBaseUrl`` to override the default value "http://guides.dataverse.org". If you are interested in writing your own version of the guides, you may find the :doc:`/developers/documentation` section of the Developer Guide helpful. +Set ``:GuidesBaseUrl`` to override the default value "http://guides.dataverse.org". If you are interested in writing your own version of the guides, you may find the :doc:`/developers/documentation` section of the Developer Guide helpful. ``curl -X PUT -d http://dataverse.example.edu http://localhost:8080/api/admin/settings/:GuidesBaseUrl`` +.. _:GuidesVersion: + :GuidesVersion ++++++++++++++ @@ -1827,6 +1897,8 @@ Set ``:GuidesVersion`` to override the version number in the URL of guides. For ``curl -X PUT -d 1234-new-feature http://localhost:8080/api/admin/settings/:GuidesVersion`` +.. _:NavbarSupportUrl: + :NavbarSupportUrl +++++++++++++++++ Set ``:NavbarSupportUrl`` to a fully-qualified URL which will be used for the "Support" link in the navbar. @@ -1930,6 +2002,8 @@ If ``:SolrFullTextIndexing`` is set to true, the content of files of any size wi ``curl -X PUT -d 314572800 http://localhost:8080/api/admin/settings/:SolrMaxFileSizeForFullTextIndexing`` +.. _:SignUpUrl: + :SignUpUrl ++++++++++ @@ -1969,7 +2043,7 @@ Set whether a user will see the custom text when publishing all versions of a da :SearchHighlightFragmentSize ++++++++++++++++++++++++++++ -Set ``SearchHighlightFragmentSize`` to override the default value of 100 from https://wiki.apache.org/solr/HighlightingParameters#hl.fragsize . In practice, a value of "320" seemed to fix the issue at https://github.com/IQSS/dataverse/issues/2191 +Set ``:SearchHighlightFragmentSize`` to override the default value of 100 from https://wiki.apache.org/solr/HighlightingParameters#hl.fragsize . In practice, a value of "320" seemed to fix the issue at https://github.com/IQSS/dataverse/issues/2191 ``curl -X PUT -d 320 http://localhost:8080/api/admin/settings/:SearchHighlightFragmentSize`` @@ -2582,7 +2656,7 @@ For example: ``curl -X PUT -d /usr/local/bin/ds_validator.sh http://localhost:8080/api/admin/settings/:DatasetMetadataValidatorScript`` -In some ways this duplicates a workflow mechanism, since it is possible to define a workflow with additonal validation steps. But please note that the important difference is that this external validation happens *synchronously*, while the user is wating; while a workflow is performed asynchronously with a lock placed on the dataset. This can be useful to some installations, in some situations. But it also means that the script provided should be expected to always work reasonably fast - ideally, in seconds, rather than minutes, etc. +In some ways this duplicates a workflow mechanism, since it is possible to define a workflow with additional validation steps. But please note that the important difference is that this external validation happens *synchronously*, while the user is wating; while a workflow is performed asynchronously with a lock placed on the dataset. This can be useful to some installations, in some situations. But it also means that the script provided should be expected to always work reasonably fast - ideally, in seconds, rather than minutes, etc. :DatasetMetadataValidationFailureMsg ++++++++++++++++++++++++++++++++++++ @@ -2612,4 +2686,7 @@ To override the default list with Docs, Data, Code, and Workflow: To remove the override and go back to the default list: -``curl -X PUT -d '' http://localhost:8080/api/admin/settings/:FileCategories`` \ No newline at end of file +``curl -X PUT -d '' http://localhost:8080/api/admin/settings/:FileCategories`` + +.. |dvPageBlocks| image:: ./img/dvBrandingCustBlocks.png + :class: img-responsive \ No newline at end of file diff --git a/doc/sphinx-guides/source/installation/img/dvBrandingCustBlocks.png b/doc/sphinx-guides/source/installation/img/dvBrandingCustBlocks.png new file mode 100644 index 0000000000000000000000000000000000000000..1fe618c889db07ef09a38c000d3dd29aa3549395 GIT binary patch literal 84172 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�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 VfxkYnIX#2_NJ}V)SBe^Z|6hs+Ej|DM literal 0 HcmV?d00001 From 6170830703c3f39cc8be9aa08046e8119cf8952d Mon Sep 17 00:00:00 2001 From: Philip Durbin Date: Wed, 4 May 2022 16:03:07 -0400 Subject: [PATCH 2/2] wordsmithing, added source draw.io file #8617 Hopefully this wording is considered an improvement! I also looked into the installation name and how it interacts with :InstallationName and :SystemEmail. --- .../source/installation/config.rst | 102 ++++++++++++------ .../img/dvBrandingCustBlocks.drawio | 1 + 2 files changed, 68 insertions(+), 35 deletions(-) create mode 100644 doc/sphinx-guides/source/installation/img/dvBrandingCustBlocks.drawio diff --git a/doc/sphinx-guides/source/installation/config.rst b/doc/sphinx-guides/source/installation/config.rst index f22e191892a..55d96335a68 100644 --- a/doc/sphinx-guides/source/installation/config.rst +++ b/doc/sphinx-guides/source/installation/config.rst @@ -628,49 +628,74 @@ Is currently documented on the :doc:`/developers/deployment` page. Branding Your Installation -------------------------- -The name of your root Dataverse collection is the brand of your Dataverse installation and appears in various places such as notifications and support links, as outlined in the :ref:`systemEmail` section below. To further brand your installation and make it your own, the Dataverse Software provides configurable options for easily adding (and maintaining) custom branding to your Dataverse installation. Here are the custom branding and content options you can configure: +A Dataverse installation can be branded in a number of ways. +A simple option for branding your installation is to adjust the theme of a Dataverse collection. You can change colors, add a logo, add a tagline, or add a website link to the Dataverse collection header section of the page. These options are outlined under :ref:`theme` in the :doc:`/user/dataverse-management` section of the User Guide. + +More advanced customization is described below and covers the following areas. + +- Custom installation name/brand - Custom header -- Dataverse navbar settings +- Navbar settings - Custom welcome/homepage - Custom footer -- Dataverse footer settings +- Footer settings - CSS stylesheet Downloadable sample HTML and CSS files are provided below which you can edit as you see fit. It's up to you to create a directory in which to store these files, such as ``/var/www/dataverse`` in the examples below. -You may also want to look at samples at https://github.com/shlake/LibraDataHomepage from community member Sherry Lake. +Additional samples from community member Sherry Lake are available at https://github.com/shlake/LibraDataHomepage. + +.. _parts-of-webpage: -A simpler option to brand and customize your installation is to utilize the Dataverse collection theme, which each Dataverse collection has, that allows you to change colors, add a logo, tagline or website link to the Dataverse collection header section of the page. Those options are outlined in the :doc:`/user/dataverse-management` section of the User Guide. +Parts of a Dataverse Installation Webpage ++++++++++++++++++++++++++++++++++++++++++ -Before detailing the available customization options, perhaps it is important to present the basic blocks of the Dataverse GUI layout. -From the image below, you can see that the page layout consists of three main blocks: an header block, a content block and a footer block: +Before reading about the available customization options, you might want to familiarize yourself with the parts of a Dataverse installation webpage. + +The image below indicates that the page layout consists of three main blocks: a header block, a content block, and a footer block: |dvPageBlocks| -Header block +Installation Name/Brand Name +++++++++++++++++++++++++++++ + +It's common for a Dataverse installation to have some sort of installation name or brand name like "HeiDATA", "Libra Data", or "MELDATA". + +The installation name appears in various places such as notifications, support links, and metadata exports. + +Out of the box, the installation name comes from the name of root Dataverse collection ("Root" by default). You can simply change the name of this collection to set the installation name you want. + +Alternatively, you can have independent names for the root Dataverse collection and the installation name by having the installation name come from the :ref:`:InstallationName` setting. + +Note that you can use :ref:`systemEmail` to control the name that appears in the "from" address of email messages sent by a Dataverse installation. This overrides the name of the root Dataverse collection and :ref:`:InstallationName`. + +If you have an image for your installation name, you can use it as the "Custom Navbar Logo", described below. + +Header Block ++++++++++++ -Within the header block, you have a navbar (which will always be displayed) and may insert a custom header, that will be displayed **alongside** the navbar to add additional information to the header block. +Within the header block, you have a navbar (which will always be displayed) and you may insert a custom header that will be displayed above the navbar. Navbar ^^^^^^ -The navbar is the component displayed by default on the header block and will be present on every Dataverse GUI page. -The navbar encompasses several (configurable) settings that manage user interaction with the Dataverse platform. Such settings are described below. +The navbar is the component displayed by default on the header block and will be present on every Dataverse webpage. + +The navbar encompasses several configurable settings (described below) that manage user interaction with a Dataverse installation. Custom Navbar Logo ################## -The Dataverse Software allows you to replace the default Dataverse Project icon and name branding in the navbar with your own custom logo. Note that this logo is separate from the *root dataverse theme* logo. +The Dataverse Software allows you to replace the default Dataverse Project icon and name branding in the navbar with your own custom logo. Note that this logo is separate from the logo used in the theme of the root Dataverse collection (see :ref:`theme`). The custom logo image file is expected to be small enough to fit comfortably in the navbar, no more than 50 pixels in height and 160 pixels in width. Create a ``navbar`` directory in your Payara ``logos`` directory and place your custom logo there. By default, your logo image file will be located at ``/usr/local/payara5/glassfish/domains/domain1/docroot/logos/navbar/logo.png``. -Once you have the location of your custom logo image file, run this curl command to add it to your settings: +Given this location for the custom logo image file, run this curl command to add it to your settings: ``curl -X PUT -d '/logos/navbar/logo.png' http://localhost:8080/api/admin/settings/:LogoCustomizationFile`` -To revert to the default configuration and have the Dataverse Project icon be displayed, run: +To revert to the default configuration and have the Dataverse Project icon be displayed, run the following command: ``curl -X DELETE http://localhost:8080/api/admin/settings/:LogoCustomizationFile`` @@ -697,9 +722,9 @@ Refer to :ref:`:SignUpUrl` and :ref:`conf-allow-signup` for setting a relative p Custom Header ^^^^^^^^^^^^^ -Download this sample: :download:`custom-header.html ` and place it at ``/var/www/dataverse/branding/custom-header.html``. +As a starting point you can download :download:`custom-header.html ` and place it at ``/var/www/dataverse/branding/custom-header.html``. -Once you have the location of your custom header HTML file, run this curl command to add it to your settings: +Given this location for the custom header HTML file, run this curl command to add it to your settings: ``curl -X PUT -d '/var/www/dataverse/branding/custom-header.html' http://localhost:8080/api/admin/settings/:HeaderCustomizationFile`` @@ -709,39 +734,43 @@ If you have enabled a custom header or navbar logo, you might prefer to disable Please note: Disabling the display of the root Dataverse collection theme also disables your ability to edit it. Remember that Dataverse collection owners can set their Dataverse collections to "inherit theme" from the root. Those Dataverse collections will continue to inherit the root Dataverse collection theme (even though it no longer displays on the root). If you would like to edit the root Dataverse collection theme in the future, you will have to re-enable it first. -Content block +Content Block +++++++++++++ -By default, the content block encloses the default root Dataverse collection page. This page contains the data available on the Dataverse installation (e.g. dataverses and datasets) and the functionalities that allow the user to interact with the platform (e.g. search, create/edit data and metadata, ...). -The Dataverse Software allows you to use a custom homepage, that will **replace** the default collection page on the content block, and serve as a welcome page. This allows for complete control over the look and feel of your installation's homepage. +As shown in the image under :ref:`parts-of-webpage`, the content block is the area below the header and above the footer. + +By default, when you view the homepage of a Dataverse installation, the content block shows the root Dataverse collection. This page contains the data available in the Dataverse installation (e.g. dataverses and datasets) and the functionalities that allow the user to interact with the platform (e.g. search, create/edit data and metadata, etc.). + +Rather than showing the root Dataverse collection on the homepage, the content block can show a custom homepage instead. Read on for details. Custom Homepage ^^^^^^^^^^^^^^^ -Download this sample: :download:`custom-homepage.html ` and place it at ``/var/www/dataverse/branding/custom-homepage.html``. +When you configure a custom homepage, it **replaces** the root Dataverse collection in the content block, serving as a welcome page. This allows for complete control over the look and feel of the content block for your installation's homepage. -Once you have the location of your custom homepage HTML file, run this curl command to add it to your settings: +As a starting point, download :download:`custom-homepage.html ` and place it at ``/var/www/dataverse/branding/custom-homepage.html``. -``curl -X PUT -d '/var/www/dataverse/branding/custom-homepage.html' http://localhost:8080/api/admin/settings/:HomePageCustomizationFile`` +Given this location for the custom homepage HTML file, run this curl command to add it to your settings: -If you prefer to start with less of a blank slate, you can review the custom homepage used by the Harvard Dataverse Repository, which includes branding messaging, action buttons, search input, subject links, and recent dataset links. This page was built to utilize the :doc:`/api/metrics` to deliver dynamic content to the page via Javascript. The files can be found at https://github.com/IQSS/dataverse.harvard.edu +``curl -X PUT -d '/var/www/dataverse/branding/custom-homepage.html' http://localhost:8080/api/admin/settings/:HomePageCustomizationFile`` Note that the ``custom-homepage.html`` file provided has multiple elements that assume your root Dataverse collection still has an alias of "root". While you were branding your root Dataverse collection, you may have changed the alias to "harvard" or "librascholar" or whatever and you should adjust the custom homepage code as needed. -For more background on what this curl command above is doing, see the :ref:`database-settings` section below. If you decide you'd like to remove this setting, use the following curl command: +Note: If you prefer to start with less of a blank slate, you can review the custom homepage used by the Harvard Dataverse Repository, which includes branding messaging, action buttons, search input, subject links, and recent dataset links. This page was built to utilize the :doc:`/api/metrics` to deliver dynamic content to the page via Javascript. The files can be found at https://github.com/IQSS/dataverse.harvard.edu + +If you decide you'd like to remove this setting, use the following curl command: ``curl -X DELETE http://localhost:8080/api/admin/settings/:HomePageCustomizationFile`` -Footer block +Footer Block ++++++++++++ -Within the footer block you have the default footer section (which will always be displayed) and may insert a custom footer, that will be displayed **alongside** the default footer to add additional information to the footer block. +Within the footer block you have the default footer section (which will always be displayed) and you can insert a custom footer that will be displayed below the default footer. Default Footer ^^^^^^^^^^^^^^ -The default footer is the component displayed by default on the footer block and will be present on every Dataverse GUI page. -The default footer encompasses (configurable) settings that can be used to enhance the look and feel of the default Dataverse footer. Such settings are described below. +The default footer is the component displayed by default on the footer block and will be present on every Dataverse webpage. Its configuration options are described below. Footer Copyright ################ @@ -751,20 +780,22 @@ Refer to :ref:`:FooterCopyright` to add customized text to the Copyright section Custom Footer ^^^^^^^^^^^^^ -Download this sample: :download:`custom-footer.html ` and place it at ``/var/www/dataverse/branding/custom-footer.html``. +As mentioned above, the custom footer appears below the default footer. + +As a starting point, download :download:`custom-footer.html ` and place it at ``/var/www/dataverse/branding/custom-footer.html``. -Once you have the location of your custom footer HTML file, run this curl command to add it to your settings: +Given this location for the custom footer HTML file, run this curl command to add it to your settings: ``curl -X PUT -d '/var/www/dataverse/branding/custom-footer.html' http://localhost:8080/api/admin/settings/:FooterCustomizationFile`` Custom Stylesheet +++++++++++++++++ -You can style your custom homepage, footer and header content with a custom CSS file. With advanced CSS know-how, you can achieve custom branding and page layouts by utilizing ``position``, ``padding`` or ``margin`` properties. +You can style your custom homepage, footer, and header content with a custom CSS file. With advanced CSS know-how, you can achieve custom branding and page layouts by utilizing ``position``, ``padding`` or ``margin`` properties. -Download this sample: :download:`custom-stylesheet.css ` and place it at ``/var/www/dataverse/branding/custom-stylesheet.css``. +As a starting point, download :download:`custom-stylesheet.css ` and place it at ``/var/www/dataverse/branding/custom-stylesheet.css``. -Once you have the location of your custom CSS file, run this curl command to add it to your settings: +Given this location for the custom CSS file, run this curl command to add it to your settings: ``curl -X PUT -d '/var/www/dataverse/branding/custom-stylesheet.css' http://localhost:8080/api/admin/settings/:StyleCustomizationFile`` @@ -1573,7 +1604,7 @@ This is the email address that "system" emails are sent from such as password re ``curl -X PUT -d 'LibraScholar SWAT Team ' http://localhost:8080/api/admin/settings/:SystemEmail`` -Note that only the email address is required, which you can supply without the ``<`` and ``>`` signs, but if you include the text, it's the way to customize the name of your support team, which appears in the "from" address in emails as well as in help text in the UI. +Note that only the email address is required, which you can supply without the ``<`` and ``>`` signs, but if you include the text, it's the way to customize the name of your support team, which appears in the "from" address in emails as well as in help text in the UI. If you don't include the text, the installation name (see :ref:`Branding Your Installation`) will appear in the "from" address. Please note that if you're having any trouble sending email, you can refer to "Troubleshooting" under :doc:`installation-main`. @@ -2513,7 +2544,7 @@ These are the bucket and project names to be used with the GoogleCloudSubmitToAr :InstallationName +++++++++++++++++ -By default, the name of the root Dataverse collection is used as the 'brandname' of the repository, i.e. in emails and metadata exports. If set, :InstallationName overrides this default, allowing the root collection name and brandname to be set independently. (Note that, since metadata export files are cached, they will have to be reexported (see :doc:`/admin/metadataexport`) before they incorporate a change in this setting.) +As explained under :ref:`Branding Your Installation`, by default, the name of the root Dataverse collection is used as the "brand name" of the installation, i.e. in emails and metadata exports. If set, ``:InstallationName`` overrides this default, allowing the root collection name and brandname to be set independently. (Note that, since metadata export files are cached, they will have to be reexported (see :doc:`/admin/metadataexport`) before they incorporate a change in this setting.) :ExportInstallationAsDistributorOnlyWhenNotSet ++++++++++++++++++++++++++++++++++++++++++++++ @@ -2688,5 +2719,6 @@ To remove the override and go back to the default list: ``curl -X PUT -d '' http://localhost:8080/api/admin/settings/:FileCategories`` +.. To edit, use dvBrandingCustBlocks.drawio with https://app.diagrams.net .. |dvPageBlocks| image:: ./img/dvBrandingCustBlocks.png :class: img-responsive diff --git a/doc/sphinx-guides/source/installation/img/dvBrandingCustBlocks.drawio b/doc/sphinx-guides/source/installation/img/dvBrandingCustBlocks.drawio new file mode 100644 index 00000000000..111e683f7eb --- /dev/null +++ b/doc/sphinx-guides/source/installation/img/dvBrandingCustBlocks.drawio @@ -0,0 +1 @@ +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 \ No newline at end of file