diff --git a/src/main/java/org/codelibs/fess/es/client/FessEsClient.java b/src/main/java/org/codelibs/fess/es/client/FessEsClient.java index 0e24c6e6c8799f9602781512aa78e81cdfb47300..299ffcf974a7e512b0440d83ce387ae1c3198ec8 100644 --- a/src/main/java/org/codelibs/fess/es/client/FessEsClient.java +++ b/src/main/java/org/codelibs/fess/es/client/FessEsClient.java @@ -211,6 +211,10 @@ public class FessEsClient implements Client { this.runner = runner; } + public boolean isEmbedded() { + return this.runner != null; + } + public void addTransportAddress(final String host, final int port) { try { transportAddressList.add(new InetSocketTransportAddress(InetAddress.getByName(host), port)); diff --git a/src/main/java/org/codelibs/fess/helper/SystemHelper.java b/src/main/java/org/codelibs/fess/helper/SystemHelper.java index 7ed5df3259f7e43eec3983bd061908fcb58d2cad..737a8efabb9f7390344c29f537c400017d61c810 100644 --- a/src/main/java/org/codelibs/fess/helper/SystemHelper.java +++ b/src/main/java/org/codelibs/fess/helper/SystemHelper.java @@ -179,6 +179,10 @@ public class SystemHelper { public String getHelpLink(final String name) { final String url = ComponentUtil.getFessConfig().getOnlineHelpBaseLink() + name + "-guide.html"; + return getHelpUrl(url); + } + + protected String getHelpUrl(final String url) { final Locale locale = ComponentUtil.getRequestManager().getUserLocale(); if (locale != null) { final String lang = locale.getLanguage(); @@ -278,7 +282,9 @@ public class SystemHelper { } public void setupAdminHtmlData(final TypicalAction action, final ActionRuntime runtime) { - // nothing + runtime.registerData("developmentMode", ComponentUtil.getFessEsClient().isEmbedded()); + final String url = ComponentUtil.getFessConfig().getOnlineHelpInstallation(); + runtime.registerData("installationLink", getHelpUrl(url)); } public String getSearchRoleByUser(final String name) { diff --git a/src/main/java/org/codelibs/fess/mylasta/action/FessLabels.java b/src/main/java/org/codelibs/fess/mylasta/action/FessLabels.java index ca8dfe2dc12e5cb9cc197289bd12e2fcbac083f0..e567f965ae6e878ec1b96b2a494775f792e482e4 100644 --- a/src/main/java/org/codelibs/fess/mylasta/action/FessLabels.java +++ b/src/main/java/org/codelibs/fess/mylasta/action/FessLabels.java @@ -2670,6 +2670,9 @@ public class FessLabels extends UserMessages { /** The key of the message: Score: */ public static final String LABELS_doc_score = "{labels.doc_score}"; + /** The key of the message: Running as Development mode. For production use, please install a standalone elasticsearch server. */ + public static final String LABELS_development_mode_warning = "{labels.development_mode_warning}"; + /** * Assert the property is not null. * @param property The value of the property. (NotNull) diff --git a/src/main/java/org/codelibs/fess/mylasta/direction/FessConfig.java b/src/main/java/org/codelibs/fess/mylasta/direction/FessConfig.java index 59efecf62b429b8bbdf3cd97ae590a7a586971c9..58df2669404c0718d5e8a2e9fe62dda8419bb3a9 100644 --- a/src/main/java/org/codelibs/fess/mylasta/direction/FessConfig.java +++ b/src/main/java/org/codelibs/fess/mylasta/direction/FessConfig.java @@ -827,6 +827,9 @@ public interface FessConfig extends FessEnv, org.codelibs.fess.mylasta.direction /** The key of the configuration. e.g. http://fess.codelibs.org/{lang}/{version}/admin/ */ String ONLINE_HELP_BASE_LINK = "online.help.base.link"; + /** The key of the configuration. e.g. http://fess.codelibs.org/{lang}/{version}/install/install.html */ + String ONLINE_HELP_INSTALLATION = "online.help.installation"; + /** The key of the configuration. e.g. failureurl */ String ONLINE_HELP_NAME_FAILUREURL = "online.help.name.failureurl"; @@ -4006,6 +4009,13 @@ public interface FessConfig extends FessEnv, org.codelibs.fess.mylasta.direction */ String getOnlineHelpBaseLink(); + /** + * Get the value for the key 'online.help.installation'. <br> + * The value is, e.g. http://fess.codelibs.org/{lang}/{version}/install/install.html <br> + * @return The value of found property. (NotNull: if not found, exception but basically no way) + */ + String getOnlineHelpInstallation(); + /** * Get the value for the key 'online.help.name.failureurl'. <br> * The value is, e.g. failureurl <br> @@ -6565,6 +6575,10 @@ public interface FessConfig extends FessEnv, org.codelibs.fess.mylasta.direction return get(FessConfig.ONLINE_HELP_BASE_LINK); } + public String getOnlineHelpInstallation() { + return get(FessConfig.ONLINE_HELP_INSTALLATION); + } + public String getOnlineHelpNameFailureurl() { return get(FessConfig.ONLINE_HELP_NAME_FAILUREURL); } diff --git a/src/main/resources/fess_config.properties b/src/main/resources/fess_config.properties index 669f25ce054f088b6530dd8d74aec3c5feadf4d4..eea36c42441ea24d6c76bd3ee26d91685387ce8b 100644 --- a/src/main/resources/fess_config.properties +++ b/src/main/resources/fess_config.properties @@ -430,6 +430,7 @@ scheduler.monitor.interval=30 # OnlineHelp # ------ online.help.base.link=http://fess.codelibs.org/{lang}/{version}/admin/ +online.help.installation=http://fess.codelibs.org/{lang}/{version}/install/install.html online.help.name.failureurl=failureurl online.help.name.elevateword=elevateword online.help.name.reqheader=reqheader diff --git a/src/main/resources/fess_label.properties b/src/main/resources/fess_label.properties index f67c6e337cf90b742b030d196a26be292a14a0ce..0fbee82eaa2875f96cc2c0b508f45b279838650f 100644 --- a/src/main/resources/fess_label.properties +++ b/src/main/resources/fess_label.properties @@ -880,3 +880,4 @@ labels.requestFile=Request File labels.esreq_button_upload=Send labels.facet_is_not_found=No match labels.doc_score=Score: +labels.development_mode_warning=Running as Development mode. For production use, please install a standalone elasticsearch server. diff --git a/src/main/resources/fess_label_en.properties b/src/main/resources/fess_label_en.properties index e30615846a639fd182e4244e8ce08f4dfce814b7..06b4f42b7e96db78ec53eb548e343d4644f93365 100644 --- a/src/main/resources/fess_label_en.properties +++ b/src/main/resources/fess_label_en.properties @@ -880,3 +880,4 @@ labels.requestFile=Request File labels.esreq_button_upload=Send labels.facet_is_not_found=No match. labels.doc_score=Score: +labels.development_mode_warning=Running as Development mode. For production use, please install a standalone elasticsearch server. diff --git a/src/main/resources/fess_label_ja.properties b/src/main/resources/fess_label_ja.properties index 2f22e453158bc5f1dcaa0adac3bcc973d956d3b7..c2ba7d9a659c42cbb13967e4cbcd85fedddc63ee 100644 --- a/src/main/resources/fess_label_ja.properties +++ b/src/main/resources/fess_label_ja.properties @@ -882,3 +882,4 @@ labels.requestFile=\u30ea\u30af\u30a8\u30b9\u30c8\u30d5\u30a1\u30a4\u30eb labels.esreq_button_upload=\u9001\u4fe1 labels.facet_is_not_found=\u8a72\u5f53\u306a\u3057 labels.doc_score=\u30b9\u30b3\u30a2: +labels.development_mode_warning=\u958b\u767a\u30e2\u30fc\u30c9\u3067\u8d77\u52d5\u3057\u3066\u3044\u307e\u3059\u3002\u672c\u904b\u7528\u74b0\u5883\u3067\u306fElasticsearch\u3092\u5225\u9014\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u3066\u304f\u3060\u3055\u3044\u3002 diff --git a/src/main/webapp/WEB-INF/view/common/admin/header.jsp b/src/main/webapp/WEB-INF/view/common/admin/header.jsp index 6838939c98e6433217a33eb08af2e5bb62a06a09..442eeb21acefa6139d0b0fe5d91513461461a66a 100644 --- a/src/main/webapp/WEB-INF/view/common/admin/header.jsp +++ b/src/main/webapp/WEB-INF/view/common/admin/header.jsp @@ -17,6 +17,11 @@ <!-- Navbar Right Menu --> <div class="navbar-custom-menu"> <ul class="nav navbar-nav"> + <c:if test="${developmentMode}"> + <li data-toggle="tooltip" data-placement="left" title="<la:message + key="labels.development_mode_warning" />"> + <a href="${installationLink}" target="_olh"><i class="fa fa-exclamation-triangle"></i></a></li> + </c:if> <li><a href="${contextPath}/"><i class="fa fa-list-alt"></i></a></li> <li><a href="${contextPath}/admin/scheduler/details/4/default_crawler"><i diff --git a/src/main/webapp/js/admin/admin.js b/src/main/webapp/js/admin/admin.js index c4db845ad0efff5c5d590fe0e062a516dd941dbe..400deeaa6899b3e33d04628c15268b1a0ef2ca37 100644 --- a/src/main/webapp/js/admin/admin.js +++ b/src/main/webapp/js/admin/admin.js @@ -84,4 +84,8 @@ $(function() { showInputs : false }); + // tooltips + $(function() { + $('[data-toggle="tooltip"]').tooltip() + }) });