OpenMRS ID Project—Weekly Meeting
@Weihua Cheung and @Elliott Williams hold a weekly project meeting, to discuss the status of the OpenMRS ID project, go over any questions that have come up while in development, and plan for development in the next week.
Schedule: Fridays, 8:00 am EDT / 8:00 pm CST
All are welcome to join and discuss OpenMRS ID related design and implementation!
- 1 How to Join
- 2 Notes
- 2.1 18 July 2014
- 2.2 15 July 2014 — Deploy Meeting
- 2.3 11 July 2014
- 2.4 5 July 2014
- 2.5 13 June 2014
- 2.6 30 May 2014
How to Join
Contact @Elliott Williams at elliott@openmrs.org or elliott_w on IRC, and he can invite you to the call. The meetings are currently held via Skype.
Notes
18 July 2014
Today (Friday): test deploy with production data on staging
Elliott will spend today
updating modules for Dashboard 2.0
getting production data to load onto sty
installing Crowd on stg
happening tommorow morning CST, evening EDT
Wiehwa will start looking a building the REST API while we wait for deployment to be ready.
Things to note before deployment:
make backup of all data
disable signup (can we do this easily?) a few hours before
15 July 2014 — Deploy Meeting
Modules:
Navbar and SSO have pull requests waiting, to update them to Express 3x
Groups and OAuth still need to be updated, Elliott will do this
Modules are still depending on Sequelize, should be migrated to mongoose before too long
Sync:
Chose to not go bidirectional
Crowd will be treated as read only
Deploy status:
Test deployment up on stg
Need to run migration scripts, groups appear not to be migrated
Weird css problem in latest merge, plypy investigating
11 July 2014
Migration Update
migration scripts appear to be finished
Michael & Elliott are resolving email address duplicates
all duplicates need to be resolved before userbase is transferred to Mongo
MongoDB Indexing
indexed attributes: username, email addresses
used for fast querying / for ensuring username & email are unique
TODO: index firstname+lastname to allow for faster searching by name
Formage problems
bug in formage preventing some validation code from running
ply_py has opened two issues on the project and it working on a PR
set aside until post-deployment
Bidirectional sync
decided to continue implementation
benefits to continuing:
Crowd can be used as an admin console
JIRA edit profile page doesn't break
final step before deployment
Deployment
staging-first, then production
need to freeze signups a few hours before deployment (to allow new users to complete validation)
should set up a new LDAP database alongside prod, to do the migration. then swap databases during the actual launch.
TODO: Meet on Tuesday, 15 July 2014 at 8am EDT / 8pm CST to follow-up with sync and prepare for deployment
5 July 2014
- wrote migration scripts
- unix tool, converts LDIF stdin/JSON stdout
- ID-35: need to evaluate
- ready to deploy within the next week
- Elliott will notify Infrastructure team next week
- Elliott will perform the migration
- Elliott still needs to update the UI for the edit-profile page
- Wiehwa will create a script for bulk-adding users to a group
13 June 2014
Past week:
- validation work
- finished implementing the mongoose model in signup component
- email verification bug (ID-14) fixed
- signup using new data model is working, needs password encryption
Security
- all HTTP traffic in production is encrypted through apache
Migration
- write migration script?
- will any data be lost? plypy will evaluate if we can migrate everything over
- ensure no email addresses will clash during the migration
Password encryption
- use SSHA
- should be able to migrate hashed from LDAP without requiring a password reset
Validation form
– `values` overwrite bug fixed
- autofocus issue on failed validations
MongoDB: use a backup database in production?
- replication server of production data
- will create a JIRA issue for this
API Discussion
- can we allow "free-form JSON" like elliott wants to?
- the API would be RESTful and OAuth secured
- make sure any data that's stored can be validated and cannot interfere with core data on the user document
30 May 2014
ID-12:
- Temporary fix PR'd
- Future will involve architecture restructuring...the session middleware won't we used globally
Progress so far
- Finished refactoring work
- Started studying Mongoose / MongoDB
- ID-12 work
OpenHIE
Next week:
- Continuing Mongoose development.
New ideas:
- User admin console in dashboard
To-do:
- Grant access to id-stg
- Semester ends by end of June...around 25 June
When to submit PRs?
Unit testing:
- considering Mocha
- write tests for new code as it's developed
- next few weeks: we'll be looking at selecting the right test framework / runner / integration
- by 25 June plypy (having more time to commit) will be doing TDD