matthewvita wrote on Saturday, September 17, 2016:
How about we do registration like this (see attached GIF)? Here's a quick breakdown:
We'll have a new database table "product_registration" that has "id", "email", and "opt_out" columns. Regardless of if you just installed OpenEMR or are upgrading it, if you don't have a row in that table, the modal will appear on the login page.
If you type your email and hit submit, it will update the table with ("some-uuid", "email@example.com", false) and will send this information to a custom php endpoint exposed at open-emr.org (we can use a file database to store the entries over there... no UI for an MVP implementation). The modal will never show up again after this point.
If you hit "no thanks", it will update the table with (null, null, true) and nothing will be sent to the open-emr.org endpoint. The modal will never show up again after this point.
If you hit "x", the modal will re-appear the next time you are at the login page.
Please note the following to understand why I choose this approach:
- Putting the registration piece in the installation section of OpenEMR will exclude folks that have already installed it and are simply upgrading.
- Once the admin person sets up/upgrades the system, they will be checking the main route (login page) so this is the best place for the modal to display as it will not interfere with any medical data on the screen because they have not logged in yet.
- People may not use Sourceforge to download OpenEMR. We cannot control these cases (especially Github... which is where I download OpenEMR). This solves that problem moving forward so the download provider doesn't matter. Though, we will have to report on the download metrics we do know.
Looking for feedback! I just put together a prototype of this... no Pull Request is near ready!
- To view the gif, you must download it and extract it (no virus, I promise )... SourceForge screwed up the "GIFgif" that I uploaded so please ignore it.
- I used the old jQuery UI theme that was already in the codebase. It is ugly and we can use a better theme!
- Put together a PR for this... about ~50% done