UC-3 Schedule export

ref# UC-3

use case Schedule export

type primary, essential

actors

purpose To provide the ability to export an existing schedule for input on a remote server.

overview The schedule export function allows users with appropriate rights to export the entire schedule to a remote server. In this scenario, a network hub would want to set the schedule for a member station remotely and all at once. The schedule – and all playlists and component files in it - is saved to a file, which is then imported in the preferences menu.

references UC-4 #1581* ArchiveFormat

Typical course of events

Actor actionSystem response
1. Preferences->Schedule export2. Asks for confirmation.
3. OK4. Displays filesystem location
5. Save6. Writes schedule, playlists and component files to a single archive file for import.
6a. If items occurring in the past are found, the system prompts the user if they want to export the items in the past anyway.
5a. OK6b. Scheduled items occurring in the past are exported.
7. Confirmation message "Schedule successfully exported with <count> of scheduled items" is displayed.


XML-RPC interfaces

Scheduler

exportScheduleOpen

  • input:
    • sessionId : string
    • from : date-time - export schedule items which end on or after this time
    • to : date-time - export schedule items which start before this time
  • output:
    • token : string

exportScheduleCheckStatus

  • input:
    • token
  • output:
    • status : string - one of "success", "working" or "fault"
    • (if "success") url : string - readable URL of the archive created
    • (if "fault") faultCode, faultString

exportScheduleClose

  • input:
    • token

One or both of the from and to parameters may be missing; in this case, from defaults to minus infinity, to defaults to plus infinity.

I don't think we need a separate 'check if the schedule contains past events' function; we can just set the from parameter to the current date and time if we don't want past events.

Question: do we need this at all? The GUI could just use displaySchedule to get the schedule entries, and construct the archive from it itself.