Catalog is a perl program that
allows to create, maintain and display Yahoo! like directories. The user
interface is 100% HTML. It requires a MySQL database to run.
The general idea behind the
design of Catalog is that creating a catalog is mainly a matter of organizing
objects in a structured tree. For Catalog
the objects are
records in a table of the SQL database. The structured tree is a set of
tree nodes and relations between these nodes. The maintainer of the catalog
is in charge of building the tree and placing objects in this tree.
Catalog
makes
no assumption about the data contained in the records. It is not designed
specifically to build a catalog of URLs, despite the fact that we mainly
use it to classify URLs. It can be used to classify companies, bug reports
and so on.
Special care has been taken
to allow easy customization of a catalog, from the programmer point of
view and from the HTML page designer point of view. Although the program
structure is not documented at present, the choice of simple perl object
orientation should ease the specialization for specific purposes. The
HTML display is completely controlled by a set of template files. The
template files structure has been kept as simple as possible so that only
minimal comprehension is necessary from the HTML page designer. In particular
it behaves well with page composer tools .
Here is a list of the characteristics
of Catalog:
- Display structured trees
of resources.
- Display chronologically
ordered resources and associated calendar.
- Display alphabetical indexes
of resources.
- Allow full text search
in the resources and the category names.
- Powerful HTML based administration
of catalogs.
- On-Line editing of resource
records.
- Handle an arbitrary number
of catalogs.
- High performances using
mod_perl and Apache.
- Easy customization of the
user view using HTML template files.
- It is possible to define
more than one view of the same catalog.
- Load and unload a thematic
catalog in XML.
- Create an HTML dump of
a structured tree to publish a static version.
- Complete documentation
including a guide and a reference manual.
- Ready to use example.
- 100% Perl.
- Distributed under the GNU
General Public License.
- Commercial support.