# Overhaul The User Management Dashboard

**URL:** <https://talk.openmrs.org/t/overhaul-the-user-management-dashboard/6292>\
**Category:** ID Dashboard\
**Tags:** gsoc2016, id-dashboard\
**Created:** [May 14, 2016, 2:43am UTC](https://talk.openmrs.org/t/overhaul-the-user-management-dashboard/6292 "2016-05-14T02:43:10Z")\
**Posts on this page:** 20\
**Page:** 6

<div class="post-metadata">

**Author:** ![dmytro.trifonov](https://talk.openmrs.org/letter_avatar/dmytro.trifonov/32/5_5575768a8748004e209b776fc1b2916d.png) [@dmytro.trifonov](https://talk.openmrs.org/u/dmytro.trifonov)\
**Post date:** [July 14, 2016, 4:08am UTC](https://talk.openmrs.org/t/overhaul-the-user-management-dashboard/6292/103 "2016-07-14T04:08:18Z")

</div>

Nice 🙂 Thanks

---

<div class="post-metadata">

**Author:** ![r0bby](https://talk.openmrs.org/user_avatar/talk.openmrs.org/r0bby/32/6479_2.png) [@r0bby](https://talk.openmrs.org/u/r0bby)\
**Post date:** [July 14, 2016, 6:24am UTC](https://talk.openmrs.org/t/overhaul-the-user-management-dashboard/6292/104 "2016-07-14T06:24:15Z")

</div>

I will review your work this weekend sometime, I’m sorry. I needed a break. If you need me to look at anything sooner, let me know.

---

<div class="post-metadata">

**Author:** ![dmytro.trifonov](https://talk.openmrs.org/letter_avatar/dmytro.trifonov/32/5_5575768a8748004e209b776fc1b2916d.png) [@dmytro.trifonov](https://talk.openmrs.org/u/dmytro.trifonov)\
**Post date:** [July 14, 2016, 8:49am UTC](https://talk.openmrs.org/t/overhaul-the-user-management-dashboard/6292/105 "2016-07-14T08:49:52Z")

</div>

You mean, UI or UI + real data?

---

<div class="post-metadata">

**Author:** ![r0bby](https://talk.openmrs.org/user_avatar/talk.openmrs.org/r0bby/32/6479_2.png) [@r0bby](https://talk.openmrs.org/u/r0bby)\
**Post date:** [July 14, 2016, 8:50am UTC](https://talk.openmrs.org/t/overhaul-the-user-management-dashboard/6292/106 "2016-07-14T08:50:39Z")

</div>

Both actually – i took an OpenMRS vacation only handling things I needed to handle (service outages namely).

---

<div class="post-metadata">

**Author:** ![dmytro.trifonov](https://talk.openmrs.org/letter_avatar/dmytro.trifonov/32/5_5575768a8748004e209b776fc1b2916d.png) [@dmytro.trifonov](https://talk.openmrs.org/u/dmytro.trifonov)\
**Post date:** [July 14, 2016, 8:52am UTC](https://talk.openmrs.org/t/overhaul-the-user-management-dashboard/6292/107 "2016-07-14T08:52:55Z")

</div>

I also have one question - using ldapjs we will get list one list of users, using mongoose we will get another. Using WHAT criteria we can check, if there is the same user in ldap and mongo?

---

<div class="post-metadata">

**Author:** ![r0bby](https://talk.openmrs.org/user_avatar/talk.openmrs.org/r0bby/32/6479_2.png) [@r0bby](https://talk.openmrs.org/u/r0bby)\
**Post date:** [July 14, 2016, 8:53am UTC](https://talk.openmrs.org/t/overhaul-the-user-management-dashboard/6292/108 "2016-07-14T08:53:34Z")

</div>

> [@dmytro.trifonov](#):
>
> I also have one question - using ldapjs we will get list one list of users, using mongoose we will get another. Using WHAT criteria we can check, if there is the same user in ldap and mongo?

Email address, then username. Keep in mind they may have more than one email address. So you need to check that as well. Assume groups will always be in sync, so for that you don’t really need to bother checking groups, mongoose handles persisting to LDAP after updates.

The point of checking LDAP is more or less a sanity check. I wanna be able to filter. We have some LDAP records that do not have an associated account in Dashboard – some I deleted in formage but never bothered to delete in LDAP – being able to see those is handy. I would ultimately like to make this tool generic – actually I’d like to make dashboard itself generic enough that anybody can use it.

---

<div class="post-metadata">

**Author:** ![dmytro.trifonov](https://talk.openmrs.org/letter_avatar/dmytro.trifonov/32/5_5575768a8748004e209b776fc1b2916d.png) [@dmytro.trifonov](https://talk.openmrs.org/u/dmytro.trifonov)\
**Post date:** [July 17, 2016, 2:59pm UTC](https://talk.openmrs.org/t/overhaul-the-user-management-dashboard/6292/109 "2016-07-17T14:59:30Z")

</div>

Hi, Robby!

I have an error, when trying to start openmrs id

`docker-compose up -d`

`ERROR: In file './docker-compose.yml' service 'version' doesn't have any configuration options. All top level keys in your docker-compose.yml must map to a dictionary of configuration options.`

Any thoughts? I am using last version of [https://github.com/openmrs/openmrs-contrib-id](https://github.com/openmrs/openmrs-contrib-id)

**UPD:** Fixed this with updating docker-compose from version 1.5.2 to 1.7.1

**UPD2:** Failed with another error:

`Step 2 : RUN apk add --update bash openssl git perl python build-base && apk add gosu --update-cache --repository http://dl-3.alpinelinux.org/alpine/edge/testing/ && apk add dockerize --update-cache --repository http://dl-3.alpinelinux.org/alpine/edge/community && addgroup dashboard && adduser -s /bin/bash -D -G dashboard dashboard ---> Running in c13a402ce109 fetch http://dl-cdn.alpinelinux.org/alpine/v3.4/main/x86_64/APKINDEX.tar.gz ERROR: http://dl-cdn.alpinelinux.org/alpine/v3.4/main: temporary error (try again later) WARNING: Ignoring APKINDEX.167438ca.tar.gz: No such file or directory fetch http://dl-cdn.alpinelinux.org/alpine/v3.4/community/x86_64/APKINDEX.tar.gz ERROR: http://dl-cdn.alpinelinux.org/alpine/v3.4/community: temporary error (try again later) WARNING: Ignoring APKINDEX.a2e6dac0.tar.gz: No such file or directory ERROR: unsatisfiable constraints: bash (missing): required by: world[bash] build-base (missing): required by: world[build-base] git (missing): required by: world[git] openssl (missing): required by: world[openssl] perl (missing): required by: world[perl] python (missing): required by: world[python] ERROR: Service 'web' failed to build: The command '/bin/sh -c apk add --update bash openssl git perl python build-base && apk add gosu --update-cache --repository http://dl-3.alpinelinux.org/alpine/edge/testing/ && apk add dockerize --update-cache --repository http://dl-3.alpinelinux.org/alpine/edge/community && addgroup dashboard && adduser -s /bin/bash -D -G dashboard dashboard' returned a non-zero code: 6`

---

<div class="post-metadata">

**Author:** ![r0bby](https://talk.openmrs.org/user_avatar/talk.openmrs.org/r0bby/32/6479_2.png) [@r0bby](https://talk.openmrs.org/u/r0bby)\
**Post date:** [July 17, 2016, 9:56pm UTC](https://talk.openmrs.org/t/overhaul-the-user-management-dashboard/6292/110 "2016-07-17T21:56:36Z")

</div>

@dmytro.trifonov,

**EDIT:** It should work – do `git pull --rebase upstream master` – I don’t like merge commits in the history when you’re simply updating your local fork. This assumes upstream = `openmrs/openmrs-contrib-id`. – I fixed it. I would recommend periodically seeing I changed things.

---

<div class="post-metadata">

**Author:** ![dmytro.trifonov](https://talk.openmrs.org/letter_avatar/dmytro.trifonov/32/5_5575768a8748004e209b776fc1b2916d.png) [@dmytro.trifonov](https://talk.openmrs.org/u/dmytro.trifonov)\
**Post date:** [July 18, 2016, 5:16am UTC](https://talk.openmrs.org/t/overhaul-the-user-management-dashboard/6292/111 "2016-07-18T05:16:29Z")

</div>

But this is not my local fork, this is openmrs/openmrs-contrib-id repo. I cloned repo, and tried to start

---

<div class="post-metadata">

**Author:** ![r0bby](https://talk.openmrs.org/user_avatar/talk.openmrs.org/r0bby/32/6479_2.png) [@r0bby](https://talk.openmrs.org/u/r0bby)\
**Post date:** [July 18, 2016, 5:43am UTC](https://talk.openmrs.org/t/overhaul-the-user-management-dashboard/6292/112 "2016-07-18T05:43:09Z")

</div>

When did you clone it though? Reason I ask is that i saw those errors and fixed them.

---

<div class="post-metadata">

**Author:** ![r0bby](https://talk.openmrs.org/user_avatar/talk.openmrs.org/r0bby/32/6479_2.png) [@r0bby](https://talk.openmrs.org/u/r0bby)\
**Post date:** [July 18, 2016, 5:46am UTC](https://talk.openmrs.org/t/overhaul-the-user-management-dashboard/6292/113 "2016-07-18T05:46:59Z")

</div>

It would also help if I knew what OS you were running? I don’t encounter this issue on my local system…

---

<div class="post-metadata">

**Author:** ![dmytro.trifonov](https://talk.openmrs.org/letter_avatar/dmytro.trifonov/32/5_5575768a8748004e209b776fc1b2916d.png) [@dmytro.trifonov](https://talk.openmrs.org/u/dmytro.trifonov)\
**Post date:** [July 18, 2016, 6:33am UTC](https://talk.openmrs.org/t/overhaul-the-user-management-dashboard/6292/114 "2016-07-18T06:33:32Z")

</div>

I clone it yesterday from this repo [https://github.com/openmrs/openmrs-contrib-id](https://github.com/openmrs/openmrs-contrib-id). I am using Kubuntu 16.04

**UPD:** Tried on another machine, it failed on next step:

`error: could not lock config file .git/config: Permission denied Failed to register url for submodule path 'app/user-modules/openmrs-contrib-id-globalnavbar' ERROR: Service 'web' failed to build: The command '/bin/sh -c npm install bower gulp -g && gosu dashboard git submodule init && gosu dashboard git submodule update && chown -R dashboard:dashboard $HOME/* && gosu dashboard git submodule foreach npm install && gosu dashboard npm install && gosu dashboard cp -a $MODULES_DIR/openmrs-contrib-id-globalnavbar/lib/db.example.json $MODULES_DIR/openmrs-contrib-id-globalnavbar/lib/db.json && gosu dashboard cp -a $MODULES_DIR/openmrs-contrib-id-sso/conf.example.js $MODULES_DIR/openmrs-contrib-id-sso/conf.js && apk del python git build-base' returned a non-zero code: 1`

---

<div class="post-metadata">

**Author:** ![r0bby](https://talk.openmrs.org/user_avatar/talk.openmrs.org/r0bby/32/6479_2.png) [@r0bby](https://talk.openmrs.org/u/r0bby)\
**Post date:** [July 18, 2016, 7:44am UTC](https://talk.openmrs.org/t/overhaul-the-user-management-dashboard/6292/115 "2016-07-18T07:44:26Z")

</div>

I reproduced that in a VM – but for some reason it’s working on my laptop

---

<div class="post-metadata">

**Author:** ![dmytro.trifonov](https://talk.openmrs.org/letter_avatar/dmytro.trifonov/32/5_5575768a8748004e209b776fc1b2916d.png) [@dmytro.trifonov](https://talk.openmrs.org/u/dmytro.trifonov)\
**Post date:** [July 18, 2016, 7:46am UTC](https://talk.openmrs.org/t/overhaul-the-user-management-dashboard/6292/116 "2016-07-18T07:46:17Z")

</div>

what commands you executed? I am running “npm run bootstrap”

---

<div class="post-metadata">

**Author:** ![r0bby](https://talk.openmrs.org/user_avatar/talk.openmrs.org/r0bby/32/6479_2.png) [@r0bby](https://talk.openmrs.org/u/r0bby)\
**Post date:** [July 18, 2016, 7:46am UTC](https://talk.openmrs.org/t/overhaul-the-user-management-dashboard/6292/117 "2016-07-18T07:46:54Z")

</div>

I thought this worked – I’m sorry – gonna fix this ASAP @dmytro.trifonov – give me like 30 or so…

---

<div class="post-metadata">

**Author:** ![dmytro.trifonov](https://talk.openmrs.org/letter_avatar/dmytro.trifonov/32/5_5575768a8748004e209b776fc1b2916d.png) [@dmytro.trifonov](https://talk.openmrs.org/u/dmytro.trifonov)\
**Post date:** [July 18, 2016, 8:05am UTC](https://talk.openmrs.org/t/overhaul-the-user-management-dashboard/6292/118 "2016-07-18T08:05:20Z")

</div>

Ok, thanks) Please let me know when you’ll done

---

<div class="post-metadata">

**Author:** ![r0bby](https://talk.openmrs.org/user_avatar/talk.openmrs.org/r0bby/32/6479_2.png) [@r0bby](https://talk.openmrs.org/u/r0bby)\
**Post date:** [July 18, 2016, 8:54am UTC](https://talk.openmrs.org/t/overhaul-the-user-management-dashboard/6292/119 "2016-07-18T08:54:26Z")

</div>

@dmytro.trifonov, Trash your checkout and re-clone – I did a commit amend to force travis to build before.

**Before you bring up the docker container** , do:``` git submodule init ; git submodule update

```auto
Then do `docker-compose up -d` and it should work. I tested it in a 16.04 VM -- and it worked.
```

---

<div class="post-metadata">

**Author:** ![dmytro.trifonov](https://talk.openmrs.org/letter_avatar/dmytro.trifonov/32/5_5575768a8748004e209b776fc1b2916d.png) [@dmytro.trifonov](https://talk.openmrs.org/u/dmytro.trifonov)\
**Post date:** [July 18, 2016, 8:57am UTC](https://talk.openmrs.org/t/overhaul-the-user-management-dashboard/6292/120 "2016-07-18T08:57:38Z")

</div>

Ok, I’ll try What I have to do to run an application with my module?

I cloned my repo to app/user-modules, and also conf.js file, and added my module to “userModules” section. Anything else ?

Does it valid workflow?

`git clone https://github.com/openmrs/openmrs-contrib-id cd openmrs-contrib-id/ cp app/conf.example.js app/conf.js cd app/user-modules/ git clone https://github.com/diospark/openmrs-contrib-id-user-management-dashboard cd openmrs-contrib-id-user-management-dashboard/ npm i cd ../../../ npm i git submodule init git submodule update npm run bootstrap`

---

<div class="post-metadata">

**Author:** ![r0bby](https://talk.openmrs.org/user_avatar/talk.openmrs.org/r0bby/32/6479_2.png) [@r0bby](https://talk.openmrs.org/u/r0bby)\
**Post date:** [July 18, 2016, 9:10am UTC](https://talk.openmrs.org/t/overhaul-the-user-management-dashboard/6292/123 "2016-07-18T09:10:51Z")

</div>

The workflow is this:

```bash
git clone https://github.com/openmrs/openmrs-contrib-id
cd openmrs-contrib-id/
# your module is a submodule (i just added it) 
git submodule init ; git submodule update 
docker-compose up -d
vagrant up

```

There shouldn’t be any configuration for your module.

---

<div class="post-metadata">

**Author:** ![dmytro.trifonov](https://talk.openmrs.org/letter_avatar/dmytro.trifonov/32/5_5575768a8748004e209b776fc1b2916d.png) [@dmytro.trifonov](https://talk.openmrs.org/u/dmytro.trifonov)\
**Post date:** [July 18, 2016, 9:11am UTC](https://talk.openmrs.org/t/overhaul-the-user-management-dashboard/6292/124 "2016-07-18T09:11:10Z")

</div>

> [@r0bby](#):
>
> docker-compose up -d vagrant up

this must be executed with sudo?

[Previous page](https://talk.openmrs.org/t/overhaul-the-user-management-dashboard/6292.md?page=5)

[Next page](https://talk.openmrs.org/t/overhaul-the-user-management-dashboard/6292.md?page=7)
