It would not create a circular dependency, dashboard would depend on horizon - not the latter.
Scripts that are library specific will live in horizon while scripts that are panel specific will live in dashboard.
Let me draw a more concrete example.

In Horizon
We know that _script and _conf are included in the base.html
We create a _script and _conf placeholder file for project overrides (similar to _stylesheets and _header)
In Dashboard
We create a _script and _conf file with today's content
It overrides the _script and _conf file in horizon
Now we can include panel specific scripts without causing circular dependency.

In fact, I would like to go further and suggest that _script and _conf be combine into a single file.
Not sure why we need two places to include scripts.

-----David Lyle <> wrote: -----
To: "OpenStack Development Mailing List (not for usage questions)" <>
From: David Lyle <>
Date: 12/11/2014 09:23AM
Subject: Re: [openstack-dev] [Horizon] Moving _conf and _scripts to dashboard

I'm probably not understanding the nuance of the question but moving the _scripts.html file to openstack_dashboard creates some circular dependencies, does it not? templates/base.html in the horizon side of the repo includes _scripts.html and insures that the _javascript_ needed by the existing horizon framework is present.

_conf.html seems like a better candidate for moving as it's more closely tied to the application code.


On Wed, Dec 10, 2014 at 7:20 PM, Thai Q Tran <> wrote:
Sorry for duplicate mail, forgot the subject.

-----Thai Q Tran/Silicon Valley/IBM wrote: -----
To: "OpenStack Development Mailing List \(not for usage questions\)" <>
From: Thai Q Tran/Silicon Valley/IBM
Date: 12/10/2014 03:37PM
Subject: Moving _conf and _scripts to dashboard

The way we are structuring our _javascript_s today is complicated. All of our static _javascript_s reside in /horizon/static and are imported through _conf.html and _scripts.html. Notice that there are already some panel specific _javascript_s like: horizon.images.js, horizon.instances.js, horizon.users.js. They do not belong in horizon. They belong in openstack_dashboard because they are specific to a panel.

Why am I raising this issue now? In Angular, we need controllers written in _javascript_ for each panel. As we angularize more and more panels, we need to store them in a way that make sense. To me, it make sense for us to move _conf and _scripts to openstack_dashboard. Or if this is not possible, then provide a mechanism to override them in openstack_dashboard.


OpenStack-dev mailing list

OpenStack-dev mailing list
OpenStack-dev mailing list

Reply via email to