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.
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.
Panels are just entry-points to hook views into the larger dashboard navigational structure and enforce common attributes like RBAC. The views and corresponding templates can contain anything you would like, including iFrames.
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.
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.