Groupware is almost as popular a term as Intranet or client/server. It is also as ambiguous as the other terms. Groupware applications basically allow groups of people to share and discuss ideas electronically.
This chapter focuses on the benefits of groupware in the Intranet. Groupware applications such as Lotus Notes are discussed and some shareware/freeware applications such as Usenet News and mailing lists are discussed. A sample installation of a Usenet server, mailing list and archiver is covered.
WWW applications such as chat scripts and bulletin boards are also covered.
In this chapter, you will learn the following:
Groupware is a term used to describe applications that allow groups of people to discuss documents or ideas. This discussion may be in real time but does not have to be.
Some examples of groupware applications would be:
The next section discusses how these applications fit into an Intranet.
Groupware and the WWW have long been thought of as competitors but recently they have been considered more as allies. Groupware and Intranets fit together quite well since they both help to make groups work more closely together without having to actually get together.
Intranets normally allow documents to be shared but without groupware they can't be commented on and discussed. Once you add groupware to the picture, the Web can be used to help users collaborate on projects.
Some ideas on how to use groupware combined with the Intranet server would be:
Many different groups can benefit from a groupware addition to the Intranet. This includes:
As you can see, many different groups can use groupware and discussion servers to improve processes and reduce costs. Groupware or discussion areas can also reduce travel costs since "virtual meetings" can take place over the network. This allows employees to take place in meetings across the globe without leaving their desks.
Lotus Notes is unique among groupware products in that it is the only complete groupware solution. It is the only software product that addresses a comprehensive definition of what groups of office workers have to accomplish and how computers can facilitate those activities. Some groupware products facilitate communication between workers; for example, e-mail programs. Other products facilitate collaboration; for example, bulletin board discussion software. Yet other products help people coordinate their activities; for example, form routing products. Only Lotus Notes addresses all of these aspects of group activity.
Lotus Notes combines three key ingredients. It starts with shareable, distributed, document-oriented databases. It adds messaging in the form of fourth-generation (hypertext-enabled) electronic mail and the ability of Notes databases to pass messages to each other. It tops the sundae off with a rich, integrated, easy-to-master set of programming tools with which Notes users can combine the first two features into flexible solutions to their business problems.
Shared Document Databases. The heart of Notes is its shared document database technology. Notes databases consist of collections of documents contributed by users or added automatically by the system in response to various events. The documents are content-rich, in the sense that they can include highly formatted text and embedded objects, such as spreadsheet ranges, references to records in external databases, graphic images, sound bites, and video clips. Notes databases are shareable in the sense that multiple users can add to and access them simultaneously.
Messaging. All Notes databases can be mail enabled, meaning that they can be made to send documents to each other via Notes' built-in store-and-forward messaging capability. A by-product of this is Notes Mail, which is Notes' built-in e-mail system. Each Notes Mail user has his or her own mail database. Notes users can communicate with each other by Notes Mail and with non-Notes users through mail gateways and message transfer agents.
Development Tools. In addition to its document databases and messaging capability, Notes provides a rich programming environment that offers you a selection of programming languages, from simple (the Notes @function language) to more powerful and complex (LotusScript, an ANSI BASIC compliant language similar to Visual BASIC; the Lotus Notes API, a library of C functions; HiTest Tools for Visual BASIC; HiTest Tools for C++; numerous third-party programming tools; and, due to be available in Notes Release 4.5, an implementation of Java).
These three features of Notes-shared document databases, integrated messaging, and application development tools-combine to permit the quick creation and customization of Notes applications to accomplish a variety of purposes, including publication of information, tracking of projects, and workflow. Notes applications can be classified as follows:
Notes is an ideal vehicle for storing masses of information, available to masses of users. Notes documents can store virtually any type of information, including embedded files created in other applications. Notes provides powerful tools for locating information in its databases. These include multiple, easily defined, user-customizable views of databases and a full-text indexing and search engine. These databases might be populated by people adding individual documents or by Notes programming that converts incoming data from, say, a news feed into Notes documents. In this capacity Notes duplicates the capabilities of World Wide Web servers.
Notes documents can be defined as main documents or responses. One resulting type of Notes database is the discussion database, in which one person starts a discussion by creating a main document and other people continue the discussion by creating responses. The responses appear in Notes views indented beneath the documents to which they respond, making it easy for the reader to follow a discussion thread. In this capacity, Notes duplicates the functions of bulletin board systems, discussion forums in CompuServe, and Usenet News Groups and List Servers on the Internet.
This is where Notes stands out from the groupware crowd. In a tracking data-base, a group of people collaborating on a project add documents describing their activities. Every member of the group can keep track of the progress of the project by referring to the database. In a workflow application, programming and messaging are added to the tracking database so that the members of the group can be notified by Notes when they have to perform some activity crucial to the project.
For example, a salesman might fill out an expense report. When the salesman saves and closes the expense report, Notes mails it automatically to an expense tracking database on a Notes server, and mails a message to the appropriate manager notifying her that the expense report requires her review and approval.
The message received by the manager includes a link to the expense report in the tracking database. By double-clicking the link, the manager opens the expense report. When the manager approves and saves the expense report, Notes generates another message and mails it to the accounting clerk responsible for paying the expenses, and so the cycle continues.
If either the manager or the accounting clerk neglects a pending task, Notes may send a reminder. If the person designated to complete a task is unavailable for any reason, Notes might automatically send the notice to a substitute.
Because all of the evolving information is stored in a central tracking data-base, anyone involved in the transaction can see its status simply by looking there. In form routing programs, the salesperson who submitted the expense report has no way of checking the status of his expense check other than to ask his manager and the accounting clerk. In Notes, he merely opens the expense report in the tracking database. If his manager has approved it, the report will reflect that fact. If the clerk has not issued the check, the report will reflect that fact as well.
Standing alone, the features listed above make powerful tools available to small groups of people all of whom have constant computer access to the same database server. Several other features of Notes combine to make these capabilities available to groups of hundreds or thousands of people who may be located all over the world. Some of them may be only occasionally or never connected to the company network. Others may not be employed by our company at all, but rather may work for our customers or suppliers or business partners.
Notes is a client/server system. Notes servers store Notes databases, provide multiple levels of security, and make information in the databases available to people and other servers according to their access rights.
People use the Notes client to access the data on the servers. The Notes client can access Notes servers via network connections or remotely by modem. Notes Release 4 makes connection to servers a no-brainer for the user by allowing Notes administrators to predefine connection procedures from different locations.
For example, if a salesman is in the office, he connects to the LAN, tells Notes he is in the office, and Notes automatically uses the LAN to connect to the server. Then the salesman goes on the road, arrives in a hotel room, connects his modem to a telephone line, and tells Notes he is located in a hotel. Notes automatically calls the server using the modem and a standard hotel phone system dialing sequence. All the user had to know was how to tell Notes his current location. The location profile, predefined by the Notes administrator, did all the hard work of reconfiguring Notes to connect properly using the available mode of connection.
Notes databases can be fully replicated, meaning that full copies of them can be maintained in multiple locations, either on Notes servers or on Notes clients. Workers located in offices scattered all over the world may access copies of a database located on their local Notes servers. They don't have to suffer slow response times by accessing remote databases over narrow-bandwidth links in real time. The company does not have to bear the expense of high bandwidth wide area network connections.
Users use the local copy of the database, adding documents, editing existing documents, and reviewing others. Periodically-hourly, daily, or weekly, depending on the nature of the application-the servers replicate with each other. All changes in each copy of the database are replicated with the other copies of the database, so that, over time, the workers see not only their local changes but also those made by remote workers.
Likewise, home-based workers or workers who are on the move, flying or driving from appointment to appointment, can carry replica copies of relevant databases on their laptops. They can work locally, reviewing project status and adding new documents to reflect their own activities. From time to time, they can connect to a Notes server by modem or by connecting to the network, and replicate their copy of the database with the server copy, sending their changes and receiving those made by their coworkers.
Notes was designed from the ground up to work with whatever other software tools you may use. You can pull information into Notes documents from all of your desktop productivity applications as well as from databases located on PCs and mainframes. You can also export information to your back-end databases. Also, Notes runs on a variety of platforms including Windows, Windows 95, Windows NT, Macintosh, OS/2, NetWare, and several varieties of UNIX. It can use all major networking protocols including TCP/IP, SPX/IPX, NetBEUI, NetBIOS, AppleTalk, and Banyan VINES.
All of this versatility would be of limited use if Notes did not have the ability to secure Notes databases against intruders. In fact, Notes has robust, multi-layered security features. To read or contribute to Notes databases, you must first positively identify yourself to the Notes server. Notes uses public/private key encryption to accomplish this. After the server knows who you are, it can block you out at the server, database, document, or field level. That is, you can be excluded from the server's access control list, each database's access control list, view, form, and document access lists, and from access to fields by field-level encryption.
Lotus Notes databases bear only the most superficial resemblance to standard computer databases. They do have records and fields in them, as do standard databases, but the resemblance ends right about there. In a standard database, all records in a table have the same set of fields and each field is the same, fixed length, whether it contains data or not.
Notes records, known as documents or notes, look and feel more like word processor documents than database records. Notes fields do not have a fixed length and the length of any one field varies from document to document depending on the field's actual contents. No two documents in a database need incorporate the same array of fields. Document A might have fields one, two, and three, while document B has fields one, two, and four. And a document might acquire fields one and two when created, then have fields three and four added at a later date.
When you create, edit, or read a Notes document, you do so using a template known as a Form. Forms define what fields may be added to a document when created or edited. They define what fields may be seen when reading the document. They also define how the document will be formatted.
You may use one form to create a document and another to read it. Or I may read a document with Form A while you read it with Form B. The result might be that I, the salesperson, would see some fields and you, the manager, would see others. Notes databases typically have multiple forms.
To find information in a Notes database, you could either browse Notes views or you could use Notes' full text search engine to locate documents. A Notes view is a tabular listing of documents. The documents appear in rows, and information from the documents appears in columns. Most Notes databases include multiple views, allowing you to use the one most suited to your search. For example, in a training department database, you might view course offerings by date in one view and by subject in another view. A third view might show only a subset of documents. For example, a view might show only the classes scheduled for this week.
Until Notes Release 4 arrived in January 1996, Notes was a closed system. You had to have a Notes client, available only from Lotus, to gain full access to Notes databases, or you could gain limited, customized access to Notes databases with some of the Notes add-in tools, such as Notes ViP (currently Revelation ViP 2.0 for Lotus Notes, available from Revelation Software, Cambridge, MA). Also, until Notes Release 4 arrived, these tools were much more expensive than the browsers necessary to implement a company Intranet.
Of course, with Releases 4 and 4.5, all this has changed. Lotus has dramatically increased Notes' functionality and its interconnectivity with non-Notes systems. The Notes client can now function as a Web browser. The Notes server can either publish Notes databases to your Web server or it can function as a stand-alone Web server. The Notes server can also serve as a back-end to non-Notes mail clients including cc:Mail and MAPI mail clients such as the Windows 95 mail client.
Lotus has also slashed Notes' pricing to bring Notes servers and clients in line with Internet servers and browsers. For example, a single Notes server now costs about $700. InterNotes Web Publisher (which cost $7500 when first released in January 1995) is now included in the box with the server software. And a Notes Desktop client, which includes all Notes functionality except server administration and application design, runs as low as $69 per desktop if purchased in quantity.
Like just about everyone else, Lotus recognizes the value that the Internet, Intranets, and the World Wide Web offer to businesses seeking connectivity within the enterprise and between the enterprise and the outside world. Lotus also recognizes that the Internet/Intranet is a perfect extension of Notes's own connectivity, and that Notes is the perfect development and deployment platform for Web applications. Therefore, Lotus has developed several products to integrate Notes with the Internet and your Intranet, and has integrated Web protocols including HTML, HTTP, and Java directly into Notes.
Notes-to-Internet/Intranet products include two-InterNotes Web Navigator and Lotus InterNotes News-that are designed to bring Internet/Intranet resources to Notes users. They include two-InterNotes Web Publisher and Domino Web Server-that make Notes resources available to the Internet/Intranet. Finally, there are Lotus NetApps, designed to streamline the development of Web-enabled Notes applications.
InterNotes Web Navigator is a Web browser integrated into Notes. The Notes 4.0 version of InterNotes Web Navigator resides on the Notes server and requires you to browse by way of your Notes server as proxy server. In Notes 4.5, the Notes client can either browse via the Notes server, as in Notes 4.0, or browse the Web directly.
InterNotes News is a Notes server-based interface to UseNet News Groups. It converts News Groups into Notes discussion databases and transmits Notes users' contributions back to the News servers.
InterNotes Web Publisher and Domino Web Server both publish Notes data to the Web. InterNotes Web Publisher works with any third-party Web server. Domino Web Server is a stand-alone, Notes server-based Web server. Both products simplify the authorship of Web documents by allowing anyone who can fill in a form to author Web documents. Both products simplify Web site management by automating the maintenance of documents and the links between them. Both products allow people who don't otherwise have access to data on Notes servers to access Notes data in their Web browsers via the Internet/Intranet.
Finally, Lotus NetApps are what Lotus calls "application frameworks". They are generic Notes applications that you can customize to meet your needs. Lotus plans to release several of them and released the first one, Net.Presence, concurrently with the release of Notes 4.5. Net.Presence is available for download from Lotus' Web site (www.lotus.com) and consists of a set of Notes database templates designed to streamline the design, creation, and management of Web sites. You can use the templates as is or you can customize the templates or borrow from them to generate content databases made to your order. Lotus has announced the future release of Net.Marketing and Net.Service, which are sets of templates and tools for building marketing capabilities and customer service capabilities, respectively, into your Web site.
For years, Lotus Notes has been the tool for automating group interactivity. With Domino and the InterNotes tools, Lotus provides the back-end tools for integrating Notes and your Intranet. With the NetApps, Lotus provides the front-end applications. Altogether, Lotus Notes provides about the most comprehensive approach to designing, creating content for, maintaining, and making generally effective use of a Web site of any set of products on the market today.
Earlier, we discussed implementing Usenet in conjunction with a Web server to add discussion areas to the Intranet. Usenet news is based on the Network News Transport Protocol (NNTP). Usenet is the term used to describe the global network of systems that share news articles, though NNTP can be set up for internal use only.
Most current browsers can read and post news articles. This make the addition of Usenet a simple, seamless addition.
Some ideas for local groups might be:
One of the good things about Usenet is its hierarchical nature. This means that groups can be broken down further if one group gets too busy. For example, the group "company.eng" might get too busy with hardware and software engineers talking. If this happens, the group can be split into "company.eng.hw" and "company.eng.sw."
There are different Usenet News servers available for many different platforms. This includes INN, Netscape News Server, and Interware from Consensys.
INN, The InterNet News server originally written by Rich Salz. INN runs on most UNIX platforms and comes in source code form. INN is one of the more popular news servers since it is available free of charge.
INN can be downloaded from:
Once you have downloaded and unpacked the INN distribution, you should read the documentation available in Install.ms.*. This will give you a good idea of how INN works and what can be done. Installation requires running BUILD; usually "sh BUILD" will do this. BUILD will ask a few site-specific questions. If you don't know the answer, hitting return will usually do the right thing. BUILD needs to be run as root.
Once BUILD configures the source, it will run make. This might take a while to finish. It will also make the directories and install the program. If INN doesn't build and install with BUILD, then you should look at the installation instructions in Install.ms.*.
Once it is built and installed, there is some configuration that may need to be done. You should read the Install.ms.* files for instructions on what needs to be configured. At a minimum, you may need to edit:
CAUTION |
Be careful when editing the newsfeeds file that you do not send any local groups to outside hosts. Also, make sure if your machine is not sending and receiving articles, you don't put any hosts in the hosts.nntp file. |
Once you have configured INN, you can start it up and test it. This is done by running rc.news script. If you want INN to start on reboot, you will need to add this to the startup scripts.
NOTE |
INN is a very complicated system. You should read the man page entries for the commands and make sure you understand what the different files do. |
Once INN is running, you need to add your local groups and decide whether they are moderated or not. To add new groups, you can use the command:
ctlinnd newgroup [groupname] [rest] [creator]
groupname is the name of the group. rest is one of the following:
Intranets will probably either want to use y for discussion groups or m for moderated groups.
The creator is the person who created or requested the group.
Netscape sells a commercial News server called Netscape News Server. It is available from http://www.netscape.com/ and sells for $995.
Netscape News Server runs on the following platforms:
Netscape News Server is a very easy-to-administer news server for UNIX machines. Netscape has built on the news server idea and added an HTML front- end. This allows Netscape News to be administered from any Web browser.
Using a browser, you can:
Consensys has developed a suite of Intranet/Internet applications called InterWare. This includes a Usenet server that runs on 32-bit windows such as NT or 95. It is available from http://www.consensys.com/interware/intrware.htm/ and can be ordered for $795.
The News Server has a graphical user interface to make administration easier. This graphical administration interface allows you to:
Mailing lists are similar to Usenet News with one major difference: Mail is sent to the user, news requires the user to go read it. This makes news less desirable; since users are required to check in and see if there are any new news articles. For messages that are required to be read, mailing lists sometimes make better choices.
Most e-mail packages can be set up to handle mailing aliases; in fact, most companies already have aliases in place. Some aliases might be for:
A simple mailing list can be maintained by the e-mail administrator. It would involve the administrator creating a company alias that goes to a group of people. For sites running UNIX, this would involve adding a line to the aliases file. This file is normally located in "/etc" or in "/usr/lib." Once a change has been made, you will have to run the command "newaliases" to re-create the sendmail alias database. Other e-mail packages may have other ways of creating a global alias. Check your documentation for more information.
NOTE |
If your site runs NIS, then you will have to also remake the NIS alias maps. This is usually done by cd'ing to /var/yp and running "make." |
One disadvantage to this procedure is the fact that the administrator must make all changes to the mailing lists. Other mailing list packages may not require this. Let's look at another way to have mailing lists set up. This program is called majordomo.
Majordomo is one of the most popular mailing list managers available. It was written by Brent Chapman of GreatCircle Associates. It is available from ftp://ftp.greatcircle.com/pub/majordomo. Majordomo will run on most versions of UNIX.
Once it is downloaded and unpacked, it can be installed with just a few steps. The installation instructions are included with the distribution. The major steps to install Majordomo are:
Once majordomo is installed and running, you can start creating lists. The majordomo list owner must create new lists but once they are created, users can subscribe and unsubscribe without the administrator's help.
To create a new list, you need to do the following:
Users can subscribe and unsubscribe to lists by sending e-mail to majordomo with the body of the message containing: "subscribe listname," or "unsubscribe listname." For help on majordomo, you can send the command "help" in the body of the message to majordomo.
LISTSERV is one of the first mailing list managers available. It is currently available for most versions of UNIX as well as VMS and Windows NT. It is available from Lsoft (http://www.lsoft.com/).
Once a mailing list is created with LISTSERV, it can be maintained remotely via e-mail. This makes LISTSERV easy for moderators and users alike. Lists can be set up to be public, where anyone can subscribe and unsubscribe, or private, where the administrator must approve or make all subscription changes.
LISTSERV is very popular and chances are good that if you subscribe to any mailing lists, they will be running LISTSERV.
Hypermail isn't a mailing list manager, but it is an HTML front-end for a mailing list archive. This allows a mailing list to be browsed through a Web browser.
This is different than reading mail from a browser because Hypermail actually sorts the messages by threads. Most browsers do not allow this, plus not all browsers can be used to read e-mail. Messages can also be sorted by date and author.
Hypermail is available from http://www.eit.com/software/hypermail/hypermail.html. It is free for both non-commercial and commercial uses though the licenses differ. It is available in binary form only and is available for the following platforms:
Once the binary file is downloaded, it can be run with the following options:
The easiest way to use Hypermail is to create a directory for each mail archive you are using in the DocumentRoot or other directory in the Web server. Then, run Hypermail with the following command line:
hypermail -m <archive-file> -d <directory> -l <archive name>
This will read in the archive file and store the HTML files in the directory you created for it. It will also add a title to the HTML pages.
Once you run Hypermail for the first time, you can run with this same syntax to update the archive. If, for some reason you need to re-create the archive, you can add the "-x" option and overwrite the old archive files. Figure 18.1 shows a Hypermail page.
Figure 18.1 : Hypermail is an HTML front-end for mail archives.
Bulletin boards are pages that can be written to and read by a number of people at once. This can allow someone to post a question and receive numerous answers. This sounds much like Usenet and it is quite similar. That's part of the reason Usenet and the WWW work so well together. WWW bulletin boards, however, aren't limited to text articles like Usenet is, though the documents can be any valid HTML page.
Chat scripts are similar to bulletin boards but are designed to be used in real time. As you type a comment everyone else sees it and can reply. This is similar to the Internet Relay Chat (IRC). Much like bulletin boards differ from Usenet because of the advantages of HTML, chat rooms differ from IRC because of the ability to handle HTML documents.
Web technology is rapidly being developed to allow more two-way communication such as chat rooms and bulletin boards and, by the time this book is published, things may have changed drastically. To keep current, you should monitor the page http://union.ncsa.uiuc.edu/HyperNews/get/www/collaboration.
It is possible to use existing Usenet protocols and mail servers to act as Web- based bulletin boards. This can be done by simply sending HTML files instead of simple text files. This allows documents to contain hyperlinks to other messages and graphics. Usenet servers and mailing lists, however, don't normally have links to previous and next messages and they also don't handle inlined images very well. Still, many companies find using this already deployed technology is enough to get them by.
There are a few other bulletin board based products available and one we will discuss is HyperNews. This is available from NCSA, the original creators of Mosaic.
HyperNews is a WWW bulletin board-like system that runs on most UNIX systems that have Perl5.001m or Perl5.002 ported to them. There is currently no port to NT, Windows or Macintosh. HyperNews is available from http://union.ncsa.uiuc.edu/HyperNews/get/hypernews.html. Figure 18.2 shows a page from a HyperNews server.
Figure 18.2 : HyperNews allows threaded discussions.
Once you download and unpack the distribution, you should see a directory called HyperNews1.9. Under this directory is another directory called ".scripts." Hiding underneath there is all the code for HyperNews. This includes:
To install HyperNews, you need to make sure you have CGI scripts enabled for your server. You also need to create a directory writable by the server. Others should not be able to write in this area. This should be called HyperNews/SECURE by default.
Once you have that set up, you are ready to go. You can read the file "installation.html" if you have any problems or questions. It explains this in detail.
WWWBoard is a script written by Matthew M. Wright. Matt makes many very useful scripts available free of charge at http://www.worldwidemart.com/scripts. He does ask for credit for writing the programs and would like to hear from users of the software.
WWWBoard is a standard Perl script and should run on any platform that has Perl available. It may require some minor changes to work on Perl systems other than UNIX. Installation for WWWBoard is covered in detail in the README file that comes with the distribution.
WWWBoard also has an HTML administration interface to make it even easier to manage. This is called WWWAdmin and it is also shipped with the distribution.
WWWAdmin allows you to delete messages by message number, by date, or by author. You can also change the administrator password from this interface.
In addition to HyperNews, there are also other software packages available. Some of these include: