GSoC 2020 Project Summary
Finish the package candidate workflow for Hackage and improved UI and candidate workflow for Hackage. GSoC branch
Things that done
- Convert candidate page to use templating engine and delete candiates when published:
    
- Converted individual candidate page and candidate index page to template-based generation like servePackagePage does
 - Added two html templates, candidate-page.html.st and candidate-index.html.st, for these pages
 - Delete candidates automatically after they are published by setting doDelete to True
 
 - Added publish button on candidate page and show a link to the candidate packages available from the main package:
    
- Added publish button on candidate page so users can publish the candidate directly
 - Added candidate section on the main package page with links
 
 - Added candidate link on user page:
    
- By adding candidate link, user could go to the candidates page of that package.
 - The link would be wrong if the maintain group is a candidate
 
 - Added delete all candidates button on candidates page:
    
- Added delete all candidates button on candidates page, which redirect user to a candidates delete form
 - Created a candidates delete from to delete all candidates of a package
 
 - Expose Web UI for package candidates documentation:
    
- Created Web UI for candidates to upload documentation
 
 - Fixed links in Web UI for package candidates documentation:
    
- Fixed the link on doc upload success page of candidates
 
 
For Future
- Relative links in candidate view use wrong base
 - Generate Package Candidates Index