In this article by Mayank Sharma , you will learn how to effectively manage users in Openfire.
The difference between a hassled always-on-the-job admin and an admin who has plenty of time to dress for a lovely date in the evening, is how effectively they manage their users. As any admin knows, managing users is one thing, but managing users effectively takes something special—from both you and the server software. In this article, I'll show you some tips and tricks that you can use to become a happy-go-lucky system admin. But finding a beautiful date is beyond the scope of this book!
Despite the way it sounds, managing users isn't an all-involving activity—at least it shouldn't be. Most system administrators tend to follow the "install-it-forget-it" methodology to running their servers. You can do so with Openfire as well, but with a user-centeric service such as an IM server, keeping track of things isn't a bad idea. Openfire makes your job easier with its web-based admin interface.
There are several things that you can setup via the web interface that'll help you manage the users. You can install some plugins that'll help you run and manage the server more effectively, such as the plugin for importing/exporting users, and dual-benefit plugins such as the search plugin, which help users find other users in the network, and also let you check up on users using the IM service.
In this article, we will cover:
Irrespective of whether you have pre-populated user rosters, letting users find other users on the network is always a good idea. The Search Plugin works both ways—it helps your users find each other, and also helps you, the administrator, to find users and modify their settings if required.
To install the plugin, head over to the Plugins tab (refer to the following screenshot). The Search plugin is automatically installed along with Openfire, and will be listed as a plugin that is already installed. It's still a good idea to restart the plugin just to make sure that everything's ok. Locate and click the icon in the Restart column that corresponds to the Search plugin. This should restart the plugin.
The Search plugin has various configurable options, but by default the pluginis deployed with all of its features enabled. So your users can immediately start searching for users.
To tweak the Search plugin options, head over to the Server | Server Settings |Search Service Properties in the Openfire admin interface. From this page, you can enable or disable the service. Once enabled, users will be able to search for other users on the network from their clients. Not all clients have the Search feature but Spark, Exodus, Psi, and some others do.
Even if you disable this plugin, you, the admin, will still be able to search for users from the Openfire admin interface as described in the following section.
In addition to enabling the Search option, you'll have to name it. The plugin is offered as a network "service" to the users. The Openfire server offers other services and also includes the group chat feature which we will discuss in the Appendix. Calling the search service by its default name, search.< your-domain-name > is a goodidea. You should only change it if you have another service on your network with the same name.
Finally, you'll have to select the fields users can search on. The three options available are Username , Name , and Email (refer to the previous screenshot). You can enable any of these options, or all the three for a better success rate. Once you're done with setting up the options, click the Save Properties button to apply them.
To use the plugin, your users will have to use their clients to query the Openfire server and then select the search service from the ones listed. This will present them with a search interface through which they'll be able to search for their peers(refer to the following screenshot) using one or more of the three options (Username ,Name , Email ), depending on what you have enabled.
So we've let our users look for their peers, but how do you, the Openfire admin, look for users? You too can use your client, but it's better to do it from the interface since you can tweak the user's settings from there as well. To search for users from within the admin interface, head over to the Users/Groups tab. You'll notice an AdvancedUser Search option in the sidebar.
When you click on this option, you'll be presented with a single text field withthree checkboxes (refer to the previous screenshot). In the textfield, enter the user'sName, Username, and Email that you want to find. The plugin can also handle the * wildcard character so that you can search using a part of the user's details as well.For example, if you want to find a user "James", but don't know if his last name isspelled "Allen" or "Allan", try entering "James A*" in the search field and make sure that the Name checkbox is selected. Another example would be "* Smith", which looks for all the users with the last name "Smith".
The search box is case-sensitive.
So why were you looking for "James Allan", the guy with two first names? It was because his last name is in fact "Allen" and he wants to get it corrected. So you find his record with the plugin and click on his username. This brings up a summary of his properties including his status, the groups he belongs to, when he was registeredon the network, and so on. Find and click the Edit Properties button below the details, make the required changes, and click the Save Properties > button.
This article has been extracted from: Openfire Administration
A practical step-by-step guide to rolling out a secure Instant Messaging service over your network
For more information, please visit: |
Instant Messaging is an alternate line of enterprise communication, along with electronic ones such as email and traditional ones such as the telephone. Some critical tasks require instant notification and nothing beats IM when it comes to time-critical alerts.
For example, most critical server software applications, especially the ones facing outwards on to the Internet, are configured to send an email to the admin in case of an emergency—for example, a break-in attempt, abnormal shutdown, hardware failure, and so on. You can configure Openfire to route these messages to you as an IM, if you're online. If you're a startup that only advertises a single [email protected] email address which is read by all seven employees of the company, you can configure Openfire to send IMs to all of you when the VCs come calling!
Setting this up isn't an issue if you have the necessary settings handy. The email alert service connects to the email server using IMAP and requires the following options:
But first head over to the Plugins tab and install the Email Listener plugin from the list of available plugins. Once you have done this, head back to the Server tab and choose the Email Listener option in the sidebar and enter the settings in the form that pops up (refer to the following screenshot). Click the Test Settings button to allow Openfire to try to connect to the server using the settings provided. If the test is successful, finish off the setup procedure by clicking the Save button to save your settings. If the test fails, check the settings and make sure that the email server is up and running. You can test and hook them with your Gmail account as well.
That's it. Now close that email client you have running in the background, and let Openfire play secretary, while you write your world domination application!
Since Openfire is a communication tool, it reserves the coolest tricks in the bag for that purpose. The primary purpose of Openfire remains one-to-one personal interactions and many-to-many group discussion, but it can also be used as a one-to-many broadcasting tool.
This might sound familiar to you. But don't sweat, I'm not repeating myself. The one-to-many broadcasting we cover in this section is different from the Send Message tool. The Send Message tool from the web-based Openfire administration console is available only to the Openfire administrator. But the plugin we cover in this section has a much broader perspective.
For one, the Broadcast plugin can be used by non-admin users, though of course, you can limit access. Secondly, the Broadcast plugin can be used to send messages to a select group of users which can grow to include everyone in the organization using Openfire.
One use of the broadcast plugin is for sending important reminders. Here are some examples:
To reap the benefits of the Broadcast plugin, begin by installing it from under theAvailable Plugins list on the Plugins tab. This plugin has a few configuration options which should be set carefully—using a misconfigured broadcast plugin, the new guy in the purchase department could send a message of "Have you seen my stapler?" to everyone in the organization, including the CEO!
The broadcast plugin is configured via the Openfire system properties. Remember these? They are listed under the Server tab's System Properties option in the sidebar. You'll have to manually specify the settings using properties (refer to the following screenshot):
In most cases, the default options of these properties should suffice. If you don't change any variables, your service will be called "broadcast" and will allow group members to broadcast messages to their own groups and not to anyone else. You should also add the JIDs of executive members of the company (CEO, MD, etc.) to the list of users allowed to send messages to everyone in the organization.
Once you have configured the plugin, you'll have to instruct users on how to use the plugin according to the configuration. To send a message using the broadcast plugin, users must add a user with the JID in the following format @. (refer to the following screenshot).
If the CEO wants to send a message to everyone, he has to send it to a user called [email protected] , assuming that you kept the default settings, and that your Openfire server is called serverfoo. Similarly, when members of the sales department want to communicate with their departmental collegues, they have to send the message to [email protected] .
There's no dearth of IM clients. It's said that if you have ten users on your network, you'll have at least fifteen different clients. Managing user's clients is like bringing order to chaos. In this regard you'll find that Openfire is biased towards its own IMclient, Spark. But as it has all the features you'd expect from an IM client and runs on multiple platforms as well, one really can't complain.
So what can you control using the client control features? Here's a snapshot:
Don't these features sound as if they can take some of the work off your shoulders? Sure, but you'll only truly realize how cool and useful they are when you implement them! So what are you waiting for? Head over to the Plugins tab and install the Client Control plugin. When it is installed, head over to the Server | ClientManagement tab. Here you'll notice several options.
The first option under client management, Client Features , lets you enable or disable certain client features (refer to the following screenshot). These are:
By default, all of these features are enabled. When you've made changes as per your requirements, remember to save the settings using the Save Settings button.
Next, head over to the Permitted Clients option (refer to the following screenshot) to restrict the clients that users can employ. By default, Openfire allows all XMPPclients to connect to the server. If you want to run a tight ship, you can decide to limit the number of clients allowed by selecting the Specify Clients option button. From the nine clients listed for the three platforms supported by Openfire (Windows,Linux, and Mac), choose the clients you trust by selecting the checkbox next to them.If your client isn't listed, use the Add Other Client text box to add that client. When you've made your choices, click on the Save Settings button to save and implement the client control settings.
The manually-added clients are automatically added to the list of allowed clients. If you don't trust them, why add them? The remove link next tothese clients will remove them from the list of clients you trust.
This article has been extracted from: Openfire Administration
A practical step-by-step guide to rolling out a secure Instant Messaging service over your network
For more information, please visit: |
If Spark is one of the IM clients your users are allowed to use, Openfire will help you manage and roll out new versions of Spark for various plantforms as they are relaeased. From the Spark Version option in the sidebar, you can upload versions of Spark for each of the three platforms it supports—Linux, Windows,and Mac. You can also place them in the directory specified on that page(such as C:Program FilesOpenfireenterprisespark ).
In case you have multiple Spark versions for a particular platform, such as when a new version is released, you have the option of selecting an Active client (refer tothe previous screenshot). If the "Active" version is a newer version the one currently deployed, users on the network will automatically be notified that a new version is available for download. The page also has an Optional Message text box that you can use to specify a short message that users will see when downloading the client from the Openfire server.
Unlike an update, when you deploy the Openfire server for the first time, sending IM updates to users wouldn't do them any good. In this case, you can use Openfire's direct download links to download Spark. Under the Download Spark option in Openfire Enterprise, there are three sets of download links, one each for the three platforms on which Spark can run (refer to the screenshot above). Below the download links is a template email blurb that you can send to all of your users. The email informs the users of the new IM server that you have deployed and has instructions on downloading a client (Spark) for their platform as well as information on logging on.
Before the users get their hands on Spark, it's a good idea to load them with important bookmarks (refer to the screenshot above). Then you can include this information in the introductory email as well. Wouldn't your users love you if you told them that all of the important intranet URLs and the settings page are bookmarked in their clients and that if they ever run into any problems they should join and ask for solutions in the bookmarked troubleshoot chat room, the company's always-on IT helpline. You'll be a demigod! All hail the Openfire admin!
Do your users move around a lot? If yours is a terminal server environment where users don't have a fixed computer but rather they log in to the server (which stores their files) from any machine, it doesn't make sense to store the user's settings on a particular machine. Openfire can support this setup by aping the network settings and storing user files on the server instead of a local machine. This is done via thePrivate Data option.
Using private data storage, all XMPP/Jabber clients store their settings, group and web bookmarks, and so on, for every user on the Openfire server. This allows users the freedom to log into their account from any machine on the network, and their settings will follow them around.
To enable this feature, head over to Server | Server Settings | Private Data Storage (refer to the previous screenshot). All you have to do now is choose the Enable Private Data Storage option button and save the settings. If, on the other hand, you'd rather bind a user's settings to the machine from which they first log into the server, choose the Disable Private Data Storage option.
Coming back to reality, there are only very few things in an admin's list of things that come close to a server migration. My 10-year veteran admin friend thinks there's nothing like a server migration to make your day! For him, migration involves a huge checklist and a wasted weekend. But if you use Openfire, you can retain your happy-go-lucky charm and get the job done before your users return from lunch.
Migration is actually a small subset of a bigger problem. There are a couple of situations that can very well be described as an admin's worst nightmare:
It might sound retro, but whatever the case maybe, have no fear, Openfire is here. Irrespective of whether you are switching servers, or moving users from an existing XMPP/Jabber IM server into Openfire, you're doing the right thing and you know you're doing the right thing because Openfire makes the process a walk-in-the park—thanks to the user Import/Export plugin.
The user Import/Export plugin lets you import and export Openfire user data via the Admin Console. This user data includes usernames, passwords, names, emailaddresses, creation and modification dates, and roster lists. Also, as I said, this plugin helps you when migrating users from other Jabber/XMPP based systems to Openfire.
For all the tough work it does, the plugin is relatively simple to use. Install it from the list of Available Plugins under the Plugins tab. Then head over to the Users/Groups tab where you'll notice a new Import & Export sub-tab. Clicking on this brings you to a simple page with two links—one to import user data, and the other to export user data.
Openfire data is exported as an XML file. There are two options when exporting user data. You can either save the export data to a file name or have it displayed on the screen and then copy-paste it to wherever you want to (refer to the following screenshot).
Select the To File option by clicking on the option button adjacent to it and specifya file name in the Export File Name: text box. When you click on the Export button,the Openfire user XML data will be saved to the file you specified.
The other option is to copy-paste the data yourself. Some administrators might prefer this option to save the data in multiple places or on remote machines. To export the data manually, choose the To Screen option button and click on the Export button. This displays the data in the text box provided.
Be careful when exporting user data, because all of the user passwords in the exported XML file are displayed unencrypted as plain text and can be used by anyone. It's not a bad idea to ask users to change their passwords immediately after you have completed the migration process.
You can import data into Openfire via an XML file imported from an XMPP/Jabberserver. On the import page (refer to the following screenshot), the Browse buttonwill help you locate the file that contains the user information. When you have the file, click on the Import button. This starts the import process.
When the plugin has successfully imported all user data, it will display a message stating All users added successfully . However, if the plugin was not successful in importing all user data, it will display an error message indicating what might have gone wrong. You can resolve the error and try again. Don't worry about duplicate data when resuming a broken import. If the plugin detects a user that already exists in the system, it will skip importing that user or its roster information.
During the import process, you also have the option of changing the domain name of the data being imported from the old domain to the new domain. To do this, after selecting the file to import the data from, in the Import User Data section, specify the old domain name as mentioned in the import file in the Replace Domain text field. Now when Openfire imports the data, it will replace all instances of the old domain, such as in roster information, with the domain name of the Openfire server you are importing the data into.
Here is a sample of an exported user list from the plugin's readme file. It contains two users, Joe and Sally, who have added each other to their respective rosters.
<?xml version="1.0" encoding="UTF-8"?> <Openfire> <User> <Username>joe</Username> <Password>joepwd</Password> <Email></Email> <Name></Name> <CreationDate>1125601449177</CreationDate> <ModifiedDate>1125601449177</ModifiedDate> <Roster> <Item jid="sally@localhost" askstatus="-1" recvstatus="-1" substatus="3" name="Sally"> <Group/> </Item> </Roster> </User> <User> <Username>sally</Username> <Password>sallypwd</Password> <Email></Email> <Name></Name> <CreationDate>1125601471848</CreationDate> <ModifiedDate>1125601471848</ModifiedDate> <Roster> <Item jid="joe@localhost" askstatus="-1" recvstatus="-1" substatus="3"> <Group/> </Item> </Roster> </User> </Openfire>
Notice the different status types? Here is a list of all of the different status types, witha brief description, also from the plugin's readme file.
In this article, we’ve explored several ways of effectively administrating users. The tips and tricks covered in the article will help you no matter how many users you have on the network— three or three thousand. Openfire can scale effortlessly as your organization grows, and thanks to some very useful accessories, you’ll be saved a lot of headache when it does If you are using an existing IM server, you can start enjoying the benefits of Openfire right from the word go. This article has detailed how you can import user data into their roster lists from any XMPP server to Openfire. The tool that helps you do this can also be used to export this data when switching servers and adjusting your domain name when migrating the server to another domain.
We’ve then seen how easily you can maintain decorum in conversations. Openfire can also work along with email to alert you of important messages. But it’s in a class of its own when it comes to doing what it’s designed to do—help you communicate. We’ve covered tools that’ll help members of the organization broadcast messages to their peers based on preset company rules. We have also discussed the client control features of the Enterprise version. If you want to run a tight ship, the Enterprise plugin can let you limit the number of IM clients authorized to interact with Openfire server in addition to disabling certain features. You can also use the Enterprise tools to place versions of Spark (Openfire’s official IM client) on the network and alert users to grab the latest version from the intranet, saving valuable bandwidth and leaving you in charge. Ah, every admin’s dream come true!
This article has been extracted from: Openfire Administration
A practical step-by-step guide to rolling out a secure Instant Messaging service over your network
For more information, please visit: |
Mayank Sharma is a contributing editor at SourceForge, Inc's Linux.com. He also writes a monthly column for Packt Publishing. Mayank has contributed several technical articles to IBM developerWorks where he hosts a Linux Security blog. When not writing, he occasionally teaches courses on Open Source topics at the Indian Institute of Technology, Delhi, as Industry Expert.
http://translate.google.cn/translate?hl=zh-CN&sl=en&u=http://yc75.iteye.com/blog/355890