Archive Lotus QuickPlace attachments with CommonStore for Lotus Domino

Reduce the size of your QuickPlace databases

Are IBM® Lotus® QuickPlaces® overtaking your Lotus Domino® server? Reduce the size of Lotus QuickPlace databases using IBM DB2® CommonStore for Lotus Domino to remove QuickPlace attachments and archive them to lower-cost media. This article provides sample integration code and installation instructions.

Robert J. Nonnenkamp (robertn@us.ibm.com), Certified Consulting Software IT Specialist, IBM, Software Group

Bob Nonnenkamp photo Bob Nonnenkamp is a technical sales specialist and consultant in the area of email archive, compliance, and discovery. He joined IBM in 1992 and has worked in the field of Content Management since 1999. Today, he provides technical sales support and enablement for IBM's Content Management and Discovery portfolio across North and South America. He holds a bachelor's and master's degree in Electrical Engineering from the University of Louisville.



13 July 2006

Introduction

IBM Content Management solutions make it easy for all levels of employees to collaboratively create, organize, share, and manage important business information with e-forms and document and Web content management software, so you can provide the right information to the right person on demand. Lotus QuickPlace is a key interface in IBM content strategy. Designed for team collaboration, Lotus QuickPlace enables users to instantly create secure work spaces on the Web, providing them with a place to coordinate, collaborate, and communicate on any project or ad-hoc initiative. Unfortunately, the storage required by these popular QuickPlaces can lead to a variety of performance and budget headaches for Domino administrators. DB2 CommonStore can help alleviate these storage problems.

DB2 CommonStore for Lotus Domino is commonly known to provide mailbox management, archiving Domino e-mail messages or attachments to lower-cost media for storage savings. It is also a valuable component of a compliance strategy for Domino messaging. DB2 CommonStore for Lotus Domino can also be used to archive content in Domino application databases, such as Domino.Doc and QuickPlaces. As attachments use the bulk of the storage in most QuickPlaces, removing the attachments can improve performance and save money.

The integration described in this article was performed with Notes/Domino 7.0, DB2 CommonStore for Lotus Domino 8.3, and QuickPlace 7.0 in a Microsoft® Windows® environment. A blank database which contains the LotusScript agents from this article is attached in the Download section. This can be used as a starting point for your individual customization. It is provided on an as-is basis, without further support.

Architecture

The solution is composed of three main components: Lotus QuickPlace, CommonStore for Lotus Domino, and an archive repository. The QuickPlace application is hosted on the Domino server. A repository, such as IBM DB2 Content Manager or IBM Tivoli® Storage Manager, is the location of the archived content. These repositories support a wide array of media, ranging from compliance disk storage (DR-550) to inexpensive tape. DB2 CommonStore for Lotus Domino serves as the gateway between Domino and the repository (see Figure 1).

Figure 1. CommonStore architecture
architecture

The integration was tested on a single server containing Domino, DB2 CommonStore for Lotus Domino, and Content Manager, but installing DB2 CommonStore for Lotus Domino on the same server as Domino is not recommended in a production environment. Content Manager or Tivoli Storage Manager may be installed on the DB2 CommonStore for Lotus Domino server, depending on the performance requirements of the system. While the integration test operating system was Windows 2000 server, it should support a variety of operating systems. QuickPlace itself supports Domino servers running on Windows, Sun, AIX®, or i5/OS®. The DB2 CommonStore for Lotus Domino server can run on Windows or AIX, but it supports Domino on any platform. Tivoli Storage Manager can support Windows, HP-UX, Sun, AIX, Linux®, and z/OS® environments, and Content Manager can support Windows, AIX, Linux, Sun, and z/OS.

Integration features

This integration demonstrates how QuickPlace users click a button (Figure 2) to archive the page and remove all attachments. A message is inserted into the page body to notify you that the message is archived.

Figure 2. DB2 CommonStore for Lotus Domino archive button in QuickPlace
archive button

Once archived, you have the option to click a button (Figure 3) to retrieve the content, returning the page to its pre-archived state.

Figure 3. DB2 CommonStore for Lotus Domino retrieve button in QuickPlace with archive notification message
retrieve button

This article also describes how the DB2 CommonStore for Lotus Domino automatic archiving policies can perform the archive automatically across multiple databases.


QuickPlace page design

Adding the interactive archive and retrieve buttons to the QuickPlace user Web interface requires a custom QuickPlace theme. Instructions on creating a new theme are listed in the QuickPlace Developer's Guide. Once you create the theme, edit the page layout, and add the following javascript:

Listing 1. Sample javascript for page layout
<!-- CSLD Buttons -->
<script>
function popupCSLDRetreive()
{ popUrl = "../../" + "WebRetrieveAttachment?OpenAgent&unID="+h_PageUnid+"&archID=" + 
  encodeForUrl(escape(CSNDArchiveID+"&jobDB=cmdemo\\CSLDJobsMBOX.nsf&jobSrv=CMDEMO/IBM"));
  newwindow=window.open(popUrl,'Retrieve','height=100,width=250');
  if (window.focus) {newwindow.focus()}
  setTimeout('window.location.reload()',15000);}
function popupCSLDArchive()
{	popUrl = "../../" + "WebArchiveAttachment?OpenAgent&unID="+h_PageUnid;
  newwindow=window.open(popUrl,'Archive','height=100,width=250');
  if (window.focus) {newwindow.focus()}
  setTimeout('window.location.reload()',15000);}
