LanguagesBuild Web groupware with QuickPlace

Build Web groupware with QuickPlace content and product recommendations are editorially independent. We may make money when you click on links to our partners. Learn More.

October 1999

Build Web groupware with QuickPlace by Steve Gillmor If you want to employ groupware on the Web, and you’re in a Microsoft-centric shop, you’re in for a surprise: the best tool today may come from IBM’s Lotus division, not Microsoft. But don’t worry. I’m not saying that you have to adopt Lotus Domino/Notes and their somewhat arcane development environment. But you might want to try Lotus QuickPlace. Limitations notwithstanding (more on those later), it will get your Web-based groupware up and running with dispatch, just as the name implies. QuickPlace is a teamware server platform powered by Domino that discards the Notes desktop, Designer, and Administrator clients in favor of a standard Web browser. So it takes advantage of but does not bury you in the Lotus Domino/Notes platform. And most groupware analysts still agree that the Domino/Notes platform has held onto its technological lead over Microsoft Exchange Server. Though Exchange has overtaken Domino in sales in recent months, developers give the Lotus product the edge in developing sophisticated groupware applications. Notes developers can take advantage of a development environment built from the ground up to deliver messaging, workflow, and rich integration with Windows desktops. And the addition of Domino’s interactive Web services probably saved Notes from the scrap heap. Now, with high-speed bandwidth becoming an easily obtained commodity, groupware apps are migrating the rest of the way to the Web. Domino/Notes Release 5 lets you develop apps that use both native Notes clients and standard Web browsers, but this still requires expensive Notes programming and administrative skills. With Microsoft’s Exchange Platinum upgrade coming soon after Windows 2000 ships, the total Domino environment remains an easy choice only for committed Notes shops. Third-party support does sweeten the pot a bit. The Domino platform hosts several third-party teamware products, notably Changepoint’s Involv Intranet. In addition, the new Domino release includes the Instant!TEAMROOM application template originally developed as the Teamroom hosted app, updated to take advantage of Release 5 Web features. Lotus also shipped a separate synchronous communications product, Sametime, bringing advanced instant messaging, group chat, awareness, and application sharing services to the party. But while Lotus and its Iris subsidiary struggled to get Release 5 out the door, a small band of Iris developers led by Release 4 architect Mussie Shore took a radical new approach to the problem of working together in the virtual world of the Internet. The result: the browser-based QuickPlace product. Can such a product really stand up against more structured rich-client products such as Instinctive’s eRoom? It can with a little help from Lotus, which has added extensions to the core Domino server to make the browser a more viable container. Those extensions include rich text editing and drag-and-drop uploading, server-side graphics rendering, scene-based wizards to perform administrative and development tasks, and simplified hierarchical security based on the robust Domino architecture. Let me first tell you where QuickPlace falls short of a universal solution. First, while you may like QuickPlace’s strategy of converting documents to HTML, the program lacks an efficient versioning mechanism to handle Office files in their original format. Web pages can be imported from authoring packages, but there’s no real round tripping like that of Office 2000’s XML-based technology. And integrating QuickPlace with an existing Domino/Notes infrastructure is not yet easily done or documented. If you don’t find these limitations insurmountable, let’s go on. Take QuickPlace out for a spin
QuickPlace is included with Domino Application Server, or you can buy it alone for $995. Installing the standalone product on an NT server requires little knowledge of the underlying Domino technology, but integrating QuickPlace on a server already running Internet Information Server can get complicated quickly (see “Integrating with existing setups is tricky“). Once installed, the software launches your browser and directs you to a URL to create your first QuickPlace. The basic QuickPlace UI divides the browser screen into four frames—a sidebar panel on the left with links to various features, a large center area for page display, a small panel at the bottom that provides context-sensitive navigation buttons, and a thin black bar at the top with links to Search, Help, and Favorites dialogs. You create a QuickPlace by providing a user name, an optional e-mail address, a word or phrase to use for the QuickPlace’s Internet address, and a password. After a short animation of a house being assembled, you are asked for your name and password and delivered to the new site. The default QuickPlace sidebar serves as a gateway to QuickPlace’s basic services: a welcome page, an eight-lesson tutorial, a threaded discussion, a library folder for important documents, a calendar, an index, the ability to customize, and a security option. The security page lets you add users to the QuickPlace, with three levels of access—reader, author, and manager. You can choose a lookup option to select new members from the NT user directory, and accept the default to send an e-mail notification to the new user. Members with author access will now see a “New” button at the bottom of each QuickPlace screen. You can create new pages from scratch, import existing HTML or other Office documents, add a calendar entry, or generate a new folder to store a set of pages. The New Page option provides a rich text editor (an ActiveX control for Internet Explorer and a Java applet for Netscape Navigator users) where you can format text, add images, insert URL links, and spell-check the document. In IE, you can drag and drop attachments into the File Upload container; in Navigator, you choose the file from a requester. Another option lets you create what Lotus calls graphic text with special effects. You assign a font type, color and size, shadow, and animation effects to some entered text, and the QuickPlace server generates an animated GIF for the page. Once you’re satisfied with the page contents, click the Publish button to immediately add the page to the current folder. The Publish As button lets you send e-mail to members with a link to the page, limit readership and grant editing rights, and add the page to the calendar. Pages can also be saved as “under construction” in draft mode, allowing only the author access to the page until it’s completed. QuickPlace provides the Import Page option for those who prefer to design pages with a familiar Web authoring tool such as FrontPage or Dreamweaver. You can drag and drop a Word document into the page, where OLE automation converts the document to HTML and uploads it to the QuickPlace server. You can save Web pages to your local machine and upload them, but QuickPlace has trouble with some JavaScript-heavy pages. Another way to populate pages is to e-mail content to the QuickPlace itself, where it is stored in the Index folder. QuickPlace can be extended by adding rooms and a variety of folders. Folder types include standard, response, and ordered lists, slide show, and headline. For example, managers can multi-select a series of images and drag them into the upload control; QuickPlace automatically generates a headlines folder with links at the top of the frame to navigate from page to page. If the folder is a standard, response, or ordered list, QuickPlace will create an abstract of documents, displaying the first 30 words in the page below the title of the page in the list. Managers can hide the abstract and most column titles, reorder columns and pages, and move the folder location on the sidebar.

