Importing a schedule


Jump to: navigation, search



Import a trimonthly program schedule.


Editors decide on a trimonthly program schedule. Editor makes calendar entry according to program schedule. This schedule is then imported into the scheduler scheduler through the UI. At this point, playlists are empty.




Program schedule has to be available as a file in CSV (coma-separated-list) or iCal format.

These fields are required in the spreadsheet:

  • show name
  • number
  • artist
  • start date and time
  • duration

(additional fields are handled in a related use case below)


The period of time to be scheduled is devoid of program entries.

Main success scenario

  1. Editors decide on a trimonthly program schedule
  2. A spreadsheet containing the scheduled programs is prepared
  3. The spreadsheet is saved in CSV format
  4. The CSV file is uploaded through the Campcaster UI
  5. The CSV file is parsed
  6. An empty playlist is created for each schedule entry.
  7. Playlists are associated with their corresponding shows.

Post-conditions for main success scenario

  • The program schedule is available in the scheduler.
  • The calendar palette shows all playlists with corresponding start date and time. Playlists are empty.
  • Playlists are associated with shows.
  • Title (and possibly additional tags) for each playlist is imported from the spreadsheet.

Other scenarios

Editors didn't set a schedule
the radio program can be run in Campcaster live mode, or on a day-to-day basis

using the Campcaster scheduler interface.

Editors didn't deliver a schedule / schedule is incomplete
in that case, the schedule cam be input using the Campcaster scheduler interface. This is very time-consuming, but possible.
The spreadsheet is not in CSV format
The import interface should give a meaningful help message.
The CSV file cannot be uploaded
this is unlikely, but a serious system malfunction. Ideally the system administrator should be notified automatically.
Not all required fields are set
this has to be checked before any data is imported into Campcaster. The editor has to get a list of missing entries.
Dates are wrong
the spreadsheet contains non-existent dates (including leap years). The editor has to get a list of wrong dates.
Emission times overlap
the spreadsheet contains overlapping emissions, by a certain margin (a couple of minutes or so). The editor has to get a list of wrong emission durations.
Playlists are already scheduled for that period of time
this has to be checked before any data is imported into Campcaster. If the editor tries to import a schedule over a period of time where playlists have already been scheduled, the editor has the choice between overwriting the present playlists or cancelling the import. In case of overwriting, the editor is additionally notified if a playlist is not empty.
The playlist is not associated with a show
associating each emission with a show should not be required, to leave some room for improvising.
The playlist is associated with non-existent show
if an emission is associated with a show, the show should exist. To prevent typos and other mistakes, the import process should be cancelled.

Related use cases

Create show
creating radio show objects is handled in another use case.
Update user permissions
Creating a playlist for each emission of a show requires updating the access permissions, so that artists are allowed confirm and edit their playlists later.
Set playlist tags
I would suggest adding these metatags to playists: show, artist, guests, emission description, number, confirmed. These can then be used in these additionaluse cases:
  • generate feeds (twitter, RSS)
  • interface with the Wordpress website and Soundcloud
  • update metatags from show recording
  • tag the internet stream


Approximately once every three months, but required

Test generation

Unit tests

  • parsing a CSV file produces the required playlists, tags, permissions in the database
  • parsing a CSV file with missing fields raises an exception
  • parsing successfully over time changes and leap years
  • attempting to import a schedule over existing playlists raises an exception
  • attempting to import a schedule containing a playlist associated with a non-existent show raises an exception

Integration tests

After uploading a CSV file, the schedule is available in the UI


  • The three months period is an indication, it could vary a lot.
  • Formats other than CSV and iCal are certainly possible to import, but these formats are very adequate for compatibility and easiness.

Related documents

FULL WORKFLOW, podcast Posting. Version 0.1, by Pit Schulz

Personal tools