Public bug reported: The intent with Horizon has always been that the "horizon" component be a library/framework of components for dashboards to be built out of, and the "openstack_dashboard" component be an implementation of that.
For the purposes of succintness, "framework" in the below will refer to the folder horizon/horizon and "dashboard" will refer to "horizon/openstack_dashboard". Perhaps one day those could be renamed also... Some reorganisation work has been done in bug https://bugs.launchpad.net/horizon/+bug/1454880 but it has focused on cleaning up the angularjs usage in our codebase. During that work, several points were identified as blurring the line between framework and dashboard in the codebase, and this bug captures those. NOTE that this bug refers to the codebase *once that refactoring has been done* and leaf patch https://review.openstack.org/#/c/184597/ has been merged. Patches relating to this bug will all depend on that patch until it is merged. Changes needing to be made: 1) the framework should not define the top-level angular app, and thus horizon/static/dashboard-app should go away, with parts moving to the dashboard and framework as appropriate. 2) the framework should also not define the top-level HTML (base.html) - this should be in the dashboard. Actual steps to perform: 1) horizon/static/dashboard-app/utils should be moved to a new location in the framework. There's a large amount of tech debt in this folder which should be addressed in subsequent bugs and these files removed. 2) horizon/static/dashboard-app/login is a generic login/auth helper component should be moved to the framework. 3) horizon/static/dashboard-app/controllers has several controllers only used in the dashboard so should be moved there. The single controller "dummy.js" should remain in the framework. 4) horizon/static/dashboard-app/dashboard-app.module.js is the top-level angular app and should move to the dashboard. 5) horizon/templates/base.html should move to dashboard and its dependencies horizon/templates/horizon/_conf.html and horizon/templates/horizon/_scripts.html should move with it. There remains a need for a horizon/templates/horizon/_scripts.html in the framework for testing purposes, so a new file for that purpose will be placed in the testing area of the framework. On the utils tech debt: the contents of that folder are only used in one place; the functions defined there should be moved to the modules they're used in. Those target modules are legacy code which will be replaced over time by angularjs implementations, so I believe it is reasonable to do this. ** Affects: horizon Importance: Undecided Assignee: Richard Jones (r1chardj0n3s) Status: In Progress -- You received this bug notification because you are a member of Yahoo! Engineering Team, which is subscribed to OpenStack Dashboard (Horizon). https://bugs.launchpad.net/bugs/1458697 Title: Horizon/Dashboard source reorganisation Status in OpenStack Dashboard (Horizon): In Progress Bug description: The intent with Horizon has always been that the "horizon" component be a library/framework of components for dashboards to be built out of, and the "openstack_dashboard" component be an implementation of that. For the purposes of succintness, "framework" in the below will refer to the folder horizon/horizon and "dashboard" will refer to "horizon/openstack_dashboard". Perhaps one day those could be renamed also... Some reorganisation work has been done in bug https://bugs.launchpad.net/horizon/+bug/1454880 but it has focused on cleaning up the angularjs usage in our codebase. During that work, several points were identified as blurring the line between framework and dashboard in the codebase, and this bug captures those. NOTE that this bug refers to the codebase *once that refactoring has been done* and leaf patch https://review.openstack.org/#/c/184597/ has been merged. Patches relating to this bug will all depend on that patch until it is merged. Changes needing to be made: 1) the framework should not define the top-level angular app, and thus horizon/static/dashboard-app should go away, with parts moving to the dashboard and framework as appropriate. 2) the framework should also not define the top-level HTML (base.html) - this should be in the dashboard. Actual steps to perform: 1) horizon/static/dashboard-app/utils should be moved to a new location in the framework. There's a large amount of tech debt in this folder which should be addressed in subsequent bugs and these files removed. 2) horizon/static/dashboard-app/login is a generic login/auth helper component should be moved to the framework. 3) horizon/static/dashboard-app/controllers has several controllers only used in the dashboard so should be moved there. The single controller "dummy.js" should remain in the framework. 4) horizon/static/dashboard-app/dashboard-app.module.js is the top-level angular app and should move to the dashboard. 5) horizon/templates/base.html should move to dashboard and its dependencies horizon/templates/horizon/_conf.html and horizon/templates/horizon/_scripts.html should move with it. There remains a need for a horizon/templates/horizon/_scripts.html in the framework for testing purposes, so a new file for that purpose will be placed in the testing area of the framework. On the utils tech debt: the contents of that folder are only used in one place; the functions defined there should be moved to the modules they're used in. Those target modules are legacy code which will be replaced over time by angularjs implementations, so I believe it is reasonable to do this. To manage notifications about this bug go to: https://bugs.launchpad.net/horizon/+bug/1458697/+subscriptions -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : yahoo-eng-team@lists.launchpad.net Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp