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

Topic Properties


Each farBook topic owns a set of properties, the values of which farVIEW uses to manage the topic. You can examine and edit the properties of any topic by selecting the topic with the RMB, then selecting the Properties menu item. This will display the Properties dialog for the topic, which you can use to change the value of any unshadowed property. For example, you can't edit the Name property, but you can edit the Title  property.

(Out of date) When you create a new farBook, farVIEW uses the property names listed in the [Manifest] section of the farview.ini preferences file as the topic properties for the farBook. When you create a new topic within the farBook, farVIEW uses the property list that it associated with the farBook. You can edit the properties in this list by following this procedure:

  1. Select the File/Search menu item.
  2. Type *prop$list* in the Search edit window.
  3. Click the Ok button, or press the Enter key.
  4. Double-click the *prop$list* topic in the Search Results window.
  5. Proceed to edit the properties in the text window.
  6. When done, save.
farVIEW recognizes a number of topic property names. Here is a list of the properties that farVIEW currently recognizes, along with some sample values:

Name=5E4F7B4017F211D6A7200080C8C1CEAC
Title=Friends
Source=
Form=
Note=
Class=
FirstDate=Sat, 02 Feb 2002 20:34:39 GMT
LastDate=Sat, 02 Feb 2002 20:34:39 GMT
Owner=
Exposure=
SortOn=Title
Font=BrendensHand,0,0,19
Where=105,36
Rect=500,0,640,480
Wrap=

farVIEW requires that every topic have at least the first two properties. The value of the Name property is unique to the topic, and it is used to identify the topic and its relatives (children, parents, etc) when you open a topic. farVIEW generates the value for the name property when you create the topic. The value of the Title property is, of course, what you see in the Contents window that you use to identify a topic. You specify the title when you create the topic, and you are free to change the title at any time.

Note that you are free to add additional properties to the list. farVIEW will retain and propagate any properties you add, but their value will be your responsibility. For example, I have found a Note property to be useful, which I use to keep a short note about the topic while leaving the Source property free for its prescribed use.

Let's discuss the remaining optional properties under their own headings.

Source

This property instructs farVIEW how to obtain the content of a topic. You edit the Source property using  the Properties dialog. The Source property can contain a number of different kinds of information, for example, file names, command lines with parameters, URLs, or nothing at all.

Note (or Notes)

When this property is present and contains text, the text is displayed in a tool tip while the mouse cursor hovers over the topic.

Form

Specifies the file name of an XML file that defines a dialog window through which to view and edit the content of the topic. farVIEW checks this property when the Source property is either empty, or contains a file name beginning with a dollar-sign ($). For details describing how to construct an appropriate XML file for this purpose, go here.

Class

