[[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 =