Figure 1. Clean up discussions in a hurry. Click here.

As projects expand or divide into subgroups, rooms can be added to limit access to certain pages and folders to a particular subset of the site’s members. For example, you might want to encourage company-wide discussion on an important issue in a top-level room, but limit access to another room where management can discuss the feedback privately. Once the new room is created and secured, you can move folders and pages into the room and rearrange them (see Figure 1). If you later need to make the room’s information available to a different or wider audience, you can move the room to wherever you have manager rights. Both the host QuickPlace and its interior rooms can be customized to reflect a common look, or to give each room a unique character. Managers can choose from 20 different decoration themes, 15 of which are customizable. After applying a theme, you can tweak color, texture, font, and highlight characteristics of a room’s logo, sidebar, items, page, and buttons. Each room can be decorated in a different style, and you can apply changes at any time that immediately take effect globally.
Figure 2. Customize new forms with a click. Click here.

QuickPlace authors can create and edit forms to control the type of information people can enter in pages (see Figure 2). The name of the new form then appears on the list of objects presented when an author clicks the New button. For example, you can create an expense report form by choosing from 15 field types—plain and rich text, name, date, time, calendar, page author, serial number, and others. You can set up several types of review cycles where forms are sent to members for approval before final processing. The Editor-in-Chief review cycle allows a single member to review each page created with the form, while the Approval type provides for two or more reviewers. The Multiple Editors option grants all members author privileges in the current room, enabling them to edit each page. When an author submits a page, he can create a note about the page to be e-mailed to the editor(s). QuickPlace handles the security details behind the scenes, temporarily transferring the right to edit the page from creator to editor, who then has the option to edit, publish, or reject the page, all with appropriate e-mail notification. Authors can also save the page under construction and start the review process later. QuickPlace employs Notes replication technology to let users take team rooms on the road or minimize delays on slow connections. Installing an Offline QuickPlace copies information from your online QuickPlace to the local hard drive, adds the QuickPlace-Sync ActiveX component or Navigator plug-in, and synchronizes the two versions of your site for the first time. A “Go Offline” link appears at the top of the QuickPlace window; clicking it opens the local version in the browser and changes the link to reflect where you are. The QuickPlace-Sync program automatically updates changes with the host server on a default interval of 60 minutes; you can also click the icon in the Task bar at the bottom of the Windows desktop and choose Synchronize Now from the menu. Most features work identically on- or offline, but you must wait until reconnecting with the server to trigger e-mail notification of new documents. Offline installation requires at least 66 MB, plus 40 MB for each additional site. How I made QuickPlace pay off
Larger companies may be more attuned to Instinctive eRoom’s structured top-down management style. But I think more entrepreneurial businesses will lean toward QuickPlace’s low cost and rapid development model that supports bringing virtual projects up and down quickly. That describes my client Jobscope Corporation, which provides ERP software for the make-to-order, repair and maintenance business. It offers separate versions of its product for Windows NT running SQL Server and AS/400 running DB2. The Greenville, South Carolina company uses a mix of Microsoft and IBM/Lotus technologies internally, with Office 2000 on the desktop, NT 4’s IIS hosting the corporate Web site, and Domino/Notes Release 4.6 for messaging and groupware.

