diff --git a/doc/sphinx-guides/source/installation/config.rst b/doc/sphinx-guides/source/installation/config.rst
index 230e87808b7..58f88e86c17 100644
--- a/doc/sphinx-guides/source/installation/config.rst
+++ b/doc/sphinx-guides/source/installation/config.rst
@@ -345,6 +345,13 @@ Set ``GuidesBaseUrl`` to override the default value "http://guides.dataverse.org
``curl -X PUT -d http://dataverse.example.edu http://localhost:8080/api/admin/settings/:GuidesBaseUrl``
+:GuidesVersion
+++++++++++++++
+
+Set ``:GuidesVersion`` to override the version number in the URL of guides. For example, rather than http://guides.dataverse.org/en/4.6/user/account.html the version is overriden to http://guides.dataverse.org/en/1234-new-feature/user/account.html in the example below:
+
+``curl -X PUT -d 1234-new-feature http://localhost:8080/api/admin/settings/:GuidesVersion``
+
:StatusMessageHeader
++++++++++++++++++++
diff --git a/src/main/java/edu/harvard/iq/dataverse/DataversePage.java b/src/main/java/edu/harvard/iq/dataverse/DataversePage.java
index 3d35e548347..112073cc8c1 100644
--- a/src/main/java/edu/harvard/iq/dataverse/DataversePage.java
+++ b/src/main/java/edu/harvard/iq/dataverse/DataversePage.java
@@ -628,7 +628,7 @@ public String save() {
if (editMode != null && editMode.equals(EditMode.FEATURED)) {
message = "The featured dataverses for this dataverse have been updated.";
} else {
- message = (create) ? BundleUtil.getStringFromBundle("dataverse.create.success", Arrays.asList(settingsWrapper.getGuidesBaseUrl(), systemConfig.getVersion())) : BundleUtil.getStringFromBundle("dataverse.update.success");
+ message = (create) ? BundleUtil.getStringFromBundle("dataverse.create.success", Arrays.asList(settingsWrapper.getGuidesBaseUrl(), systemConfig.getGuidesVersion())) : BundleUtil.getStringFromBundle("dataverse.update.success");
}
JsfHelper.addSuccessMessage(message);
diff --git a/src/main/java/edu/harvard/iq/dataverse/MailServiceBean.java b/src/main/java/edu/harvard/iq/dataverse/MailServiceBean.java
index 0893909a6c0..d5cf2728d9d 100644
--- a/src/main/java/edu/harvard/iq/dataverse/MailServiceBean.java
+++ b/src/main/java/edu/harvard/iq/dataverse/MailServiceBean.java
@@ -364,7 +364,7 @@ private String getMessageTextBasedOnNotification(UserNotification userNotificati
parentDataverseDisplayName,
parentDataverseUrl,
systemConfig.getGuidesBaseUrl(),
- systemConfig.getVersion()));
+ systemConfig.getGuidesVersion()));
logger.fine(dataverseCreatedMessage);
return messageText += dataverseCreatedMessage;
case REQUESTFILEACCESS:
@@ -393,7 +393,7 @@ private String getMessageTextBasedOnNotification(UserNotification userNotificati
version.getDataset().getOwner().getDisplayName(),
getDataverseLink(version.getDataset().getOwner()),
systemConfig.getGuidesBaseUrl(),
- systemConfig.getVersion()
+ systemConfig.getGuidesVersion()
));
logger.fine(datasetCreatedMessage);
return messageText += datasetCreatedMessage;
@@ -427,7 +427,7 @@ private String getMessageTextBasedOnNotification(UserNotification userNotificati
case CREATEACC:
String accountCreatedMessage = BundleUtil.getStringFromBundle("notification.email.welcome", Arrays.asList(
systemConfig.getGuidesBaseUrl(),
- systemConfig.getVersion()
+ systemConfig.getGuidesVersion()
));
String optionalConfirmEmailAddon = confirmEmailService.optionalConfirmEmailAddonMsg(userNotification.getUser());
accountCreatedMessage += optionalConfirmEmailAddon;
diff --git a/src/main/java/edu/harvard/iq/dataverse/settings/SettingsServiceBean.java b/src/main/java/edu/harvard/iq/dataverse/settings/SettingsServiceBean.java
index 4b8e6a85a10..3528a5c5de7 100644
--- a/src/main/java/edu/harvard/iq/dataverse/settings/SettingsServiceBean.java
+++ b/src/main/java/edu/harvard/iq/dataverse/settings/SettingsServiceBean.java
@@ -153,6 +153,8 @@ public enum Key {
/** Optionally override http://guides.dataverse.org . */
GuidesBaseUrl,
/* zip download size limit */
+ /** Optionally override version number in guides. */
+ GuidesVersion,
ZipDownloadLimit,
/* zip upload number of files limit */
ZipUploadFilesLimit,
diff --git a/src/main/java/edu/harvard/iq/dataverse/util/SystemConfig.java b/src/main/java/edu/harvard/iq/dataverse/util/SystemConfig.java
index 831554565eb..0cdea4faee2 100644
--- a/src/main/java/edu/harvard/iq/dataverse/util/SystemConfig.java
+++ b/src/main/java/edu/harvard/iq/dataverse/util/SystemConfig.java
@@ -310,6 +310,15 @@ private String getGuidesLanguage() {
return saneDefault;
}
+ public String getGuidesVersion() {
+ String saneDefault = getVersion();
+ String guidesVersion = settingsService.getValueForKey(SettingsServiceBean.Key.GuidesVersion, saneDefault);
+ if (guidesVersion != null) {
+ return guidesVersion;
+ }
+ return saneDefault;
+ }
+
/**
* Download-as-zip size limit.
* returns 0 if not specified;
diff --git a/src/main/webapp/dashboard.xhtml b/src/main/webapp/dashboard.xhtml
index c49d2f51113..ac170efe593 100644
--- a/src/main/webapp/dashboard.xhtml
+++ b/src/main/webapp/dashboard.xhtml
@@ -94,7 +94,7 @@