Difference: PreferencesPlugin (r17 vs. r16)

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 TWiki:TWiki.TWikiContributor
License: GPL (GNU General Public License)
Plugin Version: 2013-01-28 2013-09-08
2013-01-28: 2013-09-08: TWikibug:Item7091 TWikibug:Item7337 : Use TWISTY in installation instructions and change history Fix for Uninitialized value warning when Local setting is used -- TWiki:Main.PeterThoeny
2012-11-15: 2013-05-30: TWikibug:Item7029 TWikibug:Item7272 : Redirect to master site when current site mode is It may malfunction if %SYSTEMWEB%.WebPreferencesHelp contains an HTML form slave. -- TWiki:Main.YaojunFei TWiki:Main.HideyoImazu
2012-11-15: 2013-04-19: TWikibug:Item7028 TWikibug:Item7236 : Disable submit button when current site It should not touch a variable whose type is mode label read-only or slave. -- TWiki:Main.YaojunFei TWiki:Main.HideyoImazu
2012-10-25: 2013-04-16: TWikibug:Item7009 TWikibug:Item7231 : "Edit Preferences" button is to fail if the user does not It was confused by Set and Local of a same variable have change permission -- TWiki:Main.HideyoImazu
2012-10-24: 2013-04-08: TWikibug:Item7008 TWikibug:Item7219 : Radio buttons were not displayed inline on webkit browsers Preserve order of type checkbox and select+multi as defined; support select+multi+values -- TWiki:Main.HideyoImazu TWiki:Main.PeterThoeny
2012-10-12: 2013-04-08: TWikibug:Item6969 TWikibug:Item7202 : Various edge cases were Make "#" transparent so it also works when bgcolor is not handled properly. All of white; Show "#" when those problems were fixed and the unit test enhanced checkbox is disabled accordingly. -- TWiki:Main.HideyoImazu TWiki:Main.MahiroAndo
2012-10-05: 2013-04-05: TWikibug:Item6957 TWikibug:Item7202 : radio buttons, Stylesheet tweaks 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.HideyoImazu TWiki:Main.PeterThoeny
2012-09-16: 2013-04-04: TWikibug:Item6934 TWikibug:Item7202 : Option for auto-hidden or fixed Use checkboxes to enable/disable variables top menu-bar with FIXEDTOPMENU preferences setting -- TWiki:Main.PeterThoeny TWiki:Main.MahiroAndo
2012-04-12: 2013-04-01: TWikibug:Item6711 TWikibug:Item7208 : Fix for broken Put radio buttons checkbox and select+multi input types checkboxes on same line like "Set NAME = ", not below -- TWiki:Main.PeterThoeny TWiki:Main.HideyoImazu
2011-08-20: 2013-03-27: TWikibug:Item6711 TWikibug:Item7204 : Fix topic meta timestamp (needed Suppress verbatim during editing preferences for proper build) -- TWiki:Main.PeterThoeny TWiki:Main.MahiroAndo
2011-07-27: 2013-03-26: TWikibug:Item6777 TWikibug:Item7202 : Scroll to preferences section on edit; adding Support "Set" variants: "#Set", "Local", and "#Local" EDITMETHOD; changing LINKTOOLTIPINFO to select -- TWiki:Main.PeterThoeny TWiki:Main.MahiroAndo
2011-07-08: 2013-01-28: TWikibug:Item6725 TWikibug:Item7091 : Change global package variables from "use vars" to Use TWISTY in installation instructions and change history "our" -- TWiki:Main.PeterThoeny
2011-06-10: 2012-11-15: TWikibug:Item6748 TWikibug:Item7029 : New Redirect to master site when current site mode is slave. -- editbutton TWiki:Main.YaojunFei parameter -- TWiki:Main.PeterThoeny
2011-02-09: 2012-11-15: TWikibug:Item6593 TWikibug:Item7028 : Larger size for URL fields Disable submit button when current site is mode read-only or slave. -- TWiki:Main.PeterThoeny TWiki:Main.YaojunFei
2011-02-01: 2012-10-25: TWikibug:Item6615 TWikibug:Item7009 : Adding type 'color' "Edit Preferences" button is to WEBBGCOLOR because fail if the user does not have change permission -- TWiki:Plugins.ColorPickerPlugin TWiki:Main.HideyoImazu is part of the core distribution since TWiki-5.1 -- TWiki:Main.PeterThoeny
2010-05-15: 2012-10-24: TWikibug:Item6433 TWikibug:Item7008 : Doc improvements; replacing TWIKIWEB with SYSTEMWEB Radio buttons were not displayed inline on webkit browsers -- TWiki:Main.PeterThoeny TWiki:Main.HideyoImazu
17 2012-10-12: Apr 2009: Save of preferences can only be done with http POST method, not GET -- TWikibug:Item6969 TWiki:Main.PeterThoeny : Various edge cases were not handled properly. All of those problems were fixed and the unit test enhanced accordingly. -- TWiki:Main.HideyoImazu
05 2012-10-05: Nov 2007: Kenneth Lavrsen fixed problem when settings are hidden in html comments. These settings are now ignored. TWikibug:Item6957 : 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.HideyoImazu
23 2012-09-16: Jun 2007: Crawford Currie added testcases, recoded to work without a form definition, fixed for TWiki 4.2 TWikibug:Item6934 : Option for auto-hidden or fixed top menu-bar with FIXEDTOPMENU preferences setting -- TWiki:Main.PeterThoeny
08 2012-04-12: Feb 2007: Arthur Clemens added access keys for Save and Cancel, bold style for editable preference names, and a descriptive Save button label. TWikibug:Item6711 : Fix for broken checkbox and select+multi input types -- TWiki:Main.PeterThoeny
15 2011-08-20: Apr 2006: 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). TWikibug:Item6711 : Fix topic meta timestamp (needed for proper build) -- TWiki:Main.PeterThoeny
26 2011-07-27: May 2005: Crawford Currie recoded to use code from Form.pm to render form fields. TWikibug:Item6777 : Scroll to preferences section on edit; adding EDITMETHOD; changing LINKTOOLTIPINFO to select -- TWiki:Main.PeterThoeny
08 2011-07-08: May 2005: Add plugin preference to define default input length TWikibug:Item6725 : Change global package variables from "use vars" to "our" -- TWiki:Main.PeterThoeny
07 2011-06-10: May 2005: Initial version TWikibug:Item6748 : New editbutton parameter -- TWiki:Main.PeterThoeny
2011-02-09: TWikibug:Item6593: Larger size for URL fields -- TWiki:Main.PeterThoeny
2011-02-01: TWikibug:Item6615: Adding type 'color' to WEBBGCOLOR because TWiki:Plugins.ColorPickerPlugin is part of the core distribution since TWiki-5.1 -- TWiki:Main.PeterThoeny
2010-05-15: TWikibug:Item6433: Doc improvements; replacing TWIKIWEB with SYSTEMWEB -- TWiki:Main.PeterThoeny
17 Apr 2009: Save of preferences can only be done with http POST method, not GET -- TWiki:Main.PeterThoeny
05 Nov 2007: Kenneth Lavrsen fixed problem when settings are hidden in html comments. These settings are now ignored.
23 Jun 2007: Crawford Currie added testcases, recoded to work without a form definition, fixed for TWiki 4.2
08 Feb 2007: Arthur Clemens added access keys for Save and Cancel, bold style for editable preference names, and a descriptive Save button label.
15 Apr 2006: 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.