MP3 Jukebox Package Requirements

by Elizabeth Wirth
MP3 JukeBox : Requirements

I. Introduction

This document outlines the requirements for the Ybos MP3 Jukebox application built on the ACS 4.1 platform.

II. Vision Statement

MP3 Jukebox was written to allow a community to share common playlists of MP3s, with community members able to vote to keep or remove songs from playlists.

III. System/Application Overview

IV. Use-cases and User-scenarios

The different classes of users are administrators and readers. Administrative power is currently based on site-wide administrative power. Typical user scenarios include: For example, an administrator decides that her office needs a "Cool Office Songs" playlist. She downloads MP3s into the MP3 staging location as defined by the "MP3StagingLocation" parameter. She then scans the staging directory for new MP3s, using the link on the admin/index page. She creates a new playlist and names it "Cool Office Songs," deciding that 10 net votes against a song will remove it from the playlist. She then searches for the MP3s she wishes to add to the playlist using the search function on the one-playlist page. After choosing each song, she decides what order that song will appear on the list. When she is done, she clicks "listen to playlist" and enjoys the tunes.

A co-worker also enjoys the "Cool Office Songs" playlist but cannot stand "Dancing Queen" by ABBA, one of the songs on the playlist. He votes against the song and encourages 9 other officemates to do so. The song reaches its threshold at 10 net votes against, and no longer is included in the playlist.

V. Related Links

VI. Requirements

VI.1 Data Model

10.30. Privilege
10.30.10 The only available privileges are admin and non-admin privileges, which currently correspond to site-wide privileges. A party can be granted "admin" permission on MP3 Jukebox.

10.40 Parameters
10.40.10 Provide a parameter 'MP3FileLocation,' an abolute path which indicates the location of the MP3 Files on your server.
10.40.20 Provide a 'MP3StagingLocation' parameter which indicates the Open Directory where MP3s will be placed before they are moved to the MP3FileLocation by the scanner.

VI.2 General User Interface

20.10 Provide a list of available playlists with a link to listen to the playlist if it contains MP3s
20.20 Provide a one-item view of each playlist, including the current score of each MP3 within the playlist and links to vote for or against the song in the playlist.

VI.3 Registered User Interface

30.10 Same requirements as under 20.x.

VI.4 Administrator Interface

40.10 Same as under 20.x, except that voting si only available on the non-administration pages.
40.20 Provide links to recently uploaded MP3s
40.30 Provide links to add or delete MP3s or Playlists
40.40 On one-playlist page, provide links to change the order of MP3s within a playlist or to forcibly remove an MP3 from a playlist (as opposed to voting for its removal).
40.50 Provide a link to scan the staging location (see parameters) for new MP3s.

VI.5 Template Administration

VI.6 Additional Requirements