# Generating Logs with RDLogManager

## Overview

RDLogManager is a tool for generating Rivendell logs. It is different from RDLogEdit in that, instead of building logs line-by-line, it allows log structures to be defined by a series of rules (called events and clocks) that are then plugged into a time framework (called a grid). This grid is then used to generate logs automatically on an as-needed basis. Each Rivendell service has its own, separately defined grid, thus allowing for separate log generation rules for each service. This system of rules allows for very powerful, modular features, including the ability to import and use scheduling data from various external third party systems, such as music schedulers and traffic and billing systems.

RDLogManager also includes facilities for generating reports. Reports are data outputs that detail whether certain events aired as scheduled, and under what circumstances. Reports are available in various formats. Some are intended to be read by humans, while others are intended for use by other, external software systems as a means of reconciling exported schedules.

When RDLogManager is started, it displays its main menu.

The Log Grids Dialog

## Grids

Each Rivendell service has an RDLogManager grid. To see the list of available grids, touch the `Edit Grids` button to open the Log Grids dialog.

The Log Grids Dialog

To open a particular grid, select its service name and touch the `Edit` button.

The Edit Grid Dialog

Each grid has slots for every hour of every day of the broadcast week – 168 slots in all. By specifying a particular clock to go into each of these slots, a set of rules that RDLogManager can use to generate a log for any given day of the week is built up. To specify a clock, simply touch the particular hour of interest to open up the `Select Log Clock` dialog.

The Log Clocks Dialog

Click the desired clock, then touch the `OK` button. To clear the assignment of any clock to the selected hour, touch the `Clear` button, then `OK`.

It is possible to 'drill down' directly to the underlying configuration of a clock (to be covered shortly) by right-clicking on the relevant hour in a grid and selecting `Edit Clock`.

## Clocks

An RDLogManager clock is a collection of RDLogManager events, arranged in terms of their start time (relative to the beginning of the hour) and length. It basically can be thought of as the "schedule" of an hour – any hour. Once defined, a clock can be plugged into any hour of a grid of any service, thus making for easy modularization and changes to a service's schedule.

To see the list of available clocks, touch the `Edit Clocks` button in RDLogManager's Main Menu to open the Log Clocks dialog. Each RDLogManager clock can be assigned a three-letter code and color, as an aid in identifying it when assigned to grids. To add a new clock, touch the `Add` button, or to edit a clock's parameters, click on it and touch the `Edit` button. In each case, the Edit Clock dialog will open. Clocks can also be deleted by touching the `Delete` button or renamed by touching the `Rename` button.

The Log Clock List Dialog

The Edit Clock Dialog

The Edit Clock dialog consists of three main sections: a tabular list of events in chronological order, a graphical depiction of the clock in the traditional “broadcast clock” format, and a series of action buttons across the bottom. The clock's three-letter code is set by means of the `Code` field in the upper right-hand corner of the table area. Its color can be set by touching the `Color` button. To save the clock without exiting the dialog, touch the `Save` or `Save As` buttons. To add a new event to the clock, touch the `Add` button, or to edit an existing entry touch the `Edit` button. In either case, the Edit Event Assignment dialog will open. To delete an entry, touch the `Delete` button. As in the case of grids, it is possible to 'drill down' into the underlying RDLogManager event by right-clicking on the respective entry in the clock event table and selecting `Edit Event`.

The Edit Event Assignment Dialog

The Edit Event Assignment dialog simply consists of an `Event` field for the name of the RDLogManager event and `Start Time` and `End Time` fields for the start and end times relative to the start of the hour. A list of available events can be brought up by touching the `Select` button to bring up the Log Events dialog.

Each clock can be designated as being associated with one or more services. This can make finding the correct clock for a given service much faster, as the `Filter` control on the List Clocks dialog can then be used. To program these associations, touch the `Services List` button in the Edit Clock dialog to bring up the Service Associations dialog.

The Service Association Dialog

To designate a service as being valid for this clock, select the services name in the `Available Services` list and then touch the `Add >>` button. Likewise, to deselect a service, select its name in the `Enabled Services` list and then touch the `<< Remove` button.

