Complete user interface rewrite

This commit introduces the first iteration of a vast web UI
refactor.

The home page now highlights the data recorded by ARA and
the core of the UI now revolves around the one and single
playbook reports page.

There were three main objectives with this UI work:
- Improve UX (ex: being able to search, find & sort things easily
  * Everything is now searchable and sortable
  * Browsing tips have been added to help users get the most out
    of the interface features

- Improve scalability and performance: the interface should be
  fast and easy to browse whether you have dozens or thousands
  of hosts and tasks
  * Every result list or table are now paginated
  * You can customize pagination preferences with the
    ARA_PLAYBOOK_PER_PAGE and ARA_RESULT_PER_PAGE
    configuration parameters.

- Improve static generation time and weight
  Examples of the same data sets before and after:
  * ARA integration tests (5 playbooks, 59 tasks, 69 results):
    * Before: 5.4 seconds, 1.6MB (gzipped), 217 files
    * After: 2 seconds, 1.2MB (gzipped), 119 files
  * OpenStack-Ansible (1 playbook, 1547 tasks, 1667 results):
    * Before: 6m21 seconds, 31MB (gzipped), 3710 files
    * After: 20 seconds, 8.9MB (gzipped), 1916 files

Misc:
- Jinja HTML templates are now fully indented with no regards
  to line length or PEP8 to privilege readability over long and
  nested content.
- Added some missing web application unit tests
- Various javascript and css optimizations
- The web application backend in itself was significantly
  simplified: less routes, less templates, less code
- Added a configuration parameter ARA_PLAYBOOK_PER_PAGE which
  controls the amount of playbooks per page in the playbook
  report list.
- Added a configuration parameter ARA_RESULT_PER_PAGE which
  controls the amount of results per page in the data results
  table (such as hosts, plays and tasks).

Known issues:
- The file list table in the file panel will eventually
  be replaced by a folder/file hierarchy tree

Change-Id: I3802562ae1593a9dbb549d2654d63d00fd0c8310
This commit is contained in:
David Moreau-Simard
2017-02-24 18:27:11 -05:00
parent 1d07049235
commit 20c672cb76
37 changed files with 1483 additions and 1176 deletions

View File

@@ -1,8 +1,9 @@
from .playbook import playbook
from .debug import debug
from .host import host
from .result import result
from .home import home
from .file import file
from .home import home
from .host import host
from .playbook import playbook
from .reports import reports
from .result import result
# flake8: noqa