This is the multi-page printable view of this section. Click here to print.

Return to the regular view of this page.

Setup

When you install mAirList from scratch, there will be no database configured, and the database application will not be available initially. You must first add a new database connection, possibly initialize the database tables, and configure the database according to your needs.

Add Database Connection

Database connections are managed in the configuration app (or mAirList Control Panel) on the Databases page. To add a new connection, click Add, and select either mAirListDB (local mode) or mAirListDB (networked SQL).

Local Database

A local mAirListDB database stores all information in a single .mldb file. It uses SQlite as the underlying SQL engine/library.

To create a new database, click the Create new database button, and select the desired location for your .mldb file. The database will automatically be initialized with the required tables.

To open/connect to an existing database file, click Open existing database.

SQL Database

An SQL backend should be used when the database will be accessed from multiple computers inside the LAN, something that is not supported by the local database. SQL databases could also be favorable for very large libraries, as they have better performance sometimes.

mAirList currently supports the following SQL server types:

  • PostgreSQL (recommended)
  • MySQL/MariaDB
  • Microsoft SQL Server

To prepare the SQL server to be used for mAirListDB, you must create an SQL user and an empty database (owned by that user). For Microsoft SQL Server, only SQL Server Authentication is supported.

On the Connection tab of the configuration dialog, select the appropriate type, host/IP, port number (optional), database, username and password. You can use the Test SQL Connection button to check if the raw connection to the database works.

If it is not an existing mAirListDB database you are connecting to, you must first prepare the database, i.e. create the required tables in it. This is done on the Setup tab by clicking Perform Initial Setup. Skip this step when adding more clients to an existing mAirListDB SQL database.

Configure Connection

This section covers the further configuration steps, common to local and SQL databases.

Database Login

mAirListDB has a built-in user and group management. The username and password you enter here (not to be confused with the SQL username and password) will be used for all unattended logins to the database, in particular, by the playout app.

The default login for new databases is user admin with password admin.

Alternatively, click Sign In and enter username and password in order to create a one-time password (token) that will be stored in the configuration rather than the actual username and password.

See the section on user management below for more information on this topic.

Upgrade

Sometimes, after installing a new version of mAirList, you will have to upgrade the database schema so that the tables are adjusted for newly introduced features in that program version.

The database will fail to connect, and an error will be displayed in the System Log, until you perform a Schema Upgrade.

To check the current schema version of your database, and then upgrade the schema, use the corresponding buttons on the Upgrade tab.

There is another button on this tab that will check the indices of your SQL tables. Indices speed up loading and searching records in your database. mAirList will set up the indices automatically when you create or upgrade your database, but you can click this button at any time to make sure they are all up to date.

Settings

The Settings tab contains several settings and options related to the database connection.

The Database ID is a unique identifier that is stored both in the database and in the configuration, and helps mAirList to distinguish database connections (if there is more than one). You should not edit this field manually. The ID is generated automatically when a new database is set up, or retrieved from an existing database when the connection is added to the configuration.

In case you have multiple stations configured in the administrative settings, you can adjust the Default Station, i.e. the station that the playout should operate on.

The Playlist Cache settings determine if, and how many and how often, mAirList should cache any future hourly playlists as XML files (.mlp) in the local temporary folder. This is so that the hourly event can still load the next playlist at the top of the hour, even if the database connection should be unavailable at that time. Please note that this XML file will only contain the playlist and the metadata of all items of that hour, not the actual audio files.

The Audio File Inbox is a special local folder wheren you can save audio to be imported into the database, e.g. from an audio editing application. To import these files into the database, click the Inbox button in the library window.

Options

