Deploying IBM Lotus Connections: Maintenance

This article, part 3 in a seven-part series on deploying IBM Lotus Connections, focuses on system maintenance, backup and recovery strategies, and tips to protect your environment from unexpected data loss or corruption. This article also covers practices for policing your Lotus Connections content.

Share:

Hua Guo (huaguo@us.ibm.com), Senior I/T Specialist, IBM

Hua Guo is a Senior I/T Specialist who has been with IBM since 2001. He has been working on the IBM Software Services for Lotus Connections Early Adoption project since April 2007. Mr. Guo joined IBM Software Services in September 2006; prior to this assignment he led and executed function verification testing and system verification testing for IBM Lotus Expeditor and IBM WebSphere Everyplace Access. You can reach Mr. Guo at huaguo@us.ibm.com.



11 September 2007 (First published 14 August 2007)

Also available in Chinese

This article covers recommended practices for maintenance strategies for IBM Lotus Connections. Specifically, this article discusses maintenance strategies and available backup utilities. The first section outlines things to consider when building your server maintenance plan. Next, it discusses the content stores and files that should be backed up periodically. Finally, it describes at a high level the utilities available for administering Lotus Connections.

The content of this article is intended for I/T specialists and is helpful when planning and maintaining a Lotus Connections deployment.

Server maintenance strategies

Lotus Connections depends upon various components such as databases, IBM WebSphere Application Server, and LDAP servers for user information and authentication. To protect yourself against data loss, you should answer a few questions when developing your backup and recovery strategy:

  • What is your tolerance level for data loss?
  • How much time can you spend recovering the database and application configuration?
  • How much time will pass between backup operations?
  • How much storage space can be allocated for backup copies and archived logs?
  • For the database, are table space level backups sufficient, or are full database backups necessary?
  • Should you configure a standby system through high-availability disaster recovery?
  • Most importantly, will the backup be recoverable? Of course, all backups are recoverable, but does this backup complete successfully each time? Is there a documented process in place? It's critical to test your backup and recovery plan and to correct missing or faulty procedures.

The answers to these questions help you develop your backup strategies for IBM DB2 or Oracle databases, WebSphere Application Server, and LDAP directories.


System backup and recovery – whole box

Inevitably, you may need to restore the entire system due to hardware failure or a catastrophic event. At a minimum, you should have content stores, database backups, and LDAP backups. If you don’t have a backup of the WebSphere Application Server deployment, you need to re-install Lotus Connections using the same Lotus Connections content stores, and then connect it to the database and LDAP backups. This approach limits the costs of recovery.

To be prepared for such a scenario, we recommend that you create system images and data partitions of all Lotus Connections machines after you successfully set up the environment. This allows you to redeploy the whole system very quickly on similar machines. For a WebSphere machine (Lotus Connections server machine and WebSphere Application Server network deployment box), you may choose a utility, such as PowerQuest DeployCenter (formerly Drive Image Pro) or Symantec Ghost Corporate Edition to open source tool Partimage.


Backing up and restoring Lotus Connections databases

As you know, each Lotus Connections feature has its own database. The typical database names are listed in table 1.

Table 1. Database names for the Lotus Connections features
NameDatabase
OPNACTLotus Connections Activities database
BLOGS Lotus Connections Blogs database
SNCOMM Lotus Connections Communities database
DOGEARLotus Connections Dogear database
PEOPLEDB Lotus Connections Profiles database

We strongly recommended that you regularly back up these databases. Backup alone doesn’t provide data recovery between the latest backup copy and a server crash, so you should consider high-availability solutions. For example, you may want to back up the Blogs, Activities, and Dogear databases more regularly than others. DB2 provides a mechanism to automatically schedule backups and to keep transaction logs that can be used to restore to the exact point of the crash.

Use more than one method to back up your database, and test all backup and recovery scenarios carefully. Also, remember to back up all required database software libraries, parameter files, and password files. As the database administrator, you should also consider an automatic backup solution. Refer to your database's product documentation for details.

DB2 databases

The simplest form of the DB2 backup or restore command requires only the alias name of the database. You do not need to shut down the database to perform backup. Use this code:

db2 backup db <LotusConnectionDBName>
db2 restore db <LotusConnectionDBName>

Backup images are created at the target location specified when you invoke the backup utility. The location can be:

  • IBM Tivoli Storage Manager server (recommended)
  • A directory (for backups to disk or diskette)
  • A device (for backups to tape)
  • Another vendor's server

In situations where certain backup and restore combinations are not allowed, you can move tables between DB2 databases using other methods:

  • db2move command
  • Export utility followed by the import or the load utilities

Oracle databases

If you have configured your Lotus Connections deployment to use Oracle databases, you can use any of the following methods for backups:

  • Export/import. Perform logical database backups as they extract data and logical definitions from the database to a file.
  • Cold or offline backups. Shut the database down and back up all data and all log and control files.
  • Hot or online backups. Perform a backup while the database is online and available for read/write.
  • RMAN backups. Use the RMAN utility to back up the database while the database is offline or online.

