wiki:s2s-login-functionality

Version 4 (modified by mira, 15 years ago) (diff)

--

Error: Macro BackLinksMenu(None) failed
compressed data is corrupt

Error: Macro TicketQuery(summary=s2s-login-functionality, 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|) failed
current transaction is aborted, commands ignored until end of transaction block

Analysis

Overview

The user should have the opportunity to:

  • Login
  • Logout
  • Register
  • Change his account data
  • Preview his data
  • Recover forgotten password

The goal of this task is to provide this functionality.

Task requirements

  • provide
    • Login page
      • Two text fields for password and email
      • Back button
    • Logout functionality
    • User account data page
      • ability to change/add/remove screen name
      • ability to add additional emails
      • ability to change password (may require additional page)
      • ability to add/remove avatar image
      • editable additional info
      • notification for personal data publicity (label)
      • should provide a way to manage visibility for user data
      • link to preview data page
    • User details preview: Shows user info as the others sees it.
      • Should show avatar, screen name, emails(depends on user input), description
    • Register page: Should contain text input controls for all properties that the user can give input on
      • email - required
      • password - required
      • repeat password - required
      • upload image control - with description of size limitation
      • screen name
      • description
    • Forgotten password page
      • Conformation page that show massage to the user that the new password is sent to the mail

Task result

  • Code

Implementation idea

  • Use existing visual language and extend it to fit the requirements

How to demo

  • Go to server page
  • Register new user
  • logout and login again
  • Change some personal data
  • request password change

Design

User name

Change the register and login pages to ask for e-mail instead of userName and use it as the unique identifier of the user. This should be achieved by generating the unique part of the users ref from its e-mail information. The email could be transformed to a string that contains only symbols allowed in ResourceRefs and then it could be used as part of the location to the user.

Password

For now we could keep the password in plain text and on login compare the provided password with the original one. In future it is better to generate a hash code by the pass and keep only it in the database.

Screen name

The user will be allowed to set the name that is presented to the other for him/her. This is done in the screen name field. If it is not set the user is referred to by its e-mail address.

Web UI

This task is basically implementation of jspx files and HttpRequesHandlers for their logic. The present design of the WebUI and WebApp modules is good and should be kept and just extended to supprot new functionality.

Implementation

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

Testing

(Place the testing results here.)

Comments

(Write comments for this or later revisions here.)