<

What is that?

Stated very briefly, allegro is an

autonomous,

    platform-independent,

        object oriented

           Database system.

It may also be operated as a Client/Server System, but on a LAN, it doesn't need a server as long as everyone has access to a common disk drive.

This brief statement contains five concepts that need to be explained in more detail.

allegro is a Database System -- as opposed to a purpose-built library software package
This means that allegro is not a specialized application package but it can be configured for many different tasks that require the capturing, saving, managing, retrieval and evaluation of data. Software in this genre should have a number of features, among which:

Parametrizability

Data structures cannot be "hard-wired" but have to be configurable and parametrizable. In particular, allegro is not confined to library-specific data with all their idiosyncrasies, but it can cover a wide spectrum of structures and functions.
From Version 23.2, allegro is Unicode-enabled.

Multi-user capability

An allegro database can be run on Windows as well as Linux, with simultaneous access from any number of workstations.
(There are no separate single-user and multi-user versions.)

Resilience

All transactions (Data input, corrections, etc.) are logged in a separate file. In the rare event of a severe crash that leaves the database in a corrupt state, it can be restored to the state immediately before the crash.

allegro is autonomous

No additional software components, like a standard database system, are needed to run allegro. This means: No extra cost or efforts. Simply stated: allegro does everything all by itself, the installation package contains all it takes.

allegro is platform-independent

Windows, UNIX, Linux (and still, even DOS) - a database can reside on any of these platforms. Not only this, but the file structure is exactly the same in all cases. Therefore, one need only copy a database to make it usable on another patform. If the same disk is accessible from two platforms, like Windows and Linux, both can access a database simultaneously. (The problem of different character sets is solved by a tranparent table-driven mechanism.) Convenient clients exist for DOS (PRESTO) and Windows (a99) and for the Web (a35).

To publish a database on CD-ROM is as simple as copying it. A client named alcarta (for Windows) is free for distribution, i.e., a published CD requires no license fees. More often, these days, databases are published online using Web clients PHPAC or a35.

allegro is object-oriented, not relational

An allegro database may hold records of various types. The behavior of a record, as for example its indexing or its appearence in the display, is governed by the parametrization, not by built-in functions. The Windows and Web clients have a macro language called FLEX. This can equip records with all sorts of functions.

All of that makes allegro an open system: it is not a Black Box, but an industrious administrator can configure everything down to very small details, including the conversion of data from outside sources into the local format or of allegro local data into other formats.
 

Is allegro a Client/Server System?

Yes and no. A database server named avanti is part of the package. avanti  is normally employed only for WWW access. There's a long Link list of databases brought to the Web in this way. The avanti server also serves as an intermediary for Z39.50 access.

One may also install the avanti server in an intranet but it is not necessary . Much more often, the "monolithic" programs of the DOS and Windows platforms are used in PC-based networks. They have many more functions and more power than a Client/Server system because they access the database directly and exploit the power of their workstation in a much better way. In particular, it is an unnecessary complication to install a client/server system on a single user workstation. It is possible, but slower and a much bigger job to administer. Where necessary, avanti  can, however, access a database simultaneously with the monolithic clients. This means, live databases can be exposed to the Web .

Besides tailor-made solutions using avanti with Perl or other scripting languages, there are standard packages for making databases accessible by Web browsers in the internet or intranet. These packages are PHPAC and, much more modern, a35. For standard applications, they are both easy to install. No time-consuming work in Perl or similar scripting languages is needed, but there are ready-made packages of PHP, HTML5 and JavaScipt files and some FLEX makros and parameter files. With all of this, a database can be online within an hour. Like everything else, this method is configurable and extensible. 

Is allegro fully documented?

For the administrator, there is a complete manual, the Systemhandbuch, (in German). The Windows programs, a99 and alcarta, come with many help texts making orientation easy - they have hyperlinks like HTML files. The big question-mark button between the [Index] and [Find] buttons brings up the documentation at any time, or type 'h' on the command line. There's not just text but also clickable functions. Under the heading of Supervisor Functions you find all the necessary assistence for the management of databases, including re-indexing, backup copies and restoration.
To try it out, there's a demo version available.
Tip: to switch to the English interface, click on "English" in the upper right-hand corner after you bring up the demo database.
Or go to the INI file (normally cat.ini in c:\allegro\demo2) and insert the command
Language=ENG

Is allegro meant for small and medium databases?

That would be an understatement. By now, there are many databases exceeding 1 million records, the biggest is beyond 25 millions and can still run on a plain PC.

allegro is not a library system

... as was stated above. Being freely parametrizable, allegro can be and is widely being employed for library tasks but it was not developed with just that in mind. The package comes with a standard parametrization enabling a library to begin cataloging right away and establishing a local OPAC. The user interface comes in German and English. There are more standard parameters for functions like circulation and book ordering, but these functions, too, are open for every kind of local adaptation. From Version 26 (2006), there is a new parametrization that is suitable for many different projects: the Neutral Model.

allegro can cooperate with VuFind

There are export parameters that convert internal data into the MARC format required as input to VuFind. Periodically, one can export the Logfile and use it to update the VuFind index.



B.Eversberg, UB Braunschweig
2001-02-22 / 2015-08-31