<html>

<head>
   <title>MP3 Jukebox Package Requirements</title>

</head>
<body bgcolor="#FFFFFF">
<a href=http://www.ybos.net><img align=right src=http://www.ybos.net/images/ybos-100.gif width=100 height=40 border=0></a>
<h2>MP3 Jukebox Package Requirements</h2>
by <a href=mailto:wirth@ybos.net>Elizabeth Wirth</a>
<hr>
<a href=/doc/mp3jukebox>MP3 JukeBox</a> : Requirements
<h3>I. Introduction</h3>
This document outlines the requirements for the Ybos MP3 Jukebox application built on the ACS 4.1 platform.

<h3>II. Vision Statement</h3>
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.



<h3>III. System/Application Overview</h3>

<h3>IV. Use-cases and User-scenarios</h3>
The different classes of users are administrators and readers. Administrative power is currently based on site-wide administrative power. Typical user scenarios include:
<ul>
 <li>Community members use the MP3 Jukebox to listen to a playlist or vote songs on or off of an existing playlist</li>
 <li>Administrators create the playlists and add MP3s to playlists.  Administrators also decide the threshold at which an MP3 is voted out of the playlist by the community. </li> 
</ul>
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.<p>
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.

<h3>V. Related Links</h3>

<h3>VI. Requirements</h3>

<h4>VI.1 Data Model</h4>
<p>10.30. Privilege
<br>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.

<p>10.40 Parameters
<br>10.40.10 Provide a parameter 'MP3FileLocation,' an abolute path
which indicates the location of the MP3 Files on your server.
<br>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.


<h4>VI.2 General User Interface</h4>
<p>20.10 Provide a list of available playlists with a link to listen to the playlist if it contains MP3s
<br>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.  

<h4>VI.3 Registered User Interface</h4>
<p>30.10 Same requirements as under 20.x.

<h4>VI.4 Administrator Interface</h4>
<p>40.10 Same as under 20.x, except that voting si only available on the non-administration pages. 
<br>40.20 Provide links to recently uploaded MP3s
<br>40.30 Provide links to add or delete MP3s or Playlists
<br>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).
<br>40.50 Provide a link to scan the staging location (see parameters) for new MP3s.

<h4>VI.5 Template Administration</h4>

<h4>VI.6 Additional Requirements</h4>

<hr>

<br>
</body>
</html>