Key Information

Register
Submit
The challenge is finished.

Challenge Overview

In this challenge, we want to add a new screen to the TopCoder Direct - Project Dashboard to allow copilot/PM to push challenge submissions related data to a new app called “Demand App” via API.

 

The UI of the Work Manager page should look like this

 

The typical user flow is like this

  1. The tab name will be “Work Manager”, put it as the last tab of project dashboard - i.e. put at the right of “VM Management” tab.

    • If the current user is not the copilot or one of the “TopCoder Expert Services”, “TopCoder Account Managers” and “Appirio Project Managers” or a TC admin, do not display the tab.

    • User clicks to the tab goes to work manager page.

  2. The copilot/PM enters the page - if current user is not one of the roles mentioned above, display permission denied page.

  3. The pages should read the work steps of the project from the asp-client API by method retrieveWorkSteps(String tcDirectProjectId), the argument is the id of current direct project. The method will return a list of WorkSteps, and they should be used to populate the first column in the UI. Each work step has a type, there are 3 work step types for now:

    • designConcepts - map to the design challenge checkpoint submissions

    • completeDesigns - map to the design challenge final round submissions

    • finalFixes - map to the latest design challenge final fix (i.e. if there are multiple final fixes, use the latest one)

  4. When user chooses a workstep in the column 1, a list of challenges should be retrieved to populate the column 2.  As the 3 work step types available are all for design challenges, for any of them, it retrieves all the completed / active design challenges order by challenge start date desc.

  5. When user chooses a challenge in column 2, the phases of the challenge should be used to populate column 3. The rules are like following

    • If the work step is designConcepts, and the chosen challenge has closed “checkpoint submission” and “checkpoint screening” phases, display the checkpoint submission phase.

    • If the workstep is completeDesigns, and the chosen challenge has a closed “submission” and “screening” phases, display the submission phase.

    • If the workstep is finalFixes, and the chosen challenge has a closed “final fix” phases, display the final fix phase. If there are multiple final fix phases, display the latest closed final fix phase.

  6. When user chooses a phase, do the operation like the following

    • If it’s a checkpoint submission phase, gets the checkpoint submission number and display the button “Push X checkpoint submissions”, X is the number.

    • If it’s a submission phase, gets the final submission number and display the button “Push X final submissions”, X is the number.

    • If it’s a final fix phase, display the button “Push final fix”

  7. When the push button is clicked, the AspClient should call method publishSubmissionsToWorkStep(WorkStep step, List<List<Submission>> submissions) to push the submissions

 

 

  • For checkpiont submissions - it’s all checkpoint submissions passed checkpoint screening. Each submission is represented by a List<Submission> which contains all the submissions of a submitter stored in the rank order. For each submission,  it has a list of SubmissionFile, the design submission should put the following SubmissionFiles into the list

    • The 1st is the Submission Zip  file. Please note it’s important you don’t include any the source zip.

    • The 2nd one is the small watermarked Preview JPG/PNG image, which has the image type 29. It’s the from “Preview JPG/PNG” in the design submission submit page above.

    • The 3rd one is the full watermarked JPG/PNG preview image, which has the image type 31

    • If the Submission Zip contains images ( for example, in web design, mobile screen design challenges etc, the Submission Zip contains images to show the design), the system will automatically extract the zip archive and generate watermarked images for each image inside zip. For each image

      •  Put the generated image with image type 29 like the above preview image as a SubmissionFile

      • Put the generated image with image type 31 like the above preview image as a SubmissionFile

  • For the final submissions, it’s all final submissions passed screening. Others are the same as checkpoint submissions.

  • For the final fix submission, it should contain all the SubmissionFile mentioned before plus the source file zip archive.

 

UI Implementation, please use the https://github.com/bu/hColumns to implement the multiple columns behavior mentioned above.

 

 

  • For the button, please use the existing styles for button.

  • It’s encouraged you tweak the colors of the hClumns to match the theme of  TopCoder Direct.

 

Input documents

  • The asp-client jar and the api docs of the asp-client

  • Code base: Use the branch 30051791_asp_work_manager     https://github.com/appirio-tech/direct-app/tree/30051791_asp_work_manager


Deployment

Follow http://apps.topcoder.com/wiki/display/docs/TC+Direct+Setup+Guide to do the local deployment of direct app and topcoder database.

Test

You can use the dev instance of Demand app to do the testing. If you have any question, please ask in the forum. - http://work.topcoder-dev.com/



Final Submission Guidelines

  • The updated / added source and config files of the direct app.
  • The deployment guide with verification details.

ELIGIBLE EVENTS:

2016 TopCoder(R) Open

REVIEW STYLE:

Final Review:

Community Review Board

Approval:

User Sign-Off

SHARE:

ID: 30051945