Tags:
archive_me1Add my vote for this tag create new tag
, view all tags

Bug: Defect in ChangeProposalForm

The new bug sumission form generates in the "Impact and Available Solutions" an editable table.

If one does not select an item during the submission, the following happens:

  • First, no items are visible.
  • When editing the table, there is a checkbox in each category with a list of items behind it. This leads the user to believe that one can only select all items at once, and most likely the user will not select the box.
  • If the check box is selected, the topic view shows all items chosen.
  • When one now edits the table again, all the items in each category are prefixed by a checkbox, with the previously selected category having all items selected.
  • Now the user needs to unselect the inappropriate items, and finally one can use the table as intended.

%EDITCELL{checkbox, 4, Install, I18n, L10n, Auth, Prefs, Skins, Rendering, Vars, Search, Plugins, UI, Refactoring, Documentation, Performance, Published API, Security}% 

If one did selecct items during the submission, the situation is slightly different:

  • First the selected items are visible.
  • When editing the table, there is a checkbox in each category with a list of items behind it. The category which contains items previously selected is selected.
  • When saving the table, all items are now selected, albeit one might have originally only selected one item in that category.
  • When one now edits the table again, all the items in each category are prefixed by a checkbox, with the previously selected category having all items selected.
  • Now the user needs to unselect the inappropriate items, and finally one can use the table as intended.

Test case

Submit a bug report via BugReport.

Environment

TWiki version: TWikiRelease02Sep2004
TWiki plugins: DefaultPlugin, EmptyPlugin, InterwikiPlugin
Server OS:  
Web server:  
Perl version:  
Client OS:  
Web Browser:  

-- ThomasWeigert - 14 Feb 2005

Impact and Available Solutions

Follow up

Drat, I thought I'd tested that :/

I'll have a look at it tomorrow when I wake up

-- SamHasler - 14 Feb 2005

I'd like to rename this to ProposalTemplateEditTableDefect as it's not a problem with ChangeProposalForm, but the templates that use it.

-- SamHasler - 14 Feb 2005

This was due to the way I defined the templates. The table is as follows:

%EDITTABLE{format="|label,1|text,70|" changerows="off"}%
|    WhatDoesItAffect: |  %WHATDOESITAFFECT% |
|  AffectedExtensions: |  %AFFECTEDEXTENSIONS% |
|    AffectedReleases: |  %AFFECTEDRELEASES% |
|     HaveQuickFixFor: |  %HAVEQUICKFIXFOR% |

and then in WebPreferences I defined the following variables:

   * Categorys for EDITCELL definitions in ChangeProposal Templates (see below) and HTML forms for creating topics using the templates (e.g. FeatureRequest)
      * Set WHATDOESITAFFECTCATEGORIES =   Install, I18n, L10n, Auth, Prefs, Skins, Rendering, Vars, Search, Plugins, UI, Refactoring, Documentation, Performance, Published API, Security
      * Set AFFECTEDEXTENSIONSCATEGORIES = %SEARCH{"[T]opicClassification.*value\=\".*(AddOnPackage|ContributedCode|PluginPackage|SkinPackage)\"" regex="on" web="Plugins" nosearch="on" nototal="on" format=" $web.$topic" separator="," }%
      * Set AFFECTEDRELEASESCATEGORIES =   TWikiRelease02Sep2004, TWikiRelease01Sep2004, TWikiRelease01Feb2003, TWikiRelease01Dec2001, TWikiRelease01Sep2001, %SEARCH{ "TWikiBetaRelease[0-9]+x[0-9]+x[0-9]+" scope="topic" web="Codev" reverse="on" type="regex" nosearch="on" nototal="on" format=" $topic" separator="," }%, latest TWikiAlphaRelease
      * Set HAVEQUICKFIXFORCATEGORIES =    TWikiRelease02Sep2004, TWikiRelease01Sep2004, TWikiRelease01Feb2003, TWikiRelease01Dec2001, TWikiRelease01Sep2001, %SEARCH{ "TWikiBetaRelease[0-9]+x[0-9]+x[0-9]+" scope="topic" web="Codev" reverse="on" type="regex" nosearch="on" nototal="on" format=" $topic" separator="," }%, latest TWikiAlphaRelease
   * EDITCELL definitions in ChangeProposal Templates (e.g. FeatureRequestTopicTemplate)
      * Set WHATDOESITAFFECT =   %EDITCELL{checkbox, 4, %WHATDOESITAFFECTCATEGORIES%}%
      * Set AFFECTEDEXTENSIONS = %EDITCELL{checkbox, 3, %AFFECTEDEXTENSIONSCATEGORIES%}%
      * Set AFFECTEDRELEASES =   %EDITCELL{checkbox, 3, %AFFECTEDRELEASESCATEGORIES%}%
      * Set HAVEQUICKFIXFOR =    %EDITCELL{checkbox, 3, %HAVEQUICKFIXFORCATEGORIES%}%

As you can see the variables that are used in the template are defined in terms of other variables. It appears that the second level variables were not expanded untill they had be used as a single value for the editcell checkbox list, and then expanded to give that value, when they should have been expanded beforehand to give the complete list. When the table was saved it saved the expanded variables and it would then work correctly on the next edit.

This is all due to a peculiarity in the way EditTablePlugin works.

-- SamHasler - 14 Feb 2005

Fix record

