New Media and Technology New Media Database Application Checklist Document Authorisation Name: Mike Hilton Position: New Media Database Architect Signature: Date: 15th April 2003 Document references Version: 1.0 Date: 15th April 2003 BBC New Media and Technology New Media Database Application Checklist Work carried out by: Name Mike Hilton Department Infrastructure Cluster Ext 73988 Document History Version 1.0 Date 15/04/03 Author Mike Hilton Description First issue. Any comments or queries about this document should be addressed to Mike Hilton CI Ref. Version Date : : Issue 1.0 : 15/04/03 Page 2 of 10 BBC New Media and Technology New Media Database Application Checklist Contents 1 2 3 Overview ................................................................................................. 4 Checklist Questions ................................................................................ 4 Example : Celebdaq - celebrity share trading game ......................... 6 CI Ref. Version Date : : Issue 1.0 : 15/04/03 Page 3 of 10 BBC New Media and Technology New Media Database Application Checklist 1 Overview This document is designed to provide a checklist for project managers / online producers developing new services or enhancements to existing services which will require or potentially require the use of a database / databases. It is intended to help producers / project managers to consider their database requirements and to provide the initial information needed by the Database Architecture and Design team to determine the way to progress the database aspects of the project. It is also designed to ensure that all use of databases for new media projects are subject to consistent, rigorous and objective consideration, which should help ensure an effective and appropriate solution delivered in a predictable and timely fashion. To help completing the checklist, please see the example provided below. 2 Checklist Questions 1. Provide a brief general overview of the service / enhancement 2. Provide an overview description of where in the service described above, a database is expected to form part of the application 3. What information will be stored in the database ? (- list as many main types of information that your application will want to store as you can think of) 4. How many of each main pieces of information identified above would you estimate will be produced / used by your application : (a) Initially when the application launches (b) After 3 months (c) After 6 months (d) After 1 year 5. Would expect information to continue to grow at the above rate indefinitely ? 6. Does the application have a finite life expectancy ? (start date / end date) 7. (i) For each of the main data items identified above, where will the data be coming from :(a) entered by user / admin staff (b) provided as configuration information when the application is created (c) produced from another / existing computer system (once) (d) produced from another / existing computer system (periodically / regularly) (ii) If information is coming from another / existing computer system, is this another BBC system, or a system belonging to an external supplier ? Are any sample / example data files from the other / existing computer system available ? (please include if so). CI Ref. Version Date : : Issue 1.0 : 15/04/03 Page 4 of 10 BBC New Media and Technology New Media Database Application Checklist 8. Does this need to work with (integrate with) any other (existing) database system ? If so, do you know what kind of database technology is being used for this other database (e.g. Oracle, MySQL, PostGres), and who is hosting and / or maintaining it ? 9. Do you have any other applications which use databases in a similar way as is required for this application ? 10. Do you foresee any regular administrative / maintenance jobs looking after the (database stored) information used by the application (data) ? – (a) Creating data (b) Updating data (c) Deleting data Who do you expect will perform these tasks ? – users (self service), admin personel, IT support personnel ? 11. Are there any transactional issues to consider with any of the data ? – e.g. the state of the data should be returned to a previous / original state in the event of an error mid way through processing (e.g. updating) 12. Should any of the data automatically be deleted after a period of time ? 13. Does the data need to be archived and kept for a period of time ? If so, how long ? 14. Does any of the data have special security / privacy considerations ? (please describe) 15. How many different type of people (roles) will be using the application ? 16. Will people need to ‘log on’ to the application, authenticating themselves with a password for example ? 17. Will people be using the application all the time (24 x 7) ? 18. What is the impact of the application / service not being available ? After what period of time would this become a significant problem ? 19. Is it acceptable to take the application ‘off line’ to perform essential system maintenance etc. – e.g. backing up data 20. Have any performance service levels been identified / considered ? 21. Have any MIS (Management Information Systems) requirements been identified ? – e.g. Auditing usage, ad hoc queries, reports ? Do any of these comprise an important or critical part of the application ? 22. Are future enhancements to this application known / planned ? (provide overview details if known) 23. Will the database have to be hosted on a particular machine (hardware) for any reason ? 24. Are there any local standards or guidelines that may affect the database design ? 25. Are there currently any planned dates for the application / project – e.g. launch date, kick off date, design milestones, etc. etc. CI Ref. Version Date : : Issue 1.0 : 15/04/03 Page 5 of 10 BBC New Media and Technology New Media Database Application Checklist 3 Example : Celebdaq - celebrity share trading game 1. Provide a brief general overview of the service / enhancement Celebdaq is an Online game provided on the BBCi web site which enables members of the public to manage a portfolio of celebrity shares having a nominal virtual value. Shares may be bought and sold, and individual player portfolios can be retrieved showing the current nominal value. Share values are calculated every 15 minutes based upon number of column inches of press coverage in selected publications, plus a weighting based upon the volume of trading (demand) for the share. Weekly dividends are also calculated per share based upon the performance of the share for the previous week. These are added on to player portfolio values. Include capabilities to : (a) Deliver data (- some in ‘real time’), to TV graphics for production of data based graphs / images to support TV program (b) Support production of graphs showing press coverage of column inches over a period of time (e.g. 1 week, 1 month, 3 months, 6 months, 1 year) (c) Allow new celebrities to be introduced to the game via a ‘Contenders’ feature which will allow users to vote in (weekly), new Celeberities (at the expense of existing least popular celebrities perhaps. 2. Provide an overview description of where in the service described above, a database is expected to form part of the application The database provides the core of the application, storing user, share, and transactional information (etc.). There is a web front end by which normal users access the application, and by which admin staff perform any necessary system maintenance. 3. What information will be stored in the database ? (- list as many main types of information that your application will want to store as you can think of) (a) USER_DETAILS (b) CELEBRITY SHARE DETAILS (c) TRANSACTION DETAILS (d) USER PORTFOLIO DETAILS (e) CONTENDERS (? – could be non-issued type of CELEBRITY_SHARE_DETAILS) 4. How many of each main pieces of information identified above would you estimate will be produced / used by your application : a. Initially when the application launches b. After 3 months c. After 6 months d. After 1 year USER_DETAILS (a) 100 (b) 30,000 (c) 100,000 CI Ref. Version Date : : Issue 1.0 : 15/04/03 Page 6 of 10 BBC New Media and Technology New Media Database Application Checklist (d) 250,000 CELEBRITY SHARE DETAILS (a) 100 (b) 250 (c) 500 (d) 500 TRANSACTION DETAILS (a) 0 (b) 1,500,000 (c) 5,000,000 (d) 10,000,000 USER PORTFOLIO DETAILS (a) 100 (b) 30,000 (c) 100,000 (d) 250,000 CONTENDERS (a) 50 (b) 50 (c) 50 (d) 50 5. Would expect information to continue to grow at the above rate indefinitely ? No, would expect this to peak at the 1 year figures then run at this rate thereafter (users ageing out of the system, being introduced at the system at about the same rate therafter) 6. Does the application have a finite life expectancy ? (start date / end date) Unknown – currently expect that the show will run for approx. 3 – 5 years 7. (i) For each of the main data items identified above, where will the data be coming from :a. entered by user / admin staff b. provided as configuration information when the application is created c. produced from another / existing computer system (once) d. produced from another / existing computer system (periodically / regularly) e. generated by the application (ii) If information is coming from another / existing computer system, is this another BBC system, or a system belonging to an external supplier ? Are any sample / example data files from the other / existing computer system available ? (please include if so). (i) USER_DETAILS – a. CELEBRITY SHARE DETAILS – a. TRANSACTION DETAILS – e. USER PORTFOLIO DETAILS – e. CONTENDERS – a. CI Ref. Version Date : : Issue 1.0 : 15/04/03 Page 7 of 10 BBC New Media and Technology New Media Database Application Checklist (ii) Not applicable 8. Does this need to work with (integrate with) any other (existing) database system ? If so, do you know what kind of database technology is being used for this other database (e.g. Oracle, MySQL, PostGres), and who is hosting and / or maintaining it ? Existing Celebdaq system has been running for 3 months. Changes should be applied to that database. Currently database is a MySQL implementation. Server host is unknown. 9. Do you have any other applications which use databases in a similar way as is required for this application ? None known – although several online applications / sites support voting, and Test the Nation has delivered database collated information to TV graphics for rendering to broadcast. 10. Do you foresee any regular administrative / maintenance jobs looking after the (database stored) information used by the application (data) ? – a. Creating data b. Updating data c. Deleting data Who do you expect will perform these tasks ? – users (self service), admin personel, IT support personnel ? USER_DETAILS – a. and b. Users will create and maintain, b. (c.) admin user may disable / delete in the event of misconduct. C. Application itself will automatically age / delete users no longer playing the game. CELEBRITY SHARE DETAILS – a. Admin users will create, b. update and c. delete as necessary TRANSACTION DETAILS – a.Will be initiated by users, and actually created by the application. b.Transactions will not be updated. c. Transactions will be deleted by the application when appropriate / required period of time has elapsed USER PORTFOLIO DETAILS – a. Initiated by user transactions, and generated by the application. b. Updated by the application when transactions take place, and c. Deleted by the application when the relevant user record is deleted. CONTENDERS – a. Admin users will create, b. update and c. delete as necessary 11. Are there any transactional issues to consider with any of the data ? – e.g. the state of the data should be returned to a previous / original state in the event of an error mid way through processing (e.g. updating) Portfolio amendments should be updated ‘atomically’ (i.e. at the same time / as a single update), as a transaction. Any problem with the transaction (e.g. not enough funds to complete the trade should prevent any update to the portfolio). Any problem with updating the portfolio should ‘rollback’ the trade (i.e. abandon the trade transaction) – returning some kind of error to the user. 12. Should any of the data automatically be deleted after a period of time ? Yes, TRANSACTION DETAILS should be deleted after 1 year. USERS should be deleted 3 months after their last trade. CI Ref. Version Date : : Issue 1.0 : 15/04/03 Page 8 of 10 BBC New Media and Technology New Media Database Application Checklist 13. Does the data need to be archived and kept for a period of time ? If so, how long ? Yes, TRANSACTION DETAILS, USERS, and USER PORTFOLIO DETAILS should be archived weekly and kept for 1 year. Does any of the data have special security / privacy considerations ? (please describe) 14. Does any of the data have special security / privacy considerations ? (please describe) USERS details need to be accessible only to the individual concerned. Data Protection laws govern other requirements for this information (?) 15. How many different type of people (roles) will be using the application ? (i) Normal Users (ii) Administrative Users 16. Will people need to ‘log on’ to the application, authenticating themselves with a password for example ? Yes, both types of users identified in 14 should identify themselves to the system via username / password combination specific to and unique to this application, and not related to any other BBC username / password. 17. Will people be using the application all the time (24 x 7) ? Yes – although profile of usage suggests predominantly a UK audience where the show will be broadcast 18. What is the impact of the application / service not being available ? After what period of time would this become a significant problem ? Some customer dissatisfaction, and potential loss of user / custom if persistent, regular and unplanned / unexplained. No major impact if service was ‘briefly’ unavailable at predictable times, and this information made available to users accessing the application during such outage. 19. Is it acceptable to take the application ‘off line’ to perform essential system maintenance etc. – e.g. backing up data Yes – see above 20. Have any performance service levels been identified / considered ? No definite requirements, but target service levels might be : (1) Site availability 95% (=> 1 hr per day essential backup and maintenance) (2) General interactive response within 2 seconds (3) Trade completion within 2.5 seconds (4) Portfolio generation within 2.5 seconds 21. Have any MIS (Management Information Systems) requirements been identified ? – e.g. Auditing usage, ad hoc queries, reports ? Do any of these comprise an important or critical part of the application ? A number of graphs analyzing share price movements will need to be created as a central part of the application Various ad hoc queries will be required to monitor usage of the site, profile of activity etc. 22. Are future enhancements to this application known / planned ? (provide overview details if known) CI Ref. Version Date : : Issue 1.0 : 15/04/03 Page 9 of 10 BBC New Media and Technology New Media Database Application Checklist The addition of a Celebdaq ‘futures’ market to add to site stickiness, is the only major enhancement currently planned. (This should not significantly affect the profile of usage / data volumes discussed above) 23. Will the database have to be hosted on a particular machine (hardware) for any reason ? Needs to be accessible from internet. (Application / database ?) server must however provide a means of communicating with TV graphics servers for delivery of data required to produce graphs for broadcast show. Potential firewall issues here are unknown. 24. Are there any local standards or guidelines that may affect the database design ? No (– or e.g. we have our own local naming standards) 25. Are there currently any planned dates for the application / project – e.g. launch date, kick off date, design milestones, etc. etc. TV show is broadcast on 14th Feb – solution for TV graphics generation needs to be developed, tested and deployed for then. CI Ref. Version Date : : Issue 1.0 : 15/04/03 Page 10 of 10