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

Jiri Tomasek jtomasek at redhat.com
Wed Nov 12 17:23:22 UTC 2014

On 11/12/2014 05:18 PM, Julie Pichon wrote:
> On 12/11/14 15:12, Jiri Tomasek wrote:
>> Approach on using Xstatic packages vs Js tooling:
>> As only problem with using js tooling should be just actual packaging of
>> it, I think it makes sense to use these tools and make development
>> simpler then going other way around and using Xstatic packages - which
>> means devs would have to care about getting stuff packaged as xstatic
>> and added to the code, while maintaining proper versions and making sure
>> that they work ok together. NPM and Bower do this for us. Common sense
>> tells me packagers should take care of packaging.
>> Packaging of these tools will have to get resolved somehow anyway, as
>> there will be rise in requirements of using them not just from Horizon...
> I can't speak for the rest but that part doesn't seem correct to me. The
> XStatic packages are Python packages (as in, dependencies) that the
> Horizon team is responsible for (when they don't already exist) and
> maintains on stackforge, so we do have to create them and make sure they
> all work well together. The later packaging as rpm or deb or others is
> left to the distro packagers of course.
> There are instructions already on how to create xstatic packages [1],
> it's not very complicated and just takes some review time.
> Thanks,
> Julie
> [1]
> http://docs.openstack.org/developer/horizon/contributing.html#javascript-and-css-libraries
> _______________________________________________
> OpenStack-dev mailing list
> OpenStack-dev at lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

I might have expressed myself wrong about XStatic packages. But as you 
say as well, to use XStatic packages, we need to most often create them 
and maintain the correct versions we require in Horizon and they don't 
help to packagers either.  I makes sense to use them in Django 
application as they can be included in requirements.txt and we don't 
have to carry them directly in the code. So I am definitely ok to use 
them for Django dependencies we have.

Similar thing is npm and bower doing on the Angular side except for we 
don't have to create these libraries as they already exist. NPM and 
Bower are taking care of including the right versions of js libs our dev 
env and our application needs. They use similar description files as 
requirements.txt in Django.

It makes no sense not to use them and try to include js libraries using 
XStatic packages and listing them in requirements.txt because this way 
we don't know which version of js lib to use etc. NPM and bower are 
doing this for us.

In both approaches dependencies need to have packages in the end 
regadles of being it XStatic package or js library or Angular module.

It is about using the right tools for the job.

I see relation between Nodejs and js libs/tools and Angular app defining 
it's dependencies using NPM and Bower quite similar as Ruby, Rubygems 
and Rails application defining it's dependencies in Gemfile.lock. 
Rubygems are being packaged in distros, so why shouldn't node packages?


More information about the OpenStack-dev mailing list