Aqua Phoenix

  3. Design Document

3.3.3 Component / Behavior Model for 'Front End Interfaces'

Figure 7: Component / Behavior Model for 'Front End Interfaces'
Click to enlarge
Name: User Interfaces
Defining Qualities:
  • Register for a username and password
  • Edit profile; change password
  • Search database, given searchable fields
  • List all items
  • View items
  • Manage portfolios; designate them as public or private (default)
  • View public portfolios (those of other users)
  • Add items to portfolios from Search, List, or Item View
  • Use newsgroup to communicate to other users
  • Enter preferred username and password (default fields: username, password)
  • If site administrator added other fields to user table, the user must fill out those as well
  • Upon submission, if username non-existant, register user
Edit Profile
  • Upon login, list current values of user's registration
  • Upon submission, update user database with new values
Search Database
  • Search form is constructed from searchable fields (as specified by site administrator)
  • Simple search: 1 textfield; searches items in all searchable fields with AND logic
  • Advanced search: textfields/radio buttons/single and multiple selects, for all searchable fields; searches items as follows:
    • Boolean AND or OR inside fields: for any given field with more than one term entered, use this boolean expression to combine terms
    • Boolean AND or OR between fields: for those fields filled out by the user, use this boolean expression to combine all these fields
    • Fields that have not been filled out in the form are not searched
    • For every field filled out, search the appropriate table for matches; for all matches, search the parent table to find related matches; do so recursively until arrived at root table
    • Using the boolean for between fields, combine hashtables to give the list of ids for all real matches
    • return those entries to the page
  • Search results are listed in the same way as "List items", see next
List items
  • List all items in the database, X number of items per page
  • Construct a navigator bar to move to other pages
  • Site administrator customizable: Meta tags are replaced by actual data from the database
  • Meta data is provided as $ITEMFIELDS{fieldname}
View item
  • Given an item id show the item page for that item
  • Site administrator customizable: Meta tags are replaced by actual data from the database
  • Meta data is provided as $ITEMFIELDS{"tablename:fieldname"}
Manage Portfolios
  • Upon login, list user's portfolios
  • Create, Edit, Delete, or Options for a portfolio
  • Create and Options allow for layout of portfolio; several options are provided in regards to slide order, slide layout, colors, and fonts
  • Delete removes portfolio from database
  • Edit allows for creating notes for any slide in the portfolio; notes are stored in separate table 'notes' in database
View Public Portfolios
  • List portfolios with 'public' tag
  • May be filtered by user name
  • Upon selection of portfolio, portfolio is displayed in the way the user layed it out
Add items to Portfolio
  • Search page, List Items page, and View Item page have checkboxes that allow the user to add a number of items to their portfolio
  • After selection, verify username and password
  • Display portfolio names, to which items may be added
  • Upon selection, add items to portfolio, while filtering out duplicates
  • List thread of message titles
  • Upon selection, display message
  • Upon login, user is able to post messages, and reply to messages posted by other users