{"action":"created","issue":{"url":"https://api.github.com/repos/openmrs/openmrs-contrib-id/issues/79","labels_url":"https://api.github.com/repos/openmrs/openmrs-contrib-id/issues/79/labels{/name}","comments_url":"https://api.github.com/repos/openmrs/openmrs-contrib-id/issues/79/comments","events_url":"https://api.github.com/repos/openmrs/openmrs-contrib-id/issues/79/events","html_url":"https://github.com/openmrs/openmrs-contrib-id/pull/79","id":96594973,"number":79,"title":"Dashboard with New Structure","user":{"login":"Plypy","id":5601207,"avatar_url":"https://avatars.githubusercontent.com/u/5601207?v=3","gravatar_id":"","url":"https://api.github.com/users/Plypy","html_url":"https://github.com/Plypy","followers_url":"https://api.github.com/users/Plypy/followers","following_url":"https://api.github.com/users/Plypy/following{/other_user}","gists_url":"https://api.github.com/users/Plypy/gists{/gist_id}","starred_url":"https://api.github.com/users/Plypy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Plypy/subscriptions","organizations_url":"https://api.github.com/users/Plypy/orgs","repos_url":"https://api.github.com/users/Plypy/repos","events_url":"https://api.github.com/users/Plypy/events{/privacy}","received_events_url":"https://api.github.com/users/Plypy/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/openmrs/openmrs-contrib-id/labels/gsoc-review-in-progress","name":"gsoc-review-in-progress","color":"e11d21"}],"state":"open","locked":false,"assignee":{"login":"robbyoconnor","id":23088,"avatar_url":"https://avatars.githubusercontent.com/u/23088?v=3","gravatar_id":"","url":"https://api.github.com/users/robbyoconnor","html_url":"https://github.com/robbyoconnor","followers_url":"https://api.github.com/users/robbyoconnor/followers","following_url":"https://api.github.com/users/robbyoconnor/following{/other_user}","gists_url":"https://api.github.com/users/robbyoconnor/gists{/gist_id}","starred_url":"https://api.github.com/users/robbyoconnor/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/robbyoconnor/subscriptions","organizations_url":"https://api.github.com/users/robbyoconnor/orgs","repos_url":"https://api.github.com/users/robbyoconnor/repos","events_url":"https://api.github.com/users/robbyoconnor/events{/privacy}","received_events_url":"https://api.github.com/users/robbyoconnor/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/openmrs/openmrs-contrib-id/milestones/1","html_url":"https://github.com/openmrs/openmrs-contrib-id/milestones/2.1","labels_url":"https://api.github.com/repos/openmrs/openmrs-contrib-id/milestones/1/labels","id":1153958,"number":1,"title":"2.1","description":null,"creator":{"login":"robbyoconnor","id":23088,"avatar_url":"https://avatars.githubusercontent.com/u/23088?v=3","gravatar_id":"","url":"https://api.github.com/users/robbyoconnor","html_url":"https://github.com/robbyoconnor","followers_url":"https://api.github.com/users/robbyoconnor/followers","following_url":"https://api.github.com/users/robbyoconnor/following{/other_user}","gists_url":"https://api.github.com/users/robbyoconnor/gists{/gist_id}","starred_url":"https://api.github.com/users/robbyoconnor/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/robbyoconnor/subscriptions","organizations_url":"https://api.github.com/users/robbyoconnor/orgs","repos_url":"https://api.github.com/users/robbyoconnor/repos","events_url":"https://api.github.com/users/robbyoconnor/events{/privacy}","received_events_url":"https://api.github.com/users/robbyoconnor/received_events","type":"User","site_admin":false},"open_issues":2,"closed_issues":1,"state":"open","created_at":"2015-06-08T03:00:14Z","updated_at":"2015-08-10T05:11:07Z","due_on":null,"closed_at":null},"comments":10,"created_at":"2015-07-22T15:29:22Z","updated_at":"2015-08-13T18:32:49Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/openmrs/openmrs-contrib-id/pulls/79","html_url":"https://github.com/openmrs/openmrs-contrib-id/pull/79","diff_url":"https://github.com/openmrs/openmrs-contrib-id/pull/79.diff","patch_url":"https://github.com/openmrs/openmrs-contrib-id/pull/79.patch"},"body":"Though this branch names ID-93, it covers more than EJS to JADE.\r\n\r\nIn this large PR, there are mainly:\r\n\r\n1. All templates is converted to JADE, and other related helper code in controller level is changed. This would make the MVC separation clearer, logic simpler. Like, `headAppend` will be handled in templates, instead of in controller level sources.\r\n\r\n2. Project structure is changed, I refered Keystone's organization style. Concept of `system-modules` is abandoned, since it won't make the project more clearer, but a little cumbersome.\r\n\r\n3. Variables are passed via function parameters through `modules.exports`, instead of globals. \r\n\r\n4. Lots of packages are updated, like Formage(2.x -> 3.x), Express(3.x -> 4.x), Nodemailer(0.3.x -> 1.x), etc.\r\n\r\n5. Changed some modules'. Now, email-verification only have one ID(UUIDv4, instead of predicatable psuedo random string) and the routes related to emails is updated as well, `/profile-email` -> `/profile/email`.\r\n\r\nAnd more minor things I can't remember for now.\r\n\r\nDashboard in current state can correctly function basic needs, however, some bugs are still remained, like using a email address to login would cause a error. I'll tackle these things later with tests.\r\n\r\n\r\n**Caveat**: after applying this PR, you need to update your conf.js and currently user modules should be disabled."},"comment":{"url":"https://api.github.com/repos/openmrs/openmrs-contrib-id/issues/comments/130793398","html_url":"https://github.com/openmrs/openmrs-contrib-id/pull/79#issuecomment-130793398","issue_url":"https://api.github.com/repos/openmrs/openmrs-contrib-id/issues/79","id":130793398,"user":{"login":"robbyoconnor","id":23088,"avatar_url":"https://avatars.githubusercontent.com/u/23088?v=3","gravatar_id":"","url":"https://api.github.com/users/robbyoconnor","html_url":"https://github.com/robbyoconnor","followers_url":"https://api.github.com/users/robbyoconnor/followers","following_url":"https://api.github.com/users/robbyoconnor/following{/other_user}","gists_url":"https://api.github.com/users/robbyoconnor/gists{/gist_id}","starred_url":"https://api.github.com/users/robbyoconnor/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/robbyoconnor/subscriptions","organizations_url":"https://api.github.com/users/robbyoconnor/orgs","repos_url":"https://api.github.com/users/robbyoconnor/repos","events_url":"https://api.github.com/users/robbyoconnor/events{/privacy}","received_events_url":"https://api.github.com/users/robbyoconnor/received_events","type":"User","site_admin":false},"created_at":"2015-08-13T18:32:49Z","updated_at":"2015-08-13T18:32:49Z","body":"I merged your PR on my local branch -- I just pushed it so I had a backup :) "}}