[Getting started]    [Technical information]    [Rubrics]    [Kalendars]    [Credits]    [Missing offices]    [Download]    [Versions]   

Technical information

[Databases]    [Programs]    [Special characters]    [Exceptions]

This part of the help manual is written explicitly for encouraging anyone interested in the topic to write his/her own system, using whatever he/she wants from these ideas. The only restriction is that we at the Divinum Officium Project have no legal responsibility for any mistake, and my ideas cannot be copyrighted, limiting our rights or the access of others to the same ideas.



The databases are files, which contain the text of the Breviary. For easier understanding and handling, they are organized into folders.
The top level folders are folders for the languages, currently Latin, English and Magyar. At this moment folders are filled up. The basic rule is that if a file is missing, the program automatically selects from the English

Each language folder contains the same set of subfolders, which represents the parts of the printed berviary volumes: Ordinarium, Psalterium, Tempora, Sancti, Commune. For technical reasons, there are separate folders for the psalms, and for the Martyrologium.

The files itself usually are converted into Hash elements The key is enclosed into square brackets [ ... ] which is a separate line followed by the body of the element. These elements are read and composited by the programlet. The folder and files can be viewed using Show files/Edit feature, which shows the files in the following folders

  • Ordinarium folder is the collection of the scripts describing the horas. Each hour is represented by two or more files. These files are not converted into hash. A line starting with hashmark organizes the content. These files are used by special.pl program file. If necessary, there are separate files for the 1960 or Tridentine version, also for Paschal time (name ending with 'p'.)

  • Psalterium folder holds the information usually printed in the Ordinarium and Psalterium sections of the Breviarium Romanum. Prayers.txt) contains the common prayers. The rest contains the Benedictions, Doxologies, Psalm 94 prepared as the Invitatory; seasonal parts for Matins (Matutinum special), Lauds, and Vespers (Major special); Minor hours (Minor special); antiphons and psalm sets (Psalmi Major|Matutinum|Minor); Marian antiphons, and special seasonal parts for Prime.
    It also has the Tr year files in the Latin/Psalterium folder, and the Translate files in the other folders. The Tr=Transfer files have
    lines, where 'filename' is the name of the office (from the Proprium de Tempore or Proprium Sanctorum) and the mm-nn is the date in the given year to which it is transfered. For the 1960 rules, there are permanent and year to year rules.

  • psalms folder holds the 150 psalms, and the canticles for

    • 210-216 = Laudes 1
    • 220-226 = Laudes 2
    • 231-234 = New Testament canticles and the Quicumque

    The verses are numbered by chapter:verse numbers, and anything in parentheses is printed in small red font.

  • Tempora folder holds the offices from the Proprium de Tempore Each office has exactly one file, and each is hash collection
    Naming convention is:
    Season name w-d
    where w is the week of the season, and d is the day of week

  • Sancti is the same collection for the Proprium Sanctorum
    Naming convention is:
    where mm is the month, nn is the day. For practical reasons, unlike in the Roman Breviary, the Chrismastide offices are set within the Sancti folder.

  • Commune is the collection for Commune sanctorum. The name of the office is under the first key : Name.
    For practical reasons Officium Santae Mariae Sabbato is amont Tempora files as C10

  • Martyrologium contains the files named as mm-nn for the Martyrologium. See credits for the sources. There is no Magyar martyrology in this database.

  • program folder in Show files list refers to the files described below in cgi-bin/horas folder.



