You are on page 1of 8

CELEBRITY LECTURE

AGENCY
Revision 1.2
October 14, 2008

Functional
Specification
for the development of the Celebrity Lecture
Agency Web Site
1 Overview
Celebrity Lecture Agency (CLA) is a database-driven web site that allows users to
reserve guest celebrity speakers for their event or function. The site lists a few
hundred celebrities – each categorized by their background (for example, sports,
movies, politics, business, etc) – and users can browse through this list and add one
or more celebrities to their interest list. Once users have selected their celebrities of
interest, they can submit an inquiry – which takes the
interest list – together with basic user information (name, address, phone number, e-
mail, and date of event) and sends out an e-mail to the site owner. The site owner
then takes over and makes contact with the user – letting them know the detailed
pricing and availability. Much of the process relies on the site owner to complete the
transaction – and even though it would be ideal to automate this process, we need to
manually inquire as to the price and availability for each celebrity.

2 Design
The CLA site is based off a commercial template design that has already been
purchased. The template contains Adobe Photoshop files, functional HTML, graphics,
and CSS. The first step is to create reusable PHP snippets for the header and footer –
and then each page should simply involve creating central part of the page and
embedding it within the header and footer. There are a number of pages that make
up the CLA web site. These include:

User Pages:
• Home
• About Us
• Contact Us
• Policies
• Full Roster
• Browse / Search Celebrities
• Celebrity Results
• Celebrity Details
• View Interest List
• Delete from Interest List
• Submit Inquiry
Administration Pages:
• Administration Login
• Administration Create New Celebrity
• Administration Edit Existing Celebrity
• Administration Delete Celebrity
• Administration View Inquiries List
• Administration View Inquiry Details
• Administration Edit Inquiry
• Administration Delete Inquiry
Even though there are more administration pages than user pages, it is expected that
the administration
section should be simple and far less time consuming to put together than the user-
facing site.
Each of the pages is discussed in detail below:
2.1 Home
The Home page is a simple information page that contains introductory text (to be
supplied by the site owner) as well as links to the most common functionality –
including the search / browse, view interest list, and full roster (as part of the top
toolbar – displayed on every page).
The home page displays two rows of randomly-featured celebrity speakers (based on
the is
featured attribute stored in the celebrity table). Each time the home page is loaded, a
unique
set of featured speakers is displayed. Only the large thumbnail – together with the
celebrity name – will be displayed. Clicking on this thumbnail will take the user to the
Celebrity Details page. On the left side is a Quick Links drop-down containing all the
current celebrities (only those that are set to active) – displayed by order of last
name. Selecting a celebrity from the drop-down list will take the user to the Celebrity
Details page.
Below the Quick Links drop-down is a hard-coded list of the four or five top
categories. Clicking on this link simply takes the user to the Browse Celebrity Page
and pre-populates the category with the appropriate category name. Clicking the
View All Categories link will have the exact same effect as clicking on the Celebrities
button at the top of the page: The Browse Celebrity Page will be displayed with all
categories selected – allowing the user to initiate a search by clicking the Go button.
2.2 About Us
The About Us page is a simple information page that contains information about the
company (to be supplied by the site owner). Please provide a blank template page
(containing the header, footer, and page title) – and we will insert the appropriate
text.
2.3 Contact Us
The Contact Us page contains a web form that allows users to submit a question to
the company. It is a similar page to Submit Inquiry, but does not involve an interest
list. Instead it is used to allow users to ask simple questions about the site. The
results of this page will be posted as an e-mail – one copy will be sent to the site
owner, while another copy will be sent to the user submitting the inquiry. The form
fields to be displayed on the form include:
• First Name
• Last Name
• Organization Name
• Mailing Address 1
• Mailing Address 2
• City
• State
• Zip
• Email
• Phone Number
• Question / Comment (this is a textarea)
We will need JavaScript validation on this page to ensure that – at a minimum – the
First Name, Last Name, Email, and Question / Comment are specified. Unlike the
inquiry, this information does NOT need to be stored in the database – it is merely
sent as an e-mail to the site owner.
2.4 Policies
The Policies page is a simple information page that contains information about the
policies of the
company (to be supplied by the site owner). Please provide a blank template page
(containing the header, footer, and page title) – and we will insert the appropriate
text.
2.5 Full Roster
The Full Roster page shows a list of all the active celebrities on the site, ordered by
last name. This page will show a small thumbnail together with the name – and will
allow the user to click on the Celebrity Details page by simply clicking the name or
the thumbnail. There is no need to display categories, overview text, or any other
information on this page – just the thumbnail and full celebrity name.
2.6 Browse / Search Celebrities
The Browse / Search Celebrities page allows users to narrow down the list of all
celebrities by specifying a combination of categories, attributes, and search text.
When this page is initially loaded, no search results will be displayed. As soon as the
user specifies one or more fields, the list of search results will be retrieved.

