# Replacing Modulus: Project Status Updates

**URL:** <https://talk.openmrs.org/t/replacing-modulus-project-status-updates/9789>\
**Category:** Modulus\
**Tags:** pm-status-update\
**Created:** [January 27, 2017, 5:30pm UTC](https://talk.openmrs.org/t/replacing-modulus-project-status-updates/9789 "2017-01-27T17:30:53Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![darius](https://talk.openmrs.org/user_avatar/talk.openmrs.org/darius/32/8082_2.png) [@darius](https://talk.openmrs.org/u/darius)\
**Post date:** [January 27, 2017, 5:30pm UTC](https://talk.openmrs.org/t/replacing-modulus-project-status-updates/9789/1 "2017-01-27T17:30:53Z")

</div>

Continuing the discussion from [Replacing Modulus: Design Thoughts](https://talk.openmrs.org/t/replacing-modulus-design-thoughts/9619/16):

Executive Summary:

- Good progress
- Helping to exercise our ITSM processes
- Blocker: Need to discuss what the MVP should be, and when we’d go live

Done since last update:

- Code moved to OpenMRS github org: [https://github.com/openmrs/openmrs-contrib-addonindex](https://github.com/openmrs/openmrs-contrib-addonindex)
- CI moved to [https://app.snap-ci.com/openmrs/openmrs-contrib-addonindex](https://app.snap-ci.com/openmrs/openmrs-contrib-addonindex)
- Docker packaging is done (using Spotify’s docker-maven-plugin, which is cool)
- Manual deployments from CI to [http://addons-stg.openmrs.org/](http://addons-stg.openmrs.org/) (thanks @cintiadr!)
- support for required OpenMRS version, and for required module versions
- download omods from maven with the correct name, instead of (id)-omod-(version).jar
- Use ElasticSearch for the index

Next steps:

- Define the MVP
- make it look pretty (@reubenv is working on this)
- support Bintray and prove it works by indexing [https://bintray.com/openmrs/owa/openmrs-owa-conceptdictionary](https://bintray.com/openmrs/owa/openmrs-owa-conceptdictionary)
- show download stats (from bintray)
- show ratings (from bintray)
- implement the legacy API
- tags/labels
- “lists” of add-ons e.g. “list of modules in refapp 2.5”

Further on:

- Migration! (needs analysis)
- support GitHub Releases

---

<div class="post-metadata">

**Author:** ![burke](https://talk.openmrs.org/user_avatar/talk.openmrs.org/burke/32/17_2.png) [@burke](https://talk.openmrs.org/u/burke)\
**Post date:** [January 27, 2017, 5:45pm UTC](https://talk.openmrs.org/t/replacing-modulus-project-status-updates/9789/2 "2017-01-27T17:45:47Z")

</div>

Could we promote fully qualified names for the uid – e.g., “org.openmrs.appui” instead of “appui-module”? We’ve wanted to migrate to fully qualified module IDs anyway to make it easier for people to create universally unique add-on identifiers without the need for a central registry.

---

<div class="post-metadata">

**Author:** ![darius](https://talk.openmrs.org/user_avatar/talk.openmrs.org/darius/32/8082_2.png) [@darius](https://talk.openmrs.org/u/darius)\
**Post date:** [January 27, 2017, 6:32pm UTC](https://talk.openmrs.org/t/replacing-modulus-project-status-updates/9789/3 "2017-01-27T18:32:26Z")

</div>

Good point. I committed a change for this.

---

<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:** [January 28, 2017, 6:35am UTC](https://talk.openmrs.org/t/replacing-modulus-project-status-updates/9789/4 "2017-01-28T06:35:35Z")

</div>

Good work!

---

<div class="post-metadata">

**Author:** ![darius](https://talk.openmrs.org/user_avatar/talk.openmrs.org/darius/32/8082_2.png) [@darius](https://talk.openmrs.org/u/darius)\
**Post date:** [January 29, 2017, 9:10pm UTC](https://talk.openmrs.org/t/replacing-modulus-project-status-updates/9789/5 "2017-01-29T21:10:20Z")

</div>

Another update…

Executive Summary:

- Good progress
- Helping to exercise our ITSM processes
- Blocker: Need to discuss what the MVP should be, and when we’d go live

Done since last update:

- support Bintray and prove it works by indexing [https://bintray.com/openmrs/owa/openmrs-owa-conceptdictionary](https://bintray.com/openmrs/owa/openmrs-owa-conceptdictionary)
- Indexing Status page

Next steps:

- Define the MVP
- make it look pretty (@reubenv is working on this)
- implement the legacy API
- show download stats (from bintray)
- show ratings (from bintray)
- tags/labels
- “lists” of add-ons e.g. “list of modules in refapp 2.5”

Further on:

- Migration! (needs analysis)
- support GitHub Releases

---

<div class="post-metadata">

**Author:** ![darius](https://talk.openmrs.org/user_avatar/talk.openmrs.org/darius/32/8082_2.png) [@darius](https://talk.openmrs.org/u/darius)\
**Post date:** [February 8, 2017, 8:50pm UTC](https://talk.openmrs.org/t/replacing-modulus-project-status-updates/9789/6 "2017-02-08T20:50:51Z")

</div>

Overdue for an update, so here’s the current status

Executive Summary:

- We have been slow to do UI skinning, but hopefully this is unblocked now.
- MVP was discussed, and we have a plan for going live alongside [modules.openmrs.org](http://modules.openmrs.org) as an MVP, with a larger set of functionality needed to fully replace it later on.

Done since last update:

- “lists” of add-ons e.g. “list of modules in refapp 2.5”
- support for listing “maintainers” of an add-on
- Discussed MVP on [https://notes.openmrs.org/2017-01-30-Design-Forum](https://notes.openmrs.org/2017-01-30-Design-Forum)
- created a GSoC project idea for enhancing the project ([https://wiki.openmrs.org/x/uoChBg](https://wiki.openmrs.org/x/uoChBg))

In Progress:

- make it look pretty (@reubenv is working on this); we were blocked on getting the tech right, but now are going with bootstrap CSS and [https://react-bootstrap.github.io/](https://react-bootstrap.github.io/) for JS. (This is the last piece of the MVP.)

Next steps ([R] means it’s required to replace [modules.openmrs.org](http://modules.openmrs.org)):

- tags/labels
- show download stats (just from bintray)
- show ratings (from bintray)
- locally store download stats (consistently across different backends) [R]
- implement the legacy API [R]

Further on:

- Migration! (needs analysis)
- support GitHub Releases

---

<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:** [February 10, 2017, 10:26am UTC](https://talk.openmrs.org/t/replacing-modulus-project-status-updates/9789/7 "2017-02-10T10:26:58Z")

</div>

![](https://talk.openmrs.org/uploads/default/original/2X/1/1e9eda0566de7c45d0b0eb7b1ca5cd85a78435a3.gif)

---

<div class="post-metadata">

**Author:** ![darius](https://talk.openmrs.org/user_avatar/talk.openmrs.org/darius/32/8082_2.png) [@darius](https://talk.openmrs.org/u/darius)\
**Post date:** [February 11, 2017, 4:17am UTC](https://talk.openmrs.org/t/replacing-modulus-project-status-updates/9789/8 "2017-02-11T04:17:48Z")

</div>

Executive Summary:

- We have been slow to do UI skinning, but @reubenv is making good progress with react-bootstrap
- moving towards the MVP (started indexing the modules in Modulus)

Done since last update:

- started indexing [modules.openmrs.org](http://modules.openmrs.org) (instead of [mavenrepo.openmrs.org](http://mavenrepo.openmrs.org))

In Progress:

- make it look pretty (@reubenv is working on this)

Next steps ([R] means it’s required to replace [modules.openmrs.org](http://modules.openmrs.org)):

- tags/labels
- show download stats (just from bintray)
- show ratings (from bintray)
- locally store download stats (consistently across different backends) [R]
- implement the legacy API [R]

Further on:

- Migration! (needs analysis)
- support GitHub Releases

---

<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:** [February 11, 2017, 5:51am UTC](https://talk.openmrs.org/t/replacing-modulus-project-status-updates/9789/9 "2017-02-11T05:51:56Z")

</div>

Great work @darius

---

<div class="post-metadata">

**Author:** ![darius](https://talk.openmrs.org/user_avatar/talk.openmrs.org/darius/32/8082_2.png) [@darius](https://talk.openmrs.org/u/darius)\
**Post date:** [February 20, 2017, 10:23pm UTC](https://talk.openmrs.org/t/replacing-modulus-project-status-updates/9789/10 "2017-02-20T22:23:33Z")

</div>

Executive Summary:

- UI looks good now. Thanks @reubenv!
- This is now better than modulus for searching for modules
- we can highlight specific lists of modules
- we can mark modules and deprecated or inactive
- supports OMODs and OWAs
- Try it at [https://addons-stg.openmrs.org](https://addons-stg.openmrs.org) and let me know if there’s any reason not to go live with this now (would be a soft launch, alongside modulus, not yet replacing it). Also, I welcome anyone to put in the correct lists!

Done since last update:

- UI enhancements (two big PRs from @reubenv, plus stuff by me)
- optionally label addons as Active vs Inactive vs Deprecated
- tagging of addons (e.g. “form-entry”)
- improved search result weighting (still lots of room for improvement here)

In Progress:

- nothing

Backlog ([R] means it’s required to replace [modules.openmrs.org](http://modules.openmrs.org)):

- show download stats [R]
- implement the legacy API [R]
- better set of lists
- filter all screens based on user-entered OpenMRS Platform version
- show ratings
- support GitHub Releases

---

<div class="post-metadata">

**Author:** ![mseaton](https://talk.openmrs.org/user_avatar/talk.openmrs.org/mseaton/32/8088_2.png) [@mseaton](https://talk.openmrs.org/u/mseaton)\
**Post date:** [February 21, 2017, 11:56am UTC](https://talk.openmrs.org/t/replacing-modulus-project-status-updates/9789/11 "2017-02-21T11:56:55Z")

</div>

Looking great @darius. I am really happy to see you guys bring this so far. I don’t see a project for this in JIRA (should we be using the existing modulus project)? A few comments:

- I agree searching could use more refinement. Specifically, if I search for "report’, I’d like to see results with “report” explicitly in their name weighted higher than those with report somewhere in their description or other content. I’d also like to see deprecated add ons at the end of the list
- If I search for, and click into an add on, there is no way to get back to my search results. There is no navigation back, and the back button does not preserve my previous state.
- In the module list, it would be great to display (and search on) the moduleid rather than just the display name.
- It would also be great to link back to the place that it is indexing (in case that is helpful), and also to the github repository (if specified, say, in the pom or config.xml, or somewhere)
- Clicking on “All Types” shows “Highlighted Modules”, whereas clicking on “Modules” shows a list of 200 results, seemingly un-sorted and un-filtered. It would be great to have either of these act consistently, and also have an explicit way to page through all available modules. These should be sorted alphabetically.

Anyway, not sure if this is helpful or desired feedback, but I wanted to put it down somewhere and this seemed the best place to do it 🙂

Nice work, Mike

---

<div class="post-metadata">

**Author:** ![darius](https://talk.openmrs.org/user_avatar/talk.openmrs.org/darius/32/8082_2.png) [@darius](https://talk.openmrs.org/u/darius)\
**Post date:** [February 21, 2017, 11:26pm UTC](https://talk.openmrs.org/t/replacing-modulus-project-status-updates/9789/12 "2017-02-21T23:26:14Z")

</div>

I replied at [Replacing Modulus: Design Thoughts](https://talk.openmrs.org/t/replacing-modulus-design-thoughts/9619/34) (My intention was for this thread to just be status updates, and the other thread for discussions, to enable better tracking for PM purposes. Thinking about it more, it’s probably best to just have a single thread, and just do periodic progress summaries on it.)

---

<div class="post-metadata">

**Author:** ![reubenv](https://talk.openmrs.org/user_avatar/talk.openmrs.org/reubenv/32/3818_2.png) [@reubenv](https://talk.openmrs.org/u/reubenv)\
**Post date:** [March 15, 2017, 1:48pm UTC](https://talk.openmrs.org/t/replacing-modulus-project-status-updates/9789/13 "2017-03-15T13:48:24Z")

</div>

Replying to [Add-On Index enhancements - #7 by cintiadr](https://talk.openmrs.org/t/add-on-index-enhancements/10531/7) here, because the other thread was made with the intention of gsoc discussions on the project.

> [@Add-On Index enhancements](https://talk.openmrs.org/t/add-on-index-enhancements/10531/7):
>
> No luck.
> 
> I tried to run it locally, I went to [https://github.com/openmrs/openmrs-contrib-ansible-docker-compose/tree/master/files/addons-stg](https://github.com/openmrs/openmrs-contrib-ansible-docker-compose/tree/master/files/addons-stg) , docker-compose pull && docker-compose up , using on the browser [http://localhost:8081](http://localhost:8081), exactly same behaviour.
> 
> And if you look the source code of the page, your change is there.

It’s funny how the smallest of issues sometimes get us(me in this case) stuck 😅. The reason for the console error was basically that although the new url pointed to “react-router”, it pointed to “react-router v4.0” whereas our project previously depended on “ReactRouter” which was part of V3.0.2 .

**The next question is as to how did this happen in the first place?**

The answer to this is that we previously used a url which was dynamic i.e. it gets resolved to a different one .The url used was [this](https://unpkg.com/react-router/umd/ReactRouter.min.js). This url basically points to the latest version of react router which is now V4.0 . Now, if we look into the contents of [this resolved url](https://unpkg.com/react-router@4.0.0/umd/) , we realise that ReactRouter.min.js no longer exists and that only react-router.js is present. Hence , naturally I didn’t initially think that there’s going to be a difference between the two and created a pull request with a url pointing to react-router.js .

> [@Add-On Index enhancements](https://talk.openmrs.org/t/add-on-index-enhancements/10531/8):
>
> The build ([https://app.snap-ci.com/openmrs/openmrs-contrib-addonindex/branch/master](https://app.snap-ci.com/openmrs/openmrs-contrib-addonindex/branch/master)) looks ok, it appears to have updated the docker image ([Docker](https://hub.docker.com/r/openmrs/addonindex/tags/)), I confirmed the docker image running is the latest image.
> 
> On Chrome console, I have for both the deployed site and running locally:

This new file missed some vital code on which our project currently depends and hence the console error . On checking the npm package.json file, I realised that we were using v3.0.2 and when I navigated to the [React-router files of v3.0.2](https://unpkg.com/react-router@3.0.2/umd/), I found the file right there. Hence I have now created an updated PR with the link to the exact same file. I have also tested it locally and can confirm that Add-On Index is back up and running 🙂 .

@darius Please check [this](https://github.com/openmrs/openmrs-contrib-addonindex/pull/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:** [March 15, 2017, 8:40pm UTC](https://talk.openmrs.org/t/replacing-modulus-project-status-updates/9789/14 "2017-03-15T20:40:20Z")

</div>

I went ahead and merged it since the CI passed.

cc: @darius

---

<div class="post-metadata">

**Author:** ![reubenv](https://talk.openmrs.org/user_avatar/talk.openmrs.org/reubenv/32/3818_2.png) [@reubenv](https://talk.openmrs.org/u/reubenv)\
**Post date:** [March 16, 2017, 7:11am UTC](https://talk.openmrs.org/t/replacing-modulus-project-status-updates/9789/15 "2017-03-16T07:11:41Z")

</div>

Thanks @r0bby. @cintiadr Can you please deploy the latest changes ?

---

<div class="post-metadata">

**Author:** ![cintiadr](https://talk.openmrs.org/user_avatar/talk.openmrs.org/cintiadr/32/8081_2.png) [@cintiadr](https://talk.openmrs.org/u/cintiadr)\
**Post date:** [March 16, 2017, 11:01am UTC](https://talk.openmrs.org/t/replacing-modulus-project-status-updates/9789/16 "2017-03-16T11:01:11Z")

</div>

In theory deployment should occur automatically. I will check why that didn’t happen.

---

<div class="post-metadata">

**Author:** ![cintiadr](https://talk.openmrs.org/user_avatar/talk.openmrs.org/cintiadr/32/8081_2.png) [@cintiadr](https://talk.openmrs.org/u/cintiadr)\
**Post date:** [March 16, 2017, 11:15am UTC](https://talk.openmrs.org/t/replacing-modulus-project-status-updates/9789/17 "2017-03-16T11:15:21Z")

</div>

Hum, the build failed. So I had to redeploy.

---

<div class="post-metadata">

**Author:** ![reubenv](https://talk.openmrs.org/user_avatar/talk.openmrs.org/reubenv/32/3818_2.png) [@reubenv](https://talk.openmrs.org/u/reubenv)\
**Post date:** [March 16, 2017, 12:39pm UTC](https://talk.openmrs.org/t/replacing-modulus-project-status-updates/9789/18 "2017-03-16T12:39:18Z")

</div>

Thanks @cintiadr 🙂.

Summary:

Add-ons is live again.

---

<div class="post-metadata">

**Author:** ![cintiadr](https://talk.openmrs.org/user_avatar/talk.openmrs.org/cintiadr/32/8081_2.png) [@cintiadr](https://talk.openmrs.org/u/cintiadr)\
**Post date:** [March 17, 2017, 11:32pm UTC](https://talk.openmrs.org/t/replacing-modulus-project-status-updates/9789/19 "2017-03-17T23:32:29Z")

</div>

Thanks for fixing the problem 🙂

---

<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:** [March 18, 2017, 1:15am UTC](https://talk.openmrs.org/t/replacing-modulus-project-status-updates/9789/20 "2017-03-18T01:15:54Z")

</div>

🌟 for @reubenv

[Next page](https://talk.openmrs.org/t/replacing-modulus-project-status-updates/9789.md?page=2)