## Events

An RDLogManager event is a set of rules that define a series of log elements (audio carts, macro carts, markers, etc) that should be inserted into a log, along with the appropriate log event parameters (transition type, time type, etc) that should be associated with them. The actual elements to be inserted can be specified directly within the event itself, or imported from a data file generated by an external scheduling system. Up to two such external scheduling sources can be defined for each service. While for convenience sake these are designated as 'Traffic' and 'Music' within RDLogManager, they can each be used anywhere a means of importing external scheduling data into the system is needed, regardless of whether such data actually references commercial or musical material or not.

To see the list of available RDLogManager events, touch the `Edit Events` button on the RDLogManager Main Menu to open the Log Events dialog. It is possible to filter the list of available events to only those used for a particular service by selecting the service in the `Filter` control. To add a new event, touch the `Add` button, or to edit an event's parameters, click on it and touch the `Edit` button. In each case, the Edit Event dialog will open. Events can also be deleted by touching the `Delete` button or renamed by touching the `Rename` button.

The Log Events Dialog

The Editing Event Dialog

The Edit Event dialog consists of two main parts: a Library cart picker widget on the left side, and an area showing the various event parameters on the right. Audio contained within audio carts can be sampled by selecting the desired cart and then touching the `Play` button. Programming an event basically consists of specifying four things: its log parameters (transition and time types), the list of `Pre-Import` events, the event import (if any) and the list of `Post-Import` events. The first matter to be decided is if the event should have a hard start time: if so, then the `Use hard start time` check box in the TIMED START section should be ticked. Ticking this box will enable all of the usual hard start parameters to be specified. If an automatic timed start is not desired, then it is possible to check the `Cue to this event` checkbox in the `PREPOSITION LOG` section. This will cause RDLogManager to place a hard time with a 'Make Next' attribute on the first item of the event – effectively, causing the event to be automatically “cued up” at the scheduled time – something that can be particularly handy for keeping spot breaks in sync when "overscheduling" music.

Next, if it is desired to have RDLogManager try to insert material automatically from the Autofill List to ensure that the event has the length indicated by its parent clock, the `Use Autofill` box in the `ENFORCING LENGTH` section should be checked. (Configuring the Autofill List is covered in detail in the Rivendell Technical and Administration Guide). If Autofill is enabled, it is also possible to tick the `Warn if fill is under or over` checkbox to have RDLogManager generate a warning if it was unable to properly fill the event when the log was generated.

Next, the list of log events (if any) to be inserted before the data import should be placed in the `PRE-IMPORT CARTS` list. For audio or macro carts, these can be simply dragged and dropped from the Library cart list on the left-hand side of the dialog. Meta events can be inserted by right-clicking on the list and selecting the desired element. It is also possible to edit or delete elements and set the transition type of each element through the right-click menu.

The `IMPORT` section then defines which (if any) source will be used for importing external scheduling events into the log. Either `Music`, `Traffic` or `None` can be selected. If `Music` or `Traffic` is selected, then RDLogManager will import any events from those sources that fall within the start and end times of the event (as supplied by the parent clock). These start and end times can be further broadened by means of 'slop factors' entered into the Import carts scheduled controls (this is sometimes necessary to get the import to work properly with certain external scheduler systems). The transition types to be used for the first and subsequent imported elements can be specified with the `First cart has a` and `Imported carts have a` controls. If `Music` has been selected as the import source, it is also possible to specify the event to use to import traffic breaks embedded in the music log with the `Import inline traffic` with the control. (Configuration of the actual parser parameters for data importation is covered in the Rivendell Technical and Administration Guide).

Finally, the list of log events (if any) to be inserted after the data import should be placed in the `POST-IMPORT CARTS` list. Configuration of the events works very similarly to that of the `PRE-IMPORT CARTS` list.

The color of the event (as seen in the Edit Clock dialog) can be set by touching the `Color` button. The list of services for which this event is valid can be edited by touching the `Services List` button. To save the event without exiting the dialog, touch the `Save` or `Save As` buttons.

