In order to help co-authoring, basically, authors supply, during node authoring, keywords that describe the nodes, called global keywords. Suppose that one author has a node open and he/she wants to create a link from a selected part of this document. As we would expect, it will be very difficult for this author to know the contents and even the names of the possible destination nodes (as said in the last subsection, this is a frequent problem in WWW). So, we suggest that the link author selects a region to be the source anchor and supplies some local keywords that summarise the source anchor. As nodes already have global keywords attached to them, the system would be able to combine the local keywords of the anchor, with global keywords of the node creating a local context. This local context would be matched against the global keywords of all others nodes to find out possible destinations, which will be presented in order of importance to the user. These keywords will be stored in the linkbase and can be used afterwards by readers who want to create their own links or want, for instance, to list all nodes or links that have a certain keyword. We also used a thesaurus of words to help authors to use the same set of keywords. The on line thesaurus, is an old version of the Roget's thesaurus and it was copied from Project Gutemberg that has made this and other famous books publically available (by anonymous ftp from mrcnext.cso.uiuc.edu [ 128.174.201.12 ]). We wrote some scripts using the Perl 4.0 language and adapted some scripts developed originally for a thesaurus for the GNU Emacs by Darryl Okahata [28]. The scripts allow us to:
Two new classes were created in the Object Oriented linkbase: Nodes class, that stores, for each node OID (Object Identifier), a collection of keywords, and Keywords class, that stores for each keyword OID, the collection of nodes for which it is an attribute.