Challenge Overview
Detailed specification is also available in Topcoder Wiki : http://apps.topcoder.com/wiki/display/docs/Module+Assembly+-+Search+functionality+and+Calendar+using+DOJO+Framework+1.0
1. Project Overview
This is an Ajax based requirements where DOJO framework should be used to migrate existing search functionality and introduce new locale specific popup calendar. This will help an application to send and receive only that part of the page which needs to be refreshed. Passing data using a query string using GET is NOT allowed.
1.1 Competition Task Overview
Following changes should be done in order to process -
- Given package contains index.jsp file which has textboxes for First Name and Registration Date. Please provide a calendar icon in front of the Registration date, by clicking which a calendar control popup should be visible as per the local hardcoded.
- On clicking Search submit button query should be fired to the DB for fetching records with OR condition, depending on the First Name and Registration Date values entered by the user in corresponding textboxes.
- After successfully implementing calendar, you will be required to modify query of findByFirstName() method of support.operations.contracts.finder.UserInfo class to include that date in search query.
- So to sum up the things, you will be allowed to do modification in only 2 places. One is in JSP page to add calendar control and other is in UserInfo.java for changing query after you add calendar to the jsp page. Please also make sure that you will have to create a separate js file and put all your required javascript methods in that in order to avoid bulk coding changes.
- You are not allowed to change names of any textboxes. Please only use predefined names to avoid issues while integration.
1.2 Submission Deliverable
Please see section 1.7
1.3 Technology Overview
1.3.1 Application Technologies
The following environment requirements apply to the application:
- Development language: Struts 1.1 Java 1.5 and AJAX (DOJO 1.6.1)
- Compile target: Java 1.5
- Database: DB2 v9.5 or any other compatible database.
Note : We are not going to provide any test environment to test the code. Please check AJAX Requirements Documentation attached below in order to get an idea about the flow and the testing.
1.4 Documentation Provided
Documentation and Applications that will be provided to Registered members:
| Document Description |
Document Name |
| Deliverable Information |
AJAX_Top_coder template_assembly.doc |
| Requirements Documentation |
Please refer Requirement_AJAX.doc |
| Database Schema |
Please refer Schema.sql |
| HTML Prototype |
NA |
| JSP Converted Prototype |
|
| Sample Data |
|
| WAR File |
Please refer AjaxImplementationWeb.war |
1.5 Timeline
Submission Phase Length (days): 7 days
Registration Phase Length (days): 3 days
1.6 Payment
1.6.1 Base Payment
TopCoder will compensate members with first and second place submissions. Initial payment for the winning member will be distributed in two installments. The first payment will be made at the close of the approval phase. The second payment will be made at the completion of the support period.
Winning Submission Prize: $1000
Second Place Prize: $500
1.6.2 Milestones
NA
1.6.3 Support
Standard 30-days support is required.
1.7 Final Submission
- For each member, the final submission should be uploaded to the Online Review Tool.
Final submission should contain following :
1. war file containing the changes made for implementing dojo 1.6.1 ajax
2. Unit test cases ( not required for Javascript components)
3. logs file indicating that the component developed is working
4. Javadoc for the javascript methods newly created.
5. A complete and detailed deployment document explaining how to deploy the application including configuration
information.
1.8. Competitor Restrictions
- NA
2. Project Dependencies
The component should be flexible enough to incorporate any new locale/date format, other than mentioned in the above table. Also the javascript function(s) should be in separate js files and should be reusable from multiple jsp files. Additionally, the month name should be displayed in language as per locale.
3. Project Organization and Setup
3.1 Environment Setup
The following environment requirements apply to the application:
- Development language: Struts 1.1 Java 1.5 and AJAX (DOJO 1.6.1)
- Compile target: Java 1.5
- Database: DB2 v9.5 or any other compatible database.
Final Submission Guidelines
3.1.1 Source code setup
Please use any other compatible IDE for the same. Also use any other application server if WAS 6.1 is not available.
If you are using IDE other than RSA then steps would be slightly different.
Create a new workspace and follow these steps -
1. import war file
2. provide path to the war file
3. Target Runtime should be WebSphere Application Server v6.1
4. Click on next and select all utility JARs and web libraries. click on finish.
5. Right Click on AjaxDAO, go to java build path. Add AjaxFramework in the Projects tab. Click OK.
6. Right Click on AjaxImplementationWeb, go to java build path. Add AjaxDAO in the Projects tab. Click OK.
7. Go to servers tab, Right Click, Add/remove projects -- add AjaxImplementationWebEAR and click on finish.
8. Incase of any html isses, go to windows->preferences->validation->and click on Suspend all validators. and click on OK.
9. Now start the server. Please note that server should be - WebSphere Application Server v6.1
10. After server is up, browse this URL -- http://localhost:9080/AjaxImplementationWeb/jsp/index.jsp
Please note that your port number may be different.Please refer attached schema file containing commands to create DB and corresponding table. Run it in your DB2. For configuring DB to the project, Open DBConnection.java file and on line no 28, replace your details of the DB to connect to your DB instance.