try many organizers at once

Coolbase

Definitions

Properties

A property is the most important object Argentum Coolbase operates with. Knowing it is essential if you want to get most out of Argentum Coolbase. A property is an object containing three entities:

  1. name of the property
  2. declaration of the property
  3. data

The name of the property is a text string used as a property alias.

The declaration of the property is defined by the major property type and additional property type modifiers which supplement this declaration. A set of possible modifiers are defined by its major type. There are seven major types, with modifiers extending the set of all possible types up to over twenty. The number of modifiers may vary from zero to two depending upon the major type. Modifiers may be either integer numbers or text strings.

The data is the information itself, which the given property represents. Its volume, interpretation, and representation depends directly upon the property declaration.

The name of the property and declaration of the property entities make up the property header. The property is therefore an object containing the header and data. The header of the property is coded by a text string using the following format: "Name of the property, Character defining major type of the property, Zero to two type modifiers delimited by comma (,) signs".

Declaration matrix

Code Type Representation Modifier 1 Modifier 2
s String Text edit control Number of characters horizontally. Number of characters vertically.
i Integer Edit control Size in bytes. Possible values are: 1, 2 or 4. This setting affects the largest number the property can hold within. Base. Possible values are: 2, 10, 16. This setting can be used to build up properties that store binary, hexadecimal or decimal numbers.
r Real Edit control Size in bytes. Possible values are: 4 and 8. This setting affects precision. Number of digits after the dot. This setting affects representation only.
d Date-Time Date/time edit control If no character assigned then raw date is used. Once it is "t" character then date and time are used. Once it is "p" character then raw time is used.
c Case Combo-box List of options delimited by semicolon (;) sign. Options are text strings.
e Set Check-box List of checks delimited by semicolon (;) sign. Checks are text strings.
b Binary-Link Icons for launching, loading and saving data If no character then raw binary data is stored. If "f" character then named file is stored. If "l" character then link is stored.

Examples

  • "Name,s,30,1". Edit control with a horizontal size of 30 characters and vertical size of 1 character is used for representing and editing textual strings.
  • "Information,s,60,25". Memo control with horizontal size of 60 characters and vertical size of 25 characters is used for representing and editing textual data.
  • "ID,i,4,10". Edit control is used for representing and editing decimal integer numbers occupying 4 bytes.
  • "Check,i,4,16". Edit control is used for representing and editing hexadecimal integer numbers occupying 4 bytes.
  • "Release date,d". Edit control is used for representing and editing dates.
  • "Distribution,c,Licensed;Shareware;Trialware;Freeware". Combo-box control with options listed between semicolon (;) signs.
  • "Platform,e,MS-DOS;Win16;Win32;Win64;Unix;OS/2". Check-box control with check options listed between semicolon (;) signs.
  • "Document,b,f". Buttons for launching, loading and saving binary files of arbitrary length.
  • "Link,b,l". Buttons for starting and assigning external links, internal links, and URLs.

Property table

Argentum Coolbase has an ability to emphasize frequently used properties by means of a predefined property table. Such emphasized properties are called indexed properties and have a corresponding property table. Property headers are stored in a special property table and every such header has its own unique index. Rows of that table are specified as "Index, Header". Later, when it is necessary to create or access a frequently used property, this property is addressed not by its header, but by its index solely. In real life it is recommended to index not only frequently used properties but all properties which you are planning to use with your tree. Indexing is beneficial as it simplifies working with properties, minimizes storage expenses, and makes the processing much faster.

It is better to plan out your property table before you begin working with your tree since later corrections may cause conflicts in the interpretation of a newly corrected property table (the tree items data may remain indexed by the old table). This warning is only applicable to the indexed headers that were already used in your tree. You may safely delete or edit in any way those headers that you are sure are not used yet. You may always extend a property table with new headers using unique indexes without worry. You may even change textual portions of already used headers in a tree's property table provided that no structural modifications are done. However it is still a good general rule to plan your property layout before populating your tree with the information.

Basic properties

Argentum Coolbase offers the user the ability to add and index their own customizable properties based upon personal preferences. However a small set of basic properties have a strictly predetermined meaning. You are not permitted to delete or edit the structure of the headers of these properties as Argentum Coolbase uses them automatically and expects their availability. Indexes from 0 to 14 are currently reserved for basic properties. You will see their headers in the property table of every Argentum Coolbase tree. All you are allowed to alter with these headers is their textual portions provided that no structural modifications are done.

Property filters and lists

Argentum Coolbase is designed to give the user unified methods for querying subsets of properties where it is required. There are two major methods: filters and lists. Filters are defined by using a combination of up to three primary components:

  1. Names of filtered properties are specified in the form of a list from top to bottom (order has no meaning).
  2. If it is necessary to filter all available properties you have to specify asterisk (*) on an extra line.
  3. If you are specifying asterisk (*), you may wish to exclude some properties from your query. Simply specify the excluded properties preceded with a minus (-).

A property list is just an enumeration of all the necessary properties one after another.

Items

An item is a foundational element of the tree. It also carries the property list. Items may have one ancestor item and a number of descendant items. The minimal set of properties for a single item is:

  • ID of the item
  • ID of the ancestor (parent) item
  • Type of the item

The user (manually) as well as Argentum Coolbase (automatically) may add new properties to the item's property list. The user may also delete properties from the list or edit property data.

Nodal item

A nodal item is a root item of the tree. It stores a property table for that tree, along with other important information. The ID of this item is always 1 and the parent ID is always 0 (i. e. parent item is absent). The nodal item has some limitations; for example, any indexed property of that item must only be a basic property - all other properties must be non-indexed. Furthermore, whilst editing the property table you should bear in mind the restrictions placed upon the basic properties and take into account all the rules concerning the table (see other topics). Argentum Coolbase checks most modifications you perform on the nodal item and notifies you if they are incorrect. Changes in the property table take effect after the tree has been re-opened.

Trees

A tree is the topmost level object that Coolbase works with. A tree is a hierarchical structure of associated items. A branch of a tree is a specific item and all its descendant items. Any branch can be a tree as well. Argentum Coolbase provides you with the unique abilities to create and maintain truly large trees. You may add items to the tree and delete items from the tree, move items and branches from one branch to another and edit item properties. The hierarchical structure of trees is maintained with the help of two basic properties: ID of the item and ID of the parent item. Every item has them within its own property list.

The terms tree, document and database are synonymous. Every single tree comprises five files on disk. For a file named "Tree" these include: Tree.db, Tree.mb, Tree.px, Tree.xg0, Tree.yg0. Tree files are usually well compressed, typically occupying 20-30% of their original size.

Here are some practical recommendations for you to work with trees in Coolbase:

  • Build your dendritic structures under the nodal item, in other words, the tree should contain only one topmost item and this item must be the nodal item.
  • Reorganize trees from time to time with the help of the "Optimize/Copy Tree" command.
  • Regularly back up trees.

[ To the top ]