[openstack-dev] [Horizon] the future of angularjs development in Horizon
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 ,
> it's not very complicated and just takes some review time.
> OpenStack-dev mailing list
> OpenStack-dev at lists.openstack.org
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