S4M Daily Scheduler
The S4M Daily Scheduler is a custom app which provides an interface to configure, test and automate the scheduling of the S4M assets. The daily list of S4M assets are pulled from a custom S4M data source and then scheduled evenly across the 24 hour period. This app provides a UI to the console app that originally served this purpose.
Create a new Channel Instance
The first step is to initiate a new instance by using the Instances menu - New Instance.
Be sure to SAVE your changes using the File or Instance menus.
S4M Details
You will need to assign the correct Station ID for your new instance by typing it in the text box.
The Use Live URL checkbox should be checked.
Be sure to SAVE your changes using the File or Instance menus.
Test S4M
You can use the Test S4M button to see what the currently available list of assets is for station. It doesn’t make any changes to any data but simply connects to the S4M data source and returns a list of results.
You only need define the Station ID and URL settings on the S4M tab to use the Test S4M button.
You don’t even need to save your changes - it will use the settings on the S4M page.
Alternate URLs
You probably won’t use these. The Alternate Event URL and Media URL can be used to facilitate testing on a test machine that doesn’t have direct access to the live S4M data. It’s not designed to be used as a backup/failover source.
Flow Connection
The app uses Flow to lookup basic connection details. The User and Password values should work as default.
Test Connections Button
If you ever need to change the Flow URL used or the database user you can confirm that it will connect by pressing the Test Connections button.
Database Password
This app looks for an environment variable (FlowSettings__DatabaseUserWd
) to provide the password so that it doesn't need to be stored in the instance configuration.
Setup Details
The Setup tab has the most details that need to be configured to apply the S4M assets correctly.
Field | Example Value | Description |
---|---|---|
Instance Name | BC1 | A name for this instance - typically the same as the station ID |
First Hour | 5 | The first hour of the day to start scheduling the assets into. 5 represents 5:00 am |
Occurrences | 40 | Repeats each item this many times in the 24 hour period |
Content Group | BC | The content group of the channel used |
Channel | Global News BC1 | The channel used for scheduling |
Media Content Group | BC | The content group of the Media bin |
Media Bin | BC1 Zone Ads | The Media bin where the assets associated media will be looked for
|
Project Content Group | Global | The content group to find the Project in |
Project Name | L-Frame 2022 Ad Zones | The project that contains the published asset scenes that will be used by the S4M assets. Must have scenes named:
(Required when creating a new asset because the scene names are defined as |
Media Field | media.media | The name of the media tag that the media will be assigned to |
Run
Last but not least is the Run tab where you can configure when the instance will be run or run it manually.
The Last Run Time
field is automatically populated when the scheduler is run.
The Test S4M button here does the same thing as the Test S4M button on the S4M tab.
Replace Existing Schedule
This checkbox will cause the app to remove an existing schedule items for the day it is running for before adding new schedule items. Note that it only removes schedule items that it is identified as being the source.
If you try to run the scheduler on a day that it has already added items to without checking this box then it will quit when it finds existing items and make no changes. This applies to both manual and automatic uses of this app to generate schedules.
Automatic Daily Scheduling
The app will only check for and run the scheduler if it is enabled via the toggle switch at the bottom of the app.
Enabled toggle switch | |
Disabled toggle switch |
Manual Run Prevents Scheduled Run
If you manually run the scheduler using the Run Now
button at any time during the same calendar day before the scheduled run time - the app will not run that instance at it’s schedule time. For example if at 3:30 pm you run an instance that is scheduled for 5:35 pm, the scheduled run at 5:35 will be skipped.
Catching Up
When you enable the app for automatic scheduling the app will look for any instances that are past their Run At
time for the current day and proceed to run them if they have not already been run today.
Example: You have 2 instances - one set for 5:07 pm and one for 6:15 pm. It is 6:00 pm and you just realized the app was not enabled. You turn the switch on. The app will delay a minute and then proceed to look for instances that need to be run. It will find the instance scheduled to run at 5:07 pm and if it has not yet been run today - it will proceed to run it.
Then it will check the next instance and see that its Run At
time has not yet arrived. It will continue to wait, checking each minute to see if there are any new instances that are now ready to be run.
Log Output
There are 2 types of log data that are generated as of version 1.0.2. They are subject to being deleted automatically to avoid creating an overwhelming amount of log history unnecessarily.
Log Files
These files that use a .log
extension include logging statements generated by the app in the process of its operations including errors that occur.
CSV Files
Each time the app generates a schedule for a station - it will generate a basic CSV file that shows the times and what S4M item was scheduled. It is named with the station name and the date.
Example:
BC 1 Test_2023321.csv
StartTime,Title
2023-03-21 09:00:00,01015722
2023-03-21 09:02:08,01005157
2023-03-21 09:04:16,01014394
...
If you open it in Excel you may only see the data and time up to the minute by default. To show the seconds detail you can change the formatting of the column from type General to type Time (or another custom format).
Â
Â
Â
Â
Â
Â