# Transferring rights of create-openmrs-app

**URL:** <https://talk.openmrs.org/t/transferring-rights-of-create-openmrs-app/24323>\
**Category:** GSoC\
**Tags:** gsoc2019\
**Created:** [August 14, 2019, 5:53pm UTC](https://talk.openmrs.org/t/transferring-rights-of-create-openmrs-app/24323 "2019-08-14T17:53:11Z")\
**Posts on this page:** 15\
**Page:** 1

<div class="post-metadata">

**Author:** ![beingtmk](https://talk.openmrs.org/user_avatar/talk.openmrs.org/beingtmk/32/21209_2.png) [@beingtmk](https://talk.openmrs.org/u/beingtmk)\
**Post date:** [August 14, 2019, 5:53pm UTC](https://talk.openmrs.org/t/transferring-rights-of-create-openmrs-app/24323/1 "2019-08-14T17:53:11Z")

</div>

Create-openmrs-app is the final repository which contains scripts to automate setting up openmrs-react-components with

1. Minimal Configuration
2. Example Configuration

These are published to npm & travis ci is also integrated.

I need to transfer rights of this repository to openmrs & also travisci should be setup on openmrs account.

@mogoodrich, @dkayiwa

---

<div class="post-metadata">

**Author:** ![dkayiwa](https://talk.openmrs.org/user_avatar/talk.openmrs.org/dkayiwa/32/179_2.png) [@dkayiwa](https://talk.openmrs.org/u/dkayiwa)\
**Post date:** [August 16, 2019, 6:10am UTC](https://talk.openmrs.org/t/transferring-rights-of-create-openmrs-app/24323/2 "2019-08-16T06:10:32Z")

</div>

Can you share a link of the repository that you are referring to?

---

<div class="post-metadata">

**Author:** ![beingtmk](https://talk.openmrs.org/user_avatar/talk.openmrs.org/beingtmk/32/21209_2.png) [@beingtmk](https://talk.openmrs.org/u/beingtmk)\
**Post date:** [August 16, 2019, 6:26am UTC](https://talk.openmrs.org/t/transferring-rights-of-create-openmrs-app/24323/3 "2019-08-16T06:26:03Z")

</div>

> **[beingtmk/create-openmrs-app](https://github.com/beingtmk/create-openmrs-app)**
>
> Get a working version of openmrs-react-components. Contribute to beingtmk/create-openmrs-app development by creating an account on GitHub.

---

<div class="post-metadata">

**Author:** ![dkayiwa](https://talk.openmrs.org/user_avatar/talk.openmrs.org/dkayiwa/32/179_2.png) [@dkayiwa](https://talk.openmrs.org/u/dkayiwa)\
**Post date:** [August 16, 2019, 6:55am UTC](https://talk.openmrs.org/t/transferring-rights-of-create-openmrs-app/24323/4 "2019-08-16T06:55:34Z")

</div>

Did you evaluate options for raising pull requests to the main repository, that would make it configurable for our customisations, without creating a fork that we have to maintain?

---

<div class="post-metadata">

**Author:** ![beingtmk](https://talk.openmrs.org/user_avatar/talk.openmrs.org/beingtmk/32/21209_2.png) [@beingtmk](https://talk.openmrs.org/u/beingtmk)\
**Post date:** [August 16, 2019, 7:39am UTC](https://talk.openmrs.org/t/transferring-rights-of-create-openmrs-app/24323/5 "2019-08-16T07:39:44Z")

</div>

Hi @dkayiwa, this is not a fork, actually it is repository that has scripts to generate template projects from the openmrs-react-components library

I don’t think this can be merged into the main repository.

What say @judeniroshan?

---

<div class="post-metadata">

**Author:** ![dkayiwa](https://talk.openmrs.org/user_avatar/talk.openmrs.org/dkayiwa/32/179_2.png) [@dkayiwa](https://talk.openmrs.org/u/dkayiwa)\
**Post date:** [August 16, 2019, 7:47am UTC](https://talk.openmrs.org/t/transferring-rights-of-create-openmrs-app/24323/6 "2019-08-16T07:47:53Z")

</div>

Let me put it differently, when improvements and bug fixes are made to the main repository at facebook, how do you plan to get them into this fork?

---

<div class="post-metadata">

**Author:** ![judeniroshan](https://talk.openmrs.org/user_avatar/talk.openmrs.org/judeniroshan/32/4503_2.png) [@judeniroshan](https://talk.openmrs.org/u/judeniroshan)\
**Post date:** [August 16, 2019, 8:13am UTC](https://talk.openmrs.org/t/transferring-rights-of-create-openmrs-app/24323/7 "2019-08-16T08:13:40Z")

</div>

Just to be clear for everyone who is reading this thread:

**Main repository** = Original [create-react-app repository](https://github.com/facebook/create-react-app) maintained by Facebook.

**Project repository** = A [fork that made from Main repository](https://github.com/beingtmk/create-openmrs-app)(above mentioned) but customized for openmrs OWA.

@dkayiwa In order to make project repo up-to-date, we have to do it manually timely wise or we have to write a script to do that merging from upstream(Main repo). Currently @beingtmk has not set the upstream for his project repo _(Which is something we have to do)_. Do you have any other suggestions? 😀

---

<div class="post-metadata">

**Author:** ![dkayiwa](https://talk.openmrs.org/user_avatar/talk.openmrs.org/dkayiwa/32/179_2.png) [@dkayiwa](https://talk.openmrs.org/u/dkayiwa)\
**Post date:** [August 16, 2019, 8:23am UTC](https://talk.openmrs.org/t/transferring-rights-of-create-openmrs-app/24323/8 "2019-08-16T08:23:04Z")

</div>

> [@judeniroshan](#):
>
> In order to make project repo up-to-date, we have to do it manually timely wise or we have to write a script to do that merging from upstream(Main repo). Currently @beingtmk has not set the upstream for his project repo _(Which is something we have to do)_ . Do you have any other suggestions?

Did you evaluate options for raising pull requests to the main repository, that would make it configurable for our customisations, without creating a fork that we have to maintain?

---

<div class="post-metadata">

**Author:** ![beingtmk](https://talk.openmrs.org/user_avatar/talk.openmrs.org/beingtmk/32/21209_2.png) [@beingtmk](https://talk.openmrs.org/u/beingtmk)\
**Post date:** [August 16, 2019, 8:58am UTC](https://talk.openmrs.org/t/transferring-rights-of-create-openmrs-app/24323/9 "2019-08-16T08:58:00Z")

</div>

@dkayiwa,

i don’t think thats possible since these are customizations just for openmrs related requirements.

---

<div class="post-metadata">

**Author:** ![judeniroshan](https://talk.openmrs.org/user_avatar/talk.openmrs.org/judeniroshan/32/4503_2.png) [@judeniroshan](https://talk.openmrs.org/u/judeniroshan)\
**Post date:** [August 16, 2019, 9:09am UTC](https://talk.openmrs.org/t/transferring-rights-of-create-openmrs-app/24323/10 "2019-08-16T09:09:02Z")

</div>

what he meant was, requesting Facebook to allow integrations for the project. So that anyone wants to customize the create-react-app could be customized as we did.

For example, if LibreOffice needs to have create-libreoffice-app, most of the time they also have to follow the same process what we did but slightly differently. @dkayiwa Isn’t that what you meant?

Actually, we didn’t evaluate on this topic as we were bound to timeline restrictions of GSoC. But I agree with @dkayiwa that we need a stable long term solution on the project repo.

---

<div class="post-metadata">

**Author:** ![dkayiwa](https://talk.openmrs.org/user_avatar/talk.openmrs.org/dkayiwa/32/179_2.png) [@dkayiwa](https://talk.openmrs.org/u/dkayiwa)\
**Post date:** [August 16, 2019, 9:26am UTC](https://talk.openmrs.org/t/transferring-rights-of-create-openmrs-app/24323/11 "2019-08-16T09:26:19Z")

</div>

> [@judeniroshan](#):
>
> Isn’t that what you meant?

Yes Sir! 🙂

---

<div class="post-metadata">

**Author:** ![beingtmk](https://talk.openmrs.org/user_avatar/talk.openmrs.org/beingtmk/32/21209_2.png) [@beingtmk](https://talk.openmrs.org/u/beingtmk)\
**Post date:** [August 16, 2019, 12:44pm UTC](https://talk.openmrs.org/t/transferring-rights-of-create-openmrs-app/24323/12 "2019-08-16T12:44:52Z")

</div>

@dkayiwa, @judeniroshan

Actually the facebook repository is made of many packages, i have just edited the files of the react-scripts package so as to generate a required template. there is no need for us to have other files/packages.

Also i am not publishing the whole repository to npm just the react-scripts package.

see “packages/react-scripts”. This anyways we will have to maintain

---

<div class="post-metadata">

**Author:** ![dkayiwa](https://talk.openmrs.org/user_avatar/talk.openmrs.org/dkayiwa/32/179_2.png) [@dkayiwa](https://talk.openmrs.org/u/dkayiwa)\
**Post date:** [August 16, 2019, 12:57pm UTC](https://talk.openmrs.org/t/transferring-rights-of-create-openmrs-app/24323/13 "2019-08-16T12:57:22Z")

</div>

What strategy do you have for some one who wants to have your custom changes but also take advantage of the latest changes in facebook’s repository.

---

<div class="post-metadata">

**Author:** ![beingtmk](https://talk.openmrs.org/user_avatar/talk.openmrs.org/beingtmk/32/21209_2.png) [@beingtmk](https://talk.openmrs.org/u/beingtmk)\
**Post date:** [August 16, 2019, 4:31pm UTC](https://talk.openmrs.org/t/transferring-rights-of-create-openmrs-app/24323/14 "2019-08-16T16:31:39Z")

</div>

@dkayiwa, i can only think of the same solution as @judeniroshan, of manually doing fetch & merge time and again.

i tried to find online if there was a way to automate that, but was unable to get anything!

---

<div class="post-metadata">

**Author:** ![beingtmk](https://talk.openmrs.org/user_avatar/talk.openmrs.org/beingtmk/32/21209_2.png) [@beingtmk](https://talk.openmrs.org/u/beingtmk)\
**Post date:** [August 28, 2019, 12:01am UTC](https://talk.openmrs.org/t/transferring-rights-of-create-openmrs-app/24323/15 "2019-08-28T00:01:03Z")

</div>

hi @dkayiwa,

These are the two final repositories for my submission

1. Minimalistic Template: [https://github.com/beingtmk/create-openmrs-app](https://github.com/beingtmk/create-openmrs-app)
2. Example Template: [https://github.com/beingtmk/create-openmrs-app-example](https://github.com/beingtmk/create-openmrs-app-example)

I have removed all the parts of the fork from facebook-cra which were unnecessary.

Now these repositories only contain the part that i have edited, which is of the package “react-scripts”. This is the only part that is responsible for generating the final template.

Both of the above repositories are published to npm with travis ci integrated.

The way you generate a template is:

```
npx create-react-app test-app --scripts-version openmrs-react-scripts

```

so basically you are just using the create-react-app to generate the project, just that you are using the customized version of the “react-scripts”, that is responsible for the final customization of the template once the project is generated by cra.

Hope this reduces maintainability to only those parts which we anyways need to maintain.

@judeniroshan
