Challenge Overview
Project Overview
This project, the CSFV Community Gaming website project will provide the web site infrastructure and integration of the games. This will be a web site that is available on the Internet, and also will be delivered in a form where the server and the games can be installed and used behind a firewall.
The websites are built using ExpressJS, MongoDB and Jade Template Engine Framework.
Competition Task Overview
The goal of this challenge is to integrate Disqus commenting widget with the CSFV main website to replace existing commenting system.
Pages in scope
You will be replacing the comments widget (screenshot below) with Disqus comment widget in News details page, Wiki details page, and CMS generated pages (FAQ, Terms of Use, Privacy, and About Us pages).
Single Sign On (SSO)
The main points we want to address with SSO :
- Existing CSFV users can comment without registering to Disqus
- CSFV users can get notification via CSFV notification system about new comments in articles/comments they are monitoring or moderating.
- Ability to easily add/remove moderators to comments widgets from existing CSFV users.
Follow Disqus documentation for SSO Integration. Post questions in challenge forums if you face any problems.
Also, here is a sample code for SSO https://github.com/disqus/DISQUS-API-Recipes/tree/master/sso also here is a good SSO Checklist https://help.disqus.com/customer/portal/articles/1148640
Make sure that profile URL and avatar of the SSO users get passed properly with Disqus.
Disqus Comments Widget Appearance
- Comments should be always enabled : for both CSFV users and non CSFV users.
- Comments width should be same as current CSFV comments section, use the recommended Disqus widget height. Check this article https://help.disqus.com/customer/portal/articles/545277
- Try to customize the look and feel (mainly color) to match the website - as much as possible - we know there is not much room for customization. but you can try!
Realtime notification
We want CSFV users to get notification about comments (if they are monitoring or moderating) via real time notification and activity feed, you need to use callback feature as in this article https://help.disqus.com/customer/portal/articles/466258-capturing-disqus-commenting-activity-via-callbacks
- You will simply need to study how current comments widget implement this logic and replicate it in the callback logic.
- You probably need to create a new activity type or use Comment model to store return comment and push it to web socket to get published.
- Basically, you need to dig into how the best approach we should follow, the main part in this PoC is to figure out how to update this real time notification to work with comments from Disqus.
- User should have the option to DISABLE or enable receiving notifications about new comments via real time notification.
Other notes
- We will no more use CMS to control comments widget availability.
- We show comments count in news widgets across the website, in home page, and in news listing, use this article to implement this feature https://help.disqus.com/customer/portal/articles/565624
- Also you need to fix the comment count link to link to the comments widget in target page, currently this logic is broken.
- Best practices for development.
- Use the proper route of articles to uniquly create the disqus comment URL these values must be configurable.
- For other web integration issues, you can search here https://help.disqus.com/customer/portal/articles/1104788-web-integration
Documentation Provided
The deployemnt guide of the CSFV website can be found in the github private repo, in README file. Ask questions in challenge forums. if you have troubles deploying the website.
Source Code
Source code of the website is here https://github.com/topcoderinc/csfv_frontend_module
If you get 404 then you need permission to access it. Request it in challenge forums, copilot will add you to the repository and you should receive email about you being added to github. Post your *github* account name when requesting access.
Final Submission Guidelines
Submission Deliverables
Below is an overview of the deliverables:
- Patch file of changes - how to create patch file from git?
- A complete and detailed deployment document explaining how to deploy the application including configuration information.
Final Submission
For each member, the final submission should be uploaded to the Online Review Tool.