As if the native features weren't enough, Spark, similar to Openfire, can also be extended through the use of external plugins. You will find that some of the plugins are already installed on your client, depending on the operating system you are running it on, and the Openfire services you have enabled on the server.
The Spark Plugins interface is tucked away under Spark | Plugins. Listed under two tabs in this interface are installed plugins and installable plugins. If you are running Spark on Linux, you'll notice you have a plugin called Linux Idle TimeOut preinstalled. As the name suggests, this plugin is available for the Linux client only, and gives Spark its ability to detect and handle idle sessions. Also installed will be the SpellChecker for Spark plugin, thanks to which Spark gets its spell-check capabilities.
If you have Fastpath enabled on your Openfire server, the Spark client will also have the Fastpath plugin installed. This plugin adds a tab to the Spark interface to provide the user-centric Fastpath features we discussed at the end of the previous chapter. And if you have enabled Openfire to interact with your SIP telephony system, the Phone Client plugin is where the rubber hits the road. Using this plugin, you'll be able to make calls to other users from within Spark itself.
There are a couple of plugins that you can install in any Spark installation irrespective of the platform you are running it on. These are the Transfer Guard plugin, and the Translator plugin. Once installed, plugins can be controlled from under the Spark preferences menu accessible via Spark | Preferences | Transfer Guard.
As the name suggests, with the Transfer Guard installed, users can block file transfers of:
Files with a particular extension
Files from particular senders
Files exceeding a preset file size
The Transfer Guard plugin also lets you set an automated file rejection response.
The Translator plugin will be very useful when you interact with users who are non-native speakers of English. This plugin uses Google's translator service, and will translate your English messages into various other languages including German, Spanish, Italian, French, Korean, and Chinese.
The best thing about this plugin is that in your chat window, you'll still be able to see the messages in English, and it's only the recipient who sees the translated version. The bad thing is that if the other user doesn't use the plugin, or forgets to select the reverse translation method, you will see the response in a non-English language, as the plugin isn't designed to translate received messages.