Wiki Spaces

Documentation
Projects
Resources

Get Help from Others

Q&A: Ask OpenMRS
Discussion: OpenMRS Talk
Real-Time: IRC Chat | Slack

Projects

Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Use the REST API you built to import data from OpenMRS ID to Desk.com, our CRM/Helpdesk service.

Design Ideas

  • TBAI'm leaning toward using Mongooseon top of MongoDB as the platform behind the new data model. We'll want to create a schema that contains all the user attributes we store on LDAP currently, and that can be extended to store anything else.
    • In addition to a user-centric data model, we should move some of the data that's currently stored in MySQL via Sequelize over. These data include email verifications, google groups subscriptions, and navbar links.
  • Once the Mongoose ODM is in place (and structured in a models/ directory or something similar), we can build an LDAP server using ldapjs that draws from this data model directly. ldapjs provides an Express-like interface for responding to LDAP requests. The goal will be to replace our current OpenLDAP server with this LDAP interface on top of the new data model.
  • Finally, I'm interested in using Restify to serve the data model as a REST interface. Restify can be app.use()'d into the Express server and served from an /api uri on the server.
  • As it currently stands, the application is a little unstructured—there's not so much MVC / separation of concerns. I'd love to better organize the application as a part of the development process. For some inspiration, an incomplete and out-of-date attempted restructuring exists on an old branch. While I'm not suggesting picking up the work on that branch, it might give some good ideas on how to go forward.
  • Wanna see something pretty? next.openmrs.org currently has a new Wordpress theme we'll be redesigning www.openmrs.org for. The infrastructure team would love to use the REST api from this project to allow users to create IDs directly from the Wordpress site.

Resources

...