openmrs plans/ideas 3.0.0

Love these ideas. Some more thoughts for OpenMRS 3.0.0 (some technical, some more cultural):

  • Add more business logic into the Platform (e.g., incorporating emrapi methods like we discussed recently in a design forum).
  • Steps toward cluster support
    • Remove use of singletons (as you mentioned)
    • Begin using & promoting redis (or similar) for application state
    • Review queries for those that might not be safe in a clustered enviromment & refactor them
  • More automation, including integration tests
  • Utility functions for escaping all user-entered content by default when rendering (i.e., opt-out of escaping when displaying content) to better address XSS vulnerabilities.

Stretch goals:

  • Convert to postgres as default database
  • Migrate from JIRA to GitHub for issue management

For 4.0.0:

  • Make our API horizontally scalable (clusterable)

For 5.0.0:

  • Separate the API into microservices
  • Containerize services so they can leverage whatever technology suits their needs best (e.g., nosql databases)