Maintaining the LDAP directory

Administrators need to maintain the LDAP schema extensions for Lotus Connections Profiles and back up directory user information regularly. You may use the ldapsearch utility to export user information into a file (which is ldifde for Microsoft Active Directory and idsldapsearch for IBM Tivoli Directory Server).

For example, to export Active Directory users, use:

ldifde –s <host> -a <bind-id> <pw> -d <search-base> -f filename

To export IBM Tivoli Directory Server users, use:

idsldapsearch –h <host> -D <bind-dn> -w <pw> -b <base-dn>
<filter> > filename.ldif

If you have extended LDAP schema, you must maintain the changes and back up the entire directory prior to and after the change. At the least, you need to export the LDAP schema to a file using the ldapsearch command. Refer to your LDAP product manual for alternative solutions.


Configuring WebSphere Application Server

WebSphere Application Server represents its administrative configurations as XML files. You should back up configuration files regularly. You should restore the configuration only if the configuration files that you backed up are at the same level of the release, including fixes, as the release to which you are restoring. Therefore, you need to back up the WebSphere Application Server configuration files prior to an upgrade and after a successful upgrade.

The command syntax is as follows:

backupConfig [backup_file] [options]
restoreConfig <backup_file> [options]

With options, you can specify –password when security is enabled or –nostop to tell the command not to stop WebSphere Application Server.


Web server and WebSphere plug-in configuration files

The WebSphere Application Server backup utility doesn't back up the IBM HTTP or Plugins configuration settings. You should maintain and back up the files listed in table 2 on a regular basis:

Table 2. Files to be backed up and directories for Web server
FileDirectory
admin.confin <IHS_Install_Dir>/conf/
admin.passwdin <IHS_Install_Dir>/conf/
httpd.confin <IHS_Install_Dir>/conf/
plugin-key.kdb in <IHS_Install_Dir>/Plugins/etc/
plugin-key.kdb in <IHS_Install_Dir>/Plugins/config/webserver1/

Maintaining Lotus Connections applications

So far we've discussed backing up configuration files and data that reside on the LDAP directory and the database. This section outlines Lotus Connections-specific data that should also be part of your server maintenance plan. More specifically, you should consider tracking the application changes, backing up directories for data store and indexes, recording customizations, archiving logs and traces, and controlling inappropriate contents.

Version control and bookkeeping

As the Lotus Connections administrator, you need to know the build level for various reasons, such as preparing product upgrades or obtaining service support. To find out the build number, do one of the following:

  • Activities. Go to the Activities page and find the build from the My Activities view.
  • Blogs. Find the build at the lower left corner of the Blogs page.
  • Communities. Find the build at the lower left corner of the About Communities page.
  • Dogear. Find the build at the lower left corner of the About Dogear page.
  • Profiles. Locate the build at the bottom of the About Profiles page.

Lotus Connections contents data stores

During the Lotus Connections installation, you set up a few directories for Lotus Connections content stores. Make sure you allocate sufficient disk space for them and make regular backups. Here is a listing of the default location for these files:

  • Activities:
    /IBM/LotusConnections/Data/Activities/<profile_name>_<server_name>/statistics
    /IBM/LotusConnections/Data/Activities/<profile_name>/contentstore
  • Blogs:
    /IBM/LotusConnections/Data/Blogs/roller_data/uploads
  • Dogear:
    /opt/IBM/LotusConnections/Data/Dogear/favicons

The Communities and Profiles features do not have a local content store directory. Lotus Connections Blogs, Dogear, Communities, and Profiles require an index file directory, but you do not need to back them up because each feature creates a backup if one does not exist.

Lotus Connections utilities and customization

You may administer Lotus Connections through the WebSphere Application Server console or through administrative commands. The utilities are deployed in <WAS>/profiles/<profile>/bin directory. Your regular database and WebSphere backup should pick up the customization through the Lotus Connections administrative utility.

Additionally, you may customize Lotus Connections pages with your branding, such as a logo for a Blog theme or a business card layout for Profiles. After you customize your pages, consider backing up the entire WebSphere Application Server directory. For instance, if you make changes to or upgrade the Lotus Connections administrative utility, regular WebSphere backup does not save the change. Another instance, Profiles business card customization, may require you to back up the installed application. Regular backup of the entire WebSphere Application Server is recommended.

Also, if you use Lotus Connections Profiles, you should back up the tdisol directory, or at least the following files as a minimum:

  • profiles_tdi.properties
  • map_dbrepos_from_source.properties
  • map_dbrepos_to_source.properties
  • profiles_functions.js
  • Any custom tables that you created, such as emptype.csv

Content control and policing

It is important to control contents with Lotus Connections software. You do so with administrative commands; refer to the Lotus Connections Information Center for more details. This section provides examples of how to update and delete contents from your Lotus Connections implementation.

For example, as an administrator, you notice that a user bookmarks an inappropriate URL. You can use the following task to remove the Dogear bookmark from the Lotus Connections feature for a single-server environment:

