[Toaster] V2: [review-request] 6682 - Implement changes needed in the "All Projects" page
Reyna, David
david.reyna at windriver.com
Tue Feb 24 14:59:02 PST 2015
Hi Belén,
> Would you like to tackle the above, or should we merge and I'll open
> separate issues in Bugzilla?
I strongly recommend that we merge what we have (with my new fix below for the all builds table), since this commit makes the page actually work, and the remaining issues are P3 issues that can be fixed later.
> I've also just discovered something else: in the 'all builds'
> table, the project name is not coming in for failed build requests.
Good catch. I have fixed it in the current commit. The issues was a second place (for failed builds) where I had to move the projects column (if supported) after the machine column.
> the target information is searchable in the all builds table, so
> I would have thought we could make it so in the all projects table
> as well. Do you think this is feasible?
The issues is that in the project page we are using synthetic table members to return the "latest" values, as opposed to real members as used in the "all builds". That is the core issue - the search and sort do not accept "def" synthetic members.
> mrb_section.html template, but I think it should include the
> managed_mrb_section.html one, as managed_builds.html does.
When I substitute "managed_mrb_section.html" I get no recent build information at all. I will investigate.
- David
> -----Original Message-----
> From: Barros Pena, Belen [mailto:belen.barros.pena at intel.com]
> Sent: Tuesday, February 24, 2015 10:38 AM
> To: Reyna, David; DAMIAN, ALEXANDRU
> Cc: toaster at yoctoproject.org
> Subject: Re: V2: [Toaster] [review-request] 6682 - Implement changes
> needed in the "All Projects" page
>
> Just realised one more thing: the projects.html template is including
> the
> mrb_section.html template, but I think it should include the
> managed_mrb_section.html one, as managed_builds.html does.
>
> Alex, if this is not the case, please let me know.
>
> Cheers
>
> Belén
>
> On 24/02/2015 10:54, "Barros Pena, Belen" <belen.barros.pena at intel.com>
> wrote:
>
> >Sorry, David. Somehow I missed your second email. Some comments:
> >
> >* No problem about the anchors breaking with Angular.
> >
> >* Regarding the searching for the machine and target columns, I've
> opened
> >a bug to make the machine searchable in both
> >(https://bugzilla.yoctoproject.org/show_bug.cgi?id=7334), but the
> target
> >information is searchable in the all builds table, so I would have
> thought
> >we could make it so in the all projects table as well. Do you think
> this
> >is feasible?
> >
> >* I've also just discovered something else: in the 'all builds' table,
> the
> >project name is not coming in for failed build requests.
> >
> >Would you like to tackle the above, or should we merge and I'll open
> >separate issues in Bugzilla?
> >
> >Thanks!
> >
> >Belén
> >
> >
> >
> >On 24/02/2015 08:48, "Reyna, David" <david.reyna at windriver.com> wrote:
> >
> >>Hi Belén,
> >>
> >>Have you had a chance to look at this?
> >>
> >>I think that of the two remaining issues, (a) the searching cannot be
> >>done at this time, (b) the page has done all it can for the anchors
> and
> >>the rest is up to the receiving Angular implementation.
> >>
> >>I would therefore recommend that you accept the rest of this work so
> that
> >>we can close out this page.
> >>
> >>Thanks,
> >>David
> >>
> >>_____________________________________________
> >>From: Reyna, David
> >>Sent: Wednesday, February 18, 2015 10:33 PM
> >>To: belen.barros.pena at intel.com; Damian, Alexandru
> >>(alexandru.damian at intel.com)
> >>Cc: 'toaster at yoctoproject.org'
> >>Subject: V2: [Toaster] [review-request] 6682 - Implement changes
> needed
> >>in the "All Projects" page
> >>
> >>
> >>Hi Belen,
> >>
> >>I have implemented your changes (where possible, see the two
> exceptions
> >>below).
> >>
> >> dreyna/all_projects_6682
> >>
> >>[Here is what does not work]
> >>
> >> 1) ³The machine and target columns are not searchable (they should
> be)²
> >>
> >>As I mentioned in an earlier email, this will not work for these
> >>synthetic values, for the same reason that the sort mechanism will
> not
> >>allow them.
> >>
> >> Exception Type: FieldError
> >> Exception Value:
> >>
> >>
> >> Cannot resolve keyword 'get_current_machine_name' into field.
> >>Choices are: bitbake_version, build, buildrequest, created, id,
> >>layer_version, name, projectlayer,
> >> projecttarget, projectvariable, release, short_description, updated,
> >>user_id
> >>
> >> 2) ³link to #project-details², link to ³#machine-distro²
> >>
> >>I have implemented this, but the Angular rendering apparently does
> not
> >>make the jump to the anchors. If I manually select the URL (after it
> is
> >>rendered by Angular), it does jump. Here is the use case.
> >>
> >> * Hover over any machine name in the All Project page. Observe that
> the
> >>URL is of the form:
> >>
> >> ³http://127.0.0.1:8000/toastergui/project/3/#machine-distro²
> >>
> >> * Click on that link and observe that the browser does go to that
> page
> >>with the URL:
> >>
> >> ³http://127.0.0.1:8000/toastergui/project/3/#/machine-distro²
> >>
> >>Notice the inserted ³/² after the ³#², but that is supposed to still
> work
> >>with HTML.
> >>
> >> * Observe that the page is at the top, not at the anchor.
> >>
> >> * Remove the ³/² after the ³#² and go.
> >>Observe that the page now jumps to the anchor. If you refresh the
> page
> >>with that URL, it jumps back to the top. For these reasons I think
> there
> >>is an issue with Angular.
> >>
> >>
> >>[These items are now working]
> >>
> >> * Something funky going on in the Edit columns menu. If you
> deselect
> >>last
> >>build, last errors, last image files, last outcome, last target and
> last
> >>warnings the table heading for last errors and last warnings are
> hidden,
> >>but not the data cells.
> >>
> >> * The number of builds should be a link to the project builds page
> >>(except with the number of builds is 0)
> >>
> >> * The last build date should be a link to the build dashboard page
> >>
> >> * The default sorting for the last build column should be in
> inverse
> >>chronological order (most recent build on top). If a project has no
> >>builds, they should always show at the bottom, but this might not be
> >>possible (I am not sure)
> >>
> >> * When you search and the search returns just one item, the heading
> >>should
> >>say "1 project found". Right now it says "1 projects found"
> >>
> >> * In the all builds table, the project column needs to move next to
> the
> >>machine column (see page 26 of the design document). It doesn't
> matter if
> >>the project column is not sortable, but it should be searchable.
> Also,
> >>the
> >>project filter should go away: the way it's implemented will break
> down
> >>the moment you have more than 5 or 6 projects
> >>
> >>- David
> >>
> >>_____________________________________________
> >>From: Reyna, David
> >>Sent: Wednesday, February 18, 2015 12:36 AM
> >>To: belen.barros.pena at intel.com; Damian, Alexandru
> >>(alexandru.damian at intel.com)
> >>Cc: toaster at yoctoproject.org
> >>Subject: [Toaster] [review-request] 6682 - Implement changes needed
> in
> >>the "All Projects" page
> >>
> >>
> >>Hi Belen and Alex,
> >>
> >>1) I have implement all but the sorting (see below) changes for the
> ³All
> >>Projects² page.
> >>
> >> dreyna/all_projects_6682
> >>
> >>2) I could not get the sorting to work with the synthetic
> ³get_last_*²
> >>values. It appears that these ³def² values are not accepted as
> sortable
> >>columns. Unless Alex has some magic I think we should skip this
> >>enhancement.
> >>
> >>* Here is the error:
> >> ³Invalid ordering model:<class
> >>'orm.models.Project'>(u'get_last_target', ['bitbake_version',
> 'build',
> >>'buildrequest', 'created', u'id', 'layer_version', 'name',
> >>'projectlayer', 'projecttarget', 'projectvariable', 'release',
> >> 'short_description', 'updated', 'user_id'])²
> >>
> >>* Here is the code snippet I had tested:
> >>
> >>Models.py:: Project()
> >>- search_allowed_fields = ['name', 'short_description',
> >>'release__name', 'release__branch_name']
> >>+ search_allowed_fields = ['name', 'short_description',
> >>'release__name', 'release__branch_name', 'get_last_target']
> >>
> >>Views.py:: projects()
> >> {'name': 'Last target', 'clclass': 'ltarget',
> >> 'qhelp': "The last project build target(s): one
> or
> >>more recipes or image recipes",
> >>+ 'orderfield': _get_toggle_order(request,
> >>"get_last_target"),
> >>+ 'ordericon':_get_toggle_order_icon(request,
> >>"get_last_target"),
> >>+ 'orderkey' : 'get_last_target',
> >> },
> >>
> >>3) Here is what is working
> >>
> >> [x] In the Edit columns menu, the "Last image files" checkbox only
> >>shows /hide the table heading, and not the cells in the table body
> >> [x] The 'last updated' column change the column heading to "last
> >>build' and move the column to right after the 'number of builds' one
> >> [x] The release in the table should link to the 'Project details'
> >>section of the corresponding project page
> >> [x] The data for the following columns is not being displayed:
> Machine,
> >>Number of builds, Last outcome, Last target, Last errors, Last
> warnings,
> >>Last image files
> >> [x] The heading should show the number of results returned when you
> >>search
> >> [x] The 'no results' page is not in place
> >>
> >>I also ported the fancy column entry formatting from the ³builds²
> page.
> >>
> >>- David
> >>
> >>
> >
>
More information about the toaster
mailing list