if ( typeof(CSNDArchiveID) != "undefined" 
  && CSNDArchiveID != "Error" && h_IsSystem == "1")
{ AddSceneAction('Retrieve Attachments', "javascript:popupCSLDRetreive()") }
if ( h_AttachmentTimes != "" && h_IsSystem != "1")
{ AddSceneAction('Archive Attachments', "javascript:popupCSLDArchive()")}
</script>

Agents

This integration requires three LotusScript agents. All three should be copied into the master template, Meetingroom.ntf, located in the Domino\Data\Quickplace\Areatypes directory. Be sure to back up the original file up before modification and to sign the agents with a Notes user ID so it can perform operations on your server.

The WebArchiveAttachment agent catches interactive user archive requests from a pop-up window in the QuickPlace Web interface. It creates a DB2 CommonStore for Lotus Domino archive job and closes the pop-up. The WebRetrieveAttachment agent is the same, except it creates a retrieve job.

DB2 CommonStore for Lotus Domino can archive many Domino applications without further customization. QuickPlace, however, stores the body and attachment in MIME parts. DB2 CommonStore for Lotus Domino (at least the current version, DB2 CommonStore for Lotus Domino 8.3.1) cannot edit MIME part content without converting the item to rich text. As a workaround, this integration uses a custom agent, CSLDQPPostArchive, to remove the attachments from QuickPlace. The agent also adds a message, in HTML format, to the body of the page so you will notice that the page was archived. (If you would like a different notification message, simply edit this part of the agent.) Lastly, this agent marks the page as a system document to prevent editing until the document is retrieved.

These agents depend on three CommonStore script libraries, CreateCSNJobs, CSNJobSamples, and CSNWebFunctions. The three script libraries, which can be found in the CSLDConfig.ntf file located in DB2 CommonStore for Lotus Domino's data subdirectory, should also be copied to the Meetingroom.ntf template.


CommonStore configuration

The DB2 CommonStore for Lotus Domino and archive configuration for this integration is similar to that of an e-mail deployment, except a DB2 CommonStore for Lotus Domino document mapping must be created for the QuickPlace page. The Notes form name for a QuickPlace page is h_PageUI. To ensure that CommonStore runs the agent after each archive, the h_PageUI document mapping must also have CSLDQPPostArchive configured as an after-archiving agent (see Figure 4).

Figure 4. After archiving agent configuration
after archive

If Content Manager is the repository, then DB2 CommonStore for Lotus Domino requires at least one attribute mapping to Content Manager. A common choice would be the name of the QuickPlace page (h_Name), which can be mapped to a string variable. Mapping a date attrubute, such as the modified date of the page (h_ModifiedDate) can also be useful for content expiration management (see Figure 5).

Figure 5. Attribute configuration
attribute configuration

CommonStore crawler

Since Domino administrators cannot always count on the users to archive content, DB2 CommonStore for Lotus Domino offers archiving policies to automatically archive content. This is commonly referred to as the crawler.

A policy must first be defined to archive h_PageUI forms. The request would be to archive the entire document but not remove any content. (Remember, the custom agent performs the attachment removal.) Lastly, the policy needs criteria to select the correct documents. This formula, for example, selects documents that are non-system, non-hidden, and with attachments: SELECT h_IsSystem!= "1" & h_Type = "0" & h_IsHidden != "1" & @Attachments

You could also use the h_ModifiedDate field to add a date-related component to the formula and archive a page only after it is 180 days old.

Once the policy is created, the administrator configures the policy to run against a set of databases. A basic case of a database set would be to archive the QuickPlace directory. Lastly, the crawler task schedule is configured to run on a regular interval, such as weekday evenings at 10pm.


Repository

DB2 CommonStore for Lotus Domino can use Content Manager or Tivoli Storage Manager for an archive content repository. If Tivoli Storage Manager is used, you must create a management class to contain the content. If Content Manager is used, a typical Content Manager item type configuration is sufficient to hold the archived pages; the only difference is that QuickPlace metadata would have different names (Name, instead of Subject; Modified Date, instead of PostedDate) than a typical e-mail item type. Since QuickPlace volume is generally a magnitude lower than e-mail volume, a csbundled (resource item data model) is not required for the integration. A DB2 CommonStore for Lotus Domino single-instance storage configuration is also not required.


Conclusion

This article demonstrates how DB2 CommonStore for Lotus Domino can perform basic archival and retrieval of Lotus QuickPlace content. It should also give you some insight to enhance the integration based on your requirements.

There are a variety of ways this integration could be enhanced. A graphical archiving status icon could be added, for example. The post-archive script could remove the content in the archive once the page is retrieved. Advanced archiving functions could be integrated as well, such as searching the content repository for archived content from QuickPlace and non-QuickPlace enterprise applications.


Disclaimer

This article is written to the best of my knowledge. Should you find any discrepancy, please feel free to contact me.


Download

DescriptionNameSize
Agents for QP CSLD integrationCSLD-QP.nsf648

Resources

Learn

Get products and technologies

  • Build your next development project with IBM trial software, available for download directly from developerWorks.
  • Consider IBM DR-550 Storage for your next compliance-related server deployment.

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 Information management on developerWorks


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=Information Management, Lotus
ArticleID=146047
ArticleTitle=Archive Lotus QuickPlace attachments with CommonStore for Lotus Domino
publish-date=07132006