xmbase-grok - Desktop Database
The current version is 1.4.1.
This page was last updated 10.7.97.
Contents:
(Note that xmbase-grok began life as grok,
but it turned out that a fuzzy grep utility with that name beat me
by a few months, and nobody seemed to get the reference anyway. The
new name is more descriptive, I hope.)
Program Description
xmbase-grok is a simple X/Motif database manager and user
interface builder that can -
- keep phone and address lists (like a rolodex)
- store phone call logs
- keep web page databases
- keep todo lists
- manage any other database after simple GUI-driven customization
- custom export to programmable data formats, HTML export built in
More precisely, xmbase-grok is a program for displaying
and editing strings arranged in a grid of rows and columns. Each row is
presented as a card consisting of multiple columns, or
fields, that allow data entry. The presentation of the
data is programmable; a user interface builder that allows the user to
arrange fields on a card graphically is part of xmbase-grok.
xmbase-grok also supports a simple language that allows
sophisticated queries and data retrieval. xmbase-grok comes
with the above examples and a few others as pre-built applications.
xmbase-grok is not a general-purpose database program. It
was designed for small applications typical for desktop accessories. If
you attempt to run your major airline reservation system or your space
shuttle project with it, you are guaranteed to be disappointed. (To my
great amusement, a manager at NASA involved in the shuttle project has
told me that he does use xmbase-grok, successfully.)
System Requirements
xmbase-grok compiles and runs on anything that has Motif.
At this time, X11R5 will do, but Motif 1.2 is required. Also, the source
needs an ANSI C compiler, a K&R compiler will not work. To compile
xmbase-grok, Motif libraries are required; however, if
static linking is used the resulting binary can be run on non-Motif
systems. A reasonably recent binary is available on
sunsite.unc.edu for Linux.
There is no way to compile or even port xmbase-grok to
OpenLook or Athena.
Supported systems include SGI, HP, Sun, and Linux. xmbase-grok
supports both an Imakefile and a standard Makefile, because an astonishing
number of systems fail to include xmkmf and imake.
Did I say before that everybody ought to own a Silicon Graphics machine?
xmbase-grok comes with extensive online help and a
PostScript manual, including TeX sources for the manual.
FTP sites
Major updates are posted to the alt.sources
newsgroup as full sources. Minor upgrades are posted as patches to the same
group. Unofficial beta versions are posted to the xmbase-grok
mailing list, see below.
- ftp.x.org
always contains the most recent version, in contrib/applications.
I can upload this one myself, so it's guaranteed to be up to
date, but hard to reach sometimes.
- ftp.fu-berlin.de
is the closest site. The directory is pub/unix/graphics/grok.
I do not have direct access but new versions appear within a few days.
-
sunsite.unc.edu may contain a precompiled executable for Linux,
I cannot make these myself, friendly Linuxers take care of this.
The archive is normally compressed with GNU gzip and is about
230 KB. Most ftp servers also allow retrieval of a compressed
file, which takes about 360 KB. The distribution is 900 KB uncompressed.
Mailing List and Bug Reporting
There is a mailing list that I use to announce new versions and to publish
experimental patches between official releases, and for questions to all.
The mail volume is low, a few messages per month. To subscribe or unsubscribe,
send mail to
grok-request@bitrot.in-berlin.de. Do not send subscribe or
unsubscribe messages to the list itself! Note that I will remove addresses
from the list that bounce several times in a row.
Please send bug reports or ideas for new features to me, at
thomas@bitrot.in-berlin.de.
Since I get quite a lot of mail, please be patient, I am not very good at
replying quickly... Also note although I appreciate new ideas and still
actively enhance grok, I throw out more ideas than I accept
because I avoid creeping featurism, which kills program faster than neglect.
Troubleshooting
- On SGI systems, if the icon doesn't show a picture, copy the icon
picture Grok.icon into your ~/.icons directory. If you don't have
one and don't want one, set the plan*noIcon resource to False in
your ~/.Xdefaults file. It may be necessary to restart 4Dwm to
register the icon after copying it to ~/.icons.
- The grok program uses quite a few colormap entries. Although there
is a black&white fallback mode, you may have problems starting other
programs that also need many colormap entries. The only workaround
is to kill grok when you don't need it.
- If radio and toggle buttons appear gray regardless of the colToggle
and colRed resources, make sure that the sgiMode resource is False.
In SGI desktop mode, colToggle and colRed are disabled because they
would override the desktop defaults.
Change History
Only recent changes are listed with details, intended for finding out
whether a bug has already been fixed and your copy should be upgraded.
- version 1.0, released 31.10.94
- version 1.1, released 11.11.94
- renamed CONST constant because Ultrix and Sinix had problems with it
- implemented substitute for strcasecmp because Sinix doesn't have one
- summary title string could come up with garbage if grok starts empty
- when creating new forms, database name was used as form file name
- DEC/OSF stdarg had problems with a check for null %s arguments, fixed
- preferences menu can now configure number of lines in summary window
- preferences menu can now scale cards (for people with lowres screens)
- GROK_FORM environment variable replaces "." in form searches
- added help on environment variables and resources
- US dates mm/dd/yy in the database file were misparsed as 12/31/69
- Cancel in the print file dialog didn't work (Igor Metz, metz@glue.ch)
- help could overrun malloced buffer (Grant McDorman, grant@isgtec.com)
- FORM keyword evaluated to name.f, not name.gf
- DBASE keyword no longer appends .db extension if database is procedural
- version 1.1.1, released
- form editor allowed leading blanks in form and dbase names, confusing
- multiple independent sets of choices in a form didn't work
- form editor didn't handle blanks and DELs as field delimiters well
- version 1.2, released 16.6.95
- conversion to ANSI C
- multiple sections (database can be a directory, contents are sections)
- new chart code that is actually usable
- elimination of duplicate forms in the database pulldown
- database lines beginning with an empty field shifted all fields to left
- print current card always printed second card (kooper@dcs.qmw.ac.uk)
- added qsum, qavg, qdev, qmin, qmax to language (grant@isgtec.com)
- added ssum, savg, sdev, smin, smax, in, section to language
- port to DEC OSF/1 Alpha, by Steven W. Orr, steveo@uniprise.com
- texts longer than 1024 characters could crash
- new full-color SGI icon
- improved PostScript manual
- version 1.3, released 28.4.96
- export function to create formatted files from databases, template
editor for custom exports, HTML (World-Wide Web) templates are built in
- new biblio database by James C. McPherson
- grayed-out data entry fields no longer show garbage data
- no longer necessary to press print mode button twice
- version 1.3.2, released 10.5.96
- fixed two stack array overruns causing crashes on some systems
- version 1.4, released 5.2.97
- new form editor fields for plan calendar interface
(needs plan 1.6)
- sort pulldown supports reverse sort
- the database is resorted automatically whenever the database changes
- optional automatic queries whenever the database changes
- summary always shows current database state, even while adding cards
- database and section pulldowns are now sorted
- new system database, by Mike Dotson
- new workplan database
- query dialog shows available fields in a scroll window to reduce width
- cards can now be added without selecting a section (if available) first
- exporting to HTML data-only lists no longer crashes or repeats strings
- version 1.4.1, released 9.7.97
- new date and time string to number conversion functions in the grammar
- new general character-to-string translation operator "tr" in the grammar
- new variables A..Z that are not cleared when switching databases
- new database field assignment functions
- grok sometimes crashed after creating a new form before data is entered
- fixed export expressions, it was difficult to put newlines into templates
- sometimes misinterpreted the time part of date/time fields in data files
Back to my home page
Tell me if you found
this information interesting or useful, or if you have comments.
The URL of this page is
http://www.in-berlin.de/User/bitrot/grok.html. See the copyright notice.