[openstack-dev] [Horizon] the future of angularjs development in Horizon

Richard Jones r1chardj0n3s at gmail.com
Sun Nov 16 23:01:01 UTC 2014

On 17 November 2014 06:42, Thomas Goirand <zigo at debian.org> wrote:
> On 11/15/2014 06:27 AM, Gabriel Hurley wrote:
> > So, I propose that a group gets together and defines criteria:
> > we need to accept that the Horizon team (and those knowledgeable
> > about web-app development) know best what tools they need, and
> > they need to produce such a list as a starting point. We then
> > need packagers and maintainers to examine that list and evaluate
> > it for problems (non-free software, irresolvable dependencies,
> > etc.). They're looking strictly for things which are un-packageable,
> > not commenting on the necessity of said software. And we need people
> > (thanks, Monty) willing to build new tools to find a way to turn
> > that list into something the package maintainers can consume
> > without burdening either side.
> >
> > Make sense?
> >
> >      - Gabriel
> I'd be happy to be in this group.

As would I, hence I started the conversation in the first place :)

> Selenium
> ========
> As I wrote previously, the biggest issue currently for me, is selenium.
> It is very frustrating that I can't run these unit tests when building
> package, and potentially loose the opportunity to discover problems. I
> really would like this to be solved. There's 2 ways of solving it:
> 1/ Someone works so that the .xpi can be built together with the rest of
> selenium, and therefore, selenium can leave the non-free repository of
> Debian and go in main (and also be uploaded in other distros).
> 2/ We move away from Selenium and decide to use something else like
> PhantomJS.

I think you're confusing a couple of things here. Selenium is a system for
Javascript running tests in a browser environment. To do that, it needs a
browser. PhantomJS provides a headless browser to do that. The tests end up
being faster, less intrusive on a desktop and much simpler to run on
servers (no virtual X11 shenanigans).

I advocate for using PhantomJS, but also for using a reduced Selenium suite
where possible - with an emphasis on unit testing of the angular code
directly. Selenium is just so flaky, especially with an interface that's
even slightly dynamic.

> What we care is to find a system that will satisfy both worlds:
> distributions & upstream fast moving development. It is looking like NPM
> has the best feature and that it would be a winner against Bower and

Again, just to be clear: npm and bower are *both* packaging systems and
have completely separate domains of use. npm is used to package
command-line tools and libraries written in the node.js programming
language whereas bower is used to package browser application components.
It's not npm-or-bower.

bower is most likely going to be replaced by xstatic in our environment,
assuming we have some simple mechanism for creating xstatic packages from
bower components.

The distributions are going to have to package up the npm-packaged tools
that we need, though that set of packages is looking smaller and smaller,
and will probably just include the testing tools (karma, protractor,
jasmin, phantomjs). Some of those are already packaged \o/

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20141117/0524c495/attachment.html>

More information about the OpenStack-dev mailing list