Tags:
create new tag
, view all tags

Feature Proposals » New FORM and EDITFORM Variables

Summary

Current State: Developer: Reason: Date: Concerns By: Bug Tracking: Proposed For:
MergedToCore PeterThoeny AcceptedBy7DayFeedbackPeriod 2013-12-21   TWikibug:Item7461 KampalaRelease

Edit Form

TopicSummary:
CurrentState:
CommittedDeveloper:
ReasonForDecision:
DateOfCommitment:   Format: YYYY-MM-DD
ConcernRaisedBy:
BugTracking:
OutstandingIssues:
RelatedTopics:
InterestedParties:
ProposedFor:
TWikiContributors:
 

Motivation

TWiki-6.0 has a new EDITFORMFIELD variable. It already allows building forms using just TML. The new FORM and EDITFORM variables makes it more intuitive to build custom TWiki apps.

Description and Documentation

The new FORM and EDITFORM variable is designed to be used for two purposes:

  • Show form data: FORM variable
  • Edit form data: EDITFORM variable

FORM -- renders a TWiki form for view

  • Show a table containing data of a TWiki form attached to a topic
  • Syntax: %FORM{topic="..." formfields="..." ...}%
  • Supported parameters:
    Parameter: Description: Default:
    "..." or
    topic="..."
    Name of topic containing the TWiki form, such as "Bug1234". Specify topic name or Web.TopicName Current topic
    rev="..." Get the form from the specified topic revision, range "1" to top revision of topic. "0" is equivalent to the top revision The rev URL parameter value if present, else the top revision
    formfields="..., ..." Specify names of TWiki form fields to show, in sequence. The all token shows all remaining fields. "all"
    header="..." Form header, typically containing the form name. If "on", the default format "|  *[[$formweb.$formtopic][$formtopic]]*  ||" is used. If "none", the header is suppressed. Supported variables:
    $formweb - name of web containing the form definition.
    $formtopic - name of topic containing the form definition.
    "on"
    format="..." Format of one form field. Supported variables:
    $title - raw field name (includes space and other special characters).
    $name - field name (sanitized title).
    $type - form field type.
    $size - size of field or selector.
    $value - form field value.
    $value(20, -<br />) - value hyphenated every 20 characters using separator -<br />.
    $value(30, ...) - value shortened to 30 characters.
    $length - length of form field value.
    $tooltip - tooltip message.
    $attributes - type attributes, such as H for hidden, M for mandatory.
    $formweb - name of web containing the form definition.
    $formtopic - name of topic containing the form definition.
    See details in TWikiForms#FormFieldTypes.
    "| $title: | $value |"
    separator="..." Line separator. Variable $br expands to <br /> tag, and $n to a newline. "$n"
    default="..." Text shown when no form or form fields are found ""
    newline="$br" Convert newlines in textarea to other delimiters. Variable $br expands to <br /> tag, and $n to a newline. Other text is encoded based on encode parameter. "$br" if format is a TWiki table, else "\n"
    encode="html" Encode special characters in form field value into HTML entities. Additional encodings available: encode="quote", encode="moderate", encode="safe", encode="entity" and encode="url". See ENCODE for details. "" (no encoding)
    showhidden="..." Set to "on" to show also hidden form fields. ""
  • Examples:
    • %FORM{topic="%INCLUDINGTOPIC%"}% - show form data of the including topic (typically used in an included header)
    • %FORM{topic="Projects.SushiProject" formfields="Title, Status, Deadline" header="none"}% - show a subset of form fields
    • %FORM{format="$name" header="none" separator=", "}% - get all visible form field names as a list
  • Category: DatabaseAndFormsVariables, DevelopmentVariables
  • Related: EDITFORM, EDITFORMFIELD, ENCODE, ENTITY, FORMFIELD, META, METASEARCH, SEARCH, TWikiForms, FormattedSearch, QuerySearch, SearchHelp