New QuickPlace projects are a SNAP
QuickPlace shows its greatest promise in leveraging the robust programmability of the underlying Domino architecture …

Read In Brief.

“Domino is used for all our internal communications,” says Hunter Park, Jobscope’s president. “We have databases that track our implementation process, request system, expense reports, competitor information, skills inventory, and prospects. Externally, we are working with customers on tools such as proposal tracking and our Salescope prospect tracking product.” Park plans to open up elements of the request system for access by customers over the Internet, and in general make the company’s Web site more interactive for existing and potential customers. Park thought about creating a team room to jumpstart work on enhancing the Web site, but he didn’t want to upgrade Domino server to Release 5 just in order to utilize the Teamroom template or QuickPlace. “Getting across the idea that information needs to be shared is extremely difficult,” says Park. “The easier you can make it for people to set up team discussions—even in an informal way—the more effectively they begin to work.” As a consultant to Jobscope, I suggested deploying a QuickPlace on my Southern Digital server. The project manager in Greenville would administer it, using ADSL and frame relay Internet connections at each end. To anticipate the eventual transition to the Jobscope server once Domino was upgraded, I installed Domino Release 5 on an NT 4 server (Service Pack 4), then overlaid the QuickPlace code. At first I recommended using the default site without making structural changes. The manager invited comment on a series of topics, using the threaded discussion folder to collect responses. Participants were encouraged to upload examples of forms and documents that might be exposed to customers on the Web. An archive folder housed discussion threads once decisions were made and sent to the Web development team for implementation. Multiple editor workflow routing kept marketing, development, and sales in the loop. QuickPlace’s browser-based authentication made it easy to distribute team room access to Jobscope employees in the California branch office, and members could log in at home or on the road to keep the process on track. Some users had difficulty accessing the site due to Internet slowdowns; they used the offline capability and synchronization to guarantee performance throughout the day. I also boosted the server RAM from 128 MB to 256 MB to improve response. Jobscope hopes to extend QuickPlace to provide a forum for direct communication with customers. QuickPlace fit into the company’s infrastructure without antagonizing employees or making IT’s life more complicated. “Our organization may be different from others, but we are not very dictatorial around here,” says Park. “We don’t have a lot of rules: ‘You will do this and this now.’ Being able to set up a database relatively quickly and easily among a number of people both inside and outside the company—and not having to go to the database administrator or manager—that’s what’s going to help in the long term.” Steve Gillmor is director of Souther Digital Inc., a Charleston, S.C., IT consulting firm; he can be reachedat

© 1999 FAWCETTE TECHNICAL PUBLICATIONS, all rights reserved.

Figure 1. Clean up discussions in a hurry. Only authors and managers can use the Cleanup button to perform housekeeping tasks on QuickPlace rooms. Here elements of a threaded discussion are selected to be moved to an archive folder or deleted. You can also copy documents and paste them in other rooms, but not between QuickPlaces.

Integrating with existing setups is tricky
I ntegrating QuickPlace with a production NT-based Domino/Notes Release 5 environment can be daunting. Quick-Place does not use the Domino Directory for authentication, instead handling security for each Place or room in a separate database. As a consequence, you can’t utilize your existing directory to populate rooms—though you can use NT user names (but not passwords).

Fulfilling my client Jobscope’s goal of integrating QuickPlace rooms as subdirec-tories with its domain will require tight integration with Internet Information Server (IIS), which hosts the company’s public site. If the IIS service is running (the default at Jobscope, where the company uses Microsoft Proxy Server to give multiple workstations browser access to the Web), the Domino server underlying QuickPlace will compete for the same Port 80 that IIS uses. Release 5 supports the new Domino on IIS feature, which removes the Domino HTTP stack in favor of IIS while launching access to Domino databases as an ISAPI task.

