Document Version
Date |
Version |
Author |
Subject |
24.04.2012 |
1.0 |
M. Habegger |
Review, Release |
14.09.2012 |
1.1 |
M. Habegger |
Update SQL Dependencies |
11.09.2014 |
1.2 |
M. Habegger |
Update XML Export Formats |
07.01.2021 |
1.3 |
M. Buholzer |
Move to Online Platform |
Contents
- System Requirements
1.1 Minimum Requirements.
1.2 Recommended Requirements - Installation
- Configuration
3.1 App Settings
3.2 StationsConfiguration.
3.2.1 ListeningPorts
3.2.2 Stations
3.3 SchedulePublishing
3.3.1 Expressions
3.3.2 BroadcastDay.
3.4 Minimal Configuration.
3.5 ServiceIP & ServicePort
3.6 Authentication. - Logs
- Licensing.
- Starting and stopping MusicMaster Plus Server
- Uninstallation.
1. System Requirements
1.1 Minimum Requirements
- Microsoft Windows Server 2003 R2 or newer
- x86 Architecture
- Pentium 4
- 1GB RAM
- Microsoft .NET 4
- MusicMaster V4 SR 22 or higher with MusicMaster Plus Server V5.2.134
- MusicMaster V5 or higher with MusicMaster Plus Server V5.13.0
1.2 Recommended Requirements
- Microsoft Windows Server 2008 R2 or newer
- X64 Architecture
- Dual Core CPU
- 2GB RAM
- Microsoft .NET 4
- MusicMaster V4 SR 22 or higher with MusicMaster Plus Server V5.8.247
- MusicMaster V5 or higher with MusicMaster Plus Server V5.13.1
2. Installation
Prior install MusicMaster Plus Server, you must install MusicMaster Scheduling Version 4 Service Release 22 or higher (MusicMaster Plus Server Version 5.8.247) or MusicMaster Scheduling Version 5 or higher (MusicMaster Plus Server Version 5.13.1) as the MusicMaster Plus Server requires some registered binaries from MusicMaster, you will not need any MusicMaster license dongle or network license as long as you do not plan to use MusicMaster itself on the machine.
To Install MusicMaster Plus Server on your machine simply start the setup procedure which will install the required files and service.
Please note: When installing on Windows prior Vista kernel, make sure you set up the Windows logs as described in this document.
3. Configuration
After successful installation, navigate to the program folder: “C:\Program File\ON AIR DIGITAL\MusicMaster Plus Server” or “C:\Program Files (x86)\ON AIR DIGITAL\MusicMaster Plus Server” for x64 architectures and edit the file called “PlusServer.exe.config”. This file contains the whole configuration for the service.
Structure:
This is the basic structure. In the next chapters each of this will be explained in-depth.
3.1 App Settings
The first part - <appSettings> - is about general configuration, listening IP and port. For logging details see the Logs section below.
Key |
|
Value |
ServiceIP |
The service IP is the IP on which the future Service Interface will listen on. The Service will allow external applications to check for the status of the MusicMaster Plus Server. |
|
ServicePort |
The service Port is the port on which the Service interface will listen on. |
|
ServerEncoding |
This is the general encoding for the whole communication with MusicMaster Plus Server. |
|
EnableLogging |
If set to true, general information about server state will be logged. Even if set to false, errors and warnings will be logged. |
|
VerboseLog |
If set to true , all queries and replies will be logged |
|
EnableSSL |
When set to true, MusicMaster Plus Server will listen to https requests instead of http. |
|
EnableBasicAuthentication |
When set to true, Access to MusicMaster Plus Server will require BasicHttp Authentication on each query. |
|
BasicAuthenticationUser |
Specify here the HTTP username for the general non station dependent queries. Be sure to also specify user and password for the station configurations. |
|
BasicAuthenticationPassword |
Specify the HTTP password for the general user. |
3.2 StationsConfiguration
In this section the whole stations configuration will be explained.
3.2.1 ListeningPorts
MusicMaster Plus Server is able to serve multiple databases on multiple ports. All ports on which the Server will need to listen must be defined in the ListeningPorts section. Once defined there one more station can be assigned to it using the PortMapping section in the stations configuration.
Field |
|
Parameter |
|
Description |
ListeningPort |
IP |
The IP where the MusicMaster Plus Server is listening. |
||
Port |
The port where the MusicMaster Plus Server is listening. |
|||
SSL |
Enables SSL on the defined port. |
3.2.2 Stations
In order to serve multiple station at the same time simply duplicate the “<Station Name="StationName" >” section in the StationsConfiguration section and carefully choose unique station names. Define the description and Database path and the ports you want the station to be served on.
Field |
|
Parameter |
|
Description |
Station |
Name |
This is the name of the station. Consider that you must choose unique station names. |
Data for Jet Databases
Field |
|
Parameter |
|
Description |
Data |
Description |
Just a description of this database section. |
||
Database |
The path to the database. You can use an UNC path instead. |
|||
InstanceCount |
You can specify the InstanceCount which defines how many concurrent worker processes will be connected to the database and therefore can handle queries at the same time. Be careful as choosing a too high value may stall the whole usage of the concerned MusicMaster database. We recommend not to set a value higher than 5. |
|||
Interface |
For future use. Generic must be used here. |
Data for SQL Databases
Field |
|
Parameter |
|
Description |
Data |
Description |
Just a description of this database section. |
||
Database |
The SQL path to the database. You need to specify the sqlserver with its instance (or drop the instance part if necessary) and the Database name without the “_mmd”. |
|||
InstanceCount |
You can specify the InstanceCount which defines how many concurrent worker processes will be connected to the database and therefore can handle queries at the same time. Be careful as choosing a too high value may stall the whole usage of the concerned MusicMaster database. We recommend not to set a value higher than 5. |
|||
Interface |
For future use. Generic must be used here. |
|||
|
Username |
The username require for the connection to the SQL Server. |
||
Password |
The corresponding password. |
Important Note for Servers serving MSSQL as well as MusicMaster Plus Server:
When installing both Microsoft SQL Server and MusicMaster Plus Server on the same machine, make sure you add the necessary dependencies to the MusicMaster Plus Server Service.
In order to do so, open a command prompt and type the following:
sc config plusserver depend= MSSQLSERVER
If your SQL Instance has another name, modify the command line provided. Then open the Services Management Console, open the Properties for “MusicMaster Plus Server”. On the Dependencies Tab and verify the dependency with MSSQLSERVER.
From now on MusicMaster Plus Server will start after MSSQL has completely started which will make sure that your databases can be mounted on MusicMaster Plus Server.
PortMapping
The port mapping maps the databases to the different ports specified earlier. A database can be mapped to only one port. Also this allows to define the HTTP Username and pasword required for posting information to this station.
Field |
|
Parameter |
|
Description |
PortMapping |
Port |
The Port which will be mapped. |
||
Username |
HTTP Username |
|||
Password |
HTTP Password |
3.3 SchedulePublishing
MusicMaster Plus Server offers the possibility to publish a MusicMaster schedule directly to XML files based on a template. This export also supports secondary elements and dynamic repetition.[1] “Schedule Publishing” can be triggered with a button in MusicMaster and covers the currently opened MusicMaster schedule (24 hours).
As alternative it is possible to send a XML coded HTTP post to a third party system using “Schedule Publishing”. The HTTP post covers start and end time of the opened MusicMaster schedule (24 hours). This function is intended to trigger a getSchedule HTTP request[2] by the third party system in order to retreive the currently opened MusicMaster schedule.
Example HTTP Post Trigger:
Please note: As MusicMaster handles clock on an hourly basis, the day end time will be 23:00:00 and not 23:59:59. Since MusicMaster also uses this structure for schedule retrievals third party systems can use identical timecodes for further information requests.
Important: The “Schedule Publishing” button will not be displayed automatically in MusicMaster. You have to create an .ini file in the same location with the same name like the database you want to allow schedule publishing. Write the following in the “databasename.ini” file:
Example 1:
Example 2:
DataID must correspond to the station name written in the MusicMaster Plus configuration file
After you created this file a new button will appear.
By clicking the “Schedule Publishing” button in MusicMaster the MusicMaster Plus Server will export the currently opened MusicMaster schedule (24 hours) using the chosen export format.
Field |
|
Parameter |
|
Description |
SchedulePublishing |
Enable |
If set to true this function will be enabled. |
||
PublishFormat |
Enter one of the export formats: - XMLGenerator - XMLPostTrigger |
|||
SecondaryEventExpression |
This expression defines which elements will be shown as secondary elements. More details below. |
|||
RunDownSplitExpression |
This expression defines which elements will create a new Rundown. More details below. |
|||
SliceSplitExpression |
This expression defines which elements will create a new Slice. More details below. |
|||
EnableRepeatedElements |
This enables elements which will be repeated. |
|||
RepetitionCommandField |
MusicMaster Field Id containing repetition commands for automatic repetition of elements upon export. For example in MusicMaster : START BEFORE cliptitle1 or STOP cliptitle1 |
|||
RepetitionCatchingField |
MusicMaster Field Id containing a matching string, which defines when the repetition has to occur. For example in MusicMaster : 115==A||115==B would mean everytime an element having either A or B in field 115 repetition would occur based on the Commands. |
|||
RepStartRegex |
Regular Expression defining how the start command in the command field have to be defined. In this case START <position> <id> |
|||
RepStopRegex |
Like the previous Start Rexep, defines how the stop commands have to be defined. In this case STOP <id> |
|||
XMLGeneratorConfig |
SourceTemplateFile |
This is the Path to the template for the XML export. |
||
ExportPathFilename |
This is path where the file should be exported and its name |
|||
ExportEncoding |
UTF-8 is always best. |
|||
RequiredFields |
Here you can set the required fields in the MusicMaster database. E.g. “3;12;101”. What is not set here cannot be exported. |
|||
XMLPostTriggerConfig |
Endpoint |
Address, port and path (if applicable) of the third party system. |
||
StationName |
Enter the name of the station that is used by the third party system. Please note: The third party system must use the station name configured in the PlusServerConfig.exe when sending a request to the MusicMaster Plus Server! |
3.3.1 Expressions
In this section we explain how the different expressions works and how they should be used.
SecondaryEventExpression
This will be our explanation example: 130!=M&&130!=J
The number 130 is the MusicMaster field id and the M / S is the value of this field e.g. M stands for music and J for jingles. So in the “SecondaryEventExpression” parameter you can define which elements are Secondary elements or which elements aren’t secondary elements depends if you use equal or unequal.
Our little example above means that all elements which haven’t the event type M or J will be handled as a secondary element.
RundDownSplitExpression
Please read the “SMP Data Structures Documentation” first.
This will be our explanation example: 3==SH
As before the 3 is the MusicMaster field id and SH stands for the value of this field. The MusicMaster field id 3 is always the category field so the element is in the SH (Show) category.
If there is an element with the SH category it will create a new Rundown.
SliceSplitExpression
Please read the “SMP Data Structures Documentation” first.
This will be our explanation example: 3==ST
As before the 3 is the MusicMaster field id and ST stands for the value of this field. The MusicMaster field id 3 is always the category field so the element is in the ST (Story) category.
If there is an element with the ST category it will create a new Slice.
3.3.2 BroadcastDay
Field |
|
Parameter |
|
Description |
BroadcastDay |
StartDayHour |
Hour defining when the broadcast day starts for the MusicMaster Plus Server based exports defined earlier. |
3.4 Minimal Configuration
The minimal required configuration is the following:
<Station Name="StationName">
<Data Description="StationName Description" Database="C:\MMWin\Sample.mmd" InstanceCount="3" Interface="Generic" />
<PortMapping Port="8080" Username="" Password=""/>
</Station>
3.5 ServiceIP & ServicePort
When defined and port different than 0 a special service port is opened allowing remote administration of the server and live performance analysis. This feature is still under development and may change in future releases.
3.6 Authentication
Enabling Basic HTTP authentication will enable authentication on both server queries and station queries. For example “getStations” query is a Server query, username and password will need to match those specified in the appSettings section. While “getSongsByQuery” is a station query and will need to match username and password defined in the StationsConfiguration section.
4. Logs
The MusicMaster PlusServer logs all message in the Windows Event Viewer. Navigate through “Application and Service Logs”.
Important note about Logs on Windows XP or 2003 Server: As the default settings for Event Logs on Windows XP or Windows Server 2003 do not allow events newer than 7 days to be overwritten and the default log size cannot exceed 512KB, it is necessary to change the setting to at least allow logs to be overwritten as needed. Otherwise as soon as the logs reach the specified size MusicMaster Plus Server can no more log event and might starve trying to log an error message.
Set the overwrite policy to “Overwrite as needed”. Depending on how many log messages you want to keep and if you enabled or not verbose log increase the Maximum log size as needed.
5. Licensing
A license file is required in order to use the MusicMaster Plus Server. Refer to Distributor if you haven’t received your license file or if your license expired.
The licensing information are stored in a file called “license.xml” which need to be added into the root “MusicMaster Plus Server” folder among the MusicMaster Plus Server binaries in “C:\Program Files (x86)\ON AIR DIGITAL\MusicMaster Plus Server”.
When the service is started the logs should show a successful licensing as in the picture below:
6. Starting and stopping MusicMaster Plus Server
After you adapted the configuration file and added the licensing file, open the Services Control Panel, search for “MusicMaster Plus Server” and click on “Start Service”.
If everything was configured the service should start and write a successful start message to the event log.
7. Uninstallation
Use the Program & Feature control panel to uninstall MusicMaster Plus Server.
Be aware that uninstalling MusicMaster Plus Server may remove some needed binary registrations from MusicMaster. If so, new MusicMaster Plus Installation (updates) may not be able to run. Reinstalling MusicMaster and therefore re-registering the binaries resolved the issue.
[1] Please contact the support center to get the appropriate documentation. Please read the XML Compiler Documentation and after this the Dynamic Language Documentation for the configuration of a XML template.
[2] For more information please check the MusicMaster API Server documentation.
Kommentare
0 Kommentare
Bitte melden Sie sich an, um einen Kommentar zu hinterlassen.