tuskar-ui/README.rst
Gabriel Hurley 052aa55d34 Unifies the project packaging into one set of modules.
There are no longer two separate projects living inside the horizon
repository. There is a single project now with a single setup.py,
single README, etc.

The openstack-dashboard/dashboard django project is now named
"openstack_dashboard" and lives as an example project in the
topmost horizon directory.

The "horizon/horizon" directory has been bumped up a level and now
is directly on the path when the root horizon directory is on
your python path.

Javascript media which the horizon module directly relies upon
now ships in the horizon/static dir rather than
openstack-dashboard/dashboard/static.

All the corresponding setup, installation, build, and env scripts
have been updated accordingly.

Implements blueprint unified-packaging.

Change-Id: Ieed8e3c777432cd046c3e0298869a9428756ab62
2012-02-29 00:20:13 -08:00

99 lines
2.9 KiB
ReStructuredText

=============================
Horizon (OpenStack Dashboard)
=============================
Horizon is a Django-based project aimed at providing a complete OpenStack
Dashboard along with an extensible framework for building new dashboards
from reusable components. The ``openstack_dashboard`` module is a reference
implementation of a Django site that uses the ``horizon`` app to provide
web-based interactions with the various OpenStack projects.
For release management:
* https://launchpad.net/horizon
For blueprints and feature specifications:
* https://blueprints.launchpad.net/horizon
For issue tracking:
* https://bugs.launchpad.net/horizon
Getting Started
===============
For local development, first create a virtualenv for the project.
In the ``tools`` directory there is a script to create one for you:
$ python tools/install_venv.py
Alternatively, the ``run_tests.sh`` script will also install the environment
for you and then run the full test suite to verify everything is installed
and functioning correctly.
Now that the virtualenv is created, you need to configure your local
environment. To do this, create a ``local_settings.py`` file in the ``local/``
directory. There is a ``local_settings.py.example`` file there that may be
used as a template.
If all is well you should able to run the development server locally:
$ tools/with_venv.sh manage.py runserver
or, as a shortcut::
$ ./run_tests.sh --runserver
Settings Up OpenStack
=====================
The recommended tool for installing and configuring the core OpenStack
components is `Devstack`_. Refer to their documentation for getting
Nova, Keystone, Glance, etc. up and running.
.. _Devstack: http://devstack.org/
Development
===========
For development, start with the getting started instructions above.
Once you have a working virtualenv and all the necessary packages, read on.
If dependencies are added to either ``horizon`` or ``openstack-dashboard``,
they should be added to ``tools/pip-requires``.
The ``run_tests.sh`` script invokes tests and analyses on both of these
components in its process, and it is what Jenkins uses to verify the
stability of the project. If run before an environment is set up, it will
ask if you wish to install one.
To run the unit tests::
$ ./run_tests.sh
Building Contributor Documentation
==================================
This documentation is written by contributors, for contributors.
The source is maintained in the ``docs/source`` folder using
`reStructuredText`_ and built by `Sphinx`_
.. _reStructuredText: http://docutils.sourceforge.net/rst.html
.. _Sphinx: http://sphinx.pocoo.org/
* Building Automatically::
$ ./run_tests.sh --docs
* Building Manually::
$ export DJANGO_SETTINGS_MODULE=local.local_settings
$ python doc/generate_autodoc_index.py
$ sphinx-build -b html doc/source build/sphinx/html
Results are in the `build/sphinx/html` directory