wsadmin> execfile('dogearAdmin.py') wsadmin> LinkService.deleteLinkByPersonURL('joe@acme.com','http://bad.url.com')

The Lotus Connections Information Center has detailed coverage of this topic including examples for a Lotus Connections cluster installation.

Currently, Lotus Connections Activities and Blogs do not have the utility. The remaining sections of this article describe the services available for the Communities, Dogear, and Profiles features.

Content control and policing: Communities services

Communities deploy the script communitiesAdmin.py under the WebSphere Application Server bin directory – administrative services – that use the AdminConfig object available in WebSphere Application Server Admin (wsadmin) to interact with the Communities server. The administrative component is called CommunitiesService. Table 3 addresses the services available.

Table 3. Services to control Communities content
ServiceDescription
UpdateCommunityName (name1, name2)Allows you to update an existing Community's name, where name1 is the existing Community name and name2 is the new name.
UpdateCommunityDescription (name, newDescription)Allows you to update (overwrite) the description field in an existing Community. Any existing description is overwritten by the new text you enter into this command.
RemoveReferencesByUri (name, referenceURIs) Allows you to remove all references to one or more existing bookmarks (URI) from a specified Community.
RemoveTagsFromCommunity (name, tagNames)Allows you to remove tags from an existing community. This is a two-step process. First, before you run the command, you must create a comma-separated list of tags to be removed from a community. This list of tags is saved to a variable, and the variable is used as input for the RemoveTagsFromCommunity command.

Content control and policing: Dogear services

Dogear deploys the script dogearAdmin.py under the WebSphere Application Server bin directory – administrative services – when you need to delete offensive or unwanted links from the database. The administrative component is called LinkService. You can delete links in two ways: by using the UID (deleteLinkByUID) or by using the email address of the person who created the link (deleteLinkByPersonURL). You may also delete contents in batches. Table 4 lists the services available.

Table 4. Services to remove Dogear content
ServiceDescription
deleteLinkByUID ('[UID]')Deletes a single bookmark matching the UID specified, where [UID] is the UID of the bookmark.
deleteLinkByUIDBatch ('[fileName]')Deletes a list of bookmarks matching the UIDs specified, where [fileName] is the name of a text file containing the UIDs to be deleted. You must create this text file and save it in a local directory (local to the server where you are running the wsadmin processor).
deleteLinkByPersonURL ('[email]', '[href]')Deletes a single bookmark matching the email and URL specified, where [email] is the address of the person who created the bookmark and [href] is the URL of the bookmark you want to delete. It is important to input the exact href including the protocol.
deleteLinkByPersonURLBatch ('[fileName]')Deletes multiple bookmarks matching specified email addresses and URLs, where [fileName] is the file name containing the addresses and URL to be deleted. You must create this text file and save it in a local directory (local to the server where you are running the wsadmin processor).

Content control and policing: Profiles services

Profiles deploy the script profileAdmin.py under the WebSphere Application Server bin directory – administrative services – which provides ProfileService services to allow you to remove offensive or unwanted content from the Profiles database as shown in table 5.

Table 5. Services to remove inappropriate content in Profiles
ServiceDescription
updateExperience ("[email]","[content]") Replaces the existing experience text associated with a user email address with alternate text enclosed by quotes.
updateDescription ("[email]","[content]")Replaces the existing description text associated with a user email address with alternate description text enclosed by quotes.
deletePhoto ("[email]") Deletes image files associated with a user email address. This command can be used only if the user has uploaded a photo into his Profile document. This command will remove that photo.

Logging and tracing files

Lotus Connections writes messages to the SystemOut.log and SystemError.log file. You may want to periodically review these files and purge them so that they don't take unnecessary space on the file system. The SystemOut.log and SystemError.log are stored in the following directory:

  • Windows: C:\IBM\WebSphere\AppServer\profiles\<profile_name>\logs\<server_name>
  • Linux: /opt/IBM/WebSphere/AppServer/profiles/<profile_name>/logs/<server_name>

Conclusion

This article covered maintenance, backup, and recovery practices for Lotus Connections. As a whole, it also covered components that make up the system, such as WebSphere Application Server, databases, and LDAP directories. You should be equipped with the utilities and methods of maintenance administration.

Resources

Learn

Discuss

Comments

developerWorks: Sign in

Required fields are indicated with an asterisk (*).


Need an IBM ID?
Forgot your IBM ID?


Forgot your password?
Change your password

By clicking Submit, you agree to the developerWorks terms of use.

 


The first time you sign into developerWorks, a profile is created for you. Information in your profile (your name, country/region, and company name) is displayed to the public and will accompany any content you post, unless you opt to hide your company name. You may update your IBM account at any time.

All information submitted is secure.

Choose your display name



The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerWorks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

Required fields are indicated with an asterisk (*).

(Must be between 3 – 31 characters.)

By clicking Submit, you agree to the developerWorks terms of use.

 


All information submitted is secure.

Dig deeper into IBM collaboration and social software on developerWorks


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=Lotus
ArticleID=248065
ArticleTitle=Deploying IBM Lotus Connections: Maintenance
publish-date=09112007