<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE rdf:RDF[
	<!ENTITY rdf 'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
	<!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
	<!ENTITY owl 'http://www.w3.org/2002/07/owl#'>
	<!ENTITY swivt 'http://semantic-mediawiki.org/swivt/1.0#'>
	<!ENTITY wiki 'http://wikibase.nl/Special:URIResolver/'>
	<!ENTITY category 'http://wikibase.nl/Special:URIResolver/Category-3A'>
	<!ENTITY property 'http://wikibase.nl/Special:URIResolver/Property-3A'>
	<!ENTITY wikiurl 'https://open-csp.org/'>
]>

<rdf:RDF
	xmlns:rdf="&rdf;"
	xmlns:rdfs="&rdfs;"
	xmlns:owl ="&owl;"
	xmlns:swivt="&swivt;"
	xmlns:wiki="&wiki;"
	xmlns:category="&category;"
	xmlns:property="&property;">

	<owl:Ontology rdf:about="https://open-csp.org/Special:ExportRDF/DevOps-3ADoc/FlexForm/2.1/Form_options">
		<swivt:creationDate rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime">2026-04-30T10:08:09+02:00</swivt:creationDate>
		<owl:imports rdf:resource="http://semantic-mediawiki.org/swivt/1.0"/>
	</owl:Ontology>
	<swivt:Subject rdf:about="http://wikibase.nl/Special:URIResolver/DevOps-3ADoc/FlexForm/2.1/Form_options">
		<rdfs:label>Form options</rdfs:label>
		<rdfs:isDefinedBy rdf:resource="https://open-csp.org/Special:ExportRDF/DevOps-3ADoc/FlexForm/2.1/Form_options"/>
		<swivt:page rdf:resource="https://open-csp.org/DevOps-3ADoc/FlexForm/2.1/Form_options"/>
		<swivt:wikiNamespace rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">50000</swivt:wikiNamespace>
		<swivt:wikiPageContentLanguage rdf:datatype="http://www.w3.org/2001/XMLSchema#string">en</swivt:wikiPageContentLanguage>
		<property:Class rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Doc</property:Class>
		<property:Doc_sort_order rdf:datatype="http://www.w3.org/2001/XMLSchema#double">50</property:Doc_sort_order>
		<property:Doc_subject rdf:resource="&wiki;DevOps-3ADoc/FlexForm"/>
		<property:Doc_synopsis rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Arguments a FlexForm takes</property:Doc_synopsis>
		<property:Doc_target_group rdf:datatype="http://www.w3.org/2001/XMLSchema#string">User</property:Doc_target_group>
		<property:Doc_title_with_versions rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Form options (2.1)</property:Doc_title_with_versions>
		<property:Subject_version rdf:datatype="http://www.w3.org/2001/XMLSchema#string">2.1</property:Subject_version>
		<property:Title rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Form options</property:Title>
		<property:Has_query rdf:resource="&wiki;DevOps-3ADoc/FlexForm/2.1/Form_options-23_QUERYd6c92ae477e6aaf881d7af357c4b03e4"/>
		<swivt:wikiPageCreationDate rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime">2023-02-27T18:52:33Z</swivt:wikiPageCreationDate>
		<property:Creation_date-23aux rdf:datatype="http://www.w3.org/2001/XMLSchema#double">2460003.2864931</property:Creation_date-23aux>
		<property:Display_title_of rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Form options</property:Display_title_of>
		<swivt:wikiPageModificationDate rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime">2025-08-21T09:36:57Z</swivt:wikiPageModificationDate>
		<property:Modification_date-23aux rdf:datatype="http://www.w3.org/2001/XMLSchema#double">2460908.9006597</property:Modification_date-23aux>
		<swivt:wikiPageSortKey rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Doc/FlexForm/2.1/Form options</swivt:wikiPageSortKey>
		<property:Page_creator rdf:resource="&wiki;User-3ACharlot"/>
		<property:Page_author rdf:resource="&wiki;User-3AMaintenance_script"/>
		<property:Page_author rdf:resource="&wiki;User-3ACharlot"/>
		<property:Page_author rdf:resource="&wiki;User-3AEbc16062-2Ddd09-2D4928-2D8cf3-2D821f492b0c44"/>
		<property:Page_author rdf:resource="&wiki;User-3AFd4138e7-2D8b46-2D4c8f-2D99bf-2Dd4b738ebc295"/>
		<property:Page_ID rdf:datatype="http://www.w3.org/2001/XMLSchema#double">395</property:Page_ID>
		<property:External_links rdf:datatype="http://www.w3.org/2001/XMLSchema#string">https://www.mediawiki.org/wiki/Help:Magic_words#URL_data</property:External_links>
		<property:External_links rdf:datatype="http://www.w3.org/2001/XMLSchema#string">https://developers.google.com/recaptcha/docs/v3</property:External_links>
		<property:Parsed_text rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Name 
 form
 
 Type 
 form
 
 Synopsis 
 Various FlexForm options
 
 Description 
 Parameters you can add to the _form tag.
 
 Parameters 
  action  
  Action telling Flexform what this form is for  
 There are three options :
 
  addToWiki  : If no action is set, this is the default action. It will expect _create or _edit input telling it what to do with the form 
 get  : Same as addToWiki, except now the page FlexForm is going to after submit will have all form input and values in the url of the page. Handy to e.g. forward to the Wiki Search page. 
 email : Same as addToWiki, except now FlexForm will also look for the email options inside a form 
  formtarget  
  Change the html post action to a custom one  
 In some rare cases you might want to create a FlexForm, but not have FlexForm handle the post data. In that case use formtarget="your url here" to tell html form where to go when someone submits the data.
 See example 1
  Note: Keep in mind that this option will completely ignore FlexForm on form submission. No pages will be created or edited. 
 
 
  messageonsuccess  
  Show a custom message when form is successfully posted  
 It's sometimes handy to show a custom message when a form has been successfully posted, especially when after a post you return to the same form page.
  ( new since v2.2.10 ) The message will also be parsed to check for square bracket form attribute names and replace them with their values.
 See example 2
 
 
  attachmessageto  
  Where to show the message  
 By default, except for Ajax form submit, the default MediaWiki Message notifier is used to show your messageonsuccess or any of the other messages FlexForm might give (e.g. an error). Sometimes it can be handy to control where the notification pops-up, instead of the default right-top. You can use attachmessageto to attach the notification to an id of a certain HTML element. The notification will happen there. E.g. &lt;form attachmessageto="#my-unique-id"&gt; 
 
 
  mwreturn  
  Redirect to this page after submitting the form  
 When a form is submitted FlexForm will return to the page the Form was submitted from. You can change it to go to another page ( like a thank-you page for example ) by setting mwreturn. mwreturn="Thank-you-page". Provide a URL (the  localurl and fullurl magic words may come in handy).
 
 
  permissions  
  Overrule user permission on page edit or page create  
 Since version 2.1.12 
 FlexForm will check the users permission to edit or create a page. If a user is not allowed to create a page and the user submits a FlexForm that should create a page, a message will show the user has not the correct rights. ( The Wiki admin sets those rights ). Sometimes you do not want to give users ( or user groups ) edit or create rights, but you do want them to be able to e.g. create a new page using a FlexForm. You can then use the permissions argument. The value can be "can-edit", "can-create" or both "can-edit;can-create". The user will then be given the edit or create right using this FlexForm only.
 Note that the user will also need to be able to view the Special:FlexForm page to be able to submit forms, so this may need to be configured separately. For example if you want to allow anonymous users that are not logged in to use a form while normally they are not allowed to view pages in the wiki, you could add the special page to the $wgWhitelistRead setting.
  Since version 2.3.10 
 If you are using Semantic MediaWiki and the permissions argument, FlexForm will finish it creation or edit process by running the rebuildData function of Semantic MediaWiki for the specific page to make sure properties will be set.
 
 
  no_submit_on_return  
  Disable enter key for submitting a form  
 A HTML form usually gets submitted on pressing enter when there's like one text field. To disable that use the no_submit_on_return option.
