STOIC Playout Front End Specification This is the specification for the STOIC Playout system front end software. All comments, suggestions, complaints and death threats to the tech-dev list please! James Robinson jmr101@doc.ic.ac.uk 15/08/02 Database The entire playout system hinges around a single MySQL database table containing details of all scheduled programmes*. The back end system can access this database with an appropriate query to get details of the next programme for transmission. The front end system will use more database tables in order to implement a programming database and tape archive, as was agreed in an earlier meeting. Detailed specifications of these databases to follow, most critically of the Schedule table. * The term programme refers to both taped shows and live broadcasts. Programme / Tape Archive The system must store details for all programmes in the STOIC archive. Each programme will be assigned a unique production code consiting of a code for the programme and an episode number - e.g. Liquid Lunch episode 1 could be LL1. This code can be generated by the system based on the series code and episode number entered, or input directly by the user (obviously this must be checked for duplication). Various details will be stored for each programme, such as: Production Code Series Code Episode Number Title Production Date Type (studio, live, OB, music video, event etc.) Comments Duration The series code (where given) will refer to a series in a separate series table. The complete list of fields for this table are: Series Code Title Year Description / Comments Credits / Series Credits It will be possible to record credits for all programmes. The main credits table will look like this: ID Production Code Title Person ID is an arbitrary field for a key. Production code specifies the programme that the credit refers to, title is the job (presenter, camera, director etc.). Person is either a person ID referring to a person in the People table (see below), or just a name if there is no record for the person in question. It will be possible to specify credits which apply to an entire series using a separate table, series_credits: ID Series Code Title Person Locked Locked is a boolean field. If set to 1, the credit will be applied to every episode of the series. For example, a credit for Series Producer would probably be locked. Non-locked credits will be by default applied to new programmes created for the series, but after their creation these credits will be treated in the same way as an other credit for the programme, i.e. can editted or removed independently of the rest of the series. Therefore an individual programme's credits are made up of the records in the credits table and the locked entries of the series credit table. When a non-locked series credit is added, the user will be offered the opportunity to apply this credit to all existing episodes of the series. Deleting a non-locked credit has no effect on credits for existing programmes, the credit in question simply won't be applied to new episodes of the series. People To implement the credits system, a table of people is needed. Records can be added for all regular contributors to stoic productions. A natural extension of this would be to include some contact details to implement a basic members directory: Person ID Surname Forename Title E-Mail Address Telephone Mobile Address Department Year Comments Using the credits table, it will be possible to see a list of everything that the person has done for STOIC. Future developments to the software could allow more complex queries, e.g. "how much directing experience does person X have? How often has X worked with Y?", to be performed. Summary: Adding a Programme To add a new programme to the system: 1) Select whether it belongs to a series or is standalone. If a series, select from a list of series (or input a new one if necessary) and the system will assign an episode number and production code (both of which can be overrideen if necessary). Standalone programmes just need a production code entered. 2) Then the user will need to enter the remaining details for the programme. If a series, default cast information will be inserted for it and these details can be added to or amended if necessary. 3) The programme is now stored in the database. At the same time it will also be possible to specify some tape locations for it, or schedule it. Tape Archive Details for all recordings of a programme can also be stored. Recordings may be on video, DV tape, DVD or any other method of storage. The following information for each recording will be hled: Production Code Tape ID (unique code for every tape) Start time Length Quality Comments Tape ID refers to a tape (or other recording medium) in the following tapes/media table: Tape ID Format (DVD, DV, VHS etc.) Total Length Comments MPEG Files Programmes rendered to MPEG files should be saved with the production code as the filename. There will be a designated directory where all MPEG files ready for transmission will be placed. The playout software can therefore inspect this directory to see if a given programme has an MPEG ready for transmission. Scheduling Each record in the main schedule database table will hold the following details: Production Code Start Date / Time Ready Comments The production code "LIVE" will be used for live programmes where no production code is assigned. The Ready field will be set to 0 when the programme is not actually ready for transmission. This will be the case when a programme has been scheduled by the MPEG file is not ready, or the programme has not even been made yet. This allows the website schedule, which will be retrieved from this database, to show programmes in advance. This Ready field will only be 1 when the MPEG file is loaded into the designated directory ready for use. The Ready field will be set to 0 for all live programmes. It will be set to 1 by the gallery crew to confirm that the studio is ready for live transmission.The earliest that this live transmission can be authorised is 30 minutes prior to the scheduled start time. From the front end, authorised users will be able to select a programme from the programming database and specify a date and time to schedule it. The system will check that the programme can fit into the schedule (i.e. it won't clash with anything already scheduled). If the MPEG file for the programme is already loaded into the designated location, the Ready field will be set to 1 and the file set to read only (if possible) to prevent it being moved before transmission. If no MPEG file is available, a list of sources of the programme will be displayed from the tape archive. The Ready field is set to 0. Once the MPEG file has been created and loaded, the user can go back into the system and set the item as ready. Programmes must be scheduled at least 30 seconds in advance of the start time. The software will not allow late scheduling. Authorised users will be able to edit and delete existing scheduled programmes. Notification The system will generate an e-mail to an appropriate person (head of programmes?) giving details of programmes which have been scheduled but are not ready (i.e. MPEG required). It will be this persons repsonsibility to ensure an MPEG is loaded for the programme and the Ready field updated. If the scheduled start time arrives and the Ready field is still 0, nothing will happen. Access For security, access to the playout software will be restricted (by IP address) to STOIC computers. Users will need to login to the system with a username and password. There will be several levels of access: 1) Can view (but not add or edit) programme, series, credit, recording, people, tape/media and schedule information. A public guest login for this level of access may be made available. 2) Can edit programme and recording information, but cannot edit the schedule. 3) Full control of programme and schedule data. 4) Can administer user accounts, change passwords and update global settings. General The system will be web based, served from a server in STOIC - this machine will also run the MySQL server.