(If you do not see the frame version of
this page with a table of contents in the left frame, click here.)

Linking to Another farBook

Introduction

You can have a farBook stored on a host PC that is visible to the Internet
via cable or DSL, and use the information from any other PC having Internet
access. farVIEW supports more than one simultaneous user of a farBook,
either locally, via a LAN or a shared folder, or remotely, via the Internet,
by providing appropriate data locking to preserve information integrity.

This document also discusses farBook exposure to users and how to control
it.

Linking to a Remote farBook

You can link to a remote farBook from the command line, or alternately,
by creating a topic in your local farBook that names the remote farBook
in its Source property field. You can edit the Source property of a topic
by clicking on the topic using the right mouse button, then choosing the
Properties menu item. This presents the Properties dialog for the topic,
which you can edit. You also see an abbreviated version of the Properties
dialog when you add a new topic. Currently, there is only one form that
you can use, which requires that you know the ip address or URL of the
remote farVIEW machine. The form of the link is

far://<ip_address|URL>:<port_number>/<farBook_name>

For example, if you have an farBook named myBook on your home machine,
which has an ip address of 204.245.131.84 and you have set farVIEW running
on your home machine to listen on port 5280, you would enter the link into
the Source property as

far://204.245.131.84:5280/myBook

There is no default for any field. Note that if the host computer has a
URL, you can use that in place of the ip address.

To use the link while browsing, open the link to the remote farBook
by opening the linking topic in the usual way, i.e., by clicking on the
topic's icon with the left mouse button. That causes your local farVIEW
to connect to the remote farVIEW host, which opens the topic to display
the contents of the remote farBook. You browse the contents representing
the remote farBook in the normal manner. Note that you will probably experience
a slower response from farVIEW than you are normally accustomed when accessing
a remote farBook so be patient. When you close the link topic, you close
the connection between your local farVIEW and the remote farVIEW.

As I mentioned, you can also use a "far-link" from the command line,
but in that case, you will only access the remote farBook, not a local
one.

Linking to a Local farBook

farVIEW also supports a local version of the far-link, which is written
as

far:///myBook

Note that there must be exactly three slashes.

Use this form to link from a remote farBook to another farBook on the
same host machine. Your local farVIEW will automatically resolve a local
link in a remote farBook to link to the intended remote farBook. If the
remote farBook contains a remote far-link to a third machine, your farVIEW
guest will connect to the second host machine just as it did to the first
host machine.

farVIEW does not yet support remote farBook topics that represent data
files on the remote machine. If you have a topic in the remote farBook
that identifies, say, a Word document on the host machine, farVIEW does
not currently localize the file for you on your local machine. But that
ability is required of farVIEW, and I plan to implement it soon. For now,
during this early test phase, you are restricted to using the built in
editor with text that is within the remote farBook.

Setting up Preferences

Remote farBook hosting requires that you provide the host farVIEW system
some information. You will need to add several entries to your host preferences
file, farview.ini to protect your information and to identify users
and their capabilities. You should get familiar with the preferences file
using a text editor.

Host Preferences

You set up the [Comm] section to reflect your choice of listen port
as in the following example:

[Comm]active=yesmaxsize=16000accept=link | bodypause=1000listenPort=5280 ; set this to a non-zero numberserverIP=10.15.3.33 ; not yet usedserverPort=8000 ; not yet useduserName=<your user name here> ; set this to your
chosen farVIEW name

Set the [Books] section to show which farBook(s) you want to be
visible via the listen port (5280
above) as in the following example:

The example exposes two farBooks: farview and myBook. Note
that the value associated with the farBook name is the path, either the
relative path from the working directory that you specify in your farVIEW
shortcut on the host (as in the first example), or the absolute path (as
in the second example).

Note that, assuming that the host PC has an ip address of 192.0.200.1,
the far-links for these two farBooks are

far://192.0.200.1:5280/farview

and

far://192.0.200.1:5280/myBook

If the entries that provide the location information for the farBooks is
not in the [Books] section, these far-links will fail.

You can determine the ip address assigned to the host PC by running
the Microsoft program ipconfig in a MSDOS window on the host.

Controlling Exposure on the Host

Now you want to control the degree of exposure the farBooks will provide.
You do that by adding a section for each exposed farBook that identifies
the users of the farBook. In our example, you would add a [farview]
section and a [myBook] section. These sections identify who you
will allow to access each exposed farBook, and provide a mechanism to control
the extent to which they will access the farBook. Unless the wild-card
entry (*=) is present, only those listed have access to the farBook. Note
that having the wild-card entry means that anyone can have access to the
farBook, but only to the extent the key-list allows.

[myBook]jeRaven = [<key-list>]drTurbo = [<key-list>]* = [<key-list>]

The key-list is optional. If you aren't using it, just use the word
user.
It has no special significance, it will just help you remember to include
the equal-sign, which is absolutely required to allow the user to have
access to the farBook; in this case, myBook. I'll explain the key-list
in the following section about locks and keys..

Locks and Keys (not final)

farVIEW supports a lock-and-key permissions scheme that is flexible and
(I hope) simple to understand. Each topic can have a list of locks based
on three levels of exposure, which are enumerated in the next section.
Each user can have a list of keys given in the preferences file. When a
user attempts to access a topic, her key list is compared to the list of
permissions in the topic's Exposure property. If any match, the
user obtains the specifed exposure.

For the following discussion, suppose you have decided to identify your
personnel as belonging to one or more of the following groups:

Exposures

farVIEW provides three levels of exposure for each owned topic in
a farBook, which are Private, Browse, and Public..Private
means that only the topic owner will have access, Browse means that
users other than the owner can see the topic and its contents but cannot
change it, and Public means the topic is open to all comers.

Note that if a topic is anonymous, i.e., if the Owner field in its Property
dialog is empty or not present, then the topic is not owned, and
its exposure level won't matter, that topic is always public.

Because the basic farVIEW visual interface is through the Contents window,
which is a tree structure, a topic that is the parent of a set of children
topics controls the user's access to those children. Thus, the exposure
of the farVIEW root topic determines the exposure of its children, and
each of those child topics control the exposure of their children in a
top-down sort of way.

I should note that the owner of a topic always has full access to that
topic, assuming that the path from the root topic to the topic in question
is unencumbered by restricting locks..

Locks

A Lock is a key list in the Exposure field of a topic as displayed in its
Property dialog.

For example, if you want to allow the administrative and executive staff
to make changes to a topic, and allow the marketing staff to examine it
but not change it, you would enter the following into the Exposure field:

public(admin,exec) browse(mkt)

Note that this specification rejects any user who is not in one of the
two groups.

Keys

Now, suppose that jeraven is in the finance and marketing groups, while
drturbo is in the executive and engineering groups:.

You code the key-list for jeraven as follows:

[MyBook]jeRaven = fin, mktdrTurbo = exec, eng

jeraven has browse access to the topic while drturbo has public (edit)
access to the topic.