This will add some JavaScript to the form disabling form submission on typing an enter.
 See example 3
 
 
  recaptcha-v3-action  
   recaptcha-action ( since v.2.2.11 )  
 Use reCaptcha Version 3 on a flexform 
 Have FlexForm use Google reCAPTCHA v3 to prevent spamming in a form.
 You need to add you recaptcha key and secret in the configuration.
 
   $wgFlexFormConfig [ 'rc_site_key' ]   =  "" ;  // reCaptcha site key 
 $wgFlexFormConfig [ 'rc_secret_key' ]  =  "" ;  // reCaptcha secret key 
  
Then you can use   recaptcha-v3-action="action name"
 
 Where action name is the name of the action to describe the form. It's an extra security measurement. You can choose your own name e.g. : contactform
 See example 4
 Since version 2.2.11 FlexForm supports ReCaptcha version 3, ReCaptcha Enterprise and ReCaptcha V2 (I'm not a robot).
We have renamed the form argument recaptcha-v3-action to recaptcha--action, but we still support the previous argument for backwards compatibility.
 We have also changed the configuration settings to :
 
   $wgFlexFormConfig [ 'rc_use' ]  =  "enterprise" ;  // Defaults to v3. Can be v2, v3 and enterprise 
 $wgFlexFormConfig [ 'rc_site_key' ]  =  "" ;  // for v2 and v3 
 $wgFlexFormConfig [ 'rc_secret_key' ]  =  "" ;  // for v2 and v3 
 $wgFlexFormConfig [ 'rce_project' ]  =  "" ;  // for enterprise 
 $wgFlexFormConfig [ 'rce_site_key' ]  =  "" ;  // for enterprise 
 $wgFlexFormConfig [ 'rce_api_key' ]  =  "" ;  // for enterprise 
 
 Note : reCAPTCHA v3 will not work when submitting the form through AJAX (mwidentifier="ajax") 
 Note : Please read the Google reCaptcha documentation on how to get your site key and secret key ( for reCaptcha v2 and v3 ), and read the reCaptcha Enterprise documentation to set and retrieve the Project , Site key and Api key s 
  autosave  
   Auto save forms on interval, after change or both  
 FlexForm autosave function allows for saving the open form in the background while someone is writing in it.
 This feature has 3 options:
 Save a form in the background on oninterval , on onchange or onboth . 
As of v1.1.28 onintervalafterchange has been added. 
 It support "normal" forms as well as a form with mwidentifier="ajax", meaning a form setup to be posted as an Ajax call. Also tested with TinyMCE ( tinymce extension ).
  TinyMCE Note : FlexForm will look for all elements that have a class name starting with "tinymce", as suggested by TinyMCE.
  
When using onboth , oninterval or onintervalafterchange a button will be added to the top of the form showing autosave interval is on. Clicking the button will turn interval saving off. When you turn it off and autosave is set to auto, the after change will still autosave. onintervalafterchange will add this button after a change has been detected.
 
 Config 
 The interval time and the after on change time can be set in the config file. When using interval or auto, the text for the button that appears above the form can be set in the config file. 
 To style the button to switch off and on the Interval saving classes are added to it in different states:
 When on it will have the classes : btn btn-primary ws-interval-on 
 When off it will have the classes : btn btn ws-interval-off 
 
 Parameters 
 On form create tag add autosave as parameter. e.g.
 This will set autosave to auto.
 
   &lt; form  id = "unique id per form"  autosave = "" &gt;&lt;/ form &gt; 
 
 
Set autosave to interval only :
 
   &lt; form  id = "unique id per form"  autosave = "oninterval" &gt;&lt;/ form &gt; 
 
 
Set autosave to change only :
 
   &lt; form  id = "unique id per form"  autosave = "onchange" &gt;&lt;/ form &gt; 
 
 Note: A form needs to have an unique identifier set by its id 
 Set autosave to interval after change only :
This will set the interval saving after a change has been detected. So it is basically the same as oninterval , except it won't start if there are no changes yet.
 
   &lt; form  id = "unique id per form"  autosave = "onintervalafterchange" &gt;&lt;/ form &gt; 
 
 Set autosave to none to not have autosave. This can be useful for templates that contain forms, when they should only have autosave in specific situations.
 
   &lt; form  id = "test-autosave-form"  autosave = "{{#if:...|auto|none}}"  &gt; 
 &lt; input  type = "text"  /&gt; 
 &lt; input  type = "submit"  /&gt; 
 &lt;/ form &gt; 
 
 
  setwikicomment  
  Set the summary text shown in the recent changes and or contributions  
 This can be really handy to describe what form or action was responsible for the changes in the Wiki.
 
   &lt; form  setwikicomment = "Edit user preference form"  &gt; 
  Your flexform elements here
 &lt;/ form &gt; 
 
 
  loadscript  
  Tell FlexForm to load a specific JavaScript with a form  
 Sometimes it can be handy to load a JavaScript to work with a Form. For example for Validation or Realtime look-ups and you only need to load that JavaScript for a specific form, instead of having it always be loaded in e.g. common.js.
  loadscript by default looks into the FlexForm/Modules/customJS/loadScripts extension folder to find the JavaScript you have entered as value for loadscript. If your JavaScript is called validateForms.js, then you copy that JavaScript into the default folder and add loadscript="validateForms" to the Form tag.
  
You can also specify a different default folder using the config setting : $wgFlexFormConfig['loadScriptPath'] = &lt;path to your scripts&gt;. See also Installation of FlexForm .
By request, if the script cannot be found, the form will not be rendered and a message is shown, so there is always a visual check available.
 
 
  extension  
  Have an extension do additional tasks with form values  
 You can create an extension for FlexForm that can do additonal tasks to a Form. See extension Docs for more information
 
   &lt; form  extension = "&lt;name of your extension"  &gt; 
  Your flexform elements here
 &lt;/ form &gt; 
 
 
  json  
 FlexForm accepts a certain form of JSON Schema to render a Form. See Form options/JSON for more information an on how to utilize this.
 
 
  json-type  
 This argument is used together with the json argument. See Form options/JSON for more information an on how to utilize this.
 
 
  no_disable_on_submit  
 When a form is submitted, the submit button will be set to disabled and a spinner is shown. To disable this behavior, you can add the no_disable_on_submit argument.
 
 
 Examples 
 Example 1 : formtarget
 
   &lt; form  formtarget = "https://example.com/handleform.php"  &gt; 
  Your flexform elements here
 &lt;/ form &gt; 
 
 Example 2 : messageonsuccess
 
   &lt; form  messageonsuccess = "Information posted, thanks!" &gt; 
  Your flexform elements here
 &lt;/ form &gt; 
 
 Example 3 : no_submit_on_return
 
   &lt; form  no_submit_on_return &gt; 
  Your flexform elements here
 &lt;/ form &gt; 
 
 Example 4 : reCaptcha v3
 
   &lt; form  recaptcha-v3-action = "contactform" &gt; 
  Your flexform elements here
 &lt;/ form &gt; 
 
 Note 
 If you want your form to have at least a bit of styling, you can use FlexForm's CSS. Simple add class="simple" to your form tag. This class will only work on FlexForm Forms. Not on any other element in HTML.
 
   &lt; form  class = "simple" &gt; 
  Your flexform elements here
 &lt;/ form &gt; 
 
 Normal default rendering:
 
   &lt; form  action = "get" &gt; 
  &lt; label  for = "testnostyle" &gt; My label &lt;/ label &gt;&lt; br &gt; 
  &lt; input  type = "text"  name = "testnostyle"  id = "testnostyle"  /&gt; 
  &lt; input  type = "submit"  value = "ok"  /&gt; 
 &lt;/ form &gt; 
 
  
 Please log in first. 
 with simple class style:
 
   &lt; form  action = "get"  class = "simple" &gt; 
  &lt; label  for = "teststyle" &gt; My label &lt;/ label &gt;&lt; br &gt; 
  &lt; input  type = "text"  name = "teststyle"  id = "teststyle"  /&gt; 
  &lt; input  type = "submit"  value = "ok"  /&gt; 
 &lt;/ form &gt; 
 
  
 Please log in first. 
 Links 
 https://developers.google.com/recaptcha/docs/v3</property:Parsed_text>
	</swivt:Subject>
	<swivt:Subject rdf:about="http://wikibase.nl/Special:URIResolver/DevOps-3ADoc/FlexForm/2.1/Form_options-23_QUERYd6c92ae477e6aaf881d7af357c4b03e4">
		<swivt:masterPage rdf:resource="&wiki;DevOps-3ADoc/FlexForm/2.1/Form_options"/>
		<swivt:wikiNamespace rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">50000</swivt:wikiNamespace>
		<property:Query_depth rdf:datatype="http://www.w3.org/2001/XMLSchema#double">0</property:Query_depth>
		<property:Query_format rdf:datatype="http://www.w3.org/2001/XMLSchema#string">plainlist</property:Query_format>
		<property:Query_size rdf:datatype="http://www.w3.org/2001/XMLSchema#double">1</property:Query_size>
		<property:Query_string rdf:datatype="http://www.w3.org/2001/XMLSchema#string">[[:DevOps:Doc/FlexForm/2.1/Form options]]</property:Query_string>
		<swivt:wikiPageSortKey rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Doc/FlexForm/2.1/Form options# QUERYd6c92ae477e6aaf881d7af357c4b03e4</swivt:wikiPageSortKey>
	</swivt:Subject>
	<swivt:Subject rdf:about="http://wikibase.nl/Special:URIResolver/DevOps-3ADoc/FlexForm/2.1/Form_options/JSON">
		<rdfs:label>JSON</rdfs:label>
		<rdfs:isDefinedBy rdf:resource="https://open-csp.org/Special:ExportRDF/DevOps-3ADoc/FlexForm/2.1/Form_options/JSON"/>
		<swivt:page rdf:resource="https://open-csp.org/DevOps-3ADoc/FlexForm/2.1/Form_options/JSON"/>
		<swivt:wikiNamespace rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">50000</swivt:wikiNamespace>
		<swivt:wikiPageContentLanguage rdf:datatype="http://www.w3.org/2001/XMLSchema#string">en</swivt:wikiPageContentLanguage>
		<property:Doc_parent rdf:resource="&wiki;DevOps-3ADoc/FlexForm/2.1/Form_options"/>
		<swivt:wikiPageSortKey rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Doc/FlexForm/2.1/Form options/JSON</swivt:wikiPageSortKey>
	</swivt:Subject>
	<owl:ObjectProperty rdf:about="http://wikibase.nl/Special:URIResolver/Property-3ADoc_parent">
		<rdfs:label>Doc parent</rdfs:label>
		<rdfs:isDefinedBy rdf:resource="https://open-csp.org/Special:ExportRDF/Property-3ADoc_parent"/>
		<swivt:page rdf:resource="https://open-csp.org/Property-3ADoc_parent"/>
		<swivt:wikiNamespace rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">102</swivt:wikiNamespace>
		<swivt:wikiPageContentLanguage rdf:datatype="http://www.w3.org/2001/XMLSchema#string">en</swivt:wikiPageContentLanguage>
		<swivt:wikiPageSortKey rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Doc parent</swivt:wikiPageSortKey>
		<swivt:type rdf:resource="http://semantic-mediawiki.org/swivt/1.0#_wpg"/>
	</owl:ObjectProperty>
	<owl:DatatypeProperty rdf:about="http://semantic-mediawiki.org/swivt/1.0#creationDate" />
	<owl:ObjectProperty rdf:about="http://semantic-mediawiki.org/swivt/1.0#page" />
	<owl:DatatypeProperty rdf:about="http://semantic-mediawiki.org/swivt/1.0#wikiNamespace" />
	<owl:DatatypeProperty rdf:about="http://semantic-mediawiki.org/swivt/1.0#wikiPageContentLanguage" />
	<owl:DatatypeProperty rdf:about="http://wikibase.nl/Special:URIResolver/Property-3AClass" />
	<owl:DatatypeProperty rdf:about="http://wikibase.nl/Special:URIResolver/Property-3ADoc_sort_order" />
	<owl:ObjectProperty rdf:about="http://wikibase.nl/Special:URIResolver/Property-3ADoc_subject" />
	<owl:DatatypeProperty rdf:about="http://wikibase.nl/Special:URIResolver/Property-3ADoc_synopsis" />
	<owl:DatatypeProperty rdf:about="http://wikibase.nl/Special:URIResolver/Property-3ADoc_target_group" />
	<owl:DatatypeProperty rdf:about="http://wikibase.nl/Special:URIResolver/Property-3ADoc_title_with_versions" />
	<owl:DatatypeProperty rdf:about="http://wikibase.nl/Special:URIResolver/Property-3ASubject_version" />
	<owl:DatatypeProperty rdf:about="http://wikibase.nl/Special:URIResolver/Property-3ATitle" />
	<owl:ObjectProperty rdf:about="http://wikibase.nl/Special:URIResolver/Property-3AHas_query" />
	<owl:DatatypeProperty rdf:about="http://semantic-mediawiki.org/swivt/1.0#wikiPageCreationDate" />
	<owl:DatatypeProperty rdf:about="http://wikibase.nl/Special:URIResolver/Property-3ACreation_date-23aux" />
	<owl:DatatypeProperty rdf:about="http://wikibase.nl/Special:URIResolver/Property-3ADisplay_title_of" />
	<owl:DatatypeProperty rdf:about="http://semantic-mediawiki.org/swivt/1.0#wikiPageModificationDate" />
	<owl:DatatypeProperty rdf:about="http://wikibase.nl/Special:URIResolver/Property-3AModification_date-23aux" />
	<owl:DatatypeProperty rdf:about="http://semantic-mediawiki.org/swivt/1.0#wikiPageSortKey" />
	<owl:ObjectProperty rdf:about="http://wikibase.nl/Special:URIResolver/Property-3APage_creator" />
	<owl:ObjectProperty rdf:about="http://wikibase.nl/Special:URIResolver/Property-3APage_author" />
	<owl:DatatypeProperty rdf:about="http://wikibase.nl/Special:URIResolver/Property-3APage_ID" />
	<owl:DatatypeProperty rdf:about="http://wikibase.nl/Special:URIResolver/Property-3AExternal_links" />
	<owl:DatatypeProperty rdf:about="http://wikibase.nl/Special:URIResolver/Property-3AParsed_text" />
	<owl:ObjectProperty rdf:about="http://semantic-mediawiki.org/swivt/1.0#masterPage" />
	<owl:DatatypeProperty rdf:about="http://wikibase.nl/Special:URIResolver/Property-3AQuery_depth" />
	<owl:DatatypeProperty rdf:about="http://wikibase.nl/Special:URIResolver/Property-3AQuery_format" />
	<owl:DatatypeProperty rdf:about="http://wikibase.nl/Special:URIResolver/Property-3AQuery_size" />
	<owl:DatatypeProperty rdf:about="http://wikibase.nl/Special:URIResolver/Property-3AQuery_string" />
	<owl:ObjectProperty rdf:about="http://semantic-mediawiki.org/swivt/1.0#type" />
	<!-- Created by Semantic MediaWiki, https://www.semantic-mediawiki.org/ -->
</rdf:RDF>