[[BackLinksMenu]]

[[TicketQuery(summary=BASE_SECURITY_MODEL_USERS_R0, format=table, col=summary|owner|status|type|component|priority|effort|importance, rows=description|analysis_owners|analysis_reviewers|analysis_score|design_owners|design_reviewers|design_score|implementation_owners|implementation_reviewers|implementation_score|test_owners|test_reviewers|test_score|)]]

= Analysis =

== Overview ==

Define the attributes for user accounts in Sophie.  These user accounts will be used for accessing a server to upload/download books and content, as well as other Sophie services that might exist.

The write a class to represent a user and add a key-value list for the properties of the user.

== Task requirements ==

 * Define the attributes of a user account
 * Document the user attributes on the [wiki:SOPHIE_SECURITY_OVERVIEW] wiki page
 * Implement users as a resource of the book

== Task result ==

The result of this class is code and documentation.

== Implementation idea ==

 * Attributes include:
  * Username (this is the account id)
  * First Name
  * Last Name
  * Email
  * Birthdate (might be used to control access to certain materials)
  * List of IM services (this might be used for later  communication while reading a book)
   * Server/Account/Password
 * Don't allow empty users; Provide a constructor that requires at least a username and email

== Related ==

 * [wiki:BASE_SECURITY_MODEL_COMMONS_R0]
 * [wiki:BASE_SECURITY_MODEL_PERMISSIONS_R0]
 * [wiki:BASE_SECURITY_MODEL_GROUPS_R0]

 * [wiki:SOPHIE_SECURITY_OVERVIEW]


== How to demo ==

 * Share the documentation
 * Explain the parameters (unless they are obvious)

= Design =
^(Describe your design here.)^

= Implementation =
^(Describe and link the implementation results here (from the wiki or the repository).)^

= Testing =
^(Place the testing results here.)^

= Comments =