MaxBase v.1.06
	   
	  
MaxBase Guide and reference

Let's start exploring MaxBase features, and how do they work. In this document I will sometimes refer to MaxBase as MB, and to a 'database' (a collection of data organized in fields) as a DB.

First of all, let's say that MaxBase doesn't have menus, it has panels. Every button in a panel can lead to another panel, or just execute a command. In the picture below, [ sel all ] will select all of the present records in the DB.

Not all the features are available at any time: they show up only when they make sense (i.e. you won't see the 'logout' function if you're not logged in to a database). So, for example, picture number 1 shows the MaxBase standard main panel (one DB loaded) plus the Jukebox plugin. Plugins are external applications which can extend the MaxBase set of features, and show up in the main panel. MaxBase looks for plugins at startup, reading the plugin.ini file (see the plugins.zip - unixplug.zip - macplug.zip files for an example).

the main panel

main panel

By defaults, in the main panel you find buttons to perform the following actions:

  • [ Login ] and [ Logout ]
    let you connect/disconnect to/from a database, and after having logged in to a database the records that this latter contains will be displayed.
  • [ Sel All ] and [ Des All ]
    select and deselect all the records that are loaded into MaxBase.
  • [ Exit ]
    will close the MaxBase application and store information for the currently in use settings in the directory you started MaxBase from.
  • [ Options ]
    brings you to the Options panel (set fonts and colors, decide how many records to show at once).
  • [ Tools ]
    brings you to the Tools panel (modify the databse structure, import/export from/to .dbf files, create and delete Dbs, etc).
  • [ Data ]
    brings you to the Data panel (from there you can add, delete, modify records, set a filter, order the database, etc).

the data panel

data panel

This is the panel you will use the most. Here you find all the functions for data entry and manipulation:

  • [ Add ]
    lets you add records to a database.
  • [ Modify ]
    works like [ Add ], but allows you to modify one or more records.
  • [ Delete ]
    will delete the currently selected record(s).
  • [ Order by ]
    lets you choose which field to order your database on. Warning: you can order the DB only on records which have an index (see the [ New DB ] function in the DB Tools panel).
  • [ Set a filter ]
    brings you to another panel where you can enter a filter to be used with the current database. Each filter is composed by one or more statement, which are in the form <fieldname> <operator> <value>. If you want to provide more than one statement, just add a .&. token between two statements.

    Note: <fieldname> can be either a real field name (as is [ titolo ] in the above example) or a number (eg. [ titolo ] would be '1', because it is the first field). You can set filters on every field, even if they don't have indexes. You can also have multiple filters on one field (eg. [ Age < 65 .&. Age > 18 ]). The valid operators are: = (equal to), <> (different from), >, <, <=, >= (less than, greater than, less or equal, greater or equal).
    You can also use wildcards with = and <> operators: string* will search for every record which has a value beginning with [ string ], *string will look for records which end with [ string ], *string* will show every record which have [ string ] in them. Filters are not case-sensitive if you enter values in lower case; they are case-sensitive if you enter your values in a mixed case or upper case. A special operator is "!all" (without quotes): specifying !all as a field name, that condition will be extended to all the fields. If you specify a filter condition when another one is in use, the first one will be dropped, and the most recent one will be used. Passing as a value the null string will reset the filter conditions.

  • [ Form View ]
    lets you see the currently selected record in, guess what, a form view. This can be very useful, for example if you have records whose length makes them not to appear fully in the one-line view, or if you need to put in the clipboard the contents of a field (E-mail addresses or home page URLs come to mind).
  • [ Refresh Now ]
    will refresh the current view with the contents of the db stored on disk. Useful if you are using the [ First 50 ] visualization strategy and delete a lot of records.

the options panel

options panel

In this panel you only find three buttons (plus the one that brings you back to the main panel):

  • [ Show 50 records ]
    will tell MaxBase to show only the first fifty records if there are more than that to display. This is useful because if you have thousands of records, loading and displaying all of them will take time and resources. Usually you work with filters so you don't have that much records displayed at once. The default, upon MaxBase startup and if not overridden by the user upon exit, is to show only the first 50 records of a database.
  • [ Show all the records ]
    instructs MaxBase to show all the records at once. E.g. if you have set a filter which retrieved 100 records they will all be displayed.
  • [ Colors and fonts ]
    will let you customize fonts and colors for MaxBase.

the tools panel

tools panel

The tools panel doesn't contains functions, it is only a placeholder for other panels: (beside hosting the 'About' function which will report your registration information and version of MaxBase)

the DB Related panel

DB Related panel

