
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
38 lines
1.7 KiB
ReStructuredText
38 lines
1.7 KiB
ReStructuredText
==========================
|
|
Frequently Asked Questions
|
|
==========================
|
|
|
|
What is the relationship between ``Dashboards``, ``Panels``, and navigation?
|
|
|
|
The navigational structure is strongly encouraged to flow from
|
|
``Dashboard`` objects as top-level navigation items to ``Panel`` objects as
|
|
sub-navigation items as in the current implementation. Template tags
|
|
are provided to automatically generate this structure.
|
|
|
|
That said, you are not required to use the provided tools and can write
|
|
templates and URLconfs by hand to create any desired structure.
|
|
|
|
Does a panel have to be an app in ``INSTALLED_APPS``?
|
|
|
|
A panel can live in any Python module. It can be a standalone which ties
|
|
into an existing dashboard, or it can be contained alongside others within
|
|
a larger dashboard "app". There is no strict enforcement here. Python
|
|
is "a language for consenting adults." A module containing a Panel does
|
|
not need to be added to ``INSTALLED_APPS``, but this is a common and
|
|
convenient way to load a standalone panel.
|
|
|
|
Could I hook an external service into a panel using, for example, an iFrame?
|
|
|
|
Panels are just entry-points to hook views into the larger dashboard
|
|
navigational structure and enforce common attributes like RBAC. The
|
|
view and corresponding templates can contain anything you would like,
|
|
including iFrames.
|
|
|
|
What does this mean for visual design?
|
|
|
|
The ability to add an arbitrary number of top-level navigational items
|
|
(``Dashboard`` objects) poses a new design challenge. Horizon's lead
|
|
designer has taken on the challenge of providing a reference design
|
|
for Horizon which supports this possibility.
|
|
|