EDITFORM -- renders a TWiki form for edit

  • Show an HTML form to update the TWiki form data of a topic.
  • Syntax to update a TWiki form: %EDITFORM{topic="..." formfields="..."}%
  • Supported parameters:
    Parameter: Description: Default:
    "..." or
    topic="..."
    Name of topic containing the TWiki form, such as "Bug1234". Specify topic name or Web.TopicName Either "...", topic=""
    or formtemplate=""
    is required
    formtemplate="..." Name of form template topic, such as "BugForm". Specify topic name or Web.TopicName
    elements="..." Elements of edit form: formstart is the HTML form tag, header the form header, formfields the form fields, submit the submit button, hiddenfields are hidden input fields, formend is the HTML form end tag. "formstart, header,
      formfields, submit, hidden, formend"
    header="..." Form header, typically containing the form name. If "on", the default format is used:
    "|  *[[$formweb.$formtopic][$formtopic]]*  ||"
    Supported variables:
    $formweb - name of web containing the form definition.
    $formtopic - name of topic containing the form definition.
    "on"
    formfields="..., ..." Specify names of TWiki form fields to use, in sequence. The all token shows all remaining fields. "all"
    format="..." Format of one form field. Supported variables:
    $inputfield - rendered form input field.
    $title - raw field name (includes space and other special characters).
    $name - field name (sanitized title).
    $size - size of field or selector.
    $value - initial value, or select options.
    $tooltip - tooltip message.
    $attributes - type attributes, such as H for hidden, M for mandatory.
    $extra - extra information, such as * for mandatory field.
    $formweb - name of web containing the form definition.
    $formtopic - name of topic containing the form definition.
    See details in TWikiForms#FormFieldTypes.
    "| $title: $extra | $inputfield |"
    hiddenfields="..., ..." List of form field names to use as hidden fields. For each name listed in hiddenfields="", add a name="value" parameter to specify the value of the hidden input field. If you omit the name="value" parameter for a hidden input field, it will be excluded as a form field, even with a formfields="all". ""
    submit="..." Format of submit button row. Line separator. Variable $submit expands to submit input field with label "Save", $submit(Save) to a submit input field with specific label. "| | $submit |"
    onsubmit="..." Execute JavaScript when the form is submitted, optional. ""
    action="..." Specify a TWiki script (view, edit, save, ...), or the full URL of an action to take on form submit. "save"
    method="..." HTML form action method. "post" for save
    action, else "get"
    separator="..." Line separator. Variable $br expands to <br /> tag, and $n to a newline. "$n"
    default="..." Text shown when no form or form fields are found ""
  • Example: %EDITFORM{ topic="%INCLUDINGTOPIC%" }% - show HTML form to update form data of the including topic (typically used in an included header)
  • Example: Custom form in an included header to update some form field values of the base topic, including one hidden field:
    %EDITFORM{
      topic="%BASEWEB%.%BASETOPIC%"
      formfields="Priority, Status"
      hiddenfields="Updated"
      Updated="%SERVERTIME{$year-$mo-$day}%"
      submit=" | | $submit(Update) |"
    }%
  • Category: DatabaseAndFormsVariables, DevelopmentVariables, EditingAndContentUpdateVariables
  • Related: EDITFORMFIELD, ENCODE, ENTITY, FORM, FORMFIELD, META, METASEARCH, SEARCH, TWikiForms, FormattedSearch, QuerySearch, SearchHelp, TWikiScripts, TWikiTemplates

Impact

Implementation

-- Contributors: Peter Thoeny - 2013-12-21

Discussion

I just discovered the RenderFormPlugin that covers this feature using a %RENDERFORM% variable. I'll update the spec here to possibly align the syntax.

-- Peter Thoeny - 2013-12-22

This feature proposal is now accepted by the 7 day feedback period.

I split it up into FORM and EDITFORM variables to bring it in line with the existing FORMFIELD and EDITFORMFIELD variables.

-- Peter Thoeny - 2013-12-29

I refined the spec and updated the docs of EDITFORM variable.

-- Peter Thoeny - 2014-06-11

EDITFORM is now done too.

-- Peter Thoeny - 2014-06-11

Edit | Attach | Watch | Print version | History: r6 < r5 < r4 < r3 < r2 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r6 - 2014-06-11 - 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.