<div dir="ltr"><div>Hi team,</div><div><br></div><div>As you may know, Horizon uses both Python and JavaScript dependencies as well. All of our JS dependencies are packed into the xstatic-* packages which could be installed like a regular python package. All current xstatic-* packages could be found on the Horizon's deliverables list [1].</div><div><br></div><div>We need all of these things to make development and packaging processes easier. </div><div><br></div><div>Of course, we can't cover all cases and JS libs, so there is a manual on how to create new xstatic package [2].</div><div><br></div><div><br></div><div>Historically, all xstatic-* projects were maintained by Horizon Core team. Probably, they were introduced even before we've got plugins implemented but it doesn't matter at this point.</div><div><br></div><div>Today, when we've got dozens of horizon plugins [3], some of them would like to use new xstatic packages which are not existing at the moment. E.g.:</div><div>- heat-dashboard uses some JS libs which are nor required by Horizon itself.</div><div>- vitrage-dashboard team is going to use React in their plugin.</div><div> </div><div>We discussed it briefly on the last meeting [4], As Horizon team, we don't want to forbid using some 3rd-party JS lib if it's acceptable by license. From the other side, Horizon Core team can't maintain all xstatic-* packages which could be needed by plugins. That's why we decided to add some folks form heat-dashboard team to xstatic-* core for that projects, which are used only be Heat Dashboard now. IMO, it looks like a reasonable and fair enough solution. </div><div><br></div><div>I think we're OK if plugin teams will share the responsibility to maintain their xstatic-* dependencies both with Horizon team following current guidelines [2].</div><div><br></div><div>Maintaining xstatic-* project means:</div><div>- create this repo according to the current guidelines</div><div>- follow community rules according to stable policy</div><div>- publish a new version of xstatic project if it's required by bugfixes, security fixes, new features</div><div>- help other teams to integrate this project into their plugin.</div><div><br></div><div><br></div><div>I hope if we agree on things above it helps both Horizon and plugin teams to deliver new versions faster with a limited teams capacity.</div><div><br></div><div><br></div><div><br></div><div>[1] <a href="https://governance.openstack.org/tc/reference/projects/horizon.html#deliverables">https://governance.openstack.org/tc/reference/projects/horizon.html#deliverables</a></div>[2] <a href="https://docs.openstack.org/horizon/latest/contributor/contributing.html#javascript-and-css-libraries-using-xstatic">https://docs.openstack.org/horizon/latest/contributor/contributing.html#javascript-and-css-libraries-using-xstatic</a><div>[3] <a href="https://docs.openstack.org/horizon/latest/install/plugin-registry.html">https://docs.openstack.org/horizon/latest/install/plugin-registry.html</a></div><div>[4] <a href="http://eavesdrop.openstack.org/meetings/horizon/2018/horizon.2018-06-13-15.04.log.html#l-124">http://eavesdrop.openstack.org/meetings/horizon/2018/horizon.2018-06-13-15.04.log.html#l-124</a></div><div><br></div><div><br></div><div><div><br clear="all"><div><div class="gmail_signature"><div dir="ltr"><div>Regards,<br>Ivan Kolodyazhny,<br><a href="http://blog.e0ne.info/" target="_blank">http://blog.e0ne.info/</a></div></div></div></div>
</div></div></div>