A category widget is displayed to the left of the search results. This widget shows the
hierarchical list of categories – together with the number of celebrities categorized in
each category. Users may click on any category to retrieve all celebrities for that
specific category. In essence, when a category link is clicked, the category name is
selected from the drop-down category list (which contains ALL categories and
subcategories).
Therefore, clicking on the left category shortcut link has the exact same effect as
selecting
the desired category from the drop down list. Users may then narrow down the
results even further by selecting other options from the drop-down lists. The page will
initially display with no search results (as it is a database-intensive function to
retrieve every celebrity every time this page is loaded); however, if a user wishes to
click the Go button without narrowing down any options, all the celebrities will be
returned on the page – even if this takes a few seconds to retrieve from the database.
2.7 Celebrity Results
The Celebrity Results are listed one per line – with an 80px x 80px thumbnail shown
to the left of the row. The celebrity name, tagline, overview text, category, and
gender are displayed with each record. The overview text is truncated at 200
characters – and an ellipsis (…) is shown instead.
A number of action buttons are available to the right of the celebrity record. A user
may view the
celebrity details by either clicking on the thumbnail or the action icon on the right. In
addition, the user may add the celebrity to their interest list by clicking the
respective icon. If a celebrity has already been added to the interest list, they may be
removed by clicking the remove icon (shown in the middle row above).
2.8 Celebrity Details
The Celebrity Details page shows all the information that is available for a particular
celebrity. It includes the full size image, biography, overview, speaker demographics,
and categories under which the speaker is classified. Two action buttons are present
on the page, allowing the user to add the celebrity to the interest list, as well as
providing a one-click inquiry to add the celebrity to the interest list and set up an
inquiry for the particular celebrity.
2.9 View Interest List
The interest list is similar to a shopping cart – in a much simplified form. It is simply a
collection of celebrity ids – in no particular order – that will be bundled together with
the inquiry when submitted by a user.
When a user selects to view the interest list, it will list the celebrities, one per line.
There will be a delete icon to the right of the celebrity name – allowing the user to
remove any names off the list prior to submitting it.
2.10 Submit Inquiry
The submit inquiry feature is a single page that shows the interest list at the top,
followed by a standard form, providing a place for the user to enter their information.
The following form fields will be available on the page:
• First name*
• Last name*
• Email address*
• Company Name*
• Mailing Address
• Phone number
• Type of number (drop-down of Work, Home, Cell)
• Tentative date(s) of the event (TextArea, containing)
• Comments
This form will have client-side validation, ensuring that at a minimum, the name and
e-mail address are specified.
Upon submission of this form, the form details – together with the interest list – will
be written into the database and e-mailed to the site owner. The site owner may then
start a dialog with the prospective customer in reserving a celebrity from the interest
list.
2.11 Administration
The administration section is a non-user-facing part of the web site that allows for the
management and maintenance of celebrities, categories, topics, and inquiries. The
look and feel of the administration section will be identical to that of the customer-
facing web site.
2.12 Administration Login
The administration login simply validates a username and password against the table
stored in the database and permits the user (if authenticated) to access the
administration features. A simple page showing the following options will be available
upon logging in successfully:
• View inquiries
• Edit an inquiry
• Delete an inquiry
• Create a new celebrity
• Edit an existing celebrity
• Delete a celebrity
For added security, administrators will be required to login using a
username/password combination, as well as a four-digit PIN. If either the
username/password combination OR the username/PIN combination do not match, a
generic error message – informing the user than the login attempt was unsuccessful –
will be displayed on the screen. The user’s IP address will be captured with each login
attempt – and after three unsuccessful login attempts, the computer with the locked
IP address will not be permitted to access the login page for 24 hours – the
application will show a message informing the user that the machine has been locked
for 24 hours and no username/password input controls will be shown. After the 24
hour period, the user will be permitted to log back in.
2.13 Administration View Inquiries List
The view inquiries function will show all active inquiries. A link will be available to
show all non-active inquiries too. The active inquiries will be arranged by date (most
recent at the top of the table). Icons will be available to edit or delete an inquiry, as
well as change the status. The currently-supported status values include:
• Active
• Closed
The main purpose of the inquiry is to allow the administrator to set up a
communication with the end user. For this reason, the end user’s e-mail address
should be hyperlinked to allow the administrator to contact them by simply clicking
on their e-mail address.
2.14 Administration View Inquiry Details
The inquiry details is simply a page containing the interest list and end user
demographics – with the option to change the status of the inquiry, create a note for
the inquiry, or delete the inquiry.
2.15 Administration Edit Inquiry
Editing an inquiry allows the administrator to change the status of the inquiry and
add / edit the notes field – thereby providing a space to keep notes about the inquiry.
End users will not be able to see an inquiry once it has been submitted – the notes
and status are therefore hidden from the end user.
2.16 Administration Delete Inquiry
An inquiry may be deleted if it is no longer relevant. Alternatively, administrators
may set the status of the inquiry if they want to keep it for historical purposes.
2.17 Administration Create New Celebrity
A new celebrity may be added through the administration page. The following
information should be captured from this page:
• First Name
• Last Name
• Tagline
• Overview
• Biography
• Featured Celebrity (checkbox)
• In the News Celebrity (checkbox)
• Favorite Celebrity (checkbox)
• Gender (drop-down list)
• Diverse Cultures (drop-down list)
• Thumbnail image
• Image 1
• Image 2
• Image 3
• Video Link
• Topics
• List of Categories
• Active On Website (checkbox)
The images and thumbnail will automatically be resized to fit the page
(approximately 300px x 300px).
The list of topics will be written into the topic tables. Topics will essentially be stored
as a collection of strings (as opposed to one text area) – so we need a way to add,
edit, and delete topics for a speaker.
There is no requirement to share topics between speakers – so, it’s just a matter of
having a button on the page to create a new topic – as well as list the existing topics
and provide a button to edit and delete each existing topic.
Each celebrity may be assigned to a collection of categories. The simplest way to
implement this is to show a hierarchical tree of categories underneath the celebrity
information – and have checkboxes next to each category. The administrator would
simply check off as many categories when creating or editing the celebrity.
The active on website attribute determines whether the celebrity will be displayed
when browsing or searching on the site. Setting this value to false will prevent users
from seeing this celebrity on the site – and will allow the administrator to maintain a
list of inactive (or not-yet-available) celebrities.
2.18 Administration Edit Existing Celebrity
Editing a celebrity will call the same functionality as creating a new celebrity – with
the exception of the existing details pre-populated in the respective text input boxes.
The list of topics will have buttons to edit and delete each topic separately. In
addition, the category tree will be shown below the celebrity information with the
selected categories checked using checkboxes.
2.19 Administration Delete Celebrity
A celebrity may be deleted from the list. A JavaScript confirm dialog will appear to
ensure that a celebrity listing is not deleted by accident.