I've now changed them so the lists are defined in the editcell definitions without using variables:

   * Categorys for EDITCELL definitions in ChangeProposal Templates (see below) and HTML forms for creating topics using the templates (e.g. FeatureRequest)
      * Set WHATDOESITAFFECTCATEGORIES =   Install, I18n, L10n, Auth, Prefs, Skins, Rendering, Vars, Search, Plugins, UI, Refactoring, Documentation, Performance, Published API, Security
      * Set AFFECTEDEXTENSIONSCATEGORIES = %SEARCH{"[T]opicClassification.*value\=\".*(AddOnPackage|ContributedCode|PluginPackage|SkinPackage)\"" regex="on" web="Plugins" nosearch="on" nototal="on" format=" $web.$topic" separator="," }%
      * Set AFFECTEDRELEASESCATEGORIES =   TWikiRelease02Sep2004, TWikiRelease01Sep2004, TWikiRelease01Feb2003, TWikiRelease01Dec2001, TWikiRelease01Sep2001, %SEARCH{ "TWikiBetaRelease[0-9]+x[0-9]+x[0-9]+" scope="topic" web="Codev" reverse="on" type="regex" nosearch="on" nototal="on" format=" $topic" separator="," }%, latest TWikiAlphaRelease
      * Set HAVEQUICKFIXFORCATEGORIES =    TWikiRelease02Sep2004, TWikiRelease01Sep2004, TWikiRelease01Feb2003, TWikiRelease01Dec2001, TWikiRelease01Sep2001, %SEARCH{ "TWikiBetaRelease[0-9]+x[0-9]+x[0-9]+" scope="topic" web="Codev" reverse="on" type="regex" nosearch="on" nototal="on" format=" $topic" separator="," }%, latest TWikiAlphaRelease
   * EDITCELL definitions in ChangeProposal Templates (e.g. FeatureRequestTopicTemplate)
      * Set WHATDOESITAFFECT =   %EDITCELL{checkbox, 4, Install, I18n, L10n, Auth, Prefs, Skins, Rendering, Vars, Search, Plugins, UI, Refactoring, Documentation, Performance, Published API, Security}%
      * Set AFFECTEDEXTENSIONS = %EDITCELL{checkbox, 3, %SEARCH{"[T]opicClassification.*value\=\".*(AddOnPackage|ContributedCode|PluginPackage|SkinPackage)\"" regex="on" web="Plugins" nosearch="on" nototal="on" format=" $web.$topic" separator="," }%}%
      * Set AFFECTEDRELEASES =   %EDITCELL{checkbox, 3,  TWikiRelease02Sep2004, TWikiRelease01Sep2004, TWikiRelease01Feb2003, TWikiRelease01Dec2001, TWikiRelease01Sep2001, %SEARCH{ "TWikiBetaRelease[0-9]+x[0-9]+x[0-9]+" scope="topic" web="Codev" reverse="on" type="regex" nosearch="on" nototal="on" format=" $topic" separator="," }%, latest TWikiAlphaRelease}%
      * Set HAVEQUICKFIXFOR =    %EDITCELL{checkbox, 3, TWikiRelease02Sep2004, TWikiRelease01Sep2004, TWikiRelease01Feb2003, TWikiRelease01Dec2001, TWikiRelease01Sep2001, %SEARCH{ "TWikiBetaRelease[0-9]+x[0-9]+x[0-9]+" scope="topic" web="Codev" reverse="on" type="regex" nosearch="on" nototal="on" format=" $topic" separator="," }%, latest TWikiAlphaRelease}%

-- SamHasler - 14 Feb 2005

Rather than searching for the affected releases through the Codev web, I suggest you take it from the table in TWikiBetaRelease. You are now grabbing beta releases from earlier twiki releases. I think that should not be included in this topic. I can see that you want to show whether something affects an earlier release, but nobody would ever go back and check against an earlier beta release. So this just gives a lot of check boxes for nothing. The end effect is that people don't fill it in (see the "affected extensions" check box).

-- ThomasWeigert - 17 Feb 2005

Good idea. I'll look into it. (I note that you had to refactor the topic to make it possible though wink )

-- SamHasler - 18 Feb 2005

You have good eyes. But this was the intention with respect to the Beta releases... Really we should also drive the check boxes in "Tested for ..." in the Plugin form this way....

-- ThomasWeigert - 18 Feb 2005

Discussion

It would be worth putting in a feature request for EditTablePlugin so that the variables could be used as originally defined and so that it does not expand variables when saving.

-- SamHasler - 14 Feb 2005

N.B., the list of AffectedExtensions seems useless, as it is very difficult to know whether and how a bug affects any of the plugins. The categories in WhatDoesItAffect need some explanation. Also, for none of the bugs so far I have submitted I found a suitable item to select.

-- ThomasWeigert - 14 Feb 2005

I've addressed the issues with AffectedExtensions and WhatDoesItAffect in those topics. Please follow up in those topics.

-- SamHasler - 18 Feb 2005

To simplify new feature proposals I removed the AffectedExtensions and HaveQuickFixFor table rows from the FeatureRequestTopicTemplate because they are virtually unused.

-- PeterThoeny - 08 May 2007

Edit | Attach | Watch | Print version | History: r8 < r7 < r6 < r5 < r4 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r8 - 2007-05-08 - PeterThoeny
 
  • Learn about TWiki  
  • Download TWiki
This site is powered by the TWiki collaboration platform Powered by Perl Hosted by OICcam.com Ideas, requests, problems regarding TWiki? Send feedback. Ask community in the support forum.
Copyright © 1999-2017 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.