# \[ANNOUNCE\] node-red-contrib-ui-web-push: beta version

**URL:** <https://discourse.nodered.org/t/announce-node-red-contrib-ui-web-push-beta-version/24553>\
**Category:** Share Your Nodes\
**Created:** [9 April 2020 21:46 UTC](https://discourse.nodered.org/t/announce-node-red-contrib-ui-web-push-beta-version/24553 "2020-04-09T21:46:15Z")\
**Posts on this page:** 1\
**Showing post:** 36

<div class="post-metadata">

**Author:** ![BartButenaers](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/bartbutenaers/32/10476_2.png) [@BartButenaers](https://discourse.nodered.org/u/BartButenaers)\
**Post date:** [12 April 2020 21:33 UTC](https://discourse.nodered.org/t/announce-node-red-contrib-ui-web-push-beta-version/24553/36 "2020-04-12T21:33:54Z")

</div>

> [@BartButenaers](#):
>
> But you are right that I should be able somehow to get a more loose coupling between both nodes.

Hey guys,  
Maxim has been so kind to make me contributor to his repository, so I have added my UI node to it.  
But this is 100% against my nature ( ☹ ):

- The UI stuff is miles away from Maxim's stuff,
- Don't like to intrude in the repository from somebody else
- I need to bother him every time I want to publish a new version on npm
- We both have different styles of documenting
- ...

So would like to keep the repositories separated, if possible ...  
Therefore I have tried another experiment to _**share the config nodes between Maxim's node-red-contrib-web-push and my node-red-contrib-ui-web-push, and still being able to install each both nodes without the other (and have no failure)**_.

I think I found a solution/workaround (based on a global const [issue](https://discourse.nodered.org/t/solved-nodes-registered-as-different-names-dont-show-in-node-red-at-same-time/24459/7) of @Steve-Mcl a couple of days ago) :

- Maxim's module contains the VAPID config node. However instead of _always_ registering that config node, I install it _conditionally_ if a _global variable_ exists:

- I add the same config node to my own module, and also register it conditionally based on the SAME GLOBAL VARIABLE:

- As a result only one of both modules will register the VAPID config node (the other module not because then the global variable has been declared meanwhile):

So you can install both nodes independently of each other, and they seem to be able to share the config nodes. That seems to me normal behaviour...

- Does somebody see a disadvantage?
- Not sure whether the VAPID config node code (html and js files) should be copied in my repository, or should we create a separate third module (and both Maxim's an my modules have a dependency to that common module)? If in the future that common module is updated on npm, then both our modules will have the update.

Thoughts?

---

_[View the full topic](https://discourse.nodered.org/t/announce-node-red-contrib-ui-web-push-beta-version/24553)._
