| 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
|
Behaviors: (Algorithms) |
Register |
- 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
|
| Newsgroup |
- 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
|
|