UC-4 Schedule import

ref# UC-4

use case Import a schedule

type primary, essential

actors

purpose To import a schedule from the network hub.

overview The schedule import function is intended for networks where scheduled items and playlists from a backup file can be imported as a whole.

references UC-3 #1581* ArchiveFormat

Typical course of events

Actor action System response
1. Preferences->Schedule import2.1 Checks to see if users has privileges to import schedule.
2.2 If no, an error message is displayed saying "Error: You do not have authorization to import a schedule. Please contact your system administrator."
2.3 If yes, displays warning: “This will completely erase all items currently scheduled. Do you still want to continue?” Asks for confirmation.
3.1 OK
3.2 Cancel
4.1 Displays filesystem location of the archive file
4.2 Returns user to the preferences menu
5. Import6. Imports archive file, unpacks, and writes schedule, playlists and component files to local storage


XML-RPC interfaces

Storage

checkPermission

  • input:
    • sessid
    • permissionType : string - one of a fixed list of permission types, to be determined
  • output:
    • result : boolean - the current user has this permission or not

Scheduler

importScheduleOpen

  • input:
    • sessionId : string
  • output:
    • url : string - writable URL for HTTP PUT
    • token : string

importScheduleClose

  • input:
    • token
  • output:
    • result : boolean - success or not. This is a preliminary answer, after checking the format of the archive file only; the import is not finished yet when this returns.

importScheduleCheckStatus

  • input:
    • token
  • output:
    • status : one of "success", "working", or "fault"
    • (if "fault") faultCode, faultString

The token is valid until the first "success" or "fault" response from importScheduleStatus (plus it should probably expire after some time).

Question: do we need this at all? The GUI could process the archive itself, and use uploadPlaylist to upload the schedule items one by one.