Difference: PreferencesPlugin (r19 vs. r18)

PreferencesPlugin

Allows editing of preferences using fields predefined in a form

Introduction

Allows editing of preferences using fields predefined in a TWikiForms. However, the edit fields are inlined in the text, similar to how tables are edited in EditTablePlugin.

Insert the %EDITPREFERENCES% variable (see below) anywhere in your topic. It will be replaced by a button that allows editing each preference in its predefined input format (or a text box, when no format is defined for this preference).

In edit mode, the edit button is replaced by Save and Cancel buttons, with their obvious meanings.

Syntax Rules

  • %EDITPREFERENCES{ "topic" editbutton="..." }%
    • topic references a TWikiForm defining the format of the edit fields for preferences. It may be prefixed by a web.
    • Optional editbutton parameter: Custom edit button label. Default: Edit Preferences.
    • If a preference setting is not mentioned in the form referenced by topic, a text input box of the specified length is provided.
    • Otherwise, the input can be through textareas, select, radio, checkbox, date, or text, as provided by TWikiForms.
  • %EDITPREFERENCES%
    • Edit existing preferences in the topic using a simple text field.

Examples

  • %EDITPREFERENCES%
  • %EDITPREFERENCES{ "%SYSTEMWEB%.TWikiPreferencesForm" }%
  • %EDITPREFERENCES{ "%SYSTEMWEB%.TWikiPreferencesForm" editbutton="Edit Group Settings" }%

Caveat

When the "Edit Preferences" button is clicked, the page is rendered in such a manner that it makes a big HTML form to update preferences. This form generation processing assumes that there is no HTML form tags (form, input, select, option, textarea tags) are present in the WebPreferences content. If HTML forms are present on WebPreferences, "Edit Preferences" may generate an HTML form not functioning well.

Meanwhile you may put HTML forms in TWiki.WebPreferences, which is included in every WebPreferences. To cope with that, inclusion of that topic is suppressed when "Edit Prefereces" is clicked.

Plugin Installation Instructions

This plugin is pre-installed. TWiki administrators can upgrade the plugin as needed on the TWiki server.

  • For an automated installation, run the configure script and follow "Find More Extensions" in the in the Extensions section.
  • Or, follow these manual installation steps:
    • Download the ZIP file from the extension home on twiki.org (see below).
    • Unzip PreferencesPlugin.zip in your twiki installation directory.
    • Set the ownership of the extracted directories and files to the webserver user.
    • Install the dependencies (if any).
  • Plugin configuration and testing:
    • Run the configure script and enable the plugin in the Plugins section.
    • Configure additional plugin settings in the Extensions section if needed.
    • Test if the installation was successful using the examples provided.
  • If the installation was successful, an edit button should appear below:

Plugin Info

  • One line description, shown in the TextFormattingRules topic:
    • Set SHORTDESCRIPTION = Allows editing of preferences using fields predefined in a form
