d3c91de71a
Fix various errors in the contributor documentation: - Factual mistakes (wrong file locations, etc) - Formatting errors - Typos Change-Id: I4863ca10a532ac74491cfb19f8382e3d5287d2f3
149 lines
5.2 KiB
ReStructuredText
149 lines
5.2 KiB
ReStructuredText
======================
|
|
Horizon 2012.1 "Essex"
|
|
======================
|
|
|
|
Release Overview
|
|
================
|
|
|
|
During the Essex release cycle, Horizon underwent a significant set of internal
|
|
changes to allow extensibility and customization while also adding a significant
|
|
number of new features and bringing much greater stability to every interaction
|
|
with the underlying components.
|
|
|
|
Highlights
|
|
==========
|
|
|
|
Extensibility
|
|
-------------
|
|
|
|
Making Horizon extensible for third-party developers was one of the core
|
|
goals for the Essex release cycle. Massive strides have been made to allow
|
|
for the addition of new "plug-in" components and customization of OpenStack
|
|
Dashboard deployments.
|
|
|
|
To support this extensibility, all the components used to build on Horizon's
|
|
interface are now modular and reusable. Horizon's own dashboards use these
|
|
components, and they have all been built with third-party developers in mind.
|
|
Some of the main components are listed below.
|
|
|
|
Dashboards and Panels
|
|
~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
Horizon's structure has been divided into logical groupings called dashboards
|
|
and panels. Horizon's classes representing these concepts handle all the
|
|
structural concerns associated with building a complete user interface
|
|
(navigation, access control, url structure, etc.).
|
|
|
|
Data Tables
|
|
~~~~~~~~~~~
|
|
|
|
One of the most common activities in a dashboard user interface is simply
|
|
displaying a list of resources or data and allowing the user to take actions on
|
|
that data. To this end, Horizon abstracted the commonalities of this task into a
|
|
reusable set of classes which allow developers to programmatically create
|
|
displays and interactions for their data with minimal effort and zero
|
|
boilerplate.
|
|
|
|
Tabs and TabGroups
|
|
~~~~~~~~~~~~~~~~~~
|
|
|
|
Another extremely common user-interface element is the use of "tabs" to break
|
|
down discrete groups of data into manageable chunks. Since these tabs often
|
|
encompass vastly different data, may have completely different access
|
|
restrictions, and may sometimes be better-off being loaded dynamically rather
|
|
than with the initial page load, Horizon includes tab and tab group classes for
|
|
constructing these interfaces elegantly and with no knowledge of the HTML, CSS
|
|
or JavaScript involved.
|
|
|
|
Nova Features
|
|
-------------
|
|
|
|
Support for Nova's features has been greatly improved in Essex:
|
|
|
|
* Support for Nova volumes, including:
|
|
* Volumes creation and management.
|
|
* Volume snapshots.
|
|
* Realtime AJAX updating for volumes in transition states.
|
|
* Improved Nova instance display and interactions, including:
|
|
* Launching instances from volumes.
|
|
* Pausing/suspending instances.
|
|
* Displaying instance power states.
|
|
* Realtime AJAX updating for instances in transition states.
|
|
* Support for managing Floating IP address pools.
|
|
* New instance and volume detail views.
|
|
|
|
Settings
|
|
--------
|
|
|
|
A new "Settings" area was added that offers several useful functions:
|
|
|
|
* EC2 credentials download.
|
|
* OpenStack RC file download.
|
|
* User language preference customization.
|
|
|
|
User Experience Improvements
|
|
----------------------------
|
|
|
|
* Support for batch actions on multiple resources (e.g. terminating multiple
|
|
instances at once).
|
|
* Modal interactions throughout the entire UI.
|
|
* AJAX form submission for in-place validation.
|
|
* Improved in-context help for forms (tooltips and validation messages).
|
|
|
|
|
|
Community
|
|
---------
|
|
|
|
* Creation and publication of a set of Human Interface Guidelines (HIG).
|
|
* Copious amounts of documentation for developers.
|
|
|
|
Under The Hood
|
|
--------------
|
|
|
|
* Internationalization fully enabled, with all strings marked for translation.
|
|
* Client library changes:
|
|
* Full migration to python-novaclient from the deprecated openstackx library.
|
|
* Migration to python-keystoneclient from the deprecated keystone portion
|
|
of the python-novaclient library.
|
|
* Client-side templating capabilities for more easily creating dynamic
|
|
interactions.
|
|
* Frontend overhaul to use the Bootstrap CSS/JS framework.
|
|
* Centralized error handling for vastly improved stability/reliability
|
|
across APIs/clients.
|
|
* Completely revamped test suite with comprehensive test data.
|
|
* Forward-compatibility with Django 1.4 and the option of cookie-based sessions.
|
|
|
|
Known Issues and Limitations
|
|
============================
|
|
|
|
Quantum
|
|
-------
|
|
|
|
Quantum support has been removed from Horizon for the Essex release. It will be
|
|
restored in Folsom in conjunction with Quantum's first release as a core
|
|
OpenStack project.
|
|
|
|
Keystone
|
|
--------
|
|
|
|
Due to the mechanisms by which Keystone determines "admin"-ness for a user, an
|
|
admin user interacting with the "Project" dashboard may see some inconsistent
|
|
behavior such as all resources being listed instead of only those belonging to
|
|
that project, or only being able to return to the "Admin" dashboard while
|
|
accessing certain projects.
|
|
|
|
Exceptions during customization
|
|
-------------------------------
|
|
|
|
Exceptions raised while overriding built-in Horizon behavior via the
|
|
"customization_module" setting may trigger a bug in the error handling
|
|
which will mask the original exception.
|
|
|
|
Backwards Compatibility
|
|
=======================
|
|
|
|
The Essex Horizon release is only partially backwards-compatible with Diablo
|
|
OpenStack components. While it is largely possible to log in and interact, many
|
|
functions in Nova, Glance and Keystone changed too substantially in Essex to
|
|
maintain full compatibility.
|