## Generating Logs

After all of the appropriate hours have been populated in a service's grid, it's time to start generating logs. To do this, touch the `Generate Logs` button in RDLogManager's Main Menu to open the Generate Log dialog.

Depending upon how many external scheduling sources are involved, generating a log involves one, two or three steps. Before performing any of the steps, it is first necessary to select the relevant service for which to generate the log (using the `Service` control) and the log date (either by entering the date in the `Date` control or by touching the `Select` button and picking it off of the calendar).

The Generate Log Dialog

In all cases, a new log is initially generated by touching the `Create New Log` button. If the log for the selected date and service does not already exist, it will be created at this point (becoming visible in RDLogEdit). It the log already exists, it will be overwritten. (NOTE: if completed voicetracks exist in the old log, they will be deleted when the log is overwritten!)

When generating a log, RDLogManager will look for possible problems (such as scheduled carts that are missing in the Library) and generate an exception report if it finds any.

Once generated, the status lights in the Generate Log dialog indicate which (if any) additional import data are needed to complete the log. Two types of status light exist: `Available`, which indicates if the required data file is available to RDLogManager, and `Merged`, indicating whether the data has been merged into the log as yet. Each light can show one of three different colors: GREEN, meaning "yes", RED, meaning "no" and WHITE, meaning "not required".

The Generate Log Dialog (music merge required)

For an example, see the figure above. This is showing a log that has been generated and has music data available but not yet merged. To perform the merge, touch the `Merge Music` button. The dialog now changes to that shown below, indicating that Music data has been merged but that traffic data is still needed.

The Generate Log Dialog (traffic merge required)

Once a log has reached this state – that of having any necessary music data merged – it can be voicetracked without having to wait for traffic data to become available. Traffic data can be merged at any time before, during or after the generation of voicetracks. The actual traffic merge is performed by touching the `Merge Traffic` button, resulting in a dialog as illustrated. (NOTE: the configuration of the various data file names and parser parameters needed for data import is done in the RDAdmin module and is covered in the Rivendell Technical and Administration Guide).

It is important to note that the sequence of operations from the example above is typical, but may vary depending upon how the system administrator has configured RDLogManager at each site. Some services, for example, will have no music data, only traffic, so the music indicator lights will be "whited out" accordingly.

The Generate Log Dialog (fully merged)

## Generating Reports

A Rivendell report is a data output that details whether certain events aired as scheduled, and under what circumstances. Reports are available in various formats. Some are intended to be directly read by humans, while others are intended for use by other, external software systems as a means of reconciling exported schedules.

Rivendell has the ability to filter the data that go into any particular report on the basis of the type of material played (traffic spots, music or all), the playing service(s) and the originating host(s). The configuration of reports is done in the RDAdmin module and is covered in the Rivendell Technical and Administration Guide. Once configured however, reports are actually generated by the RDLogManager module.

To generate a report, touch the `Manage Reports` button on the RDLogManager Main Menu to open the Select Service dialog.

The Rivendell Services Dialog

The dialog will show each service on the system, along with the date of the oldest data available for generating reports. Touch the `Generate Reports` button to open the Select Report Dates dialog.

The Select Report Dates Dialog

The desired report can be selected with the `Report` control, and the start and end dates of the report specified with the `Start Date` and `End Date` controls, respectively (NOTE: not all reports are capable of being generated so as to span more than one day).

The Select Date Dialog

Once the parameters are set, touch the `Generate Report` button to write out the report.

### Purging Old Report Data

Rivendell keeps the raw data used to generate reports indefinitely, until manually purged out of the system. Periodic purging of old data is a good idea from the standpoint of minimizing the amount of system resources utilized, and can be done by selecting the desired service and then touching the `Purge Data` button in the Select Service dialog, opening up a calendar dialog. Each date that has data eligible for purging will be shown in bold. To purge a particular day, select it and the touch the `Purge Data` button. (NOTE: once purged, no reports can be generated for that particular service/date, so be sure that all required reports have been produced before purging!)