Skip to content

Commit

Permalink
Re-architects the OpenStack Dashboard for modularity and extensibility.
Browse files Browse the repository at this point in the history
Implements blueprint extensible-architecture.
Implements blueprint improve-dev-documentation.
Implements blueprint gettext-everywhere.
Implements blueprint sphinx-docs.

Complete re-architecture of the dashboard to transform it from a standalone django-openstack app to a Horizon framework for building dashboards. See the docs for more information.

Incidentally fixes the following bugs:

Fixes bug 845868 -- no PEP8 violations.
Fixes bug 766096 -- the dashboard can now be installed at any arbitrary URL.
Fixes bug 879111 -- tenant id is now controlled solely by the tenant switcher, not the url (which was disregarded anyway)
Fixes bug 794754 -- output of venv installation is considerably reduced.

Due to the scale and scope of this patch I recommend reviewing it on github: https://github.com/gabrielhurley/horizon/tree/extensible_architecture

Change-Id: I8e63f7ea235f904247df40c33cb66338d973df9e
  • Loading branch information
gabrielhurley committed Nov 7, 2011
1 parent 91ceb59 commit 9742842
Show file tree
Hide file tree
Showing 403 changed files with 21,580 additions and 19,193 deletions.
16 changes: 8 additions & 8 deletions .bzrignore
@@ -1,11 +1,11 @@
django-openstack/.installed.cfg
django-openstack/bin
django-openstack/develop-eggs/
django-openstack/downloads/
django-openstack/eggs/
django-openstack/parts/
django-openstack/src/django_nova.egg-info
django-openstack/src/django_openstack.egg-info
horizon/.installed.cfg
horizon/bin
horizon/develop-eggs/
horizon/downloads/
horizon/eggs/
horizon/parts/
horizon/src/django_nova.egg-info
horizon/src/django_openstack.egg-info
django-nova-syspanel/src/django_nova_syspanel.egg-info
openstack-dashboard/.dashboard-venv
openstack-dashboard/local/dashboard_openstack.sqlite3
Expand Down
23 changes: 12 additions & 11 deletions .gitignore
Expand Up @@ -5,19 +5,20 @@ coverage.xml
pep8.txt
pylint.txt
reports
django-openstack/.installed.cfg
django-openstack/bin
django-openstack/develop-eggs/
django-openstack/downloads/
django-openstack/eggs/
django-openstack/htmlcov
django-openstack/launchpad
django-openstack/parts/
django-openstack/django_nova.egg-info
django-openstack/django_openstack.egg-info
horizon/.installed.cfg
horizon/bin
horizon/develop-eggs/
horizon/downloads/
horizon/eggs/
horizon/htmlcov
horizon/launchpad
horizon/parts/
horizon/django_nova.egg-info
horizon/horizon.egg-info
horizon/django_openstack.egg-info
django-nova-syspanel/src/django_nova_syspanel.egg-info
openstack-dashboard/.dashboard-venv
openstack-dashboard/local/dashboard_openstack.sqlite3
openstack-dashboard/local/local_settings.py
build/
doc/source/sourcecode
docs/source/sourcecode
34 changes: 17 additions & 17 deletions README
Expand Up @@ -4,14 +4,14 @@ OpenStack Dashboard (Horizon)
The OpenStack Dashboard is a Django based reference implementation of a web
based management interface for OpenStack.

It is based on django-openstack, which is designed to be a generic Django
module that can be re-used in other sites.
It is based on the ``horizon`` module, which is designed to be a generic Django
app that can be re-used in other projects.

For more information about how to get started with the OpenStack Dashboard,
view the README file in the openstack-dashboard folder.

For more information about working directly with django-openstack, see the
README file in the django-openstack folder.
For more information about working directly with ``horizon``, see the
README file in the ``horizon`` folder.

For release management:

Expand All @@ -29,21 +29,21 @@ Project Structure and Testing:
------------------------------

This project is a bit different from other Openstack projects in that it has
two very distinct components underneath it: django-openstack, and
openstack-dashboard.
two very distinct components underneath it: ``horizon``, and
``openstack-dashboard``.

django-openstack holds the generic libraries and components that can be
used in any Django project. In testing, this component is set up with
buildout (see run_tests.sh), and any dependencies that get added need to
be added to the django-openstack/buildout.cfg file.
The ``horizon`` directory holds the generic libraries and components that can
be used in any Django project. In testing, this component is set up with
buildout (see ``run_tests.sh``), and any dependencies that get added need to
be added to the ``horizon/buildout.cfg`` file.

openstack-dashboard is a reference django project that uses django-openstack
and is built with a virtualenv and tested through that environment. If
depdendencies are added that the reference django project needs, they
should be added to openstack-dashboard/tools/pip-requires.
The ``openstack-dashboard`` directory contains a reference Django project that
uses ``horizon`` and is built with a virtualenv and tested through that
environment. If dependencies are added that ``openstack-dashboard`` requires
they should be added to ``openstack-dashboard/tools/pip-requires``.

The run_tests.sh script invokes tests and analysis on both of these
components in it's process, and is what Jenkins uses to verify the
The ``run_tests.sh`` script invokes tests and analyses on both of these
components in its process, and is what Jenkins uses to verify the
stability of the project.

To run the tests::
Expand All @@ -55,7 +55,7 @@ Building Contributor Documentation

This documentation is written by contributors, for contributors.

The source is maintained in the `doc/source` folder using
The source is maintained in the ``docs/source`` folder using
`reStructuredText`_ and built by `Sphinx`_

.. _reStructuredText: http://docutils.sourceforge.net/rst.html
Expand Down
56 changes: 0 additions & 56 deletions django-openstack/README

This file was deleted.

0 comments on commit 9742842

Please sign in to comment.