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 action | System response |
1. Preferences->Schedule export | 2. Asks for confirmation. |
3. OK | 4. Displays filesystem location |
5. Save | 6. 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. OK | 6b. 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.