The original version of OPAC ABCD ( Online Public Access Catalog for the ABCD ) was developed with the intention of creating a research tool for the ABCD ISIS databases, but that did not use only the WWW-ISIS language as the iAH application developed by Bireme.

OPAC ABCD was completely developed in PHP, a language that, being more popular, facilitates application customizations, since from its beginning the main objective was to make this search system a flexible tool for collection managers to be able to adapt structurally and aesthetically from according to using needs.

In the first version of OPAC it was already possible to include custom headers and footers. It was also possible to include links to make life easier for researchers, in addition to the possibility of configuring different types of search filters based on known ABCD indexing rules .

Following its initial logic, we present the 1.1.0-beta version of OPAC , which aims to increase the flexibility of layout and resources. Following the example of the past in which PHP was chosen to develop the tool, this time the focus was on style. All original CSS styles have been removed to make room for Bootstrap classes .

Bootstrap ( ) is a popular open-source web framework for developing interface and front-end components for websites and web applications, using HTML, CSS and JavaScript, based on design templates for typography , improving the user experience on a friendly and responsive website.

The new OPAC layout is fully built with Bootstrap in the framework’s standard form. This construction will allow the technical person responsible for ABCD to easily customize the styles just using the Bootstrap classes that must be consulted in its documentation .

To explain better, here’s a simple example:

By default the OPAC header is white, to modify its style, edit the /opac/components/topbar.php file :

Your original code is:

<header class="navbar navbar-primary sticky-top p-1 mb-3 d-flex shadow **bg-white**">

To switch to black, change bg-white to bg-dark as the documentation suggests ( )

The result should look like this:

<header class="navbar navbar-primary sticky-top p-1 mb-3 d-flex shadow **bg-dark**" data-bs-theme="dark">

Obviously the example above deserves a more elaborate configuration, but it helps to explain the concept.

This version of the ABCD is actually the completion of a stage that began in 2022, which had the scope of restructuring the OPAC in general for its definitive incorporation into the ABCD.

In the first stage, the configuration files were separated into General and Specific , that is, the OPAC files in general, such as the header, menus, list of bases and definitions, were kept in the bases/opac_conf directory, with the opac.def file being the main one file responsible for macro settings.

The configuration files referring to the databases were allocated to the databases themselves, as you can see in the example with the MARC base.

Within the OPAC directory there should be a directory for each language.


For the OPAC configuration to be complete, the arrangement of the directories must be as in the image below where it is possible to see in general how the configuration for using the MARC database looks like. Each database that is created to be searched in the OPAC must contain this structure within its directory.


Modifications to configuration files

In addition to the structure, some files have undergone some updates.


This is the main OPAC file, it is located at the root of the bases/opac_conf folder and contains the names, texts, links and general settings.

In this version, the OpacHttp parameter gained immense importance, because the OPAC to go into production in public mode in museums, libraries and archives needs to be pointed to port 80 (http) or 443 (https), different from the ABCD central which is on the port 9090. Therefore, OPAC completely loses its link with ABCD in a public environment, since port 9090 can be blocked for external access.

When enabling OPAC, the first thing to do is configure the OpacHttp parameter with the OPAC access address, for example:


Another parameter inserted in this version is NUM_PAGES , which allows choosing how many records are displayed per page. By default, OPAC is configured to display 5 records per page, but it is possible to increase it to 20 by writing the line below in the opac.def file:



Another example is the select_record.pft file , responsible for the buttons in the record box, which received Bootstrap and Fontawesome classes ( ) so that the technician can easily add icons without having to embed images in the system.

The code for the line so far is as follows:

'<div class="d-flex justify-content-between flex-wrap flex-md-nowrap align-items-center">'

    '<div class="form-check">'
        '<input class="form-check-input" type="checkbox" name="c_',mstname,'_'f(mfn,1,0)'" id="c_'mstname'_'f(mfn,1,0)'"  onclick="javascript:Seleccionar(this)">'
        '<label class="text-muted"><small>Selecionar 'mfn(0)'</small></label>'

    '<div class="btn-group">'
        '<a class="btn btn-outline-secondary" href=javascript:SendTo("print_one","c_',mstname,'_'f(mfn,1,0)'")><i class="fas fa-print"></i></a>'
        '<a class="btn btn-outline-secondary" href=javascript:SendTo("word","c_',mstname,'_'f(mfn,1,0)'")><i class="far fa-file-word"></i></a>'
        '<a class="btn btn-outline-secondary" href=javascript:SendTo("mail_one","c_',mstname,'_'f(mfn,1,0)'")><i class="far fa-envelope"></i></a>'
        '<a class="btn btn-outline-secondary" href=javascript:SendTo("reserve_one","c_',mstname,'_'f(mfn,1,0)'")><i class="fas fa-book"></i></a>'


In this code we can see the <div> that distribute the content in a justified way, being the class with the form-check on the left and the <div> with the class btn-group on the right.

'<div class="d-flex justify-content-between flex-wrap flex-md-nowrap align-items-center">'

    '<div class="form-check">'


    '<div class="btn-group">'



Inside the <div> buttons can be included following the Bootstrap documentation and icons like the Printer icon below:

<i class="fas fa-print"></i>


If you use OPAC in the previous version, back up the OPAC directories and fully upgrade to this version. Selective replacements may break your OPAC.

If you have any questions about updating or not, you can check the layout at the link .

Other implementations are on the radar for the coming months, one of which includes private search and tighter integration with the circulation module. To keep up, follow our updates on Github ( ).

1 Comment

  1. Ok. Definitivamente el equipo de ABCD esta trabajando para mantenerse al dia . Y eso esta bien. Ahora, los usuarios intermedios ( es decir las instituciones ) deben asegurar que su producto ( las bases de datos que desarrollan ) puedan ser consultadas sin problemas por los usuarios finales. Con frecuencia, cambiar de una version v2.01 a una versión v2.11 trae alteraciones impactantes.

    La documentación que aportas aqui, sera muy útil entonces.

Leave a Reply