Disable chat history and prevent setting change

I work in the IT Department at my company.

There was a decision made from the higher ups that they want chat history disabled on every client.

Ideally we would be able to turn this off from the server, but I’ve read a few threads and it doesn’t appear that is currently an option.

So how do we prevent a user, who may have admin rights, from turning chat history back on if we turn it off.

Any suggestions on how we can accomplish this would be appreciated. I am being told that if we can’t find a permanent solution we may need to switch to a different client / solution.

Thanks,

Joshua

I faced the same issue recently (needing to disable multiple features client-side). My answer was to modify Spark’s source. The negative to this method is merging your changes with every new release.

I recommend checking out default.properties under \src\java\org\jivesoftware\resource . I would also heavily recommend extending Default.java with your own variables. And then you just add these lines to whatever *.java you want:

At the top:

import org.jivesoftware.resource.Default;

In the code:

if (!Default.getBoolean(Default.SOMETHING_DISABLED)) {

// the something you want disabled

}

When I was researching this topic (disabling features) I noticed there weren’t many threads with specific answers. Most just said “modify the source yourself.” If I have time I’m thinking of creating a document that covers how I did it.

Thanks for the reply Patrick.

I’m assuming the default.properties file is on the server.

I’ll work with our server admins tomorrow to see if I can take a look at the file.

Patrick,

I couldn’t find a file named default.properties on the server, or a folder named src.

Can you point me in the right direction on where to find the file on the server?

Thanks,

Joshua

You will need to download the Spark soure code from the SVN, modify the code, compile it with ANT (or NetBeans…see documents in this forum for the setup guide), and then distribute the modified Spark client to your users. You may also want to purchase a copy of install4j so you can create an installer (files for install4j configuration are under /build/installer/ in the source).

Ok, so this would require a client re-install locally. But that would prevent the user from ever changing the setting.

This is definitely a possiblity but not an easy solution when were talking about a few hundred users all over the US.

I think the easier solution would be to just remove permissions on the Spark\user<username>\transcripts folder’s they can’t even create the xml files in that folder.

So there is no way to restrict clients settings directly from the server?

So there is no way to restrict clients settings directly from the server?

Not the history settings.

The history is stored locally.

A way to edit default.properties without having to mess with the source is opening the spark.jar with a archive utility (7zip for example) and editing the file yourself. Then pusing the updated spark.jar file to the clients using a GPO Policy or a software deployment utility.

In the default.properties you can give a custom numbering/naming to the client, then in the sessions you can check who has the custom name and who hasn’t to verify the applied settings.

A way to edit default.properties without having to mess with the source is opening the spark.jar with a archive utility
I wanted to point this as well, but as i have checked there is currently no option to disable history via default.properties file.

I have filed a ticket for this SPARK-1436. But this is still a client side option.

Disabling this on server could be a part of Client Control plugin, but one has to program it both for that plugin and Spark. Which currently sounds impossible (due to lack of active developers, especially on the Openfire side).

Thanks for the follow up posts.

If it’s going to require us to touch the clients machines, then we have a solution in place that doesn’t require us to deal with the client settings at all and it should persist through different versions.

We just remove permissions to the transcripts folder, so only domain admins have rights. That way Spark can’t even create the .xml files no matter what the users settings are.

The only problem with this solution is that it takes around 3-5 min to configure per machine and I just hope and pray that path of the transcripts doesn’t change

[SPARK-1436] Add option to disable chat history via default.properties - Jive Software Open Source

Added HISTORY_DISABLED option to default.properties. When set to true it removed history settings from the preferences, disables writing of history to a file, removes previous history from the chat window. Also removes history button for a chat window and history context menu. Old history files will be left in tact, it is up to a user/administrator to remove old history.

This option is available since the 709 build and will be included in 2.7.3 version Ignite Realtime: Spark Nightly Builds