Commit d28568fe authored by Michael Klein's avatar Michael Klein Committed by Guus der Kinderen

OF-1325 -- Implement separate History settings in Client Control (#796)

* OF-1325 -- Implement separate History settings in Client Control

* OF-1325 -- Implement separate History settings in Client Control

* OF-1325 -- Implement separate History settings in Client Control
parent f81a68f9
......@@ -43,6 +43,33 @@
<h1>
Client Control Plugin Changelog
</h1>
<p><b>2.1.2</b> -- May 7, 2017</p>
<ul>
<li>[<a href='http://www.igniterealtime.org/issues/browse/OF-1325'>OF-1325</a>] - Adds 'History Transcripts' and fixes 'History Settings' in Client Control.</li>
</ul>
<ul>
<li><b>NOTE:</b> This update corresponds to ticket SPARK-1915 and requires Spark version 2.9.0 and above for proper functionality.</li>
<li>If a previous version of this plugin was installed, the previous History Settings will be carried over and split into the new settings.</li>
</ul>
<ul>
<li><b>History Settings</b> - Corresponds to <i>HIDE_HISTORY_SETTINGS</i> in 'default.properties' file and performs the following actions when set to <i>Disabled</i>:
<ul>
<li>Removes history settings from Preferences menu</li>
<li>Removes 'clear' option from context menu in the chat window</li>
</ul>
<br>
<li><b>History Transcripts</b> - Corresponds to <i>HISTORY_DISABLED</i> in 'default.properties' file and performs the following actions when set to <i>Disabled</i>:
<ul>
<li>Removes history settings from Preferences menu</li>
<li>Removes 'clear' option from context menu in the chat window</li>
<li>Removes history button from the chat window</li>
<li>Removes 'View Log' option from context menu in chat window</li>
<li>Removes history from the chat window</li>
<li>Removes 'View contact history' option from contact&#39;s context menu</li>
<li>Does not save history into transcript files</li>
</ul>
</ul>
<p><b>2.1.1</b> -- December 30, 2016</p>
<ul>
<li>[<a href='http://www.igniterealtime.org/issues/browse/OF-1258'>OF-1258</a>] - Adds an option to enable/disable anonymous login in Spark.</li>
......
......@@ -8,8 +8,8 @@
<name>Client Control</name>
<description>Controls clients allowed to connect and available features</description>
<author>Jive Software</author>
<version>2.1.1</version>
<date>12/30/2016</date>
<version>2.1.2</version>
<date>5/07/2017</date>
<minServerVersion>4.0.0</minServerVersion>
<!-- UI extension -->
......
......@@ -74,9 +74,9 @@ server. However, only sophisticated and knowledgeable users may be able to do su
<li>Account Registration</li>
<li>Advanced Configuration</li>
<li>Host Name Change</li>
<li>Login Anonymously</li>
<li>Login as Invisible</li>
<li>Save Password & Autologin</li>
<li>Anonymous Login</li>
<li>Save Password &amp; Autologin</li>
</ul>
<p>
This means that the user will need to login a second time before the particular client feature takes effect.
......
......@@ -62,6 +62,8 @@ client.features.addgroups = Add Groups
client.features.addgroups.description = Allow users to add new groups.
client.features.advanced = Advanced Configuration
client.features.advanced.description = Allow users access to the "Advanced" configuration button on login screen.
client.features.anonymouslogin = Login Anonymously
client.features.anonymouslogin.description = Allow users access to the "Login anonymously" option on login screen.
client.features.avatars = Avatars
client.features.avatars.description = Allow users access to the "Avatar" tab.
client.features.broadcasting = Broadcasting
......@@ -74,15 +76,15 @@ client.features.helpforums = Help Forums
client.features.helpforums.description = Allow users access to the "Spark forums" menu item.
client.features.helpuserguide = Help User Guide
client.features.helpuserguide.description = Allow users access to the "User guide" menu item.
client.features.history = History Settings
client.features.history.description = Allow users access to history settings.
client.features.historysettings = History Settings
client.features.historysettings.description = Allow users access to history settings.
client.features.historytranscripts = History Transcripts
client.features.historytranscripts.description = Allow users control of history transcript logging and its settings.
client.features.hostname = Host Name Change
client.features.hostname.description = Allow users to change the host name.
client.features.info = Use the form below to enable or disable client features. Note: Unless otherwise specified, the following options pertain to the Spark client.
client.features.invisiblelogin = Login as Invisible
client.features.invisiblelogin.description = Allow users access to the "Login as invisible" option on login screen.
client.features.anonymouslogin = Login anonymously
client.features.anonymouslogin.description = Allow users access to the "Login anonymously" option on login menu.
client.features.logoutexit = Logout & Exit
client.features.logoutexit.description = Allow users to logout and exit.
client.features.movecopy = Move & Copy Contacts
......
......@@ -400,11 +400,17 @@ public class SparkManager implements Component {
}
// Check for HISTORY SETTINGS feature
boolean historyEnabled = Boolean.parseBoolean(JiveGlobals.getProperty("history.enabled", "true"));
if (historyEnabled) {
boolean historysettingsEnabled = Boolean.parseBoolean(JiveGlobals.getProperty("historysettings.enabled", "true"));
if (historysettingsEnabled) {
responseElement.addElement("feature").addAttribute("var", "history-settings");
}
// Check for HISTORY TRANSCRIPTS feature
boolean historytranscriptsEnabled = Boolean.parseBoolean(JiveGlobals.getProperty("historytranscripts.enabled", "true"));
if (historytranscriptsEnabled) {
responseElement.addElement("feature").addAttribute("var", "history-transcripts");
}
// Check for HOST NAME CHANGE feature
boolean hostnameEnabled = Boolean.parseBoolean(JiveGlobals.getProperty("hostname.enabled", "true"));
if (hostnameEnabled) {
......
......@@ -20,7 +20,22 @@
String fileTransferEnabledString = JiveGlobals.getProperty("transfer.enabled", "true");
String helpforumsEnabledString = JiveGlobals.getProperty("helpforums.enabled", "true");
String helpuserguideEnabledString = JiveGlobals.getProperty("helpuserguide.enabled", "true");
String historyEnabledString = JiveGlobals.getProperty("history.enabled", "true");
// If the "history.enabled" property name exists from an older version of Client Control, then:
// 1) Carry over its property value to "History Settings" and "History Transcripts"
// 2) Delete the "history.enabled" property name since it has been superceded
String oldHistorySettings = JiveGlobals.getProperty("history.enabled");
if (oldHistorySettings != null) {
JiveGlobals.setProperty("historysettings.enabled", oldHistorySettings);
JiveGlobals.setProperty("historytranscripts.enabled", oldHistorySettings);
JiveGlobals.deleteProperty("history.enabled");
}
String historysettingsEnabledString = JiveGlobals.getProperty("historysettings.enabled", "true");
String historytranscriptsEnabledString = JiveGlobals.getProperty("historytranscripts.enabled", "true");
String hostnameEnabledString = JiveGlobals.getProperty("hostname.enabled", "true");
String invisibleloginEnabledString = JiveGlobals.getProperty("invisiblelogin.enabled", "true");
String anonymousloginEnabledString = JiveGlobals.getProperty("anonymouslogin.enabled", "true");
......@@ -63,7 +78,8 @@
fileTransferEnabledString = request.getParameter("transferEnabled");
helpforumsEnabledString = request.getParameter("helpforumsEnabled");
helpuserguideEnabledString = request.getParameter("helpuserguideEnabled");
historyEnabledString = request.getParameter("historyEnabled");
historysettingsEnabledString = request.getParameter("historysettingsEnabled");
historytranscriptsEnabledString = request.getParameter("historytranscriptsEnabled");
hostnameEnabledString = request.getParameter("hostnameEnabled");
invisibleloginEnabledString = request.getParameter("invisibleloginEnabled");
anonymousloginEnabledString = request.getParameter("anonymousloginEnabled");
......@@ -91,7 +107,8 @@
JiveGlobals.setProperty("transfer.enabled", fileTransferEnabledString);
JiveGlobals.setProperty("helpforums.enabled", helpforumsEnabledString);
JiveGlobals.setProperty("helpuserguide.enabled", helpuserguideEnabledString);
JiveGlobals.setProperty("history.enabled", historyEnabledString);
JiveGlobals.setProperty("historysettings.enabled", historysettingsEnabledString);
JiveGlobals.setProperty("historytranscripts.enabled", historytranscriptsEnabledString);
JiveGlobals.setProperty("hostname.enabled", hostnameEnabledString);
JiveGlobals.setProperty("invisiblelogin.enabled", invisibleloginEnabledString);
JiveGlobals.setProperty("anonymouslogin.enabled", anonymousloginEnabledString);
......@@ -120,7 +137,8 @@
boolean transferEnabled = Boolean.parseBoolean(fileTransferEnabledString);
boolean helpforumsEnabled = Boolean.parseBoolean(helpforumsEnabledString);
boolean helpuserguideEnabled = Boolean.parseBoolean(helpuserguideEnabledString);
boolean historyEnabled = Boolean.parseBoolean(historyEnabledString);
boolean historysettingsEnabled = Boolean.parseBoolean(historysettingsEnabledString);
boolean historytranscriptsEnabled = Boolean.parseBoolean(historytranscriptsEnabledString);
boolean hostnameEnabled = Boolean.parseBoolean(hostnameEnabledString);
boolean invisibleloginEnabled = Boolean.parseBoolean(invisibleloginEnabledString);
boolean anonymousloginEnabled = Boolean.parseBoolean(anonymousloginEnabledString);
......@@ -299,36 +317,36 @@
</td>
</tr>
<tr>
<td><b><fmt:message key="client.features.history" /></b> - <fmt:message key="client.features.spark.only" /><br/><span class="jive-description">
<fmt:message key="client.features.history.description" />
<td><b><fmt:message key="client.features.historysettings" /></b> - <fmt:message key="client.features.spark.only" /><br/><span class="jive-description">
<fmt:message key="client.features.historysettings.description" />
</span></td>
<td width="1%" nowrap>
<input type="radio" name="historyEnabled" value="true" <%= historyEnabled ? "checked" : "" %> />
<input type="radio" name="historysettingsEnabled" value="true" <%= historysettingsEnabled ? "checked" : "" %> />
</td>
<td width="1%" nowrap>
<input type="radio" name="historyEnabled" value="false" <%= !historyEnabled ? "checked" : "" %> />
<input type="radio" name="historysettingsEnabled" value="false" <%= !historysettingsEnabled ? "checked" : "" %> />
</td>
</tr>
<tr>
<td><b><fmt:message key="client.features.hostname" /></b> - <fmt:message key="client.features.spark.only" /><br/><span class="jive-description">
<fmt:message key="client.features.hostname.description" />
<td><b><fmt:message key="client.features.historytranscripts" /></b> - <fmt:message key="client.features.spark.only" /><br/><span class="jive-description">
<fmt:message key="client.features.historytranscripts.description" />
</span></td>
<td width="1%" nowrap>
<input type="radio" name="hostnameEnabled" value="true" <%= hostnameEnabled ? "checked" : "" %> />
<input type="radio" name="historytranscriptsEnabled" value="true" <%= historytranscriptsEnabled ? "checked" : "" %> />
</td>
<td width="1%" nowrap>
<input type="radio" name="hostnameEnabled" value="false" <%= !hostnameEnabled ? "checked" : "" %> />
<input type="radio" name="historytranscriptsEnabled" value="false" <%= !historytranscriptsEnabled ? "checked" : "" %> />
</td>
</tr>
<tr>
<td><b><fmt:message key="client.features.invisiblelogin" /></b> - <fmt:message key="client.features.spark.only" /><br/><span class="jive-description">
<fmt:message key="client.features.invisiblelogin.description" />
<td><b><fmt:message key="client.features.hostname" /></b> - <fmt:message key="client.features.spark.only" /><br/><span class="jive-description">
<fmt:message key="client.features.hostname.description" />
</span></td>
<td width="1%" nowrap>
<input type="radio" name="invisibleloginEnabled" value="true" <%= invisibleloginEnabled ? "checked" : "" %> />
<input type="radio" name="hostnameEnabled" value="true" <%= hostnameEnabled ? "checked" : "" %> />
</td>
<td width="1%" nowrap>
<input type="radio" name="invisibleloginEnabled" value="false" <%= !invisibleloginEnabled ? "checked" : "" %> />
<input type="radio" name="hostnameEnabled" value="false" <%= !hostnameEnabled ? "checked" : "" %> />
</td>
</tr>
</table>
......@@ -352,6 +370,17 @@
<input type="radio" name="anonymousloginEnabled" value="false" <%= !anonymousloginEnabled ? "checked" : "" %> />
</td>
</tr>
<tr>
<td><b><fmt:message key="client.features.invisiblelogin" /></b> - <fmt:message key="client.features.spark.only" /><br/><span class="jive-description">
<fmt:message key="client.features.invisiblelogin.description" />
</span></td>
<td width="1%" nowrap>
<input type="radio" name="invisibleloginEnabled" value="true" <%= invisibleloginEnabled ? "checked" : "" %> />
</td>
<td width="1%" nowrap>
<input type="radio" name="invisibleloginEnabled" value="false" <%= !invisibleloginEnabled ? "checked" : "" %> />
</td>
</tr>
<tr>
<td><b><fmt:message key="client.features.logoutexit" /></b> - <fmt:message key="client.features.spark.only" /><br/><span class="jive-description">
<fmt:message key="client.features.logoutexit.description" />
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment