Wiki Spaces
Documentation
Projects
Resources
Get Help from Others
Q&A: Ask OpenMRS
Discussion: OpenMRS Talk
Real-Time: IRC Chat | Slack
Primary Mentor | |
Backup Mentor | Harsha Kumara |
Assigned to | Sai Sandeep Mutyala |
The OpenMRS Atlas provides a voluntary registry of OpenMRS implementations all over the world. The server code was originally written using PHP and has been adapted a few times over the past decade. During GSoC 2016 and 2017, a new version of the Atlas server code was written in Node.js as the Atlas 3.0 Project, but this new, node-based server code was never deployed in production. In 2017, the broader OpenMRS infrastructure was migrated and updated so all services are deployed using Docker and single-signon was switched to LDAP. Given users could no longer authenticate to create or update their markers and, by default, untouched markers fade over time, OpenMRS Atlas was literally fading away in disrepair.
The goal of this project was to address the remaining tasks to bring the node-based OpenMRS Atlas into production. This included some code changes, some additional features (most importantly, adding LDAP support), and ensuring the application could be deployed and configured by our infrastructure (i.e., using Docker).
Add LDAP support for OpenMRS ID (LDAP functionality should be isolated – i.e., avoid LDAP references spread throughout the code)
Support downloadable images (help users create an image for a slide deck without creating a burden on the server)
Refactor marker images to be uploaded (confirm type, limit size) so they can be served securely
Prevent javascript injections (including when displaying user-uploaded images)
All external/user URLs should have “rel=nofollow” (https://www.w3schools.com/tags/att_a_rel.asp)
Allow admins to access to disable/delete anything suspicious
Notify admins when new site is added (including image)