[openstack-dev] [horiozn][plugins] Third-party JavaScript libraries and Xstatic Python packages

Ivan Kolodyazhny e0ne at e0ne.info
Mon Jun 18 13:11:00 UTC 2018


Hi team,

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].

We need all of these things to make development and packaging processes
easier.

Of course, we can't cover all cases and JS libs, so there is a manual on
how to create new xstatic package [2].


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.

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.:
- heat-dashboard uses some JS libs which are nor required by Horizon itself.
- vitrage-dashboard team is going to use React in their plugin.

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.

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].

Maintaining xstatic-* project means:
- create this repo according to the current guidelines
- follow community rules according to stable policy
- publish a new version of xstatic project if it's required by bugfixes,
security fixes, new features
- help other teams to integrate this project into their plugin.


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.



[1]
https://governance.openstack.org/tc/reference/projects/horizon.html#deliverables
[2]
https://docs.openstack.org/horizon/latest/contributor/contributing.html#javascript-and-css-libraries-using-xstatic
[3] https://docs.openstack.org/horizon/latest/install/plugin-registry.html
[4]
http://eavesdrop.openstack.org/meetings/horizon/2018/horizon.2018-06-13-15.04.log.html#l-124



Regards,
Ivan Kolodyazhny,
http://blog.e0ne.info/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20180618/03189d5c/attachment.html>


More information about the OpenStack-dev mailing list