On the Options tab, the following checkbox options are available:

  • Management software requires login: If enabled, the Database app, when launched as a separate application from Windows Start Menu, will present a login prompt. If disabled, it will use the default login set on the Connection tab.
  • Internet Server requires login: If enabled, the DBServer application will present a login prompt when started. If disabled, it will use the default login set on the Connection tab.
  • Auto Importer requires login: If enabled, the Auto Importer application will present a login prompt when started. If disabled, it will use the default login set on the Connection tab.
  • Show Database button in playout window: If enabled, the Database app will be available directly from the playout application, through a button in the main toolbar.
  • Show templates in Generate menu: If enabled, all available combinations of hour/music/transition templates will be available as menu items in the dropdown menu of the Generate button in the playlist editor toolbar. Disable this option if you have a large number of templates, and the popup menu would grow too large.
  • Sort stations alphabetically: Enabled alphabetical sorting of stations in the menus and tabs, rather than sorting by ID.
  • Use external IDs for import and export: Import filters for 3rd party scheduler files that rely on database IDs will use the Internal Database ID by default; check this option to use the External ID instead.
  • Disable internal logging: This will disable the logging of played items into the internal logging tables. As the Reporting tool depends on these tables, you should not enabled this option if you plan to use reporting.
  • Disable internal logging when OFF AIR: If enabled, items will only be logged when the instance is in ON AIR mode. Should be enabled for most installations.
  • Disable Scheduling tab in Properties dialog: This will disable the Scheduling tab in the Item Properties dialog.
  • Disable History tab in Properties dialog: This will disable the History tab in the Item Properties dialog.
  • Import new voice tracks recorded in the playlist editor: If checked, voice tracks recorded in the DB app (playlist editor) will be imported as library items by default. If unchecked, they will be kept as external items.
  • Import new voice tracks recorded in the playout window: If checked, voice tracks recorded in the playout app will be imported as library items by default. If unchecked, they will be kept as external items.
  • Refuse advertising update when new block has errors: This option refers to the Update Advertising function found in various places of the DB app. If enabled, any error during the update will immediately cancel the operation. For example, if you had an older version of an ad block imported from an external scheduler, then call Update Advertising, but the import source is not available at that time (because of a missing file etc.), it will keep the previous block rather than deleting it.
  • Compatibility mode (allow connections to older databases): By enabling this option, mAirList will be able to connect to databases used by older version of the software, possibly disabling particular features. In particular, mAirList 7.x will be able to connect to mAirList 6.x databases (schema version 24). This feature should only be used during migration and testing, and not in production.

Storage Redirection

On this tab, you can hard-redirect storage locations. Please see the Library chapter for more information.

Advanced

On the Advanced page, the following settings can be adjusted:

The Custom Caption will be used as the name for the database throughout the mAirList GUI. The default caption is just “Database”.

The Extra SQL Connection Options allow you to fine-tune the connection to the SQL server, and pass extra settings to the driver library. Please see the Delphi documentation for a list of available settings.

Maintenance

On the Maintenance page, you will find a number of administrative maintenance tasks to execute:

  • Change administrator password: Change the password of the built-in “admin” user. The default password is admin.
  • Delete old playlists: This will remove all old scheduling data older than the specified age.
  • Clean up playlist history: This will remove all playback history data (used e.g. for reporting) older than the specified age.
  • Delete playlist item icons: This will delete all icons from all playlist items. In older versions, it was recommended import album art from file tags as icons, so that it is displayed in the playlist. While that worked in general, it would bloat the database, depending on the number of items and the size of their album art. Modern versions of mAirList can extract the album art on the fly from the item tags, so it is no longer necessary to keep it as icons in the database.
  • VACUUM: (local database only) This will free up unused space after delete operations and defragment the database file, possibly reducing its size significantly.

Administrative Settings

Once the database connection has been added to the configuration, you should be able to open the Database app, either from the Database button in the main playout window, or as a separate process from Windows Start Menu.

In its main menu, under Administration -> Configuration, you will find a dialog with a number of administrative settings and options.

Storages

This is where the storages for audio files are configured. Please see the Library chapter for detailed information.

Stations

In mAirListDB, Stations are independent channels that are scheduled from the same audio library. So each database can host an (unlimited) number of stations.

Use the Add/Remove/Rename buttons to edit the list if stations. You must restart all mAirList instances after you do so.

When there is more than one station configured, a new Station menu will appear in the main menu, where you can switch between the available stations. There will also be tabs at the bottom of the window for faster switching between stations.

All stations share the following parts of the database:

  • The audio library and its items
  • The available hour, music and transition templates for the scheduler

The following parts of the database are managed separately for each station:

  • Scheduled playlist
  • Playback history/reporting
  • Assignment grid for hour, music, and transition templates
  • Advertising settings

Multi-station setups usually come with multiple playout instances or computers as well. Each playout must be assigned to the correct station. This is done by setting the Default Station in the database configuration settings, see above.

Sub-Playlists

Sub-playlists offer a way to schedule more than one playlist per hour. For example, the DJ could put together a list of items he or she intends to play manually during the show, but which are not part of the main schedule.

Once sub-playlists have been set up, the playlist editor will display a row of tabs to switch between them.

You can also use automatic scheduling for sub-playlists; that’s why the assignment grid in the Manage Templates dialog will display these tabs as well, allowing you to specify the desired templates per sub-playlist.

