[Toaster] Review Request - add image information pages to toaster
Lerner, Dave
dave.lerner at windriver.com
Thu Mar 13 14:49:36 PDT 2014
Hi Belen, Alex
Below is the review request for the image information pages for the toaster project. Please advise if this is acceptable to be pulled into master.
There is a known problem with the help bubble and help icon hover on expanded jtreetable rows.
Thanks,
Dave Lerner
=============================================
Summary: Add image information pages to toaster
Upstream branch Tag: poky-contrib lerner/imageinfo
commit 6c644124111730e142222abb6d04979f69ca792e
Author: Dave Lerner <dave.lerner at windriver.com>
Date: Wed Mar 12 16:54:09 2014 -0500
bitbake: toaster: image information views
[YOCTO # 4346]
When a target image is selected, this commit adds to the toaster
project a two-tabbed page that shows
1) 'packages included' a table of packages included in the image
(see target.html), and
2) 'directory structure', the target image's file system directory
and detailed information showing the source of each file in the
directory table (see dirinfo.html).
The directory structure tab relies on the open source jQuery plugin
jtreetable which provides hierarchical table expansions and contractions
of the directory entry tables as the user drills down into directories.
A file of jtreetable styles that are compatible with other toaster styles
is provided included as css/jquery.treetable.theme.toaster.css. The
complete unaltered jtreetable plugin is added via a separate commit.
This work was developed base on the bugzilla specification number 4346
and the document "Design 1.1 Image information" attached to that report.
Signed-off-by: Dave Lerner <dave.lerner at windriver.com>
bitbake/lib/toaster/orm/models.py | 5 +-
.../lib/toaster/toastergui/static/css/default.css | 2 +-
.../static/css/jquery.treetable.theme.toaster.css | 38 ++++
.../static/jquery.treetable.theme.toaster.css | 66 ++++++
bitbake/lib/toaster/toastergui/templates/base.html | 2 +
.../toastergui/templates/basebuildpage.html | 2 +-
.../lib/toaster/toastergui/templates/dirinfo.html | 210 ++++++++++++++++++
.../lib/toaster/toastergui/templates/target.html | 148 ++++++++++++-
.../toaster/toastergui/templatetags/projecttags.py | 50 +++++
bitbake/lib/toaster/toastergui/urls.py | 3 +-
bitbake/lib/toaster/toastergui/views.py | 223 +++++++++++++++++++-
11 files changed, 732 insertions(+), 17 deletions(-)
commit c05614ccea9f52a18cd7d162f98cf8cfae65591a
Author: Dave Lerner <dave.lerner at windriver.com>
Date: Tue Mar 4 15:02:58 2014 -0600
bitbake: toaster: add jquery treetable plugin
This commit includes the critical javascript and css files
downloaded from http://plugins.jquery.com/treetable version 3.1.0.
The following is from the author's README.md included with
the license files in the directory static/jquery-treetable-license.
"jQuery treetable is a plugin for jQuery, the 'Write Less, Do More,
JavaScript Library'. With this plugin you can display a tree in an
HTML table, e.g. a directory structure or a nested list...
Download the latest release from the jQuery Plugin Registry or grab
the source code from Github. Please report issues through Github
issues. This plugin is released under both the MIT and the GPLv2
license by Ludo van den Boom...
See index.html for technical documentation and examples. The most
recent version of this document is also available online at
http://ludo.cubicphuse.nl/jquery-treetable. An AJAX enabled example
built with Ruby on Rails can be found at
https://github.com/ludo/jquery-treetable-ajax-example."
Author: Ludo van den Boom
The relevant files were moved to the static/js and static/css
directories to match the existing javascript and css toaster
deployment model.
The applicable licenses and the README are in
static/jquery-treetable-license.
Signed-off-by: Dave Lerner <dave.lerner at windriver.com>
.../toastergui/static/css/jquery.treetable.css | 28 +
.../static/css/jquery.treetable.theme.default.css | 64 ++
.../lib/toaster/toastergui/static/css/screen.css | 28 +
.../jquery-treetable-license/GPL-LICENSE.txt | 278 +++++++++
.../jquery-treetable-license/MIT-LICENSE.txt | 20 +
.../static/jquery-treetable-license/README.md | 20 +
.../toastergui/static/js/jquery.treetable.js | 620 ++++++++++++++++++++
7 files changed, 1058 insertions(+)
TESTING
0. Test Setup
==================================
bitbake core-image-minimal
bitbake core-image-sato
1. Tests on "Package included" tab
==================================
1.1 Package included HTML5 Validation
--------------------------------------
Select sato image and select all columns and 100 rows
Get source for page and input into http://validator.w3.org/#validate_by_input
Verify no errors appear.
Repeat for minimal image, all columns 100 rows (complete list)
Verify no errors appear.
1.2 Package included Spec validation
------------------------------------
Package Included tab (page 5 of 17)
Tab data
Click on core-image-minimal
Note package count (1st term in 'n - m' in tab)
Change Show rows to 100, go the last page
Verify count by 100*pagenum + items on last page
Note package size (2nd term in 'n - m' in tab)
Sum the values in Size column on first and second page
Verify the calculated and shown total sums match within roundoff
Default columns (page 7)
Clear cookies
Verify Package, Package Version, Size, Dependencies, Revers Dependencies,
and Recipes columns appear
Verify package name and 'as installed <name>' in package column.
Additionally verify that search works on either package name
or installed name (eglibc or libc6)
Verify for 'as installed name' is muted, and shows help bubble and
clicking on help bubble brings up comment in spec
Verify that if you search for a non-existant package, then
"No packages found" appears
Verify if you search for a substring matching multiple packages, then
"N packages found" appears, where N matches row count of a list
of matching packages
By clicking on Package name and jumping to package included detail info
verify version, size, dependency count and list, reverse dependency
count and list, and recipe (tested with busybox)
NOTE: bug to be entered that the Package Included dependency size
shows Package Size (prior to build) not the post-build installed
package size.
Verify the contents of the remaining table columns by selecting those
columns in the Edit Columns tab: layer, layer branch layer commit,
layer directory, license, recipe version and size over total %
Verify the order of the columns per spec page 9
Verify the minimum columns are package and package version
Verify Interactivity per page 11 on Package, Package Version, dependencies,
reverse dependencies, recipe, recipe version, (layer url is not
yet implemented), and commit
Verify empty states on page 11
2. Tests on "Directory structure" tab
==================================
2.1 Directory structure HTML5 Validation
--------------------------------------
Select sato image, Directory structure, expand usr then lib under usr
View source for page and input it into
http://validator.w3.org/#validate_by_input
Verify no errors appear.
2.2 "Directory structure" Spec validation
------------------------------------
Verify that page opens at top level directories (page 14)
Verify the fields directory/file, symbolic link, source package, size,
permissions, owner, and group are shown as specified on page 15
Verify that interacitivy of Directory/file and Source package as
specified on page 16. Note that slide animation has not been
implemented due to conflicts with the jtreetable plugin and other
issues with slide expansion in tables.
Verify that interacitivy of Source package with links to included
package page.
Note: not all directory entries will be associated with packages.
End of tests
More information about the toaster
mailing list