Introduction to LINCKS

A lot of noise has been made lately about “Computer Supported Cooperative Work” (CSCW) and “groupware”. This is an introduction to using an interesting CSCW product, which is licensed under the GNU GPL and is available for Linux. Another article will cover building a small CSCW application with LINCKS.
Application Programs—xlincks

To edit and browse a LINCKS database, you have to use the X11 interface application program, xlincks. If you are using a small screen, you would probably like to change the .Xdefaults as described in LINCKS.FAQ. Also, you might install lincks2x.ydb.tgz, which contains a database using smaller fonts. If you are installing LINCKS from the source distributions, see the script DB/scalefonts.

When started up, xlincks will create a series of windows. For each one, use the mouse to place it where you want it, then click the left button. (In these directions, if the mouse button is not otherwise specified, use the left button.) One of the windows should be the xlincks command menu (see Figure 2, “Logged in as emptyuser4”).

Much of the information in a database is organized hierarchically. When you start up xlincks, you should get one or more windows which are your entry points into the database. In Figure 2, we have logged in as user emptyuser4. To see more of the database, “expand” (see “expanding” below) some item in a window, thereby using it as the root of a new window.

Figure 2. Logged in as emptyuser4

The following convention is often used: <<xxx>> usually means “xxx” is a placeholder. A placeholder indicates that the view calls for something of type “xxx” to be in this place. Editing the placeholder will then create something of type “xxx” in the database. A box (frame) around an item often means that it's something that can be expanded. This is, however, simply a convention used by some views.

On-Line Help

There are two kinds of on-line help: the help text associated with a particular button in the command menu and on-line documentation. You get the button help text by clicking on the button, about which you wish to know more, using the right mouse button.

When you log in, you should get a window called “Help!” All of the on-line documentation is organized under this window. You can “expand” the appropriate items to see the documentation. This is not true for the tutorial account, but there is a button in the command menu called “Help Window ...” which will bring up the “Help!” window if you click on it.

Expanding or Following a Link

To expand something, click with the left mouse button on the thing you want to expand, while at the same time holding down the “Control” button. This will open a new window. The key command meta-l meta-e has the same effect. Or you click with the middle mouse button on the thing you want to expand while at the same time holding down the Control button; this will expand the item and reuse the window. The key command meta-l meta-E (note the capital E) has the same effect.

The previous paragraph described how to expand something using the default view, or GPD (General Presentation Descriptor) in LINCKS parlance. To expand something using a view other than the default, click on the “Expand ...” command menu button, which will bring up a menu of GPDs. Next, click on the item you wish to expand and then click (in the menu) on the GPD you wish to use. For example, if you wish to see something in “node view” (the entire database object), click on the item you want to see, bring up the menu, and click on the menu item “node”.

A Very Small Example

Using xlincks, log in using user name emptyuser4 and password emptyuser4. You should get the windows, as in Figure 2.

First, we'll add a link in the “Empty User 4” window to the “Help!” window:

Figure 3. After adding a link

  • Click on the item to which you wish to have a link (the source), in this case, the line “Things You Can Do In xlincks in the ”Help!“ window”, then

  • Click on the item after which we wish to put the link (the destination), that is the <<item>> in the “Empty User 4”.

  • Finally, click on the command menu “Add Link” button in the command menu.

Now the “Empty User 4” windows should look as in Figure 3, “After adding a link”. For fun, try to expand the “Simon Says” and see if you really get the “Help!” window.

Figure 4. After inserting a plural item

Now we'll start writing our upcoming article for Linux Journal about “Linux on the Road”. We prefer to store the article in our home directory (the “Empty User 4” window). First, move the cursor to the “Simon Says.” line in “Empty User 4” window. Then, insert a new item in folder view by giving the command meta-l meta-i (insert closest plural), which will create a sibling of the current item. (See “The xlincks User” manual or the next part of this series for more information.)

Now, replace the “item” as displayed in Figure 4, “After inserting a plural item”, with ”Linux on the Road“.

Then, move to “Linux on the Road” and expand it using meta-l meta-e (or control-left-button if you like), yielding the result in Figure 5.

Figure 5. Specify the expansion view

Now, replace the “empty: GPD name” with “full document” which is the name of the view (GPD) we'll use. Expand on the “full document” line, which gives us a full view of the document as shown in Figure 6. (You might need to move out of the line to make the change take effect, before you expand it.)

Figure 6. Full document view

Now we can start writing using the regular Emacs-like command for editing and the meta-l prefix commands for inserting and deleting structure items.

When the document is getting long, we tend to lose the overview of the different parts—we are no long able to see the forest for all trees. To get a top-level table of contents of our document, “Linux on the Road”, simply:

  • Select the title of the “Linux on the Road” document.

  • Press the “Expand ...” button on the command menu.

  • Select/press the “document contents” in expand menu.

and we should get something like Figure 7.

Figure 7. Document Overview

Now, change the title or author field in one of the windows. Then move out of the field and watch what happens. The change propagates to all other views built from the same content object.

Lastly, we remove the “Help!” item from our home directory. Move to the “Help!” item in “Empty User 4” type meta-l meta-r (for remove closest plural) to remove it.

We must save to the database server to make our changes permanent, since all our editing so far has been done in the client. To save the contents of a window, we only have to press the “Store” button or type control-x, control-s.