Specifies the Unique Alias of another topic, or topics, from which to obtain (inherit) Events. See  Topic Events for details about farVIEW events. If more than one topic is to be specified, separate the Unique Alias of each topic with a comma. (Be sure you don't use a comma as part of the symbol when assigning a Unique Alias to a topic.)  If a particular event in the event list of a topic is not specified, then farVIEW searches the event lists of each topic specified in the Class property to find a farSlang module to apply. The event lists are searched in the order the topics are specified in the Class property value.

The Form property is also defaulted by the Class property. This makes it convenient to create collections of topics that inherit their content presentation aspects with a single topic.

First Date

The value of the First Date property is the date the topic was created, in Greenwich Mean Time (GMT). If the First Date property is present, it is automatically maintained by farVIEW, and is shadowed in the Properties Dialog.

Last Date

The value of the Last Date property is the date the topic was last changed, in GMT. If the Last Time property is present, it is automatically maintained by farVIEW, and is shadowed in the Properties Dialog.

Owner

The value of the Owner property is user name of the owner of the topic. It may also be empty. If it is empty, the topic is considered to have a public exposure. See the Exposure property, below. The Owner property is managed by farVIEW and is shadowed in the Properties dialog.

Exposure

The value of the Exposure property can have two forms.

The first form uses one of the following three words: Public, Link, Browse, or Private. If the topic has Public exposure, it is available to all users for browsing, linking,  and editing. If it has the Link exposure, users can add children topics but cannot edit the topic. If it has Browse exposure, it is available to all users to browse, but is available only to the owner to link and or edit. If the topic has Private exposure, it is available only to the owner. If there is no owner, i.e., the Owner property is empty, then the topic has Public exposure, regardless of what is specified in the Exposure property.

The second form supports a list of "lock" symbols that require specific "keys" to unlock the topic. By this method, you define keywords that you can associate with each of the three levels of exposure.

For example, suppose you divide your company into the following groups:

    Executive(exe)
    Accounting(acc)
    Marketing(mkt)
    Sales(sal)
    Development(dev)
    Support(sup)

You have topics in your company farBook that should only be Public to your executives and invisible to everyone else. Likewise, you have topics that belong to each group who need to change the content, while restricting access to the remainder of the staff.

Set the Exposure property of the first type of topics to Public(exe). Set the Exposure property of each of the second type of topics according to the following list:
 

Executive
Public(exe)
Accounting
Public(acc) Browse(exe)
Marketing
Public(mkt)  Browse(exe)
Sales
Public(sal) Browse(exe)
Development
Public(dev) Browse(exe, acc, mkt, sal, sup)
Support
Public(sup) Browse(exe, acc, mkt, sal, dev)

This establishes the "locks" you need for your company farBook topics. Now,  you need to establish the "keys" for each user of your company farBook.You do this in the farview.ini preferences file in the section you associate with the company farBook. If the farBook name is widgetsInc, then you add a section to the file that looks like

    [widgetsInc]
    John=exe
    Ted=exe
    Mark=acc
    Sally=acc,mkt
    Jeb=mkt,sal
    Zack=dev

and so on.

Assuming that your staff sign on by their first name, they obtain the key(s) you have assigned them and obtain permissions into the farBook according to how their keys fit the locks. Users who are not listed in a locklist are excluded from access altogether. Note that Sally and Jeb have two keys. In each case, the key with the most permission is used for opening a topic.
 

Note: Each user of the company farBook must have a private farBook containing a topic whose Source property contains the far://-URL of the company farBook, by which the user can access the company farBook. See also the Source property.

farVIEW permits the owner of a topic to change the value of the Exposure property. For all other users, the Exposure property is shadowed in the Properties dialog.

Run

When the Run property is present and contains a value, the specified farSlang proc is executed as part of the initialization of the topic when it is obtained by expanding its parent topic. (farSlang note: this is not done automatically when a topic is loaded from the farBook by a farSlang module. The farSlang module would call the CTopic.RunFarSlang method to accomplish this.) The form of the farSlang reference is |moduleName|procName|parameter, with the procName and parameter fields optional.

SortOn

When the SortOn property is not present, farVIEW displays topics alphabetically using the Title property, but you can order topics differently by using the SortOn property to name a different ordering property. For example, if you want an arbitrary order, create a user-defined property, say Order, set the SortOn property to identify the Order field, then set the contents of the Order property of each sibling topic with a value to correspond to the position you want the topic to occupy.

Font

farVIEW maintains the Font property to remember the last font selection for the content window for the topic. Note that you are free to change the value of the Where property. Be sure that you understand the form and the acceptable range of values before you change it, however. This property is normally fully automatic: farVIEW generates it when you display the content of a topic.

Wrap

farVIEW maintains the Wrap property to remember if you activated the wrap function in the editor for the topic's content. If the value of the property is wrap, then the text of the content window will wrap whenever you enter text, whenever you resize the window, or whenever you change the font size.This property is normally fully automatic: farVIEW generates it when you display the content of a topic.

Where

farVIEW maintains Where property to remember the last position of the edit caret for the content window. Note that you are free to change the value of the Where property. Be sure that you understand the form and the acceptable range of values before you change it, however. This property is normally fully automatic: farVIEW generates it when you display the content of a topic.

Rect

farVIEW maintains the Rect property to remember the last position and size of the content window for the topic on the screen. Note that you are free to change the value of the Where property. Be sure that you understand the form and the acceptable range of values before you change it, however. This property is normally fully automatic: farVIEW generates it when you display the content of a topic.