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
Catalogthe 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.
Catalogmakes 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.