Plugin Author: TWiki:Main.ThomasWeigert
Copyright: 2005 TWiki:Main.ThomasWeigert
2005-2013 2005-2015 TWiki:TWiki.TWikiContributor
License: GPL (GNU General Public License)
Plugin Version: 2013-09-08 2015-01-14
2013-09-08: 2015-01-15: TWikibug:Item7337 TWikibug:Item7604 : Fix for Uninitialized value warning when Switch from GPL v2 to v3 Local setting is used -- TWiki:Main.PeterThoeny
2013-05-30: 2014-05-30: TWikibug:Item7272 TWikibug:Item7504 : It may malfunction if %SYSTEMWEB%.WebPreferencesHelp contains an HTML form Fix for Use of uninitialized value in lc error -- TWiki:Main.HideyoImazu TWiki:Main.PeterThoeny
2013-04-19: 2014-03-24: TWikibug:Item7236 TWikibug:Item7467 : It should Fix for editbutton parameter not touch a variable working as expected whose type is label -- TWiki:Main.HideyoImazu TWiki:Main.PeterThoeny
2013-04-16: 2013-09-08: TWikibug:Item7231 TWikibug:Item7337 : It was confused by Set and Fix for Uninitialized value warning when Local of a same setting is used variable -- TWiki:Main.HideyoImazu TWiki:Main.PeterThoeny
2013-04-08: 2013-05-30: TWikibug:Item7219 TWikibug:Item7272 : Preserve order of type checkbox and select+multi as defined; It may malfunction if %SYSTEMWEB%.WebPreferencesHelp contains an HTML form support select+multi+values -- TWiki:Main.PeterThoeny TWiki:Main.HideyoImazu
2013-04-08: 2013-04-19: TWikibug:Item7202 TWikibug:Item7236 : Make "#" It should transparent so it also works when bgcolor is not white; Show "#" when the touch a variable whose type checkbox is disabled label -- TWiki:Main.MahiroAndo TWiki:Main.HideyoImazu
2013-04-05: 2013-04-16: TWikibug:Item7202 TWikibug:Item7231 : Stylesheet tweaks It was confused by Set and Local of a same variable -- TWiki:Main.PeterThoeny TWiki:Main.HideyoImazu
2013-04-04: 2013-04-08: TWikibug:Item7202 TWikibug:Item7219 : Use checkboxes to enable/disable variables Preserve order of type checkbox and select+multi as defined; support select+multi+values -- TWiki:Main.MahiroAndo TWiki:Main.PeterThoeny
2013-04-01: 2013-04-08: TWikibug:Item7208 TWikibug:Item7202 : Put radio buttons and checkboxes on same line like "Set Make "#" transparent so it also works when bgcolor is NAME = ", not below white; Show "#" when the checkbox is disabled -- TWiki:Main.HideyoImazu TWiki:Main.MahiroAndo
2013-03-27: 2013-04-05: TWikibug:Item7204 TWikibug:Item7202 : Suppress verbatim Stylesheet tweaks during editing preferences -- TWiki:Main.MahiroAndo TWiki:Main.PeterThoeny
2013-03-26: 2013-04-04: TWikibug:Item7202 : Support "Set" variants: "#Set", "Local", Use checkboxes to enable/disable variables and "#Local" -- TWiki:Main.MahiroAndo
2013-01-28: 2013-04-01: TWikibug:Item7091 TWikibug:Item7208 : Use TWISTY in Put radio buttons installation instructions and change history checkboxes on same line like "Set NAME = ", not below -- TWiki:Main.HideyoImazu
2012-11-15: 2013-03-27: TWikibug:Item7029 TWikibug:Item7204 : Redirect to master site when Suppress verbatim during editing preferences current site mode is slave. -- TWiki:Main.YaojunFei TWiki:Main.MahiroAndo
2012-11-15: 2013-03-26: TWikibug:Item7028 TWikibug:Item7202 : Disable submit button when current site is Support "Set" variants: "#Set", "Local", and "#Local" mode read-only or slave. -- TWiki:Main.YaojunFei TWiki:Main.MahiroAndo
2012-10-25: 2013-01-28: TWikibug:Item7009 TWikibug:Item7091 : "Edit Preferences" button is to fail Use TWISTY in installation instructions and if the user does not have change permission history -- TWiki:Main.HideyoImazu
2012-10-24: 2012-11-15: TWikibug:Item7008 TWikibug:Item7029 : Radio buttons were not displayed inline on webkit browsers Redirect to master site when current site mode is slave. -- TWiki:Main.HideyoImazu TWiki:Main.YaojunFei
2012-10-12: 2012-11-15: TWikibug:Item6969 TWikibug:Item7028 : Various edge cases were not handled properly. All of those problems Disable submit button when current site is mode read-only or slave. were fixed and the unit test enhanced accordingly. -- TWiki:Main.HideyoImazu TWiki:Main.YaojunFei
2012-10-05: 2012-10-25: TWikibug:Item6957 TWikibug:Item7009 : radio buttons, checkboxes, and "Edit Preferences" button is labels are now displayed on the same line as Set VAR =. All unit tests were failing due to test code problems. All of them were fixed. fail if the user does not have change permission -- TWiki:Main.HideyoImazu
2012-09-16: 2012-10-24: TWikibug:Item6934 TWikibug:Item7008 : Option for auto-hidden or fixed top menu-bar with FIXEDTOPMENU Radio buttons were not displayed inline on webkit browsers preferences setting -- TWiki:Main.PeterThoeny TWiki:Main.HideyoImazu
2012-04-12: 2012-10-12: TWikibug:Item6711 TWikibug:Item6969 : Fix for broken checkbox Various edge cases were not handled properly. All of those problems were fixed and select+multi input types the unit test enhanced accordingly. -- TWiki:Main.PeterThoeny TWiki:Main.HideyoImazu
2011-08-20: 2012-10-05: TWikibug:Item6711 TWikibug:Item6957 : Fix topic meta timestamp (needed for proper build) radio buttons, checkboxes, and labels are now displayed on the same line as Set VAR =. All unit tests were failing due to test code problems. All of them were fixed. -- TWiki:Main.PeterThoeny TWiki:Main.HideyoImazu
2011-07-27: 2012-09-16: TWikibug:Item6777 TWikibug:Item6934 : Scroll to Option for auto-hidden or fixed top menu-bar with FIXEDTOPMENU preferences section setting on edit; adding EDITMETHOD; changing LINKTOOLTIPINFO to select -- TWiki:Main.PeterThoeny
2011-07-08: 2012-04-12: TWikibug:Item6725 TWikibug:Item6711 : Change global package variables from "use vars" to Fix for broken checkbox and select+multi input types "our" -- TWiki:Main.PeterThoeny
2011-06-10: 2011-08-20: TWikibug:Item6748 TWikibug:Item6711 : New Fix topic meta timestamp (needed for proper build) -- editbutton parameter -- TWiki:Main.PeterThoeny
2011-02-09: 2011-07-27: TWikibug:Item6593 TWikibug:Item6777 : Larger size for URL fields Scroll to preferences section on edit; adding EDITMETHOD; changing LINKTOOLTIPINFO to select -- TWiki:Main.PeterThoeny
2011-02-01: 2011-07-08: TWikibug:Item6615 TWikibug:Item6725 : Adding type 'color' Change global package variables from "use vars" to WEBBGCOLOR because "our" -- TWiki:Plugins.ColorPickerPlugin is part of the core distribution since TWiki-5.1 -- TWiki:Main.PeterThoeny
2010-05-15: 2011-06-10: TWikibug:Item6433 TWikibug:Item6748 : Doc New improvements; replacing TWIKIWEB with SYSTEMWEB -- editbutton parameter -- TWiki:Main.PeterThoeny
17 2011-02-09: Apr 2009: Save of preferences can only be done with http POST method, not GET -- TWikibug:Item6593 : Larger size for URL fields -- TWiki:Main.PeterThoeny
05 2011-02-01: Nov 2007: Kenneth Lavrsen fixed problem when settings are hidden in html comments. These settings are now ignored. TWikibug:Item6615 : Adding type 'color' to WEBBGCOLOR because TWiki:Plugins.ColorPickerPlugin is part of the core distribution since TWiki-5.1 -- TWiki:Main.PeterThoeny
23 2010-05-15: Jun 2007: Crawford Currie added testcases, recoded to work without a form definition, fixed for TWiki 4.2 TWikibug:Item6433 : Doc improvements; replacing TWIKIWEB with SYSTEMWEB -- TWiki:Main.PeterThoeny
08 Feb 2007: 17 Apr 2009: Arthur Clemens added access keys for Save and Cancel, bold style for editable preference names, and a descriptive Save button of preferences can only be done with http POST method, not GET -- label. TWiki:Main.PeterThoeny
15 Apr 2006: 05 Nov 2007: Adding css classes to buttons. Kenneth Lavrsen fixed problem when Removed debug print statement causing 500s on SunOne. Prevent extra space in settings on saves. are hidden Switched to earlier handler. Converted all SCRIPTURL to SCRIPTURLPATH, and added support. The only SCRIPTURLs should be the one in the BASE tag and those in mail html comments. These settings are now ignored. notification templates. Because the forms package was throwing an exception when it failed to create a form, the edit preferences plugin was aborting the whole of the session whenever the form specified in EDITPREFERENCES didn't exist. Changed it so that the Form constructor does not throw, but returns undef on a non-existant form, and changed preferences plugin to be tolerant of missing forms (ie defaults all fields to text if the form is missing, of is a Set exists which is not in the form).
26 May 2005: 23 Jun 2007: Crawford Currie added testcases, recoded to use code from work without a Form.pm to render form fields. definition, fixed for TWiki 4.2
08 May 2005: Feb 2007: Add plugin Arthur Clemens added access keys for Save and Cancel, bold style for editable preference to define default input length names, and a descriptive Save button label.
07 May 2005: 15 Apr 2006: Initial version Adding css classes to buttons. Removed debug print statement causing 500s on SunOne. Prevent extra space in settings on saves. Switched to earlier handler. Converted all SCRIPTURL to SCRIPTURLPATH, and added support. The only SCRIPTURLs should be the one in the BASE tag and those in mail notification templates. Because the forms package was throwing an exception when it failed to create a form, the edit preferences plugin was aborting the whole of the session whenever the form specified in EDITPREFERENCES didn't exist. Changed it so that the Form constructor does not throw, but returns undef on a non-existant form, and changed preferences plugin to be tolerant of missing forms (ie defaults all fields to text if the form is missing, of is a Set exists which is not in the form).
26 May 2005: Crawford Currie recoded to use code from Form.pm to render form fields.
08 May 2005: Add plugin preference to define default input length
07 May 2005: Initial version
TWiki Dependency: $TWiki::Plugins::VERSION 1.026
CPAN Dependencies: none
Other Dependencies: none
Perl Version: 5.005
TWiki:Plugins/Benchmark: GoodStyle nn%, FormattedSearch nn%, PreferencesPlugin nn%
Plugin Home: http://TWiki.org/cgi-bin/view/Plugins/PreferencesPlugin
Feedback: http://TWiki.org/cgi-bin/view/Plugins/PreferencesPluginDev
Appraisal: http://TWiki.org/cgi-bin/view/Plugins/PreferencesPluginAppraisal

Related Topics: TWikiPreferencesForm, TWikiPreferences, TWikiForms, TWikiPlugins

 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 1999-2020 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback
Note: Please contribute updates to this topic on TWiki.org at TWiki:TWiki.PreferencesPlugin.