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 @@ ...@@ -43,6 +43,33 @@
<h1> <h1>
Client Control Plugin Changelog Client Control Plugin Changelog
</h1> </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> <p><b>2.1.1</b> -- December 30, 2016</p>
<ul> <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> <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 @@ ...@@ -8,8 +8,8 @@
<name>Client Control</name> <name>Client Control</name>
<description>Controls clients allowed to connect and available features</description> <description>Controls clients allowed to connect and available features</description>
<author>Jive Software</author> <author>Jive Software</author>
<version>2.1.1</version> <version>2.1.2</version>
<date>12/30/2016</date> <date>5/07/2017</date>
<minServerVersion>4.0.0</minServerVersion> <minServerVersion>4.0.0</minServerVersion>
<!-- UI extension --> <!-- UI extension -->
......
...@@ -74,9 +74,9 @@ server. However, only sophisticated and knowledgeable users may be able to do su ...@@ -74,9 +74,9 @@ server. However, only sophisticated and knowledgeable users may be able to do su
<li>Account Registration</li> <li>Account Registration</li>
<li>Advanced Configuration</li> <li>Advanced Configuration</li>
<li>Host Name Change</li> <li>Host Name Change</li>
<li>Login Anonymously</li>
<li>Login as Invisible</li> <li>Login as Invisible</li>
<li>Save Password & Autologin</li> <li>Save Password &amp; Autologin</li>
<li>Anonymous Login</li>
</ul> </ul>
<p> <p>
This means that the user will need to login a second time before the particular client feature takes effect. 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 ...@@ -62,6 +62,8 @@ client.features.addgroups = Add Groups
client.features.addgroups.description = Allow users to add new groups. client.features.addgroups.description = Allow users to add new groups.
client.features.advanced = Advanced Configuration client.features.advanced = Advanced Configuration
client.features.advanced.description = Allow users access to the "Advanced" configuration button on login screen. 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 = Avatars
client.features.avatars.description = Allow users access to the "Avatar" tab. client.features.avatars.description = Allow users access to the "Avatar" tab.
client.features.broadcasting = Broadcasting client.features.broadcasting = Broadcasting
...@@ -74,15 +76,15 @@ client.features.helpforums = Help Forums ...@@ -74,15 +76,15 @@ client.features.helpforums = Help Forums
client.features.helpforums.description = Allow users access to the "Spark forums" menu item. client.features.helpforums.description = Allow users access to the "Spark forums" menu item.
client.features.helpuserguide = Help User Guide client.features.helpuserguide = Help User Guide
client.features.helpuserguide.description = Allow users access to the "User guide" menu item. client.features.helpuserguide.description = Allow users access to the "User guide" menu item.
client.features.history = History Settings client.features.historysettings = History Settings
client.features.history.description = Allow users access to 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 = Host Name Change
client.features.hostname.description = Allow users to change the host name. 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.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 = Login as Invisible
client.features.invisiblelogin.description = Allow users access to the "Login as invisible" option on login screen. 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 = Logout & Exit
client.features.logoutexit.description = Allow users to logout and exit. client.features.logoutexit.description = Allow users to logout and exit.
client.features.movecopy = Move & Copy Contacts client.features.movecopy = Move & Copy Contacts
......
...@@ -400,11 +400,17 @@ public class SparkManager implements Component { ...@@ -400,11 +400,17 @@ public class SparkManager implements Component {
} }
// Check for HISTORY SETTINGS feature // Check for HISTORY SETTINGS feature
boolean historyEnabled = Boolean.parseBoolean(JiveGlobals.getProperty("history.enabled", "true")); boolean historysettingsEnabled = Boolean.parseBoolean(JiveGlobals.getProperty("historysettings.enabled", "true"));
if (historyEnabled) { if (historysettingsEnabled) {
responseElement.addElement("feature").addAttribute("var", "history-settings"); 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 // Check for HOST NAME CHANGE feature
boolean hostnameEnabled = Boolean.parseBoolean(JiveGlobals.getProperty("hostname.enabled", "true")); boolean hostnameEnabled = Boolean.parseBoolean(JiveGlobals.getProperty("hostname.enabled", "true"));
if (hostnameEnabled) { if (hostnameEnabled) {
......
...@@ -20,7 +20,22 @@ ...@@ -20,7 +20,22 @@
String fileTransferEnabledString = JiveGlobals.getProperty("transfer.enabled", "true"); String fileTransferEnabledString = JiveGlobals.getProperty("transfer.enabled", "true");
String helpforumsEnabledString = JiveGlobals.getProperty("helpforums.enabled", "true"); String helpforumsEnabledString = JiveGlobals.getProperty("helpforums.enabled", "true");
String helpuserguideEnabledString = JiveGlobals.getProperty("helpuserguide.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 hostnameEnabledString = JiveGlobals.getProperty("hostname.enabled", "true");
String invisibleloginEnabledString = JiveGlobals.getProperty("invisiblelogin.enabled", "true"); String invisibleloginEnabledString = JiveGlobals.getProperty("invisiblelogin.enabled", "true");
String anonymousloginEnabledString = JiveGlobals.getProperty("anonymouslogin.enabled", "true"); String anonymousloginEnabledString = JiveGlobals.getProperty("anonymouslogin.enabled", "true");
...@@ -63,7 +78,8 @@ ...@@ -63,7 +78,8 @@
fileTransferEnabledString = request.getParameter("transferEnabled"); fileTransferEnabledString = request.getParameter("transferEnabled");
helpforumsEnabledString = request.getParameter("helpforumsEnabled"); helpforumsEnabledString = request.getParameter("helpforumsEnabled");
helpuserguideEnabledString = request.getParameter("helpuserguideEnabled"); helpuserguideEnabledString = request.getParameter("helpuserguideEnabled");
historyEnabledString = request.getParameter("historyEnabled"); historysettingsEnabledString = request.getParameter("historysettingsEnabled");
historytranscriptsEnabledString = request.getParameter("historytranscriptsEnabled");
hostnameEnabledString = request.getParameter("hostnameEnabled"); hostnameEnabledString = request.getParameter("hostnameEnabled");
invisibleloginEnabledString = request.getParameter("invisibleloginEnabled"); invisibleloginEnabledString = request.getParameter("invisibleloginEnabled");
anonymousloginEnabledString = request.getParameter("anonymousloginEnabled"); anonymousloginEnabledString = request.getParameter("anonymousloginEnabled");
...@@ -91,7 +107,8 @@ ...@@ -91,7 +107,8 @@
JiveGlobals.setProperty("transfer.enabled", fileTransferEnabledString); JiveGlobals.setProperty("transfer.enabled", fileTransferEnabledString);
JiveGlobals.setProperty("helpforums.enabled", helpforumsEnabledString); JiveGlobals.setProperty("helpforums.enabled", helpforumsEnabledString);
JiveGlobals.setProperty("helpuserguide.enabled", helpuserguideEnabledString); 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("hostname.enabled", hostnameEnabledString);
JiveGlobals.setProperty("invisiblelogin.enabled", invisibleloginEnabledString); JiveGlobals.setProperty("invisiblelogin.enabled", invisibleloginEnabledString);
JiveGlobals.setProperty("anonymouslogin.enabled", anonymousloginEnabledString); JiveGlobals.setProperty("anonymouslogin.enabled", anonymousloginEnabledString);
...@@ -120,7 +137,8 @@ ...@@ -120,7 +137,8 @@
boolean transferEnabled = Boolean.parseBoolean(fileTransferEnabledString); boolean transferEnabled = Boolean.parseBoolean(fileTransferEnabledString);
boolean helpforumsEnabled = Boolean.parseBoolean(helpforumsEnabledString); boolean helpforumsEnabled = Boolean.parseBoolean(helpforumsEnabledString);
boolean helpuserguideEnabled = Boolean.parseBoolean(helpuserguideEnabledString); 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 hostnameEnabled = Boolean.parseBoolean(hostnameEnabledString);
boolean invisibleloginEnabled = Boolean.parseBoolean(invisibleloginEnabledString); boolean invisibleloginEnabled = Boolean.parseBoolean(invisibleloginEnabledString);
boolean anonymousloginEnabled = Boolean.parseBoolean(anonymousloginEnabledString); boolean anonymousloginEnabled = Boolean.parseBoolean(anonymousloginEnabledString);
...@@ -299,36 +317,36 @@ ...@@ -299,36 +317,36 @@
</td> </td>
</tr> </tr>
<tr> <tr>
<td><b><fmt:message key="client.features.history" /></b> - <fmt:message key="client.features.spark.only" /><br/><span class="jive-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.history.description" /> <fmt:message key="client.features.historysettings.description" />
</span></td> </span></td>
<td width="1%" nowrap> <td width="1%" nowrap>
<input type="radio" name="historyEnabled" value="true" <%= historyEnabled ? "checked" : "" %> /> <input type="radio" name="historysettingsEnabled" value="true" <%= historysettingsEnabled ? "checked" : "" %> />
</td> </td>
<td width="1%" nowrap> <td width="1%" nowrap>
<input type="radio" name="historyEnabled" value="false" <%= !historyEnabled ? "checked" : "" %> /> <input type="radio" name="historysettingsEnabled" value="false" <%= !historysettingsEnabled ? "checked" : "" %> />
</td> </td>
</tr> </tr>
<tr> <tr>
<td><b><fmt:message key="client.features.hostname" /></b> - <fmt:message key="client.features.spark.only" /><br/><span class="jive-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.hostname.description" /> <fmt:message key="client.features.historytranscripts.description" />
</span></td> </span></td>
<td width="1%" nowrap> <td width="1%" nowrap>
<input type="radio" name="hostnameEnabled" value="true" <%= hostnameEnabled ? "checked" : "" %> /> <input type="radio" name="historytranscriptsEnabled" value="true" <%= historytranscriptsEnabled ? "checked" : "" %> />
</td> </td>
<td width="1%" nowrap> <td width="1%" nowrap>
<input type="radio" name="hostnameEnabled" value="false" <%= !hostnameEnabled ? "checked" : "" %> /> <input type="radio" name="historytranscriptsEnabled" value="false" <%= !historytranscriptsEnabled ? "checked" : "" %> />
</td> </td>
</tr> </tr>
<tr> <tr>
<td><b><fmt:message key="client.features.invisiblelogin" /></b> - <fmt:message key="client.features.spark.only" /><br/><span class="jive-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.invisiblelogin.description" /> <fmt:message key="client.features.hostname.description" />
</span></td> </span></td>
<td width="1%" nowrap> <td width="1%" nowrap>
<input type="radio" name="invisibleloginEnabled" value="true" <%= invisibleloginEnabled ? "checked" : "" %> /> <input type="radio" name="hostnameEnabled" value="true" <%= hostnameEnabled ? "checked" : "" %> />
</td> </td>
<td width="1%" nowrap> <td width="1%" nowrap>
<input type="radio" name="invisibleloginEnabled" value="false" <%= !invisibleloginEnabled ? "checked" : "" %> /> <input type="radio" name="hostnameEnabled" value="false" <%= !hostnameEnabled ? "checked" : "" %> />
</td> </td>
</tr> </tr>
</table> </table>
...@@ -351,7 +369,18 @@ ...@@ -351,7 +369,18 @@
<td width="1%" nowrap> <td width="1%" nowrap>
<input type="radio" name="anonymousloginEnabled" value="false" <%= !anonymousloginEnabled ? "checked" : "" %> /> <input type="radio" name="anonymousloginEnabled" value="false" <%= !anonymousloginEnabled ? "checked" : "" %> />
</td> </td>
</tr> </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> <tr>
<td><b><fmt:message key="client.features.logoutexit" /></b> - <fmt:message key="client.features.spark.only" /><br/><span class="jive-description"> <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" /> <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