In this panel you will find buttons to perform the following operations:

  • [ New DB ]
    lets you create a database. Warning: when you create a database, you must provide at least an index which has the ISAM indexing, or MaxBase won't allow you to save that database. As a rule of thumb, ISAM indexes are useful when you enter real data in them (as opposed to letting those fields void) since MaxBase maintains an ordered index for that kind of fields. Be warned that having a lot of ISAM indexes can slow down operations. On the other hand, you can order the database contents only on fields which have ISAM indexing.
  • [ Del DB ]
    lets you delete the current database.
  • [ Pack DB ]
    will eliminate dead records and regain some space on the hard disk. Warning: since MaxBase uses a statistical model to guess where new records will have to be stored, it is recommended that you do not pack your DB too often, since the packing operation will cancel all the statistical work done until then. Packing twice or three times a year should be sufficient. Note: there is an exception to this rule. If you modify a lot of records (eg. 20% of the total records or more), it's good practice to do a 'pack' on the archive.

the field Related panel

field related panel

Here you will find options to perform the following tasks on the currently in use database:

  • [ Add field ]
    lets you add a field.
  • [ Del field ]
    lets you delete (permanently) a field.
  • [ Mod index ]
    will let you modify the indexing strategy for this field (See [ New DB ] section on the [ DB Related ] panel).
  • [ Mod Fld name ]
    lets you modify the name for a given field.
  • [ Mod field length ]
    is used to adjust the length for a given field.
  • [ Arrange ]
    is used to re-arrange the position of the fields in the list, and to select which ones to show.

the DB Util panel

DB Util panel

Here you will find two options:

  • [ .dbf -> .dat ]
    will let you import a DB III database into MaxBase native format.
  • [ .dat -> .dbf ]
    will let you export a MaxBase native format databaase into a DB III database.

Please be warned that MaxBase saves (in the current directory) its position so the next time it is started it will show up at the same location, with the same size. Other information saved are colors, fonts (if customized by the user), field on which to order the database and active filter (if any): make this work for you - store your databases in different directories and customize differently each DB look'n'feel!

Also, you can select which of the standard MaxBase's functions are to be activated upon MaxBase startup. If MaxBase finds a file called maxbase.mnu then it reads all the strings in it, and labels buttons and text bits after those strings. If a button string is set to '-' (the dash character, without the single-quotes), then that button is disabled. If maxbase.mnu doesn't exist, then the default strings will be used.

shortcuts

The following keyboard shortcuts are active in the list which presents the records:

  • When presented with more than one entry field (eg. when entering records data), use the keys PAGE UP and PAGE DOWN or UP and DOWN ARROW to move from one line to the previous or the next (CTRL+PAGE UP/DOWN scroll an entire page when you are in insert/ modify mode and have more than 5 fields). double-clicking on an item brings you directly into the [ modify record ] layout.

  • Selecting a record and then selecting another one, while pressing the SHIFT key, selects also all the records between the first and the last that have been clicked. You can select multiple, non-consecutive records, by clicking on them while pressing the CTRL key.

  • They key CTRL+END is used as a shortcut for [ store ] when adding or modifying records, [ set filter ] when setting filters. Similarly, CTRL+HOME aborts the very same operations (much like hitting [cancel] or equivalent).

  • The CTRL+A keys bring you directly into the [ add record ] layout.

  • The CTRL+B keys empty the field your cursor is on.

  • The CTRL+C keys, when used during record adding or modifying, copy the record which was last stored into disk into the current fields. Warning: this way only up to four fields will be filled. In fact, CTRL+C fills all the fields visible for that page except for the one field you're in. Useful when you have to enter a batch of records which differ only for a field. ALT+C copies ALL of the fields for the page you're in (including the one the cursor is on). [See also CTRL+V]

  • The CTRL+D keys bring you directly into the [ delete records ] layout.

  • The CTRL+F keys bring you directly into the [ filter ] layout.

  • The CTRL+O keys bring you directly into the [ order ] layout.

  • The CTRL+V key acts like CTRL+C, but only copies the values for the field you're in.

notes

maxbase.mnu files for Unix and Mac (\n and \r line-terminated) are stored in maxbase.*.unix and maxbase.*.mac where * = a language (eg eng = english or ita = italian). Just copy one of them into maxbase.mnu.

All the messages and buttons presented to the user are configurable through the customization of maxbase.mnu ASCII file, and that means also that you can translate maxbase from english to other languages (as examples I've put in this package the english and the italian translations; if you translated MaxBase into another language let me know!).

From RXDbase 0.90 on, I started using Taligent's widgets. You can browse your data with the vertical and horizontal scrollbars, and you can also resize the columns width by dragging the column separator in the maint caption for that column.

MaxBase can be given a parameter in the command line: the name of the database to log in to at startup (trailing .dat extension NEEDED). E.g.:

java MaxBase imgs.dat

If you provide a name of a directory (without the trailing \ or /) instead, when you'll bring up the [ login ] dialog the browsing will start from the specified directory. Other parameters are presented in the FAQ section, as part of workarounds for problems. Normally you don't need and don't want those extra parameters.

You can expand MaxBase functionalities through the use of plugins. Refer to the plugins packages for more details. (file readme.plugins)

The printing functions are provided as a plugin, and must be extracted from the plugin.zip (macplug.zip, unixplug.zip) package. (The plugin.ini file gets read *in the current directory* if it's present); see the FAQ section for a first look at them.


Max Marsiglietti © 1997
Layout and artwork Andrea Resmini 1997