The programs are written in Perl 5.6 and generate HTML. The standalone version uses Tk. Environment variables: The following program files are used:
  • brevi.pl Starts the original version. Composes the main image and also calls other programs.

  • officium.pl Starts the newer web version. Composes the main image and also calls other programs.

  • Aofficium.pl Starts the standalone version. Composes the main image and also calls other programs.

  • horas.pl Common extension of the starting perl files. Interprets the special characters and prints out the officium for the selected hour.

  • special.pl Common extension of the starting perl files. Fills up the skeleton chapters with the actual content from the databases.

  • horascommon.pl Common extension of the starting perl files, also used by kalendar and edit top level files.
    The file selects the current date, and the office for any given date, deciding about the precedences.

  • dialogcommon.pl Helper set to interpret the defaults and setup.

  • webdia.pl Helper set to generate the dialog table, special html parts of the office tables, and also reads/writes cookies.

  • Awebdia.pl helper for Aofficium, generates the dialog table also the office tables, and saves/reload parameters.

  • setup.pl Generates the dialog box to set the parameters for web versions.

  • setup.pl Generates the dialog box to set the parameters for standalone versions.

  • popup.pl Generates a popup window if requested by the horas page for the web versions.

  • Apopup.pl Generates a popup window if requested by the horas page for the standalone version.

  • kalendar.pl List the Kalendar for the web versions and makes it possibile to select a specific date. Uses horascomon.pl and horas.pl sets.

  • Akalendar.pl List the Kalendar for the standalone version and makes it possibile to select a specific date. Uses horascomon.pl and horas.pl sets.

  • edit.pl. Shows the datebase program and other files for the web versions. Uses horascommon.pl set.

  • Adit.pl. Shows the datebase program and other files for the standalone version. Uses horascommon.pl set.

  • Files is the collection of the internal databases for the web versions.


Special characters

Either the files in the Ordinarium, and the other files are using special characters to help the formatting. Each of them, whith the exception of ~ tilde sign has to be set in the beginning of a line.

  • # hashmark in the files of Ordinarium folder or generated represent a chapter label. Special.pl program interprets and expands or limits primarily these lines. Also, they respresent the skeleton.

  • [ name ] in a separate line is the key for a hash element, as mentioned earlier.

  • $ dollar sign as the first character of a line, followed by a name, represent a prayer found in psalterium/Prayers file. These are the candidates for Popup if psalmi option is called. Some invokes an internal subroutine.

  • & sign calls an internal subroutine. If the subroutine name starts with capital letter that is listed only in all mode, if it starts with small letter, psalmi option will expand it.

  • ! exclamation mark will print the line with red font.

  • v. prints the following first leter as Initiale, large red font.

  • r. prints the following first letter as regular red font.
  • R.br R. V. * Ant. Benedictio starting words are printed in regular red font.

  • double end of line represents a cell end, the printout will set a border separator.

  • _ underscore in itself in a line represents an empty line without separation.

  • ~ tilde at the end of the line represents contraction. Without it the end of line character will be shown as <BR> in the html file.

  • ( text ) in psalm folder will print the enclosed text in small red font.

  • digits or digits:digits at the beginning of the line in psalmi and lectiones are interpreted as verse numbers and printed in red.



    Many of the files in Tempora or Sancti folders have an entry: Rule. There are the exceptions from those rule built into the Ordinarium and the Psalterium and represented by the files in those folders. A usual rules item looks like:
    ex C4;
    Psalmi Dominica
    Antiphones horas
    9 lectiones

    Each rule is a separate line and exact spelling is required, except for capitalization

    • ex filename : everything what is not in the proprium is taken from the named file from commune (Cn) or from the file in tempora folder (e.g. Pasc0-0 for the Octava Paschae)

    • vide filename : like above, but only the matutinum lectiones and the antiphone , versum, oratio in Laudes and Vespera are taken from the named file

    • Psalmi Dominica : The Sunday psalm set is used exept if the psal is explicitly listen in the proprium file

    • Antiphonas horas : Ant Laudes antifones are used for the minor horas:
      • 0 = Prima
      • 1 = Tertia
      • 2 = Sexta
      • 4 = Nona

      9 lectio : Matutinum with 9 lections.

    • omit group list : Skip the named item.

    • limit group list : Special (hard coded) rules for the named items.

    • Psalm5 Vespera=nn : The last psalm in vespera is the named one.

    • Capitulum Versum 2 [hour spec] : Capitulum is substituted with the [Versum 2] item from propria. This occurs at all hours other than Compline if hour spec is omitted, at Lauds and Vespers if hour spec is ad Laudes et Vesperas, and at Lauds only if hour spec is ad Laudes tantum..

    • Una antiphone : Major hours are prayed under one antiphon.

    • Minores sine antiphona : Minor hours are prayed without an antiphon.

    • 1 nocturn : Matins of one nocturn only.

    [Programs]    [Databases]    [Special characters]    [Exceptions]


    [Getting started]    [Technical information]    [Rubrics]    [Kalendars]    [Credits]    [Missing offices]    [Download]    [Versions]