Analysis
Overview
The goal of this task is to create new Sophie web pages and to improved the old ones. Keep in mind that you don't have to make them beautiful there is another task for that. The S2S_WEB_USER_RELATED_R0 task depends on the result of this task.
Task requirements
- Get into the S2S tasks from the previous iteration(in the Related section), especially the S2S_WEB_COMMONS_R0.
- Improve the old index.jsp page, adding logout option.
- Improve the about.jsp page - make better outlook.
- Create new page which will be some kind of navigation menu for the user. It should contain:
- "home" item(this should be the login page or the welcome page if a user is logged)
- "about" item
- when the user logs the edit profile item should appear.
Task result
Improved index.jsp and about.jsp pages and newly created menu page.
Implementation idea
- Look in the Server specification(http://docs.google.com/Doc?id=dgk7xd5w_2dzj74zhs&hl=en) for more information about the server features.
- Store the jsps in the trunk/sophie2-platform/modules/org.sophie2.server/src/main/resources/jsps directory
- Create HTTP sessions for the user to implement the login/logout action.
Related
S2S_WEB_COMMONS_R0
S2S_DEPLOY_TECHNOLOGIES_R0
S2S_PERSISTENCE_COMMONS_R0
S2S_CORE_SECURITY_R0
S2S_WEB_USER_RELATED_R0
How to demo
Run the server and show the new and edited pages.
Design
The result of this task will be 4 jsp files as follows:
- index.jsp: containing just the menu for now.
- about.jsp: fix the "license" link (pointing to the http://sophie.org/sophie2/wiki/License), justify the text, indent for the whole text and some more for the beginning of each paragraph. Add menu at the top of the page.
- login.jsp: when submitting the username/password, redirect to index.jsp. This must have menu.jsp included, too.
- menu.jsp: not actually a page, just a piece of code which will be included in other pages(using <jsp:include page="BlahBlah.jsp" />). Contains: "home", referring to index.jsp; "about", referring to about.jsp; If the user is not logged: "Log In", pointing to login.jsp; If the user is logged:
- "Log out".
- "Edit Profile", referring to editProfile.jsp
- "Uploaded Books"
The check whether the user is logged in must be here.
Each page (except menu.jsp) must have sessions enabled, e.g. <%@ page session="true" %> at the beginning of the document.
Implementation
- about.jsp fixed as described in design.
- login.jsp sends the posted information to itself, and if the user name / password are correct, redirects to the home page. If not, displays an error message.
- menu.jsp checks whether the user variable is loaded in the session and modifies its content according to the result. Also checks the current page and decides which items to be links and which not.
- logout.jsp just removes the user variable from the session and redirects to the home page.
- editProfile.jsp and uploadedBooks.jsp are left blank for now, since they are part of another task.
result: http://sophie2.org/trac/changeset/879
Testing
User documentation
ITERATION_07/Release/UserDocumentation/11_WorkingWithSophieServer
Release documentation
(demonstrates creating an account & logging in to S2S)
Manual tests
Main tests
Related tests
Testlink test ids: 773, 776, 779
Reported bugs
(none yet)
Comments
(Write comments for this or later revisions here.)
- The about page is incorrect when the user is logged in - pap 2008-12-18