Unfortunately, deploying QuickPlace on top of this configuration reveals several significant bugs. First, the Offline download feature is tied to the Domino HTTP process, causing it to fail to install the unique ID file that allows secure replication. Domino also performs some redirection to provide new users with a simple URL for first-time access of a new QuickPlace; however, this does not work using the IIS stack. And QuickPlace requires a different security setting in IIS’s configuration profile from the one that FrontPage authors use to upload Web pages via FrontPage Server Extensions.

Fortunately, Lotus promises work- arounds for these problems in QuickPlace 2. And Lotus is releasing a version of QuickPlace’s Offline tool as Domino Runtime Services. This way Domino developers should be able to provide more and more native Notes technologies in browser clients. The forthcoming QuickPlace Development Kit (QDK) will also provide tools to smooth out the rough spots in blending these overlapping systems.

Figure 2. Customize new forms with a click. The QuickPlace user interface can be customized by adding new forms. You can add, modify, and reorder a variety of field types, set workflow conditions that route documents for approval, and designate which folder the new form should reside in.

New QuickPlace projects are a SNAP
Q uickPlace shows its greatest promise in leveraging the robust programmability of the underlying Domino architecture. The QuickPlace designers used Notes objects—fields, forms, templates, and databases—as building blocks for the QuickPlace architecture. QuickPlace objects map to their Domino counterparts: a Place equals a file directory, a room corresponds to a database, and a page can be looked at as a combination of a data note, a form, and one or more subforms.

QuickPlace ships with a single placetype, implemented as a Notes template containing HTML, JavaScript, controls, and page generation language. A new QuickPlace is created by copying two templates to generate a top-level room database (main.nsf) and a member directory (contacts.nsf). The Domino server has been enhanced with eight QuickPlace extensions; they allow design elements to be shared, link parent and child databases to establish room hierarchies, provide a command library to create, modify, and destroy QuickPlace objects, and perform graphics, decoration, publish and subscribe, authentication, and other services.

The QuickPlace Development Kit offers documentation and templates that allow Domino developers to understand the QuickPlace data structure as viewed with the Notes Designer client. For example, you can open the main.nsf database, double-click on an HTML page, and determine the basic settings of a page—its name, body information, whether it’s published or in draft mode, whether it’s hidden or not, and what scenes are used when editing or viewing the page.

Similarly, security fields store information about who can read or modify the page, and workflow settings, such as what stage the document has reached, and who’s next in line to review it. Domino developers can then add their own logic to further customize the workflow, such as putting a page in a certain folder based on a particular field value. As demonstrated in the listing shown here, you can write a LotusScript agent that processes a text file to add new members to a QuickPlace.

The QDK also provides instructions on creating and registering external command listeners that intercept QuickPlace server commands and perform custom work before or after the command is executed. For example, every time a create user command is sent with a new user name and password, the data could also be passed to a function that registers that member in an LDAP directory. These DLLs must be written in C++ for the first release, but other support will follow in Version 2.

QuickPlace scenes do much of the heavy lifting. They walk users through designing pages, routing documents, and adding users. If you want to collect additional information about users as they’re registered, the QDK provides the information needed to modify or insert additional scenes as needed. But don’t divert too many resources to using the QDK to extend the QuickPlace model—Version 2 will expose similar technology through the UI to a browser, letting end users do some customization.

To create new QuickPlace users
To create new QuickPlace users…

Click here.

QuickPlace 2 will integrate some of the Sametime server features that make sense within the QuickPlace architecture, including chat and awareness. People will be able to click on a window to know who’s in a QuickPlace, then initiate an online chat or conversation with them. Even without the upgrade, Lotus has posted numerous examples on the Sametime developer site that leverage the Sametime API, adding the full range of Sametime services to the browser container.

LotusScript, OLE automation, Java, JavaScript, and CORBA can already access Domino objects; in late fall, Lotus will ship a COM interface that provides an easy way to integrate Domino (and therefore QuickPlace) data into existing IIS apps. Also announced are XML-based connectors to move FrontPage and Dreamweaver pages into Domino databases, though bidirectional connectors won’t ship until next year. Added together with QuickPlace enhancements, the combined tools offer a robust development environment for the next generation of collaboration products.

Get the Free Newsletter!

Subscribe to Developer Insider for top news, trends & analysis

Latest Posts

Related Stories