<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugzilla.yoctoproject.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.6"
          urlbase="https://bugzilla.yoctoproject.org/"
          
          maintainer="it-coreprojects-helpdesk@linuxfoundation.org"
>

    <bug>
          <bug_id>8363</bug_id>
          
          <creation_ts>2015-09-21 08:42:16 +0000</creation_ts>
          <short_desc>Assess which non-ToasterTable pages need refactoring and how</short_desc>
          <delta_ts>2016-07-14 20:20:03 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>7</classification_id>
          <classification>Build System, Metadata &amp; Runtime</classification>
          <product>Toaster</product>
          <component>toaster</component>
          <version>2.0</version>
          <rep_platform>x86</rep_platform>
          <op_sys>Multiple</op_sys>
          <bug_status>VERIFIED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>Medium</priority>
          <bug_severity>enhancement</bug_severity>
          <target_milestone>2.2</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Elliot Smith">elliot.smith</reporter>
          <assigned_to name="Elliot Smith">elliot.smith</assigned_to>
          <cc>belen.barros.pena</cc>
    
    <cc>jessica.zhang</cc>
    
    <cc>stanciux.mihail</cc>
          
          <qa_contact name="Libertad">libertad.gonzalez.de.la.cruz</qa_contact>
          <cf_os>---</cf_os>
          <cf_regression_type>---</cf_regression_type>
          
          <cf_docchange>No (bug/feature does not impact docs)</cf_docchange>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>54352</commentid>
    <comment_count>0</comment_count>
    <who name="Elliot Smith">elliot.smith</who>
    <bug_when>2015-09-21 08:42:16 +0000</bug_when>
    <thetext>Several of the pages in Toaster still use plain views to render, when they could be using ToasterTable, e.g. the projects page.

Often, these pages also rely on RedirectException to control how their parameters are set: a user visits a page at a page with an empty querystring, and is 302 redirected to a different URL which has the required querystring parameters.

(For example, the user visits /toastergui/projects/ but actually ends up at /toastergui/projects/?count=10&amp;orderby=updated%3A-&amp;page=1.)

This breaks back button behaviour, as the user has to press &quot;Back&quot; twice to get back to the page they were at before /toastergui/projects/.

We need to refactor the views so that:

1. Any pages which could use ToasterTables do use them.
2. Any pages which shouldn&apos;t use ToasterTables are fixed so they don&apos;t rely on redirects to get their parameters set correctly.

This issue is here to cover the initial investigation into the work which is required, as I&apos;m not sure which pages are working correctly, which need to go to ToasterTables, and which use redirects (incorrectly).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>57347</commentid>
    <comment_count>1</comment_count>
    <who name="Elliot Smith">elliot.smith</who>
    <bug_when>2015-12-17 14:52:59 +0000</bug_when>
    <thetext>As this overlaps with the migration of the &quot;all builds&quot;, &quot;all projects&quot; and &quot;project builds&quot; tables, and I was in this code anyway, I did a quick survey of tables which still need to be converted to ToasterTable.

These ones all have sorting and/or filters and/or editable columns:

1. build tasks (/build/X/tasks): build -&gt; tasks
2. build bitbake variables (build/X/configvars): build -&gt; Configuration -&gt; Bitbake variables
3. build recipes (/build/X/recipes): build -&gt; Recipes
4. build packages (/build/X/packages): build -&gt; Packages
5. build time (/build/X/buildtime): build -&gt; Time
6. build CPU usage (/build/X/cpuusage): build -&gt; CPU usage
7. build disk I/O (/build/X/diskio): build -&gt; Disk I/O
8. layer recipes (/project/X/layer/Y): project -&gt; Layers -&gt; (click layer name) -&gt; Recipes
9. layer machines (/project/X/layer/Y): project -&gt; Layers -&gt; (click layer name) -&gt; Machines
10. build recipe packages (/build/X/recipe_packages/Y): build -&gt; Recipes -&gt; (click the name of a recipe which produces packages, e.g. perl) -&gt; Packages
11. image packages (/build/X/target/Y): (requires a build which produces images) build -&gt; Images (click an image link) -&gt; Packages included

Note that the above tables are relatively straightforward, as they don&apos;t have any complicated filters (effectively they toggle the results based on the value of one field).

The following tables are simple and may not need conversion, as they don&apos;t have editable columns, ordering or filtering:

12. build recipe tasks (/build/X/recipe/Y): build -&gt; Recipes -&gt; (click recipe name) -&gt; Recipe details
13. build recipe build dependencies (build/X/recipe/Y): build -&gt; Recipes -&gt; (click recipe name) -&gt; Build dependencies
14. build recipe reverse build dependencies (/build/X/recipe/Y): build -&gt; Recipes -&gt; (click recipe name) -&gt; Reverse build dependencies
15. build package generated files (/build/X/package/Y): build -&gt; Packages -&gt; (click package name) -&gt; Generated files
16. build package runtime dependencies (/build/X/package/Y): build -&gt; Packages -&gt; (click package name) -&gt; Runtime dependencies

And this is a special case:

17. Image directory structure is a table, but it uses a tree display library and should probably be left alone.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>57378</commentid>
    <comment_count>2</comment_count>
    <who name="Belen Barros Pena">belen.barros.pena</who>
    <bug_when>2015-12-18 11:04:57 +0000</bug_when>
    <thetext>Just for completeness sake, the group of &apos;simple&apos; tables (potentially not needing conversion) has another 3 tables:

17. installed package generated files (/build/X/package/Y): build -&gt; image name -&gt; (click package name) -&gt; Generated files

18. installed package runtime dependencies (/build/X/package/Y): build -&gt; image name -&gt; (click package name) -&gt; Runtime dependencies

19. installed package reverse runtime dependencies (/build/X/package/Y): build -&gt; image name -&gt; (click package name) -&gt; Runtime dependencies</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>61606</commentid>
    <comment_count>3</comment_count>
    <who name="Belen Barros Pena">belen.barros.pena</who>
    <bug_when>2016-04-25 13:51:39 +0000</bug_when>
    <thetext>Part of the &quot;UI cleaning&quot; work, so moving to 2.2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>63494</commentid>
    <comment_count>4</comment_count>
    <who name="Elliot Smith">elliot.smith</who>
    <bug_when>2016-06-30 11:08:44 +0000</bug_when>
    <thetext>Closing, as we have done the assessment; I&apos;ll make another issue to track the remaining work to convert tables.

Belen will email the mailing list with the work left to do.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>64008</commentid>
    <comment_count>5</comment_count>
    <who name="Libertad">libertad.gonzalez.de.la.cruz</who>
    <bug_when>2016-07-14 20:20:03 +0000</bug_when>
    <thetext>I cannot do a scenario since this was only an assessment.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>