Sub-playlists have the following properties:

  • ID: Number used to identify the sub-playlist inside the system. The first one, ID 0, is always the main playlist, and it cannot be edited.
  • Group: Enter the same value for a group of sub-playlists, and an additional row of tabs, one for each group, will be displayed, for easier navigation.
  • Target Duration: When the Mini Scheduler is being used to schedule content for this playlist, this will be the (minimum) total duration of all scheduled items. The default is one hour.

Mini Scheduler

This tab contains settings related to the scheduling part of mAirListDB (“Mini Scheduler”). Please see the Scheduling chapter for more information.

Standard Attributes

On this tab, you can define the Standard Attributes, i.e. the attributes (fields) that you want to are going to edit and maintain for your library albums, e.g. Album, Year, Genre etc.

The attribute defined here will be turned into input fields on the left-hand side of the Item Properties dialog, Attributes tab. Attributes defined here, on database-level, will be applied automatically to all mAirList instances connected to this database, alongside any attributes possibly defined in the local configuration.

Additionally, Standard Attributes will be displayed and used

  • as additional columns in the library and playlist editor of the Database app,
  • as additional columns when exporting database items as CSV,
  • as additional columns in the “Printable HTML (Extended)” playlist exporter,
  • as selection list in the Mass Edit dialog,
  • as selection list in the attribute filter configuration of scheduling templates.

Please see the Configuration chapter for a description of the available attribute types.

Playlist Attributes

Playlist Attributes are similar to Standard Attributes (see above), but they apply to playlists, not library items. In other words, what you define here are “Playlist Standard Attributes”.

When you click the Edit Attributes button in the DB playlist editor, the Playlist Attributes will appear on the left hand side of the edit dialog. You can e.g. add attributes to attach notes to a playlist, e.g. the name of the DJ.

When you define Playlist Attributes here, a row of tabs is added to the playlist navigation (Go To…) dialog of the DB playlist editor; clicking these tabs will display the value of the respective attribute for each hour in the selected week.

Settings

The last tabs contains some

  • Playlist Import: Choose whether the database should automatically create error items during import into the library (e.g. from a CSV file) when the External ID specified in the import file is unknown, and if so, in which library folder to place them.
  • File Import: Here you can adjust the default file import settings for this database (or station, respectively). Please see the Library chapter for more information.
  • Voice Track Import: Select the library folder where newly imported voice tracks should be placed into.

User Management

Each mAirListDB database has a built-in user management.

Administrator Account

There is a fixed built-in administrator account, with username admin and default password admin. This user has unlimited permissions. The password can only be edited from the Maintenance tab in the database connection configuration.

Additional Users

Additional users can be set up from the user management dialog found in the Database app (Administration -> Users and Groups). Note that you must be logged in as a user with administrative privileges (either the default admin user, or a custom user with admin level) to access this dialog. It will also only work when you are connected directly through SQL or the local database, not a DBServer remote connection.

To add a user account, click New in the dialog toolbar. Enter a login name and optional description, and choose a password (or use the auto-generated random one).

Make sure that Allow user to access this service is checked – the user database can also be used for access control for e.g. the REST remote, and this checkbox controls which user is allowed to use which application.

In the Edit Permissions dialog, the following settings are available:

First, choose one of the ascending User Levels:

  • Read-only: Read access only, cannot make any changes to the database.
  • Studio: Same as read-only, but with write access to the internal logging/history tables; this level should be assigned to studio accounts, so that they can record the played items for recording.
  • DJ: Same as Studio, plus permission to make changes to playlists and run scheduling; library is read-only.
  • VT DJ: Same as DJ, plus permission to upload voice tracks to the library.
  • Folder Manager: Same as VT DJ, plus permission to move items around in library folders (but not edit them).
  • Manager: Same as Folder Manager, plus full write access to the library.
  • Administrator: Same as Manager, plus unlimited access to all settings including administrative settings.

More fine-grained control is provided through the General Permissions and Library Permissions optios, which are enabled by default. For example, you can revoke a “Manager” user the right to delete items from the library.

Note that these checkboxes always revoke rights that would otherwise be granted by the assigned User Level. It is not possible to grant additional rights to a lower level user by using these checkboxes.

If you want to limited write access to playlists for a particular station (or sub-playlist) for a DJ (or above) user, use the Permitted Stations and Permitted Sub-Playlists field, respectively. Enter a comma-separated list of station/sub-playlist IDs.

On the Tokens tab, you see a list of tokens (one-time passwords) created by the user by sigining in from a mAirList instance (when using the Sign In function rather than storing user/password in the configuration). You can delete a token in order to revoke access from that instance.

Groups

User groups are managed on the Groups tab of the User Management dialog. Groups use the same set of possible permissions as users. When a user is a member of a group, the permissions of that group will be merged with the permissions set for that specific user.