<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://en.wiki.bluespice.com/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Bhuber</id>
	<title>BlueSpice Helpdesk - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://en.wiki.bluespice.com/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Bhuber"/>
	<link rel="alternate" type="text/html" href="https://en.wiki.bluespice.com/wiki/Special:Contributions/Bhuber"/>
	<updated>2026-06-26T13:55:47Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://en.wiki.bluespice.com/w/index.php?title=Sandbox5.2.5&amp;diff=14359</id>
		<title>Sandbox5.2.5</title>
		<link rel="alternate" type="text/html" href="https://en.wiki.bluespice.com/w/index.php?title=Sandbox5.2.5&amp;diff=14359"/>
		<updated>2026-06-23T09:40:17Z</updated>

		<summary type="html">&lt;p&gt;Bhuber: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;&#039;&#039;this is a test page. &amp;lt;small&amp;gt;Can&amp;lt;/small&amp;gt; I &amp;lt;sub&amp;gt;edit&amp;lt;/sub&amp;gt; and &amp;lt;span class=&amp;quot;col-purple&amp;quot;&amp;gt;work&amp;lt;/span&amp;gt; with the visual editor without any issues?&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable sortable mw-collapsible bs-exportable filterable mw-sticky-header&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!This&lt;br /&gt;
!is&lt;br /&gt;
!A &lt;br /&gt;
!TABLE&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;&amp;quot; class=&amp;quot;col-green-bg&amp;quot; |does &lt;br /&gt;
|it&lt;br /&gt;
|work&lt;br /&gt;
|AS&lt;br /&gt;
|-&lt;br /&gt;
|intended?&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;border-bottom-width:3px;border-bottom-color:#cd41cb;border-bottom-style:dotted;&amp;quot; |&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;border-right-width:3px;border-right-color:#cd41cb;border-right-style:dotted;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;border-left-width:3px;border-right-width:3px;border-top-width:3px;border-bottom-width:3px;border-left-color:#cd41cb;border-right-color:#cd41cb;border-top-color:#cd41cb;border-bottom-color:#cd41cb;border-left-style:dotted;border-right-style:dotted;border-top-style:dotted;border-bottom-style:dotted;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;border-left-width:3px;border-left-color:#cd41cb;border-bottom-color:#0060df;border-left-style:dotted;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;border-top-width:3px;border-right-color:#0060df;border-top-color:#cd41cb;border-top-style:dotted;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;border-left-color:#0060df;border-right-color:#0060df;border-top-color:#0060df;border-bottom-color:#0060df;&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;drawio filename=&amp;quot;Sandbox5_2_5-47669447&amp;quot; /&amp;gt;&amp;lt;math&amp;gt;\arccos\log_{\tan}&amp;lt;/math&amp;gt;&lt;/div&gt;</summary>
		<author><name>Bhuber</name></author>
	</entry>
	<entry>
		<id>https://en.wiki.bluespice.com/w/index.php?title=File:Sandbox5_2_5-47669447.svg&amp;diff=14358</id>
		<title>File:Sandbox5 2 5-47669447.svg</title>
		<link rel="alternate" type="text/html" href="https://en.wiki.bluespice.com/w/index.php?title=File:Sandbox5_2_5-47669447.svg&amp;diff=14358"/>
		<updated>2026-06-23T09:39:53Z</updated>

		<summary type="html">&lt;p&gt;Bhuber: DrawioEditor&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Bhuber</name></author>
	</entry>
	<entry>
		<id>https://en.wiki.bluespice.com/w/index.php?title=Sandbox5.2.5&amp;diff=14357</id>
		<title>Sandbox5.2.5</title>
		<link rel="alternate" type="text/html" href="https://en.wiki.bluespice.com/w/index.php?title=Sandbox5.2.5&amp;diff=14357"/>
		<updated>2026-06-23T09:39:29Z</updated>

		<summary type="html">&lt;p&gt;Bhuber: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;&#039;&#039;this is a test page. &amp;lt;small&amp;gt;Can&amp;lt;/small&amp;gt; I &amp;lt;sub&amp;gt;edit&amp;lt;/sub&amp;gt; and &amp;lt;span class=&amp;quot;col-purple&amp;quot;&amp;gt;work&amp;lt;/span&amp;gt; with the visual editor without any issues?&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable sortable mw-collapsible bs-exportable filterable mw-sticky-header&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!This&lt;br /&gt;
!is&lt;br /&gt;
!A &lt;br /&gt;
!TABLE&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;&amp;quot; class=&amp;quot;col-green-bg&amp;quot; |does &lt;br /&gt;
|it&lt;br /&gt;
|work&lt;br /&gt;
|AS&lt;br /&gt;
|-&lt;br /&gt;
|intended?&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;border-bottom-width:3px;border-bottom-color:#cd41cb;border-bottom-style:dotted;&amp;quot; |&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;border-right-width:3px;border-right-color:#cd41cb;border-right-style:dotted;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;border-left-width:3px;border-right-width:3px;border-top-width:3px;border-bottom-width:3px;border-left-color:#cd41cb;border-right-color:#cd41cb;border-top-color:#cd41cb;border-bottom-color:#cd41cb;border-left-style:dotted;border-right-style:dotted;border-top-style:dotted;border-bottom-style:dotted;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;border-left-width:3px;border-left-color:#cd41cb;border-bottom-color:#0060df;border-left-style:dotted;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;border-top-width:3px;border-right-color:#0060df;border-top-color:#cd41cb;border-top-style:dotted;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;border-left-color:#0060df;border-right-color:#0060df;border-top-color:#0060df;border-bottom-color:#0060df;&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;drawio filename=&amp;quot;Sandbox5_2_5-47669447&amp;quot; /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Bhuber</name></author>
	</entry>
	<entry>
		<id>https://en.wiki.bluespice.com/w/index.php?title=Sandbox5.2.5&amp;diff=14355</id>
		<title>Sandbox5.2.5</title>
		<link rel="alternate" type="text/html" href="https://en.wiki.bluespice.com/w/index.php?title=Sandbox5.2.5&amp;diff=14355"/>
		<updated>2026-06-23T09:38:46Z</updated>

		<summary type="html">&lt;p&gt;Bhuber: Created page with &amp;quot;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;this is a test page. &amp;lt;small&amp;gt;Can&amp;lt;/small&amp;gt; I &amp;lt;sub&amp;gt;edit&amp;lt;/sub&amp;gt; and &amp;lt;span class=&amp;quot;col-purple&amp;quot;&amp;gt;work&amp;lt;/span&amp;gt; with the visual editor without any issues?&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; {| class=&amp;quot;wikitable sortable mw-collapsible bs-exportable filterable mw-sticky-header&amp;quot; |+ !This !is !A  !TABLE |- | style=&amp;quot;&amp;quot; class=&amp;quot;col-green-bg&amp;quot; |does  |it |work |AS |- |intended? | | | |- | | | style=&amp;quot;border-bottom-width:3px;border-bottom-color:#cd41cb;border-bottom-style:dotted;&amp;quot; | | |- | | style=&amp;quot;border-right-width:3p...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;&#039;&#039;this is a test page. &amp;lt;small&amp;gt;Can&amp;lt;/small&amp;gt; I &amp;lt;sub&amp;gt;edit&amp;lt;/sub&amp;gt; and &amp;lt;span class=&amp;quot;col-purple&amp;quot;&amp;gt;work&amp;lt;/span&amp;gt; with the visual editor without any issues?&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable sortable mw-collapsible bs-exportable filterable mw-sticky-header&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!This&lt;br /&gt;
!is&lt;br /&gt;
!A &lt;br /&gt;
!TABLE&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;&amp;quot; class=&amp;quot;col-green-bg&amp;quot; |does &lt;br /&gt;
|it&lt;br /&gt;
|work&lt;br /&gt;
|AS&lt;br /&gt;
|-&lt;br /&gt;
|intended?&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;border-bottom-width:3px;border-bottom-color:#cd41cb;border-bottom-style:dotted;&amp;quot; |&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;border-right-width:3px;border-right-color:#cd41cb;border-right-style:dotted;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;border-left-width:3px;border-right-width:3px;border-top-width:3px;border-bottom-width:3px;border-left-color:#cd41cb;border-right-color:#cd41cb;border-top-color:#cd41cb;border-bottom-color:#cd41cb;border-left-style:dotted;border-right-style:dotted;border-top-style:dotted;border-bottom-style:dotted;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;border-left-width:3px;border-left-color:#cd41cb;border-bottom-color:#0060df;border-left-style:dotted;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| style=&amp;quot;border-top-width:3px;border-right-color:#0060df;border-top-color:#cd41cb;border-top-style:dotted;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;border-left-color:#0060df;border-right-color:#0060df;border-top-color:#0060df;border-bottom-color:#0060df;&amp;quot; |&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Bhuber</name></author>
	</entry>
	<entry>
		<id>https://en.wiki.bluespice.com/w/index.php?title=Manual:Extension/Forms&amp;diff=14305</id>
		<title>Manual:Extension/Forms</title>
		<link rel="alternate" type="text/html" href="https://en.wiki.bluespice.com/w/index.php?title=Manual:Extension/Forms&amp;diff=14305"/>
		<updated>2026-06-03T13:07:24Z</updated>

		<summary type="html">&lt;p&gt;Bhuber: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The &#039;&#039;&#039;Forms&#039;&#039;&#039; extension allows formatting a wiki page or a user dialog as a form. It is also used in conjunction with the [[Reference:Workflows|Workflows]] extension where it provides input forms for workflow data.&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
To create a checklist as a form,  for example, the following steps are necessary:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Create the checklist form definition.&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;Create checklist instances directly from the form definition page.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As an example, we are creating the first fields for an event where food-related hygiene information has to be tracked.&lt;br /&gt;
[[File:checklist-event-screenshot.png|alt=Event checklist example|center|thumb|550x550px|Event checklist example]]&lt;br /&gt;
&lt;br /&gt;
==Create a checklist form==&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Create&#039;&#039;&#039; the page &#039;&#039;Checklist Event Hygiene.form&#039;&#039;.[[File:Extension Forms create form.png|center|thumb|400x400px|alt=Create-page dialog|Creating a new form]]This opens the Form editor.[[File:Extension Forms form editor.png|alt=elements of the form editor dialog|center|thumb|700x700px|Form editor]]&lt;br /&gt;
# &#039;&#039;&#039;Add&#039;&#039;&#039; a form section:&lt;br /&gt;
##&#039;&#039;&#039;Select&#039;&#039;&#039; the &#039;&#039;Section label&#039;&#039; element under &#039;&#039;Form Elements &amp;gt; Other&#039;&#039; (see screenshot annotation 2) and, holding down the left mouse button, drag it into the interactive form editor field below.&lt;br /&gt;
## &#039;&#039;&#039;Click&#039;&#039;&#039; anywhere in the &#039;&#039;Section label&#039;&#039; line. The field inspector opens.&lt;br /&gt;
## &#039;&#039;&#039;Enter&#039;&#039;&#039; the &#039;&#039;Name&#039;&#039;. This is saved as a field ID in the database and should therefore not contain any special characters.&lt;br /&gt;
## &#039;&#039;&#039;Enter&#039;&#039;&#039; the &#039;&#039;Title&#039;&#039; for the section label. This is displayed as the visible label for the text field.[[File:Extension Forms add section header.png|alt=Section label element inspector|center|thumb|700x700px|Adding the first section header]]&lt;br /&gt;
# &#039;&#039;&#039;Create&#039;&#039;&#039; the form fields for the Event section. Here we add a text box as an example. &lt;br /&gt;
## &#039;&#039;&#039;Drag&#039;&#039;&#039; the &#039;&#039;Text&#039;&#039; element from &#039;&#039;Form elements &amp;gt; Inputs&#039;&#039; under the section heading. &lt;br /&gt;
## &#039;&#039;&#039;Click&#039;&#039;&#039; anywhere in the &#039;&#039;text field&#039;&#039; line. The field inspector opens.&lt;br /&gt;
## &#039;&#039;&#039;Enter&#039;&#039;&#039; the &#039;&#039;Name&#039;&#039;. This is used as the database ID for this field and should therefore not contain any special characters.&lt;br /&gt;
## &#039;&#039;&#039;Enter&#039;&#039;&#039; the &#039;&#039;Label&#039;&#039;. This is displayed as the visible label for the text field.&lt;br /&gt;
## &#039;&#039;&#039;Add&#039;&#039;&#039; more form elements.&lt;br /&gt;
# &#039;&#039;&#039;Click&#039;&#039;&#039; &#039;&#039;Save&#039;&#039;. The form is now available in the main namespace as &#039;&#039;EventChecklistHygiene.form&#039;&#039;.    [[File:Manual:Checklist-view.png|alt=Saved form|center|thumb|650x650px|Saved form]]&amp;lt;br /&amp;gt;&lt;br /&gt;
To continue editing the form, switch to page edit mode (1).&lt;br /&gt;
&lt;br /&gt;
== Add more form elements ==&lt;br /&gt;
Now you can add more fields: [[Manual:Extension/Forms/Form elements and settings|View all form elements that you can add to your forms.]]&lt;br /&gt;
&lt;br /&gt;
==Create a checklist instance==&lt;br /&gt;
To create a checklist from the form:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Enter&#039;&#039;&#039; an event name&lt;br /&gt;
# &#039;&#039;&#039;Fill out&#039;&#039;&#039; the form fields.&lt;br /&gt;
# &#039;&#039;&#039;Click&#039;&#039;&#039; &#039;&#039;Submit&#039;&#039;.The checklist is now saved in the wiki and can be edited further.&lt;br /&gt;
==Alternative Target: E-mail==&lt;br /&gt;
Instead of creating a wiki page when the form is saved, you can send the form content to an E-Mail account. (&#039;&#039;&#039;Note:&#039;&#039;&#039; The E-Mail recipient has to be configured on the server by a server admin to be available to forms):&lt;br /&gt;
[[File:Manual:image.png|alt=Email target|center|thumb|650x650px|Email target]]&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Target type:&#039;&#039;&#039; Email&lt;br /&gt;
*&#039;&#039;&#039;Recipient:&#039;&#039;&#039; Possible recipients must have been configured on the server for security reasons. Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
$wgFormsTargetEMailRecipients = [&lt;br /&gt;
    &#039;Marketing&#039; =&amp;gt; &amp;quot;marketing@example.com&amp;quot;,&lt;br /&gt;
    &#039;Administration&#039; =&amp;gt; &#039;WikiSysop&#039;&lt;br /&gt;
];&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Subject:&#039;&#039;&#039; Existing form fields can be used as variables here. The value is taken from the form.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Content:&#039;&#039;&#039; As in the subject, existing form fields can also be used as variables here. The value is taken from the form.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[mediawikiwiki:Help:Magic_words#Localisation|Localization messages]] in combination with form fields can also be used as subject or email body:&amp;lt;syntaxhighlight lang=&amp;quot;wikitext&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
{{int:Mailsubject| {{{name}}}|{{{surname}}} }}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Alternative Target: Template==&lt;br /&gt;
Instead of creating a standard wiki page or sending the form content via E-Mail, a [[Manual:Templates|Template]] can be used as the target for a form. In this case, the submitted form data is used to create a new wiki page based on an existing template structure, and form values are inserted into the template placeholders. &lt;br /&gt;
*&#039;&#039;&#039;Prerequisites&#039;&#039;&#039;: Before a Template target can be used, a corresponding template page must already exist in the wiki. The template serves as the structural basis for the generated page. Form fields are mapped to placeholders defined in the template. &lt;br /&gt;
[[File:Manual:Template Target.jpg|alt=selecting Template as target for forms|center|thumb|550x550px|Template Target]]&lt;br /&gt;
*&#039;&#039;&#039;Target type&#039;&#039;&#039;: Template&lt;br /&gt;
*&#039;&#039;&#039;Template&#039;&#039;&#039;: Name of the existing template used for page generation&lt;br /&gt;
*&#039;&#039;&#039;Predefined title&#039;&#039;&#039;: optional default title for the newly created page or to predefine a page path (e.g., to create all generated pages as subpages under a specific parent page) &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;​It is recommended to use identical or clearly related naming for the form and the template to improve maintainability and make configuration dependencies easier to identify. This is typically used to generate standardized, human-readable wiki pages, while JSON-based targets are more commonly used when the output is intended for structured data processing.&lt;br /&gt;
&lt;br /&gt;
==Adjust the styling==&lt;br /&gt;
&lt;br /&gt;
===Common.css===&lt;br /&gt;
To style individual elements in the form, go to the styling tab in the options dialog. There, you can enter a css class name. The styling is then defined on the &#039;&#039;MediaWiki:Common.css&#039;&#039; page (admin rights are required).&lt;br /&gt;
&lt;br /&gt;
To style the section heading:&lt;br /&gt;
&lt;br /&gt;
#&#039;&#039;&#039;Open&#039;&#039;&#039; the styling tab in the options menu of the Event heading field.&lt;br /&gt;
#&#039;&#039;&#039;Add&#039;&#039;&#039; a new CSS class and enter a selector name (&#039;&#039;CSS Classes&#039;&#039; field), e.g. &#039;&#039;frm-sectionhd&#039;&#039;.[[File:Manual:forms-css-class-en.png|alt=Add a css class|center|thumb|650x650px|Add a css class]]&lt;br /&gt;
#&#039;&#039;&#039;Paste&#039;&#039;&#039; the following style declarations into the &#039;&#039;MediaWiki:Common.css&#039;&#039; page, e.g.:&amp;lt;syntaxhighlight lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
.frm-sectionhd {&lt;br /&gt;
    border-bottom: 1px solid #a6a6a7;  &lt;br /&gt;
    background:#f1f3f9; &lt;br /&gt;
    padding:6px;&lt;br /&gt;
    margin:30px 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;[[File:Manual:forms-css-class-view-en.png|alt=Section label with customized styling|center|thumb|650x650px|Section label with customized styling]]&lt;br /&gt;
&lt;br /&gt;
If you do not have permission to view this page, you can enter style information directly for each element in the form via inline styling.&lt;br /&gt;
&lt;br /&gt;
===Inline styling===&lt;br /&gt;
Without access to &#039;&#039;MediaWiki:Common.css&#039;&#039;, the style information can be entered directly in the form. However, with many recurring style declarations this is not efficient in contrast to the definition of CSS classes in &#039;&#039;MediaWiki:Common.css&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
As an example, let&#039;s apply the previous section heading example directly as inline styling. To do this, open the options menu of the &#039;&#039;ech-event&#039;&#039; form element again. Enter the following statement in the &#039;&#039;Styling&#039;&#039; field and save the change:&amp;lt;syntaxhighlight lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
border-bottom: 1px solid #a6a6a7;  background:#f1f3f9; padding:6px;margin:30px 0;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
[[File:Manual:forms-css-inlinestyling-en.png|alt=Inline styling of a form element|center|thumb|650x650px|Inline styling of a form element]]&lt;br /&gt;
{{translation}}&lt;/div&gt;</summary>
		<author><name>Bhuber</name></author>
	</entry>
	<entry>
		<id>https://en.wiki.bluespice.com/w/index.php?title=Manual:Extension/Forms/5.1.1&amp;diff=14304</id>
		<title>Manual:Extension/Forms/5.1.1</title>
		<link rel="alternate" type="text/html" href="https://en.wiki.bluespice.com/w/index.php?title=Manual:Extension/Forms/5.1.1&amp;diff=14304"/>
		<updated>2026-06-03T12:21:21Z</updated>

		<summary type="html">&lt;p&gt;Bhuber: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The &#039;&#039;&#039;Forms&#039;&#039;&#039; extension allows formatting a wiki page or a user dialog as a form. It is also used in conjunction with the [[Reference:Workflows|Workflows]] extension where it provides input forms for workflow data.&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
To create a checklist as a form,  for example, the following steps are necessary:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Create and save the checklist form&#039;&#039;&#039; via the &#039;&#039;Special:Form_editor&#039;&#039; special page. The form serves as a template for all checklists that are created with it.&lt;br /&gt;
# &#039;&#039;&#039;Create and save checklist instances&#039;&#039;&#039; via the special page &#039;&#039;Special:Create_form_instance&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Optionally, the styling of the form can be adjusted.&lt;br /&gt;
&lt;br /&gt;
As an example, we are creating a small checklist for an event where food-related hygiene information has to be tracked.&lt;br /&gt;
[[File:checklist-event-screenshot.png|alt=Event checklist example|center|thumb|550x550px|Event checklist example]]&lt;br /&gt;
&lt;br /&gt;
==Create a checklist form==&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Define&#039;&#039;&#039; the main properties of the form:&lt;br /&gt;
## &#039;&#039;&#039;Open&#039;&#039;&#039; the &#039;&#039;Special:Form editor&#039;&#039; page.&lt;br /&gt;
## &#039;&#039;&#039;Enter&#039;&#039;&#039; a name for the new form, e.g. &#039;&#039;EventChecklistHygiene&#039;&#039;. This name is used as a unique identifier for the database. Therefore, do not use any special characters (apart from the hyphen &amp;quot;-&amp;quot;).&lt;br /&gt;
## &#039;&#039;&#039;Enter&#039;&#039;&#039; a title, e.g. Event Checklist. This is displayed as the display title instead of the form name if you activate the Display title checkbox. [[File:Manual:Checklist-form properties.png|alt=Form properties|center|thumb|750x750px|Form properties]]&lt;br /&gt;
# &#039;&#039;&#039;Add&#039;&#039;&#039; a form section:&lt;br /&gt;
##&#039;&#039;&#039;Select&#039;&#039;&#039; the &#039;&#039;Section label&#039;&#039; element under &#039;&#039;Form Elements &amp;gt; Other&#039;&#039; and, holding down the left mouse button, drag it into the interactive form editor field below.&lt;br /&gt;
## &#039;&#039;&#039;Click&#039;&#039;&#039; the section heading radio button. The editing dialog opens.&lt;br /&gt;
## &#039;&#039;&#039;Enter&#039;&#039;&#039; a field name. This is saved as a field ID in the database and should therefore not contain any special characters.&lt;br /&gt;
## &#039;&#039;&#039;Enter&#039;&#039;&#039; the title for the heading. This is used as the display title in the form.[[File:Manual:Checklist-form element-section label.png|alt=Create section label|center|thumb|750x750px|Create section label]]&lt;br /&gt;
# &#039;&#039;&#039;Create&#039;&#039;&#039; the form fields for the Event section. Here we add a text box as an example. &lt;br /&gt;
## &#039;&#039;&#039;Drag&#039;&#039;&#039; the &#039;&#039;Text&#039;&#039; element under the section heading while holding down the left mouse button. &lt;br /&gt;
## &#039;&#039;&#039;Click&#039;&#039;&#039; the text box radio button.&lt;br /&gt;
## &#039;&#039;&#039;Enter&#039;&#039;&#039; a name. This is used as the database ID for this field and should therefore not contain any special characters.&lt;br /&gt;
## &#039;&#039;&#039;Enter&#039;&#039;&#039; a label. This is displayed as the label for the text field.&lt;br /&gt;
## &#039;&#039;&#039;Add&#039;&#039;&#039; more form elements.&lt;br /&gt;
# &#039;&#039;&#039;Click&#039;&#039;&#039; Submit at the bottom of the page to save the form. The form is now stored in the main namespace as &#039;&#039;EventChecklistHygiene.form&#039;&#039;.    [[File:Manual:Checklist-view.png|alt=Saved form|center|thumb|650x650px|Saved form]]&amp;lt;br /&amp;gt;To continue editing the form, switch to the editing mode of the page (1).&lt;br /&gt;
&lt;br /&gt;
==Create a checklist instance==&lt;br /&gt;
To use the form, create your first checklist.&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Open&#039;&#039;&#039; the page  &#039;&#039;Special:Edit_with_form&#039;&#039;.&lt;br /&gt;
# &#039;&#039;&#039;Choose&#039;&#039;&#039; the form &#039;&#039;EventChecklistHygiene&#039;&#039;.&lt;br /&gt;
# &#039;&#039;&#039;Fill out&#039;&#039;&#039; the form fields.&lt;br /&gt;
# &#039;&#039;&#039;Click&#039;&#039;&#039; &#039;&#039;Submit&#039;&#039;.[[File:Manual:Checklist-create instance.png|alt=Create a checklist instance|center|thumb|650x650px|Create a checklist instance]]&lt;br /&gt;
&lt;br /&gt;
The checklist is now saved in the wiki and can be edited further.&lt;br /&gt;
==Send email==&lt;br /&gt;
The form can also send an Email after being saved:&lt;br /&gt;
[[File:Manual:image.png|alt=Email target|center|thumb|650x650px|Email target]]&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Target type:&#039;&#039;&#039; Email&lt;br /&gt;
*&#039;&#039;&#039;Recipient:&#039;&#039;&#039; Possible recipients must have been configured on the server for security reasons. Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
 $wgFormsTargetEMailRecipients = [&lt;br /&gt;
    &#039;Marketing&#039; =&amp;gt; &amp;quot;marketing@example.com&amp;quot;,&lt;br /&gt;
    &#039;Administration&#039; =&amp;gt; &#039;WikiSysop&#039;&lt;br /&gt;
];&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Subject:&#039;&#039;&#039; Existing form fields can be used as variables here. The value is taken from the form.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Content:&#039;&#039;&#039; As in the subject, existing form fields can also be used as variables here. The value is taken from the form.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[mediawikiwiki:Help:Magic_words#Localisation|Localization messages]] in combination with form fields can also be used as subject or email body:&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
{{int:Mailsubject| {{{name}}}|{{{surname}}} }}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Adjust the styling==&lt;br /&gt;
&lt;br /&gt;
===Common.css===&lt;br /&gt;
To style individual elements in the form, go to the styling tab in the options dialog. There, you can enter a css class name. The styling is then defined on the &#039;&#039;MediaWiki:Common.css&#039;&#039; page (admin rights are required).&lt;br /&gt;
&lt;br /&gt;
To style the section heading:&lt;br /&gt;
&lt;br /&gt;
#&#039;&#039;&#039;Open&#039;&#039;&#039; the styling tab in the options menu of the Event heading field.&lt;br /&gt;
#&#039;&#039;&#039;Add&#039;&#039;&#039; a new CSS class and enter a selector name (&#039;&#039;CSS Classes&#039;&#039; field), e.g. &#039;&#039;frm-sectionhd&#039;&#039;.[[File:Manual:forms-css-class-en.png|alt=Add a css class|center|thumb|650x650px|Add a css class]]&lt;br /&gt;
#&#039;&#039;&#039;Paste&#039;&#039;&#039; the following style declarations into the &#039;&#039;MediaWiki:Common.css&#039;&#039; page, e.g.:&amp;lt;syntaxhighlight lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
border-bottom: 1px solid #a6a6a7;  background:#f1f3f9; padding:6px;margin:30px 0;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;[[File:Manual:forms-css-class-view-en.png|alt=Section label with customized styling|center|thumb|650x650px|Section label with customized styling]]&lt;br /&gt;
&lt;br /&gt;
If you do not have permission to view this page, you can enter style information directly for each element in the form via inline styling.&lt;br /&gt;
&lt;br /&gt;
===Inline styling===&lt;br /&gt;
Without access to &#039;&#039;MediaWiki:Common.css&#039;&#039;, the style information can be entered directly in the form. However, with many recurring style declarations this is not efficient in contrast to the definition of CSS classes in &#039;&#039;MediaWiki:Common.css&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
As an example, let&#039;s apply the previous section heading example directly as inline styling. To do this, open the options menu of the &#039;&#039;ech-event&#039;&#039; form element again. Enter the following statement in the &#039;&#039;Styling&#039;&#039; field and save the change:&amp;lt;syntaxhighlight lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
border-bottom: 1px solid #a6a6a7;  background:#f1f3f9; padding:6px;margin:30px 0;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
[[File:Manual:forms-css-inlinestyling-en.png|alt=Inline styling of a form element|center|thumb|650x650px|Inline styling of a form element]]&lt;br /&gt;
{{translation}}&lt;/div&gt;</summary>
		<author><name>Bhuber</name></author>
	</entry>
	<entry>
		<id>https://en.wiki.bluespice.com/w/index.php?title=Manual:Extension/Forms/Form_elements_and_settings&amp;diff=14303</id>
		<title>Manual:Extension/Forms/Form elements and settings</title>
		<link rel="alternate" type="text/html" href="https://en.wiki.bluespice.com/w/index.php?title=Manual:Extension/Forms/Form_elements_and_settings&amp;diff=14303"/>
		<updated>2026-06-02T07:42:47Z</updated>

		<summary type="html">&lt;p&gt;Bhuber: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Form elements ==&lt;br /&gt;
It is possible to add the following form fields to your form:&lt;br /&gt;
&lt;br /&gt;
=== Inputs ===&lt;br /&gt;
{| class=&amp;quot;wikitable compact&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&lt;br /&gt;
!Field&lt;br /&gt;
!Input type&lt;br /&gt;
!Functionality&lt;br /&gt;
|-&lt;br /&gt;
|Book&lt;br /&gt;
|book&lt;br /&gt;
|auto-complete field that finds pages in the namespace &amp;quot;Book&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|Text&lt;br /&gt;
|text&lt;br /&gt;
|standard text field&lt;br /&gt;
|-&lt;br /&gt;
|Textarea&lt;br /&gt;
|textarea&lt;br /&gt;
|multi-line text field&lt;br /&gt;
|-&lt;br /&gt;
|Wikitext input&lt;br /&gt;
|wikitext&lt;br /&gt;
|multi-line text field that expects Wikitext syntax&lt;br /&gt;
|-&lt;br /&gt;
|Category multiselect&lt;br /&gt;
|category_multiselect&lt;br /&gt;
|token field to add one or  more categories to the page; values are separated with the &amp;lt;code&amp;gt;enter&amp;lt;/code&amp;gt;-key&lt;br /&gt;
|-&lt;br /&gt;
|Checkbox&lt;br /&gt;
|checkbox&lt;br /&gt;
|single checkbox&lt;br /&gt;
|-&lt;br /&gt;
|Menu tag multiselect&lt;br /&gt;
|menutag_multiselect&lt;br /&gt;
|multiple-value input; values are separated with the &amp;lt;code&amp;gt;enter&amp;lt;/code&amp;gt;-key&lt;br /&gt;
|-&lt;br /&gt;
|Checkbox multiselect&lt;br /&gt;
|checkbox_multiselect&lt;br /&gt;
|checkbox group (allows selecting multiple values in the group)&lt;br /&gt;
|-&lt;br /&gt;
|Dropdown&lt;br /&gt;
|dropdown&lt;br /&gt;
|dropdown list with predefined options&lt;br /&gt;
|-&lt;br /&gt;
|Number&lt;br /&gt;
|number&lt;br /&gt;
|integer field&lt;br /&gt;
|-&lt;br /&gt;
|Radio button&lt;br /&gt;
|radio&lt;br /&gt;
|single radio button (usually not used in a manually completed form)&lt;br /&gt;
|-&lt;br /&gt;
|Radio group&lt;br /&gt;
|radio_multiselect&lt;br /&gt;
|radio buttons for toggling a selection (allows selecting only one value in the group)&lt;br /&gt;
|-&lt;br /&gt;
|File chooser&lt;br /&gt;
|select_file&lt;br /&gt;
|selects a file in the wiki&lt;br /&gt;
|-&lt;br /&gt;
|Title input&lt;br /&gt;
|title&lt;br /&gt;
|auto-complete field for wiki pages&lt;br /&gt;
|-&lt;br /&gt;
|Combo box&lt;br /&gt;
|combobox&lt;br /&gt;
|combines a &#039;&#039;text input field&#039;&#039;  and a &#039;&#039;dropdown list&#039;&#039;. Users can select a predefined value or type their own.&lt;br /&gt;
|-&lt;br /&gt;
|Password input&lt;br /&gt;
|password&lt;br /&gt;
|sets a password with a password and password-repeat field. This is not used in forms for the target types &amp;lt;code&amp;gt;JSON on wikipage&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Template&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;Email&amp;lt;/code&amp;gt;, as the password is stored in plain text.&lt;br /&gt;
|-&lt;br /&gt;
|Tag input&lt;br /&gt;
|tag&lt;br /&gt;
|token field to add multiple values; values are separated with the &amp;lt;code&amp;gt;enter&amp;lt;/code&amp;gt;-key&lt;br /&gt;
|-&lt;br /&gt;
|Date&lt;br /&gt;
|date&lt;br /&gt;
|same as &#039;&#039;Date picker&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|Title input&lt;br /&gt;
|title&lt;br /&gt;
|selects page titles in the wiki&lt;br /&gt;
|-&lt;br /&gt;
|User input&lt;br /&gt;
|user_picker&lt;br /&gt;
|username that exists in the wiki&lt;br /&gt;
|-&lt;br /&gt;
|Group input&lt;br /&gt;
|group_picker&lt;br /&gt;
|group name that exists in the wiki&lt;br /&gt;
|-&lt;br /&gt;
|Group multiselect&lt;br /&gt;
|group_multiselect&lt;br /&gt;
|multiple group names&lt;br /&gt;
|-&lt;br /&gt;
|User multiselect&lt;br /&gt;
|user_multiselect&lt;br /&gt;
|multiple user names&lt;br /&gt;
|-&lt;br /&gt;
|Title multiseslect&lt;br /&gt;
|title_multiselect&lt;br /&gt;
|multiple page titles&lt;br /&gt;
|-&lt;br /&gt;
|Date picker&lt;br /&gt;
|date_picker&lt;br /&gt;
|calendar widget&lt;br /&gt;
|-&lt;br /&gt;
|Percent&lt;br /&gt;
|percent&lt;br /&gt;
|integer value&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Other ===&lt;br /&gt;
{| class=&amp;quot;wikitable compact&amp;quot; style=&amp;quot;width: 100%;&amp;quot; &lt;br /&gt;
!Element&lt;br /&gt;
!Input type&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Static Wikitext&lt;br /&gt;
|static_wikitext&lt;br /&gt;
|non-editable text&lt;br /&gt;
|-&lt;br /&gt;
|Button&lt;br /&gt;
|button&lt;br /&gt;
|triggers an action (requires a defined event listener)&lt;br /&gt;
|-&lt;br /&gt;
|Message banner&lt;br /&gt;
|message&lt;br /&gt;
|message that can be shown anywhere in the form;&lt;br /&gt;
the type that is set (notice, error, warning, success) provides the visual formatting&lt;br /&gt;
|-&lt;br /&gt;
|Partial form import&lt;br /&gt;
|form_input&lt;br /&gt;
|adds form fields from another form&lt;br /&gt;
|-&lt;br /&gt;
|Icon&lt;br /&gt;
|icon&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|Indicator&lt;br /&gt;
|indicator&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|Label&lt;br /&gt;
|label&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|[[Manual:Extension/Forms/Progress bar|Progress bar]]&lt;br /&gt;
|progress_bar&lt;br /&gt;
|visual representation of the number of completed steps in a form such as a checklist&lt;br /&gt;
|-&lt;br /&gt;
|Section label&lt;br /&gt;
|section_label&lt;br /&gt;
|a heading to a form section&lt;br /&gt;
|-&lt;br /&gt;
|HR&lt;br /&gt;
|hr&lt;br /&gt;
|a visual separator line&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Input field options ===&lt;br /&gt;
Each input field has a combination of any of these options:&lt;br /&gt;
{| class=&amp;quot;wikitable compact&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&lt;br /&gt;
|+main&lt;br /&gt;
!Type&lt;br /&gt;
!Field&lt;br /&gt;
!Functionality&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;6&amp;quot; |(all)&lt;br /&gt;
|Name&lt;br /&gt;
|field name stored in the database (avoid special characters)&lt;br /&gt;
|-&lt;br /&gt;
|Label&lt;br /&gt;
|text label shown to users&lt;br /&gt;
|-&lt;br /&gt;
|Help&lt;br /&gt;
|creates a tooltip pop-up next to the label&lt;br /&gt;
|-&lt;br /&gt;
|No layout&lt;br /&gt;
|hides the label&lt;br /&gt;
|-&lt;br /&gt;
|Show on&lt;br /&gt;
|mode in which this field is visible&lt;br /&gt;
|-&lt;br /&gt;
|Editable on&lt;br /&gt;
|sets when the field value can be edited&lt;br /&gt;
|-&lt;br /&gt;
|Book&lt;br /&gt;
|Return property&lt;br /&gt;
|?&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable compact&amp;quot;&lt;br /&gt;
|+styling&lt;br /&gt;
!Type&lt;br /&gt;
!Field&lt;br /&gt;
!Functionality&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |(all)&lt;br /&gt;
|CSS Classes&lt;br /&gt;
|add individual CSS-classes for use on &#039;&#039;MediaWiki:Common.css&#039;&#039;&lt;br /&gt;
- the class is set on the form field itself and does not include the label; multiple classes can be set together or you can add them separately&lt;br /&gt;
|-&lt;br /&gt;
|Style&lt;br /&gt;
|define an inline style that affects only this field. The style is applied to the wrapper and includes the label and the field&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |Textarea, Wikitext input&lt;br /&gt;
|Number of rows&lt;br /&gt;
|used for textareas&lt;br /&gt;
|-&lt;br /&gt;
|Placeholder&lt;br /&gt;
|text that is displayed before the user is typing a value (has no effect, if there is also a default value set)&lt;br /&gt;
|-&lt;br /&gt;
|Radio group&lt;br /&gt;
|No default value&lt;br /&gt;
|ensures that there is no pre-selected radio-button if a default would not make sense&lt;br /&gt;
|-&lt;br /&gt;
|Radio group, Checkbox multiselect&lt;br /&gt;
|Horizontal layout&lt;br /&gt;
|aligns multiselect checkboxes or radio groups horizontally&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; |Button&lt;br /&gt;
|Icon&lt;br /&gt;
|displays an icon before the text, (e.g. a bootstrap-icon like &amp;lt;code&amp;gt;bi bi-calendar&amp;lt;/code&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
|Indicator&lt;br /&gt;
|displays an icon after the text (e.g. a bootstrap-icon like &amp;lt;code&amp;gt;bi bi-arrow-right&amp;lt;/code&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
|Framed&lt;br /&gt;
|when deactivated, the button looks like text only (and can be styled via CSS classes, e.g. &amp;lt;code&amp;gt;btn button-warning&amp;lt;/code&amp;gt;)&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable compact&amp;quot;&lt;br /&gt;
|+other&lt;br /&gt;
!Type&lt;br /&gt;
!Fieldset&lt;br /&gt;
!Field&lt;br /&gt;
!Functionality&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;6&amp;quot; |(all) &lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |Custom widget properties&lt;br /&gt;
|Key&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Value&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |Listeners&lt;br /&gt;
|Event&lt;br /&gt;
|event that is supported by [https://doc.wikimedia.org/oojs-ui/master/js/OO.ui.html OO.ui widgets], such as &#039;&#039;change, enter, focus, blur&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|Callback&lt;br /&gt;
|function that is called when the event occurs (can be declared in MediaWiki:Common.js for example&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
|Default value / &lt;br /&gt;
Selected by default&lt;br /&gt;
|value that is used if the user does not provide a value;  field type &amp;quot;checkbox&amp;quot; has option &amp;quot;Selected by default&amp;quot; instead&lt;br /&gt;
|-&lt;br /&gt;
|Required&lt;br /&gt;
|form cannot be submitted without this field having a value&lt;br /&gt;
|-&lt;br /&gt;
|Password&lt;br /&gt;
|&lt;br /&gt;
|Password strength&lt;br /&gt;
|weak: &amp;lt;br&amp;gt;&lt;br /&gt;
medium: &amp;lt;br&amp;gt;​strong:&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |Tag&lt;br /&gt;
|&lt;br /&gt;
|Input position&lt;br /&gt;
|inline:&lt;br /&gt;
outline:&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|Allow arbitrary&lt;br /&gt;
|It is possible to add values other than the allowed values (only necessary if allowed values are defined)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Form Settings ==&lt;br /&gt;
&lt;br /&gt;
=== Appearance ===&lt;br /&gt;
{| class=&amp;quot;wikitable compact&amp;quot; &lt;br /&gt;
!Field&lt;br /&gt;
!Functionality&lt;br /&gt;
|-&lt;br /&gt;
|Title&lt;br /&gt;
|display title for the form&lt;br /&gt;
|-&lt;br /&gt;
|Display title&lt;br /&gt;
|shows the form title above each form instance&lt;br /&gt;
|-&lt;br /&gt;
|Display form name&lt;br /&gt;
|displays the name fo the form with label &#039;&#039;Form used&#039;&#039; as first form element&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Behaviour ===&lt;br /&gt;
{| class=&amp;quot;wikitable compact&amp;quot; &lt;br /&gt;
!Field&lt;br /&gt;
!Functionality&lt;br /&gt;
|-&lt;br /&gt;
|Categories&lt;br /&gt;
|adds categories  to each form instance;  values are separated with the &amp;lt;code&amp;gt;enter&amp;lt;/code&amp;gt;-key&lt;br /&gt;
|-&lt;br /&gt;
|Seal after creation&lt;br /&gt;
|form instances cannot be edited after the initial save&lt;br /&gt;
|-&lt;br /&gt;
|Enable intermediate saving&lt;br /&gt;
|form instances show both a &amp;lt;code&amp;gt;Save&amp;lt;/code&amp;gt; and a &amp;lt;code&amp;gt;Save &amp;amp; Close&amp;lt;/code&amp;gt; button;&lt;br /&gt;
the &amp;lt;code&amp;gt;Save&amp;lt;/code&amp;gt; button saves the form values and keeps the form in edit-mode.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Infrastructure ===&lt;br /&gt;
{| class=&amp;quot;wikitable compact&amp;quot; &lt;br /&gt;
!Field&lt;br /&gt;
!Functionality&lt;br /&gt;
|-&lt;br /&gt;
|Resource loader dependencies&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Keep track of revisions&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Includable&lt;br /&gt;
|extends form&lt;br /&gt;
|-&lt;br /&gt;
|Abstract&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Partial&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Target ===&lt;br /&gt;
{| class=&amp;quot;wikitable compact&amp;quot; &lt;br /&gt;
!Field&lt;br /&gt;
!Functionality&lt;br /&gt;
|-&lt;br /&gt;
|Target type&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Predefined page title for pages created using this form&lt;br /&gt;
|use the field name to insert the value from a form field;&lt;br /&gt;
for example: if you have a field with the name &amp;lt;code&amp;gt;company_name&amp;lt;/code&amp;gt;, you can use &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{company_name}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; as page name or part of the page name.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Listeners ===&lt;br /&gt;
{| class=&amp;quot;wikitable compact&amp;quot; &lt;br /&gt;
!Field&lt;br /&gt;
!Functionality&lt;br /&gt;
|-&lt;br /&gt;
|Event &lt;br /&gt;
|each listener reacts to one of these events:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;initCompleteForm:&#039;&#039; object is initialized&lt;br /&gt;
* &#039;&#039;parseComplete:&#039;&#039; JSON/schema/config fully processed&lt;br /&gt;
* &#039;&#039;renderComplete:&#039;&#039; UI fully rendered in DOM&lt;br /&gt;
* &#039;&#039;beforeSubmitData:&#039;&#039; Right before submission&lt;br /&gt;
|-&lt;br /&gt;
|Callback&lt;br /&gt;
|calls a  function when the event occurs;&lt;br /&gt;
see the [[Manual:Extension/Forms/Progress bar|progress bar]] example.&lt;br /&gt;
|}{{translation}}&lt;br /&gt;
__FORCETOC__&lt;/div&gt;</summary>
		<author><name>Bhuber</name></author>
	</entry>
	<entry>
		<id>https://en.wiki.bluespice.com/w/index.php?title=Manual:Extension/Forms/Form_elements_and_settings&amp;diff=14302</id>
		<title>Manual:Extension/Forms/Form elements and settings</title>
		<link rel="alternate" type="text/html" href="https://en.wiki.bluespice.com/w/index.php?title=Manual:Extension/Forms/Form_elements_and_settings&amp;diff=14302"/>
		<updated>2026-06-02T07:33:56Z</updated>

		<summary type="html">&lt;p&gt;Bhuber: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Form elements ==&lt;br /&gt;
It is possible to add the following form fields to your form:&lt;br /&gt;
&lt;br /&gt;
=== Inputs ===&lt;br /&gt;
{| class=&amp;quot;wikitable compact&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&lt;br /&gt;
!Field&lt;br /&gt;
!Input type&lt;br /&gt;
!Functionality&lt;br /&gt;
|-&lt;br /&gt;
|Book&lt;br /&gt;
|book&lt;br /&gt;
|auto-complete field that finds pages in the namespace &amp;quot;Book&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|Text&lt;br /&gt;
|text&lt;br /&gt;
|standard text field&lt;br /&gt;
|-&lt;br /&gt;
|Textarea&lt;br /&gt;
|textarea&lt;br /&gt;
|multi-line text field&lt;br /&gt;
|-&lt;br /&gt;
|Wikitext input&lt;br /&gt;
|wikitext&lt;br /&gt;
|multi-line text field that expects Wikitext syntax&lt;br /&gt;
|-&lt;br /&gt;
|Category multiselect&lt;br /&gt;
|category_multiselect&lt;br /&gt;
|token field to add one or  more categories to the page; values are separated with the &amp;lt;code&amp;gt;enter&amp;lt;/code&amp;gt;-key&lt;br /&gt;
|-&lt;br /&gt;
|Checkbox&lt;br /&gt;
|checkbox&lt;br /&gt;
|single checkbox&lt;br /&gt;
|-&lt;br /&gt;
|Menu tag multiselect&lt;br /&gt;
|menutag_multiselect&lt;br /&gt;
|multiple-value input; values are separated with the &amp;lt;code&amp;gt;enter&amp;lt;/code&amp;gt;-key&lt;br /&gt;
|-&lt;br /&gt;
|Checkbox multiselect&lt;br /&gt;
|checkbox_multiselect&lt;br /&gt;
|checkbox group (allows selecting multiple values in the group)&lt;br /&gt;
|-&lt;br /&gt;
|Dropdown&lt;br /&gt;
|dropdown&lt;br /&gt;
|dropdown list with predefined options&lt;br /&gt;
|-&lt;br /&gt;
|Number&lt;br /&gt;
|number&lt;br /&gt;
|integer field&lt;br /&gt;
|-&lt;br /&gt;
|Radio button&lt;br /&gt;
|radio&lt;br /&gt;
|single radio button (usually not used in a manually completed form)&lt;br /&gt;
|-&lt;br /&gt;
|Radio group&lt;br /&gt;
|radio_multiselect&lt;br /&gt;
|radio buttons for toggling a selection (allows selecting only one value in the group)&lt;br /&gt;
|-&lt;br /&gt;
|File chooser&lt;br /&gt;
|select_file&lt;br /&gt;
|selects a file in the wiki&lt;br /&gt;
|-&lt;br /&gt;
|Title input&lt;br /&gt;
|title&lt;br /&gt;
|auto-complete field for wiki pages&lt;br /&gt;
|-&lt;br /&gt;
|Combo box&lt;br /&gt;
|combobox&lt;br /&gt;
|combines a &#039;&#039;text input field&#039;&#039;  and a &#039;&#039;dropdown list&#039;&#039;. Users can select a predefined value or type their own.&lt;br /&gt;
|-&lt;br /&gt;
|Password input&lt;br /&gt;
|password&lt;br /&gt;
|sets a password with a password and password-repeat field. This is not used in forms for the target types &amp;lt;code&amp;gt;JSON on wikipage&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Template&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;Email&amp;lt;/code&amp;gt;, as the password is stored in plain text.&lt;br /&gt;
|-&lt;br /&gt;
|Tag input&lt;br /&gt;
|tag&lt;br /&gt;
|token field to add multiple values; values are separated with the &amp;lt;code&amp;gt;enter&amp;lt;/code&amp;gt;-key&lt;br /&gt;
|-&lt;br /&gt;
|Date&lt;br /&gt;
|date&lt;br /&gt;
|same as &#039;&#039;Date picker&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|Title input&lt;br /&gt;
|title&lt;br /&gt;
|selects page titles in the wiki&lt;br /&gt;
|-&lt;br /&gt;
|User input&lt;br /&gt;
|user_picker&lt;br /&gt;
|username that exists in the wiki&lt;br /&gt;
|-&lt;br /&gt;
|Group input&lt;br /&gt;
|group_picker&lt;br /&gt;
|group name that exists in the wiki&lt;br /&gt;
|-&lt;br /&gt;
|Group multiselect&lt;br /&gt;
|group_multiselect&lt;br /&gt;
|multiple group names&lt;br /&gt;
|-&lt;br /&gt;
|User multiselect&lt;br /&gt;
|user_multiselect&lt;br /&gt;
|multiple user names&lt;br /&gt;
|-&lt;br /&gt;
|Title multiseslect&lt;br /&gt;
|title_multiselect&lt;br /&gt;
|multiple page titles&lt;br /&gt;
|-&lt;br /&gt;
|Date picker&lt;br /&gt;
|date_picker&lt;br /&gt;
|calendar widget&lt;br /&gt;
|-&lt;br /&gt;
|Percent&lt;br /&gt;
|percent&lt;br /&gt;
|integer value&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Other ===&lt;br /&gt;
{| class=&amp;quot;wikitable compact&amp;quot; style=&amp;quot;width: 100%;&amp;quot; &lt;br /&gt;
!Element&lt;br /&gt;
!Input type&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Static Wikitext&lt;br /&gt;
|static_wikitext&lt;br /&gt;
|non-editable text&lt;br /&gt;
|-&lt;br /&gt;
|Button&lt;br /&gt;
|button&lt;br /&gt;
|triggers an action (requires a defined event listener)&lt;br /&gt;
|-&lt;br /&gt;
|Message banner&lt;br /&gt;
|message&lt;br /&gt;
|message that can be shown anywhere in the form;&lt;br /&gt;
the type that is set (notice, error, warning, success) provides the visual formatting&lt;br /&gt;
|-&lt;br /&gt;
|Partial form import&lt;br /&gt;
|form_input&lt;br /&gt;
|adds form fields from another form&lt;br /&gt;
|-&lt;br /&gt;
|Icon&lt;br /&gt;
|icon&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|Indicator&lt;br /&gt;
|indicator&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|Label&lt;br /&gt;
|label&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|[[Manual:Extension/Forms/Progress bar|Progress bar]]&lt;br /&gt;
|progress_bar&lt;br /&gt;
|visual representation of the number of completed steps in a form such as a checklist&lt;br /&gt;
|-&lt;br /&gt;
|Section label&lt;br /&gt;
|section_label&lt;br /&gt;
|a heading to a form section&lt;br /&gt;
|-&lt;br /&gt;
|HR&lt;br /&gt;
|hr&lt;br /&gt;
|a visual separator line&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Input field options ===&lt;br /&gt;
Each input field has a combination of any of these options:&lt;br /&gt;
{| class=&amp;quot;wikitable compact&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&lt;br /&gt;
|+main&lt;br /&gt;
!Type&lt;br /&gt;
!Field&lt;br /&gt;
!Functionality&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;6&amp;quot; |(all)&lt;br /&gt;
|Name&lt;br /&gt;
|field name stored in the database (avoid special characters)&lt;br /&gt;
|-&lt;br /&gt;
|Label&lt;br /&gt;
|text label shown to users&lt;br /&gt;
|-&lt;br /&gt;
|Help&lt;br /&gt;
|creates a tooltip pop-up next to the label&lt;br /&gt;
|-&lt;br /&gt;
|No layout&lt;br /&gt;
|hides the label&lt;br /&gt;
|-&lt;br /&gt;
|Show on&lt;br /&gt;
|mode in which this field is visible&lt;br /&gt;
|-&lt;br /&gt;
|Editable on&lt;br /&gt;
|sets when the field value can be edited&lt;br /&gt;
|-&lt;br /&gt;
|Book&lt;br /&gt;
|Return property&lt;br /&gt;
|?&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable compact&amp;quot;&lt;br /&gt;
|+styling&lt;br /&gt;
!Type&lt;br /&gt;
!Field&lt;br /&gt;
!Functionality&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |(all)&lt;br /&gt;
|CSS Classes&lt;br /&gt;
|add individual CSS-classes for use on &#039;&#039;MediaWiki:Common.css&#039;&#039;&lt;br /&gt;
- the class is set on the form field itself and does not include the label; multiple classes can be set together or you can add them separately&lt;br /&gt;
|-&lt;br /&gt;
|Style&lt;br /&gt;
|define an inline style that affects only this field. The style is applied to the wrapper and includes the label and the field&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |Textarea, Wikitext input&lt;br /&gt;
|Number of rows&lt;br /&gt;
|used for textareas&lt;br /&gt;
|-&lt;br /&gt;
|Placeholder&lt;br /&gt;
|text that is displayed before the user is typing a value (has no effect, if there is also a default value set)&lt;br /&gt;
|-&lt;br /&gt;
|Radio group&lt;br /&gt;
|No default value&lt;br /&gt;
|ensures that there is no pre-selected radio-button if a default would not make sense&lt;br /&gt;
|-&lt;br /&gt;
|Radio group, Checkbox multiselect&lt;br /&gt;
|Horizontal layout&lt;br /&gt;
|aligns multiselect checkboxes or radio groups horizontally&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; |Button&lt;br /&gt;
|Icon&lt;br /&gt;
|displays an icon before the text, (e.g. a bootstrap-icon like &amp;lt;code&amp;gt;bi bi-calendar&amp;lt;/code&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
|Indicator&lt;br /&gt;
|displays an icon after the text (e.g. a bootstrap-icon like &amp;lt;code&amp;gt;bi bi-arrow-right&amp;lt;/code&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
|Framed&lt;br /&gt;
|when deactivated, the button looks like text only (and can be styled via CSS classes, e.g. &amp;lt;code&amp;gt;btn button-warning&amp;lt;/code&amp;gt;)&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable compact&amp;quot;&lt;br /&gt;
|+other&lt;br /&gt;
!Type&lt;br /&gt;
!Fieldset&lt;br /&gt;
!Field&lt;br /&gt;
!Functionality&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;6&amp;quot; |(all) &lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |Custom widget properties&lt;br /&gt;
|Key&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Value&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |Listeners&lt;br /&gt;
|Event&lt;br /&gt;
|event that is supported by [https://doc.wikimedia.org/oojs-ui/master/js/OO.ui.html OO.ui widgets], such as &#039;&#039;change, enter, focus, blur&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|Callback&lt;br /&gt;
|function that is called when the event occurs (can be declared in MediaWiki:Common.js for example&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
|Default value / &lt;br /&gt;
Selected by default&lt;br /&gt;
|value that is used if the user does not provide a value;  field type &amp;quot;checkbox&amp;quot; has option &amp;quot;Selected by default&amp;quot; instead&lt;br /&gt;
|-&lt;br /&gt;
|Required&lt;br /&gt;
|form cannot be submitted without this field having a value&lt;br /&gt;
|-&lt;br /&gt;
|Password&lt;br /&gt;
|&lt;br /&gt;
|Password strength&lt;br /&gt;
|weak: &amp;lt;br&amp;gt;&lt;br /&gt;
medium: &amp;lt;br&amp;gt;&lt;br /&gt;
strong:&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |Tag&lt;br /&gt;
|&lt;br /&gt;
|Input position&lt;br /&gt;
|inline:&lt;br /&gt;
outline:&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|Allow arbitrary&lt;br /&gt;
|It is possible to add values other than the allowed values (only necessary if allowed values are defined)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Form Settings ==&lt;br /&gt;
&lt;br /&gt;
=== Appearance ===&lt;br /&gt;
{| class=&amp;quot;wikitable compact&amp;quot; &lt;br /&gt;
!Field&lt;br /&gt;
!Functionality&lt;br /&gt;
|-&lt;br /&gt;
|Title&lt;br /&gt;
|display title for the form&lt;br /&gt;
|-&lt;br /&gt;
|Display title&lt;br /&gt;
|shows the form title above each form instance&lt;br /&gt;
|-&lt;br /&gt;
|Display form name&lt;br /&gt;
|displays the name fo the form with label &#039;&#039;Form used&#039;&#039; as first form element&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Behaviour ===&lt;br /&gt;
{| class=&amp;quot;wikitable compact&amp;quot; &lt;br /&gt;
!Field&lt;br /&gt;
!Functionality&lt;br /&gt;
|-&lt;br /&gt;
|Categories&lt;br /&gt;
|adds categories  to each form instance;  values are separated with the &amp;lt;code&amp;gt;enter&amp;lt;/code&amp;gt;-key&lt;br /&gt;
|-&lt;br /&gt;
|Seal after creation&lt;br /&gt;
|form instances cannot be edited after the initial save&lt;br /&gt;
|-&lt;br /&gt;
|Enable intermediate saving&lt;br /&gt;
|form instances show both a &amp;lt;code&amp;gt;Save&amp;lt;/code&amp;gt; and a &amp;lt;code&amp;gt;Save &amp;amp; Close&amp;lt;/code&amp;gt; button;&lt;br /&gt;
the &amp;lt;code&amp;gt;Save&amp;lt;/code&amp;gt; button saves the form values and keeps the form in edit-mode.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Infrastructure ===&lt;br /&gt;
{| class=&amp;quot;wikitable compact&amp;quot; &lt;br /&gt;
!Field&lt;br /&gt;
!Functionality&lt;br /&gt;
|-&lt;br /&gt;
|Resource loader dependencies&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Keep track of revisions&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Includable&lt;br /&gt;
|extends form&lt;br /&gt;
|-&lt;br /&gt;
|Abstract&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Partial&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Target ===&lt;br /&gt;
{| class=&amp;quot;wikitable compact&amp;quot; &lt;br /&gt;
!Field&lt;br /&gt;
!Functionality&lt;br /&gt;
|-&lt;br /&gt;
|Target type&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Predefined page title for pages created using this form&lt;br /&gt;
|use the field name to insert the value from a form field;&lt;br /&gt;
for example: if you have a field with the name &amp;lt;code&amp;gt;company_name&amp;lt;/code&amp;gt;, you can use &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{company_name}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; as page name or part of the page name.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Listeners ===&lt;br /&gt;
{| class=&amp;quot;wikitable compact&amp;quot; &lt;br /&gt;
!Field&lt;br /&gt;
!Functionality&lt;br /&gt;
|-&lt;br /&gt;
|Event &lt;br /&gt;
|each listener reacts to one of these events:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;initCompleteForm:&#039;&#039; object is initialized&lt;br /&gt;
* &#039;&#039;parseComplete:&#039;&#039; JSON/schema/config fully processed&lt;br /&gt;
* &#039;&#039;renderComplete:&#039;&#039; UI fully rendered in DOM&lt;br /&gt;
* &#039;&#039;beforeSubmitData:&#039;&#039; Right before submission&lt;br /&gt;
|-&lt;br /&gt;
|Callback&lt;br /&gt;
|calls a  function when the event occurs;&lt;br /&gt;
see the [[Manual:Extension/Forms/Progress bar|progress bar]] example.&lt;br /&gt;
|}{{translation}}&lt;br /&gt;
__FORCETOC__&lt;/div&gt;</summary>
		<author><name>Bhuber</name></author>
	</entry>
	<entry>
		<id>https://en.wiki.bluespice.com/w/index.php?title=Manual:Extension/Forms/Form_elements_and_settings&amp;diff=14301</id>
		<title>Manual:Extension/Forms/Form elements and settings</title>
		<link rel="alternate" type="text/html" href="https://en.wiki.bluespice.com/w/index.php?title=Manual:Extension/Forms/Form_elements_and_settings&amp;diff=14301"/>
		<updated>2026-06-02T07:33:16Z</updated>

		<summary type="html">&lt;p&gt;Bhuber: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Form elements ==&lt;br /&gt;
It is possible to add the following form fields to your form:&lt;br /&gt;
&lt;br /&gt;
=== Inputs ===&lt;br /&gt;
{| class=&amp;quot;wikitable compact&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&lt;br /&gt;
!Field&lt;br /&gt;
!Type&lt;br /&gt;
!Functionality&lt;br /&gt;
|-&lt;br /&gt;
|Book&lt;br /&gt;
|book&lt;br /&gt;
|auto-complete field that finds pages in the namespace &amp;quot;Book&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|Text&lt;br /&gt;
|text&lt;br /&gt;
|standard text field&lt;br /&gt;
|-&lt;br /&gt;
|Textarea&lt;br /&gt;
|textarea&lt;br /&gt;
|multi-line text field&lt;br /&gt;
|-&lt;br /&gt;
|Wikitext input&lt;br /&gt;
|wikitext&lt;br /&gt;
|multi-line text field that expects Wikitext syntax&lt;br /&gt;
|-&lt;br /&gt;
|Category multiselect&lt;br /&gt;
|category_multiselect&lt;br /&gt;
|token field to add one or  more categories to the page; values are separated with the &amp;lt;code&amp;gt;enter&amp;lt;/code&amp;gt;-key&lt;br /&gt;
|-&lt;br /&gt;
|Checkbox&lt;br /&gt;
|checkbox&lt;br /&gt;
|single checkbox&lt;br /&gt;
|-&lt;br /&gt;
|Menu tag multiselect&lt;br /&gt;
|menutag_multiselect&lt;br /&gt;
|multiple-value input; values are separated with the &amp;lt;code&amp;gt;enter&amp;lt;/code&amp;gt;-key&lt;br /&gt;
|-&lt;br /&gt;
|Checkbox multiselect&lt;br /&gt;
|checkbox_multiselect&lt;br /&gt;
|checkbox group (allows selecting multiple values in the group)&lt;br /&gt;
|-&lt;br /&gt;
|Dropdown&lt;br /&gt;
|dropdown&lt;br /&gt;
|dropdown list with predefined options&lt;br /&gt;
|-&lt;br /&gt;
|Number&lt;br /&gt;
|number&lt;br /&gt;
|integer field&lt;br /&gt;
|-&lt;br /&gt;
|Radio button&lt;br /&gt;
|radio&lt;br /&gt;
|single radio button (usually not used in a manually completed form)&lt;br /&gt;
|-&lt;br /&gt;
|Radio group&lt;br /&gt;
|radio_multiselect&lt;br /&gt;
|radio buttons for toggling a selection (allows selecting only one value in the group)&lt;br /&gt;
|-&lt;br /&gt;
|File chooser&lt;br /&gt;
|select_file&lt;br /&gt;
|selects a file in the wiki&lt;br /&gt;
|-&lt;br /&gt;
|Title input&lt;br /&gt;
|title&lt;br /&gt;
|auto-complete field for wiki pages&lt;br /&gt;
|-&lt;br /&gt;
|Combo box&lt;br /&gt;
|combobox&lt;br /&gt;
|combines a &#039;&#039;text input field&#039;&#039;  and a &#039;&#039;dropdown list&#039;&#039;. Users can select a predefined value or type their own.&lt;br /&gt;
|-&lt;br /&gt;
|Password input&lt;br /&gt;
|password&lt;br /&gt;
|sets a password with a password and password-repeat field. This is not used in forms for the target types &amp;lt;code&amp;gt;JSON on wikipage&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Template&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;Email&amp;lt;/code&amp;gt;, as the password is stored in plain text.&lt;br /&gt;
|-&lt;br /&gt;
|Tag input&lt;br /&gt;
|tag&lt;br /&gt;
|token field to add multiple values; values are separated with the &amp;lt;code&amp;gt;enter&amp;lt;/code&amp;gt;-key&lt;br /&gt;
|-&lt;br /&gt;
|Date&lt;br /&gt;
|date&lt;br /&gt;
|same as &#039;&#039;Date picker&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|Title input&lt;br /&gt;
|title&lt;br /&gt;
|selects page titles in the wiki&lt;br /&gt;
|-&lt;br /&gt;
|User input&lt;br /&gt;
|user_picker&lt;br /&gt;
|username that exists in the wiki&lt;br /&gt;
|-&lt;br /&gt;
|Group input&lt;br /&gt;
|group_picker&lt;br /&gt;
|group name that exists in the wiki&lt;br /&gt;
|-&lt;br /&gt;
|Group multiselect&lt;br /&gt;
|group_multiselect&lt;br /&gt;
|multiple group names&lt;br /&gt;
|-&lt;br /&gt;
|User multiselect&lt;br /&gt;
|user_multiselect&lt;br /&gt;
|multiple user names&lt;br /&gt;
|-&lt;br /&gt;
|Title multiseslect&lt;br /&gt;
|title_multiselect&lt;br /&gt;
|multiple page titles&lt;br /&gt;
|-&lt;br /&gt;
|Date picker&lt;br /&gt;
|date_picker&lt;br /&gt;
|calendar widget&lt;br /&gt;
|-&lt;br /&gt;
|Percent&lt;br /&gt;
|percent&lt;br /&gt;
|integer value&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Other ===&lt;br /&gt;
{| class=&amp;quot;wikitable compact&amp;quot; style=&amp;quot;width: 100%;&amp;quot; &lt;br /&gt;
!Element&lt;br /&gt;
!Type&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Static Wikitext&lt;br /&gt;
|static_wikitext&lt;br /&gt;
|non-editable text&lt;br /&gt;
|-&lt;br /&gt;
|Button&lt;br /&gt;
|button&lt;br /&gt;
|triggers an action (requires a defined event listener)&lt;br /&gt;
|-&lt;br /&gt;
|Message banner&lt;br /&gt;
|message&lt;br /&gt;
|message that can be shown anywhere in the form;&lt;br /&gt;
the type that is set (notice, error, warning, success) provides the visual formatting&lt;br /&gt;
|-&lt;br /&gt;
|Partial form import&lt;br /&gt;
|form_input&lt;br /&gt;
|adds form fields from another form&lt;br /&gt;
|-&lt;br /&gt;
|Icon&lt;br /&gt;
|icon&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|Indicator&lt;br /&gt;
|indicator&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|Label&lt;br /&gt;
|label&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|[[Manual:Extension/Forms/Progress bar|Progress bar]]&lt;br /&gt;
|progress_bar&lt;br /&gt;
|visual representation of the number of completed steps in a form such as a checklist&lt;br /&gt;
|-&lt;br /&gt;
|Section label&lt;br /&gt;
|section_label&lt;br /&gt;
|a heading to a form section&lt;br /&gt;
|-&lt;br /&gt;
|HR&lt;br /&gt;
|hr&lt;br /&gt;
|a visual separator line&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Input field options ===&lt;br /&gt;
Each input field has a combination of any of these options:&lt;br /&gt;
{| class=&amp;quot;wikitable compact&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&lt;br /&gt;
|+main&lt;br /&gt;
!Type&lt;br /&gt;
!Field&lt;br /&gt;
!Functionality&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;6&amp;quot; |(all)&lt;br /&gt;
|Name&lt;br /&gt;
|field name stored in the database (avoid special characters)&lt;br /&gt;
|-&lt;br /&gt;
|Label&lt;br /&gt;
|text label shown to users&lt;br /&gt;
|-&lt;br /&gt;
|Help&lt;br /&gt;
|creates a tooltip pop-up next to the label&lt;br /&gt;
|-&lt;br /&gt;
|No layout&lt;br /&gt;
|hides the label&lt;br /&gt;
|-&lt;br /&gt;
|Show on&lt;br /&gt;
|mode in which this field is visible&lt;br /&gt;
|-&lt;br /&gt;
|Editable on&lt;br /&gt;
|sets when the field value can be edited&lt;br /&gt;
|-&lt;br /&gt;
|Book&lt;br /&gt;
|Return property&lt;br /&gt;
|?&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable compact&amp;quot;&lt;br /&gt;
|+styling&lt;br /&gt;
!Type&lt;br /&gt;
!Field&lt;br /&gt;
!Functionality&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |(all)&lt;br /&gt;
|CSS Classes&lt;br /&gt;
|add individual CSS-classes for use on &#039;&#039;MediaWiki:Common.css&#039;&#039;&lt;br /&gt;
- the class is set on the form field itself and does not include the label; multiple classes can be set together or you can add them separately&lt;br /&gt;
|-&lt;br /&gt;
|Style&lt;br /&gt;
|define an inline style that affects only this field. The style is applied to the wrapper and includes the label and the field&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |Textarea, Wikitext input&lt;br /&gt;
|Number of rows&lt;br /&gt;
|used for textareas&lt;br /&gt;
|-&lt;br /&gt;
|Placeholder&lt;br /&gt;
|text that is displayed before the user is typing a value (has no effect, if there is also a default value set)&lt;br /&gt;
|-&lt;br /&gt;
|Radio group&lt;br /&gt;
|No default value&lt;br /&gt;
|ensures that there is no pre-selected radio-button if a default would not make sense&lt;br /&gt;
|-&lt;br /&gt;
|Radio group, Checkbox multiselect&lt;br /&gt;
|Horizontal layout&lt;br /&gt;
|aligns multiselect checkboxes or radio groups horizontally&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; |Button&lt;br /&gt;
|Icon&lt;br /&gt;
|displays an icon before the text, (e.g. a bootstrap-icon like &amp;lt;code&amp;gt;bi bi-calendar&amp;lt;/code&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
|Indicator&lt;br /&gt;
|displays an icon after the text (e.g. a bootstrap-icon like &amp;lt;code&amp;gt;bi bi-arrow-right&amp;lt;/code&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
|Framed&lt;br /&gt;
|when deactivated, the button looks like text only (and can be styled via CSS classes, e.g. &amp;lt;code&amp;gt;btn button-warning&amp;lt;/code&amp;gt;)&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable compact&amp;quot;&lt;br /&gt;
|+other&lt;br /&gt;
!Type&lt;br /&gt;
!Fieldset&lt;br /&gt;
!Field&lt;br /&gt;
!Functionality&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;6&amp;quot; |(all) &lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |Custom widget properties&lt;br /&gt;
|Key&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Value&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |Listeners&lt;br /&gt;
|Event&lt;br /&gt;
|event that is supported by [https://doc.wikimedia.org/oojs-ui/master/js/OO.ui.html OO.ui widgets], such as &#039;&#039;change, enter, focus, blur&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|Callback&lt;br /&gt;
|function that is called when the event occurs (can be declared in MediaWiki:Common.js for example&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
|Default value / &lt;br /&gt;
Selected by default&lt;br /&gt;
|value that is used if the user does not provide a value;  field type &amp;quot;checkbox&amp;quot; has option &amp;quot;Selected by default&amp;quot; instead&lt;br /&gt;
|-&lt;br /&gt;
|Required&lt;br /&gt;
|form cannot be submitted without this field having a value&lt;br /&gt;
|-&lt;br /&gt;
|Password&lt;br /&gt;
|&lt;br /&gt;
|Password strength&lt;br /&gt;
|weak: &amp;lt;br&amp;gt;&lt;br /&gt;
medium: &amp;lt;br&amp;gt;&lt;br /&gt;
strong:&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |Tag&lt;br /&gt;
|&lt;br /&gt;
|Input position&lt;br /&gt;
|inline:&lt;br /&gt;
outline:&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|Allow arbitrary&lt;br /&gt;
|It is possible to add values other than the allowed values (only necessary if allowed values are defined)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Form Settings ==&lt;br /&gt;
&lt;br /&gt;
=== Appearance ===&lt;br /&gt;
{| class=&amp;quot;wikitable compact&amp;quot; &lt;br /&gt;
!Field&lt;br /&gt;
!Functionality&lt;br /&gt;
|-&lt;br /&gt;
|Title&lt;br /&gt;
|display title for the form&lt;br /&gt;
|-&lt;br /&gt;
|Display title&lt;br /&gt;
|shows the form title above each form instance&lt;br /&gt;
|-&lt;br /&gt;
|Display form name&lt;br /&gt;
|displays the name fo the form with label &#039;&#039;Form used&#039;&#039; as first form element&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Behaviour ===&lt;br /&gt;
{| class=&amp;quot;wikitable compact&amp;quot; &lt;br /&gt;
!Field&lt;br /&gt;
!Functionality&lt;br /&gt;
|-&lt;br /&gt;
|Categories&lt;br /&gt;
|adds categories  to each form instance;  values are separated with the &amp;lt;code&amp;gt;enter&amp;lt;/code&amp;gt;-key&lt;br /&gt;
|-&lt;br /&gt;
|Seal after creation&lt;br /&gt;
|form instances cannot be edited after the initial save&lt;br /&gt;
|-&lt;br /&gt;
|Enable intermediate saving&lt;br /&gt;
|form instances show both a &amp;lt;code&amp;gt;Save&amp;lt;/code&amp;gt; and a &amp;lt;code&amp;gt;Save &amp;amp; Close&amp;lt;/code&amp;gt; button;&lt;br /&gt;
the &amp;lt;code&amp;gt;Save&amp;lt;/code&amp;gt; button saves the form values and keeps the form in edit-mode.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Infrastructure ===&lt;br /&gt;
{| class=&amp;quot;wikitable compact&amp;quot; &lt;br /&gt;
!Field&lt;br /&gt;
!Functionality&lt;br /&gt;
|-&lt;br /&gt;
|Resource loader dependencies&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Keep track of revisions&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Includable&lt;br /&gt;
|extends form&lt;br /&gt;
|-&lt;br /&gt;
|Abstract&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Partial&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Target ===&lt;br /&gt;
{| class=&amp;quot;wikitable compact&amp;quot; &lt;br /&gt;
!Field&lt;br /&gt;
!Functionality&lt;br /&gt;
|-&lt;br /&gt;
|Target type&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Predefined page title for pages created using this form&lt;br /&gt;
|use the field name to insert the value from a form field;&lt;br /&gt;
for example: if you have a field with the name &amp;lt;code&amp;gt;company_name&amp;lt;/code&amp;gt;, you can use &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{company_name}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; as page name or part of the page name.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Listeners ===&lt;br /&gt;
{| class=&amp;quot;wikitable compact&amp;quot; &lt;br /&gt;
!Field&lt;br /&gt;
!Functionality&lt;br /&gt;
|-&lt;br /&gt;
|Event &lt;br /&gt;
|each listener reacts to one of these events:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;initCompleteForm:&#039;&#039; object is initialized&lt;br /&gt;
* &#039;&#039;parseComplete:&#039;&#039; JSON/schema/config fully processed&lt;br /&gt;
* &#039;&#039;renderComplete:&#039;&#039; UI fully rendered in DOM&lt;br /&gt;
* &#039;&#039;beforeSubmitData:&#039;&#039; Right before submission&lt;br /&gt;
|-&lt;br /&gt;
|Callback&lt;br /&gt;
|calls a  function when the event occurs;&lt;br /&gt;
see the [[Manual:Extension/Forms/Progress bar|progress bar]] example.&lt;br /&gt;
|}{{translation}}&lt;br /&gt;
__FORCETOC__&lt;/div&gt;</summary>
		<author><name>Bhuber</name></author>
	</entry>
	<entry>
		<id>https://en.wiki.bluespice.com/w/index.php?title=Manual:Extension/Forms&amp;diff=14300</id>
		<title>Manual:Extension/Forms</title>
		<link rel="alternate" type="text/html" href="https://en.wiki.bluespice.com/w/index.php?title=Manual:Extension/Forms&amp;diff=14300"/>
		<updated>2026-06-01T14:39:31Z</updated>

		<summary type="html">&lt;p&gt;Bhuber: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The &#039;&#039;&#039;Forms&#039;&#039;&#039; extension allows formatting a wiki page or a user dialog as a form. It is also used in conjunction with the [[Reference:Workflows|Workflows]] extension where it provides input forms for workflow data.&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
To create a checklist as a form,  for example, the following steps are necessary:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Create the checklist form definition.&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;Create checklist instances directly from the form definition page.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As an example, we are creating the first fields for an event where food-related hygiene information has to be tracked.&lt;br /&gt;
[[File:checklist-event-screenshot.png|alt=Event checklist example|center|thumb|550x550px|Event checklist example]]&lt;br /&gt;
&lt;br /&gt;
==Create a checklist form==&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Create&#039;&#039;&#039; the page &#039;&#039;Checklist Event Hygiene.form&#039;&#039;.[[File:Extension Forms create form.png|center|thumb|400x400px|alt=Create-page dialog|Creating a new form]]This opens the Form editor.[[File:Extension Forms form editor.png|alt=elements of the form editor dialog|center|thumb|700x700px|Form editor]]&lt;br /&gt;
# &#039;&#039;&#039;Add&#039;&#039;&#039; a form section:&lt;br /&gt;
##&#039;&#039;&#039;Select&#039;&#039;&#039; the &#039;&#039;Section label&#039;&#039; element under &#039;&#039;Form Elements &amp;gt; Other&#039;&#039; (see screenshot annotation 2) and, holding down the left mouse button, drag it into the interactive form editor field below.&lt;br /&gt;
## &#039;&#039;&#039;Click&#039;&#039;&#039; anywhere in the &#039;&#039;Section label&#039;&#039; line. The field inspector opens.&lt;br /&gt;
## &#039;&#039;&#039;Enter&#039;&#039;&#039; the &#039;&#039;Name&#039;&#039;. This is saved as a field ID in the database and should therefore not contain any special characters.&lt;br /&gt;
## &#039;&#039;&#039;Enter&#039;&#039;&#039; the &#039;&#039;Title&#039;&#039; for the section label. This is displayed as the visible label for the text field.[[File:Extension Forms add section header.png|alt=Section label element inspector|center|thumb|700x700px|Adding the first section header]]&lt;br /&gt;
# &#039;&#039;&#039;Create&#039;&#039;&#039; the form fields for the Event section. Here we add a text box as an example. &lt;br /&gt;
## &#039;&#039;&#039;Drag&#039;&#039;&#039; the &#039;&#039;Text&#039;&#039; element from &#039;&#039;Form elements &amp;gt; Inputs&#039;&#039; under the section heading. &lt;br /&gt;
## &#039;&#039;&#039;Click&#039;&#039;&#039; anywhere in the &#039;&#039;text field&#039;&#039; line. The field inspector opens.&lt;br /&gt;
## &#039;&#039;&#039;Enter&#039;&#039;&#039; the &#039;&#039;Name&#039;&#039;. This is used as the database ID for this field and should therefore not contain any special characters.&lt;br /&gt;
## &#039;&#039;&#039;Enter&#039;&#039;&#039; the &#039;&#039;Label&#039;&#039;. This is displayed as the visible label for the text field.&lt;br /&gt;
## &#039;&#039;&#039;Add&#039;&#039;&#039; more form elements.&lt;br /&gt;
# &#039;&#039;&#039;Click&#039;&#039;&#039; &#039;&#039;Save&#039;&#039;. The form is now available in the main namespace as &#039;&#039;EventChecklistHygiene.form&#039;&#039;.    [[File:Manual:Checklist-view.png|alt=Saved form|center|thumb|650x650px|Saved form]]&amp;lt;br /&amp;gt;&lt;br /&gt;
To continue editing the form, switch to page edit mode (1).&lt;br /&gt;
&lt;br /&gt;
== Add more form elements ==&lt;br /&gt;
Now you can add more fields: [[Manual:Extension/Forms/Form elements and settings|View all form elements that you can add to your forms.]]&lt;br /&gt;
&lt;br /&gt;
==Create a checklist instance==&lt;br /&gt;
To create a checklist from the form:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Enter&#039;&#039;&#039; an event name&lt;br /&gt;
# &#039;&#039;&#039;Fill out&#039;&#039;&#039; the form fields.&lt;br /&gt;
# &#039;&#039;&#039;Click&#039;&#039;&#039; &#039;&#039;Submit&#039;&#039;.The checklist is now saved in the wiki and can be edited further.&lt;br /&gt;
==Alternative Target: E-mail==&lt;br /&gt;
Instead of creating a wiki page when the form is saved, you can send the form content to an E-Mail account. (&#039;&#039;&#039;Note:&#039;&#039;&#039; The E-Mail recipient has to be configured on the server by a server admin to be available to forms):&lt;br /&gt;
[[File:Manual:image.png|alt=Email target|center|thumb|650x650px|Email target]]&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Target type:&#039;&#039;&#039; Email&lt;br /&gt;
*&#039;&#039;&#039;Recipient:&#039;&#039;&#039; Possible recipients must have been configured on the server for security reasons. Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
 $wgFormsTargetEMailRecipients = [&lt;br /&gt;
&lt;br /&gt;
&#039;Marketing&#039; =&amp;gt; &amp;quot;marketing@example.com&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&#039;Administration&#039; =&amp;gt; &#039;WikiSysop&#039;&lt;br /&gt;
&lt;br /&gt;
];&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Subject:&#039;&#039;&#039; Existing form fields can be used as variables here. The value is taken from the form.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Content:&#039;&#039;&#039; As in the subject, existing form fields can also be used as variables here. The value is taken from the form.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[mediawikiwiki:Help:Magic_words#Localisation|Localization messages]] in combination with form fields can also be used as subject or email body:&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
{{int:Mailsubject| {{{name}}}|{{{surname}}} }}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Alternative Target: Template==&lt;br /&gt;
Instead of creating a standard wiki page or sending the form content via E-Mail, a [[Manual:Templates|Template]] can be used as the target for a form. In this case, the submitted form data is used to create a new wiki page based on an existing template structure, and form values are inserted into the template placeholders. &lt;br /&gt;
*&#039;&#039;&#039;Prerequisites&#039;&#039;&#039;: Before a Template target can be used, a corresponding template page must already exist in the wiki. The template serves as the structural basis for the generated page. Form fields are mapped to placeholders defined in the template. &lt;br /&gt;
[[File:Manual:Template Target.jpg|alt=selecting Template as target for forms|center|thumb|550x550px|Template Target]]&lt;br /&gt;
*&#039;&#039;&#039;Target type&#039;&#039;&#039;: Template&lt;br /&gt;
*&#039;&#039;&#039;Template&#039;&#039;&#039;: Name of the existing template used for page generation&lt;br /&gt;
*&#039;&#039;&#039;Predefined title&#039;&#039;&#039;: optional default title for the newly created page or to predefine a page path (e.g., to create all generated pages as subpages under a specific parent page) &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;​It is recommended to use identical or clearly related naming for the form and the template to improve maintainability and make configuration dependencies easier to identify. This is typically used to generate standardized, human-readable wiki pages, while JSON-based targets are more commonly used when the output is intended for structured data processing.&lt;br /&gt;
&lt;br /&gt;
==Adjust the styling==&lt;br /&gt;
&lt;br /&gt;
===Common.css===&lt;br /&gt;
To style individual elements in the form, go to the styling tab in the options dialog. There, you can enter a css class name. The styling is then defined on the &#039;&#039;MediaWiki:Common.css&#039;&#039; page (admin rights are required).&lt;br /&gt;
&lt;br /&gt;
To style the section heading:&lt;br /&gt;
&lt;br /&gt;
#&#039;&#039;&#039;Open&#039;&#039;&#039; the styling tab in the options menu of the Event heading field.&lt;br /&gt;
#&#039;&#039;&#039;Add&#039;&#039;&#039; a new CSS class and enter a selector name (&#039;&#039;CSS Classes&#039;&#039; field), e.g. &#039;&#039;frm-sectionhd&#039;&#039;.[[File:Manual:forms-css-class-en.png|alt=Add a css class|center|thumb|650x650px|Add a css class]]&lt;br /&gt;
#&#039;&#039;&#039;Paste&#039;&#039;&#039; the following style declarations into the &#039;&#039;MediaWiki:Common.css&#039;&#039; page, e.g.:&amp;lt;syntaxhighlight lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
.frm-sectionhd {&lt;br /&gt;
    border-bottom: 1px solid #a6a6a7;  &lt;br /&gt;
    background:#f1f3f9; &lt;br /&gt;
    padding:6px;&lt;br /&gt;
    margin:30px 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;[[File:Manual:forms-css-class-view-en.png|alt=Section label with customized styling|center|thumb|650x650px|Section label with customized styling]]&lt;br /&gt;
&lt;br /&gt;
If you do not have permission to view this page, you can enter style information directly for each element in the form via inline styling.&lt;br /&gt;
&lt;br /&gt;
===Inline styling===&lt;br /&gt;
Without access to &#039;&#039;MediaWiki:Common.css&#039;&#039;, the style information can be entered directly in the form. However, with many recurring style declarations this is not efficient in contrast to the definition of CSS classes in &#039;&#039;MediaWiki:Common.css&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
As an example, let&#039;s apply the previous section heading example directly as inline styling. To do this, open the options menu of the &#039;&#039;ech-event&#039;&#039; form element again. Enter the following statement in the &#039;&#039;Styling&#039;&#039; field and save the change:&amp;lt;syntaxhighlight lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
border-bottom: 1px solid #a6a6a7;  background:#f1f3f9; padding:6px;margin:30px 0;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
[[File:Manual:forms-css-inlinestyling-en.png|alt=Inline styling of a form element|center|thumb|650x650px|Inline styling of a form element]]&lt;br /&gt;
{{translation}}&lt;/div&gt;</summary>
		<author><name>Bhuber</name></author>
	</entry>
	<entry>
		<id>https://en.wiki.bluespice.com/w/index.php?title=File:Manual:Template_Target.jpg&amp;diff=14299</id>
		<title>File:Manual:Template Target.jpg</title>
		<link rel="alternate" type="text/html" href="https://en.wiki.bluespice.com/w/index.php?title=File:Manual:Template_Target.jpg&amp;diff=14299"/>
		<updated>2026-06-01T14:38:49Z</updated>

		<summary type="html">&lt;p&gt;Bhuber: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Template Target&lt;/div&gt;</summary>
		<author><name>Bhuber</name></author>
	</entry>
	<entry>
		<id>https://en.wiki.bluespice.com/w/index.php?title=Manual:Extension/Forms&amp;diff=14298</id>
		<title>Manual:Extension/Forms</title>
		<link rel="alternate" type="text/html" href="https://en.wiki.bluespice.com/w/index.php?title=Manual:Extension/Forms&amp;diff=14298"/>
		<updated>2026-06-01T12:48:17Z</updated>

		<summary type="html">&lt;p&gt;Bhuber: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The &#039;&#039;&#039;Forms&#039;&#039;&#039; extension allows formatting a wiki page or a user dialog as a form. It is also used in conjunction with the [[Reference:Workflows|Workflows]] extension where it provides input forms for workflow data.&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
To create a checklist as a form,  for example, the following steps are necessary:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Create the checklist form definition.&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;Create checklist instances directly from the form definition page.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As an example, we are creating the first fields for an event where food-related hygiene information has to be tracked.&lt;br /&gt;
[[File:checklist-event-screenshot.png|alt=Event checklist example|center|thumb|550x550px|Event checklist example]]&lt;br /&gt;
&lt;br /&gt;
==Create a checklist form==&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Create&#039;&#039;&#039; the page &#039;&#039;Checklist Event Hygiene.form&#039;&#039;.[[File:Extension Forms create form.png|center|thumb|400x400px|alt=Create-page dialog|Creating a new form]]This opens the Form editor.[[File:Extension Forms form editor.png|alt=elements of the form editor dialog|center|thumb|700x700px|Form editor]]&lt;br /&gt;
# &#039;&#039;&#039;Add&#039;&#039;&#039; a form section:&lt;br /&gt;
##&#039;&#039;&#039;Select&#039;&#039;&#039; the &#039;&#039;Section label&#039;&#039; element under &#039;&#039;Form Elements &amp;gt; Other&#039;&#039; (see screenshot annotation 2) and, holding down the left mouse button, drag it into the interactive form editor field below.&lt;br /&gt;
## &#039;&#039;&#039;Click&#039;&#039;&#039; anywhere in the &#039;&#039;Section label&#039;&#039; line. The field inspector opens.&lt;br /&gt;
## &#039;&#039;&#039;Enter&#039;&#039;&#039; the &#039;&#039;Name&#039;&#039;. This is saved as a field ID in the database and should therefore not contain any special characters.&lt;br /&gt;
## &#039;&#039;&#039;Enter&#039;&#039;&#039; the &#039;&#039;Title&#039;&#039; for the section label. This is displayed as the visible label for the text field.[[File:Extension Forms add section header.png|alt=Section label element inspector|center|thumb|700x700px|Adding the first section header]]&lt;br /&gt;
# &#039;&#039;&#039;Create&#039;&#039;&#039; the form fields for the Event section. Here we add a text box as an example. &lt;br /&gt;
## &#039;&#039;&#039;Drag&#039;&#039;&#039; the &#039;&#039;Text&#039;&#039; element from &#039;&#039;Form elements &amp;gt; Inputs&#039;&#039; under the section heading. &lt;br /&gt;
## &#039;&#039;&#039;Click&#039;&#039;&#039; anywhere in the &#039;&#039;text field&#039;&#039; line. The field inspector opens.&lt;br /&gt;
## &#039;&#039;&#039;Enter&#039;&#039;&#039; the &#039;&#039;Name&#039;&#039;. This is used as the database ID for this field and should therefore not contain any special characters.&lt;br /&gt;
## &#039;&#039;&#039;Enter&#039;&#039;&#039; the &#039;&#039;Label&#039;&#039;. This is displayed as the visible label for the text field.&lt;br /&gt;
## &#039;&#039;&#039;Add&#039;&#039;&#039; more form elements.&lt;br /&gt;
# &#039;&#039;&#039;Click&#039;&#039;&#039; &#039;&#039;Save&#039;&#039;. The form is now available in the main namespace as &#039;&#039;EventChecklistHygiene.form&#039;&#039;.    [[File:Manual:Checklist-view.png|alt=Saved form|center|thumb|650x650px|Saved form]]&amp;lt;br /&amp;gt;&lt;br /&gt;
To continue editing the form, switch to page edit mode (1).&lt;br /&gt;
&lt;br /&gt;
== Add more form elements ==&lt;br /&gt;
Now you can add more fields: [[Manual:Extension/Forms/Form elements and settings|View all form elements that you can add to your forms.]]&lt;br /&gt;
&lt;br /&gt;
==Create a checklist instance==&lt;br /&gt;
To create a checklist from the form:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Enter&#039;&#039;&#039; an event name&lt;br /&gt;
# &#039;&#039;&#039;Fill out&#039;&#039;&#039; the form fields.&lt;br /&gt;
# &#039;&#039;&#039;Click&#039;&#039;&#039; &#039;&#039;Submit&#039;&#039;.The checklist is now saved in the wiki and can be edited further.&lt;br /&gt;
==Alternative Target: E-mail==&lt;br /&gt;
Instead of creating a wiki page when the form is saved, you can send the form content to an E-Mail account. (&#039;&#039;&#039;Note:&#039;&#039;&#039; The E-Mail recipient has to be configured on the server by a server admin to be available to forms):&lt;br /&gt;
[[File:Manual:image.png|alt=Email target|center|thumb|650x650px|Email target]]&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Target type:&#039;&#039;&#039; Email&lt;br /&gt;
*&#039;&#039;&#039;Recipient:&#039;&#039;&#039; Possible recipients must have been configured on the server for security reasons. Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
 $wgFormsTargetEMailRecipients = [&lt;br /&gt;
&lt;br /&gt;
&#039;Marketing&#039; =&amp;gt; &amp;quot;marketing@example.com&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&#039;Administration&#039; =&amp;gt; &#039;WikiSysop&#039;&lt;br /&gt;
&lt;br /&gt;
];&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Subject:&#039;&#039;&#039; Existing form fields can be used as variables here. The value is taken from the form.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Content:&#039;&#039;&#039; As in the subject, existing form fields can also be used as variables here. The value is taken from the form.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[mediawikiwiki:Help:Magic_words#Localisation|Localization messages]] in combination with form fields can also be used as subject or email body:&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
{{int:Mailsubject| {{{name}}}|{{{surname}}} }}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Alternative Target: Template==&lt;br /&gt;
Instead of creating a standard wiki page or sending the form content via E-Mail, a [[Manual:Templates|Template]] can be used as the target for a form. In this case, the submitted form data is used to create a new wiki page based on an existing template structure, and form values are inserted into the template placeholders. &lt;br /&gt;
*&#039;&#039;&#039;Prerequisites&#039;&#039;&#039;: Before a Template target can be used, a corresponding template page must already exist in the wiki. The template serves as the structural basis for the generated page. Form fields are mapped to placeholders defined in the template. &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Target type&#039;&#039;&#039;: Template&lt;br /&gt;
*&#039;&#039;&#039;Template&#039;&#039;&#039;: Name of the existing template used for page generation&lt;br /&gt;
*&#039;&#039;&#039;Predefined title&#039;&#039;&#039;: optional default title for the newly created page or to predefine a page path (e.g., to create all generated pages as subpages under a specific parent page) &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
It is recommended to use identical or clearly related naming for the form and the template to improve maintainability and make configuration dependencies easier to identify. This is typically used to generate standardized, human-readable wiki pages, while JSON-based targets are more commonly used when the output is intended for structured data processing.&lt;br /&gt;
&lt;br /&gt;
==Adjust the styling==&lt;br /&gt;
&lt;br /&gt;
===Common.css===&lt;br /&gt;
To style individual elements in the form, go to the styling tab in the options dialog. There, you can enter a css class name. The styling is then defined on the &#039;&#039;MediaWiki:Common.css&#039;&#039; page (admin rights are required).&lt;br /&gt;
&lt;br /&gt;
To style the section heading:&lt;br /&gt;
&lt;br /&gt;
#&#039;&#039;&#039;Open&#039;&#039;&#039; the styling tab in the options menu of the Event heading field.&lt;br /&gt;
#&#039;&#039;&#039;Add&#039;&#039;&#039; a new CSS class and enter a selector name (&#039;&#039;CSS Classes&#039;&#039; field), e.g. &#039;&#039;frm-sectionhd&#039;&#039;.[[File:Manual:forms-css-class-en.png|alt=Add a css class|center|thumb|650x650px|Add a css class]]&lt;br /&gt;
#&#039;&#039;&#039;Paste&#039;&#039;&#039; the following style declarations into the &#039;&#039;MediaWiki:Common.css&#039;&#039; page, e.g.:&amp;lt;syntaxhighlight lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
.frm-sectionhd {&lt;br /&gt;
    border-bottom: 1px solid #a6a6a7;  &lt;br /&gt;
    background:#f1f3f9; &lt;br /&gt;
    padding:6px;&lt;br /&gt;
    margin:30px 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;[[File:Manual:forms-css-class-view-en.png|alt=Section label with customized styling|center|thumb|650x650px|Section label with customized styling]]&lt;br /&gt;
&lt;br /&gt;
If you do not have permission to view this page, you can enter style information directly for each element in the form via inline styling.&lt;br /&gt;
&lt;br /&gt;
===Inline styling===&lt;br /&gt;
Without access to &#039;&#039;MediaWiki:Common.css&#039;&#039;, the style information can be entered directly in the form. However, with many recurring style declarations this is not efficient in contrast to the definition of CSS classes in &#039;&#039;MediaWiki:Common.css&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
As an example, let&#039;s apply the previous section heading example directly as inline styling. To do this, open the options menu of the &#039;&#039;ech-event&#039;&#039; form element again. Enter the following statement in the &#039;&#039;Styling&#039;&#039; field and save the change:&amp;lt;syntaxhighlight lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
border-bottom: 1px solid #a6a6a7;  background:#f1f3f9; padding:6px;margin:30px 0;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
[[File:Manual:forms-css-inlinestyling-en.png|alt=Inline styling of a form element|center|thumb|650x650px|Inline styling of a form element]]&lt;br /&gt;
{{translation}}&lt;/div&gt;</summary>
		<author><name>Bhuber</name></author>
	</entry>
	<entry>
		<id>https://en.wiki.bluespice.com/w/index.php?title=Manual:Extension/Forms&amp;diff=14297</id>
		<title>Manual:Extension/Forms</title>
		<link rel="alternate" type="text/html" href="https://en.wiki.bluespice.com/w/index.php?title=Manual:Extension/Forms&amp;diff=14297"/>
		<updated>2026-06-01T12:44:45Z</updated>

		<summary type="html">&lt;p&gt;Bhuber: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The &#039;&#039;&#039;Forms&#039;&#039;&#039; extension allows formatting a wiki page or a user dialog as a form. It is also used in conjunction with the [[Reference:Workflows|Workflows]] extension where it provides input forms for workflow data.&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
To create a checklist as a form,  for example, the following steps are necessary:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Create the checklist form definition.&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;Create checklist instances directly from the form definition page.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As an example, we are creating the first fields for an event where food-related hygiene information has to be tracked.&lt;br /&gt;
[[File:checklist-event-screenshot.png|alt=Event checklist example|center|thumb|550x550px|Event checklist example]]&lt;br /&gt;
&lt;br /&gt;
==Create a checklist form==&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Create&#039;&#039;&#039; the page &#039;&#039;Checklist Event Hygiene.form&#039;&#039;.[[File:Extension Forms create form.png|center|thumb|400x400px|alt=Create-page dialog|Creating a new form]]This opens the Form editor.[[File:Extension Forms form editor.png|alt=elements of the form editor dialog|center|thumb|700x700px|Form editor]]&lt;br /&gt;
# &#039;&#039;&#039;Add&#039;&#039;&#039; a form section:&lt;br /&gt;
##&#039;&#039;&#039;Select&#039;&#039;&#039; the &#039;&#039;Section label&#039;&#039; element under &#039;&#039;Form Elements &amp;gt; Other&#039;&#039; (see screenshot annotation 2) and, holding down the left mouse button, drag it into the interactive form editor field below.&lt;br /&gt;
## &#039;&#039;&#039;Click&#039;&#039;&#039; anywhere in the &#039;&#039;Section label&#039;&#039; line. The field inspector opens.&lt;br /&gt;
## &#039;&#039;&#039;Enter&#039;&#039;&#039; the &#039;&#039;Name&#039;&#039;. This is saved as a field ID in the database and should therefore not contain any special characters.&lt;br /&gt;
## &#039;&#039;&#039;Enter&#039;&#039;&#039; the &#039;&#039;Title&#039;&#039; for the section label. This is displayed as the visible label for the text field.[[File:Extension Forms add section header.png|alt=Section label element inspector|center|thumb|700x700px|Adding the first section header]]&lt;br /&gt;
# &#039;&#039;&#039;Create&#039;&#039;&#039; the form fields for the Event section. Here we add a text box as an example. &lt;br /&gt;
## &#039;&#039;&#039;Drag&#039;&#039;&#039; the &#039;&#039;Text&#039;&#039; element from &#039;&#039;Form elements &amp;gt; Inputs&#039;&#039; under the section heading. &lt;br /&gt;
## &#039;&#039;&#039;Click&#039;&#039;&#039; anywhere in the &#039;&#039;text field&#039;&#039; line. The field inspector opens.&lt;br /&gt;
## &#039;&#039;&#039;Enter&#039;&#039;&#039; the &#039;&#039;Name&#039;&#039;. This is used as the database ID for this field and should therefore not contain any special characters.&lt;br /&gt;
## &#039;&#039;&#039;Enter&#039;&#039;&#039; the &#039;&#039;Label&#039;&#039;. This is displayed as the visible label for the text field.&lt;br /&gt;
## &#039;&#039;&#039;Add&#039;&#039;&#039; more form elements.&lt;br /&gt;
# &#039;&#039;&#039;Click&#039;&#039;&#039; &#039;&#039;Save&#039;&#039;. The form is now available in the main namespace as &#039;&#039;EventChecklistHygiene.form&#039;&#039;.    [[File:Manual:Checklist-view.png|alt=Saved form|center|thumb|650x650px|Saved form]]&amp;lt;br /&amp;gt;&lt;br /&gt;
To continue editing the form, switch to page edit mode (1).&lt;br /&gt;
&lt;br /&gt;
== Add more form elements ==&lt;br /&gt;
Now you can add more fields: [[Manual:Extension/Forms/Form elements and settings|View all form elements that you can add to your forms.]]&lt;br /&gt;
&lt;br /&gt;
==Create a checklist instance==&lt;br /&gt;
To create a checklist from the form:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Enter&#039;&#039;&#039; an event name&lt;br /&gt;
# &#039;&#039;&#039;Fill out&#039;&#039;&#039; the form fields.&lt;br /&gt;
# &#039;&#039;&#039;Click&#039;&#039;&#039; &#039;&#039;Submit&#039;&#039;.The checklist is now saved in the wiki and can be edited further.&lt;br /&gt;
==Alternative Target: E-mail==&lt;br /&gt;
Instead of creating a wiki page when the form is saved, you can send the form content to an E-Mail account. (&#039;&#039;&#039;Note:&#039;&#039;&#039; The E-Mail recipient has to be configured on the server by a server admin to be available to forms):&lt;br /&gt;
[[File:Manual:image.png|alt=Email target|center|thumb|650x650px|Email target]]&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Target type:&#039;&#039;&#039; Email&lt;br /&gt;
*&#039;&#039;&#039;Recipient:&#039;&#039;&#039; Possible recipients must have been configured on the server for security reasons. Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
 $wgFormsTargetEMailRecipients = [&lt;br /&gt;
&lt;br /&gt;
&#039;Marketing&#039; =&amp;gt; &amp;quot;marketing@example.com&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&#039;Administration&#039; =&amp;gt; &#039;WikiSysop&#039;&lt;br /&gt;
&lt;br /&gt;
];&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Subject:&#039;&#039;&#039; Existing form fields can be used as variables here. The value is taken from the form.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Content:&#039;&#039;&#039; As in the subject, existing form fields can also be used as variables here. The value is taken from the form.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[mediawikiwiki:Help:Magic_words#Localisation|Localization messages]] in combination with form fields can also be used as subject or email body:&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
{{int:Mailsubject| {{{name}}}|{{{surname}}} }}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Alternative Target: Template==&lt;br /&gt;
Instead of creating a standard wiki page or sending the form content via E-Mail, a Template can be used as the target for a form. In this case, the submitted form data is used to create a new wiki page based on an existing template structure, and form values are inserted into the template placeholders. &lt;br /&gt;
*&#039;&#039;&#039;Prerequisites&#039;&#039;&#039;: Before a Template target can be used, a corresponding template page must already exist in the wiki. The template serves as the structural basis for the generated page. Form fields are mapped to placeholders defined in the template. &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Target type&#039;&#039;&#039;: Template&lt;br /&gt;
*&#039;&#039;&#039;Template&#039;&#039;&#039;: Name of the existing template used for page generation&lt;br /&gt;
*&#039;&#039;&#039;Predefined title&#039;&#039;&#039;: optional default title for the newly created page or to predefine a page path (e.g., to create all generated pages as subpages under a specific parent page) &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
It is recommended to use identical or clearly related naming for the form and the template to improve maintainability and make configuration dependencies easier to identify. This is typically used to generate standardized, human-readable wiki pages, while JSON-based targets are more commonly used when the output is intended for structured data processing.&lt;br /&gt;
&lt;br /&gt;
==Adjust the styling==&lt;br /&gt;
&lt;br /&gt;
===Common.css===&lt;br /&gt;
To style individual elements in the form, go to the styling tab in the options dialog. There, you can enter a css class name. The styling is then defined on the &#039;&#039;MediaWiki:Common.css&#039;&#039; page (admin rights are required).&lt;br /&gt;
&lt;br /&gt;
To style the section heading:&lt;br /&gt;
&lt;br /&gt;
#&#039;&#039;&#039;Open&#039;&#039;&#039; the styling tab in the options menu of the Event heading field.&lt;br /&gt;
#&#039;&#039;&#039;Add&#039;&#039;&#039; a new CSS class and enter a selector name (&#039;&#039;CSS Classes&#039;&#039; field), e.g. &#039;&#039;frm-sectionhd&#039;&#039;.[[File:Manual:forms-css-class-en.png|alt=Add a css class|center|thumb|650x650px|Add a css class]]&lt;br /&gt;
#&#039;&#039;&#039;Paste&#039;&#039;&#039; the following style declarations into the &#039;&#039;MediaWiki:Common.css&#039;&#039; page, e.g.:&amp;lt;syntaxhighlight lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
.frm-sectionhd {&lt;br /&gt;
    border-bottom: 1px solid #a6a6a7;  &lt;br /&gt;
    background:#f1f3f9; &lt;br /&gt;
    padding:6px;&lt;br /&gt;
    margin:30px 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;[[File:Manual:forms-css-class-view-en.png|alt=Section label with customized styling|center|thumb|650x650px|Section label with customized styling]]&lt;br /&gt;
&lt;br /&gt;
If you do not have permission to view this page, you can enter style information directly for each element in the form via inline styling.&lt;br /&gt;
&lt;br /&gt;
===Inline styling===&lt;br /&gt;
Without access to &#039;&#039;MediaWiki:Common.css&#039;&#039;, the style information can be entered directly in the form. However, with many recurring style declarations this is not efficient in contrast to the definition of CSS classes in &#039;&#039;MediaWiki:Common.css&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
As an example, let&#039;s apply the previous section heading example directly as inline styling. To do this, open the options menu of the &#039;&#039;ech-event&#039;&#039; form element again. Enter the following statement in the &#039;&#039;Styling&#039;&#039; field and save the change:&amp;lt;syntaxhighlight lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
border-bottom: 1px solid #a6a6a7;  background:#f1f3f9; padding:6px;margin:30px 0;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
[[File:Manual:forms-css-inlinestyling-en.png|alt=Inline styling of a form element|center|thumb|650x650px|Inline styling of a form element]]&lt;br /&gt;
{{translation}}&lt;/div&gt;</summary>
		<author><name>Bhuber</name></author>
	</entry>
	<entry>
		<id>https://en.wiki.bluespice.com/w/index.php?title=Manual:Extension/Forms&amp;diff=14296</id>
		<title>Manual:Extension/Forms</title>
		<link rel="alternate" type="text/html" href="https://en.wiki.bluespice.com/w/index.php?title=Manual:Extension/Forms&amp;diff=14296"/>
		<updated>2026-06-01T12:23:37Z</updated>

		<summary type="html">&lt;p&gt;Bhuber: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The &#039;&#039;&#039;Forms&#039;&#039;&#039; extension allows formatting a wiki page or a user dialog as a form. It is also used in conjunction with the [[Reference:Workflows|Workflows]] extension where it provides input forms for workflow data.&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
To create a checklist as a form,  for example, the following steps are necessary:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Create the checklist form definition.&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;Create checklist instances directly from the form definition page.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As an example, we are creating the first fields for an event where food-related hygiene information has to be tracked.&lt;br /&gt;
[[File:checklist-event-screenshot.png|alt=Event checklist example|center|thumb|550x550px|Event checklist example]]&lt;br /&gt;
&lt;br /&gt;
==Create a checklist form==&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Create&#039;&#039;&#039; the page &#039;&#039;Checklist Event Hygiene.form&#039;&#039;.[[File:Extension Forms create form.png|center|thumb|400x400px|alt=Create-page dialog|Creating a new form]]This opens the Form editor.[[File:Extension Forms form editor.png|alt=elements of the form editor dialog|center|thumb|700x700px|Form editor]]&lt;br /&gt;
# &#039;&#039;&#039;Add&#039;&#039;&#039; a form section:&lt;br /&gt;
##&#039;&#039;&#039;Select&#039;&#039;&#039; the &#039;&#039;Section label&#039;&#039; element under &#039;&#039;Form Elements &amp;gt; Other&#039;&#039; (see screenshot annotation 2) and, holding down the left mouse button, drag it into the interactive form editor field below.&lt;br /&gt;
## &#039;&#039;&#039;Click&#039;&#039;&#039; anywhere in the &#039;&#039;Section label&#039;&#039; line. The field inspector opens.&lt;br /&gt;
## &#039;&#039;&#039;Enter&#039;&#039;&#039; the &#039;&#039;Name&#039;&#039;. This is saved as a field ID in the database and should therefore not contain any special characters.&lt;br /&gt;
## &#039;&#039;&#039;Enter&#039;&#039;&#039; the &#039;&#039;Title&#039;&#039; for the section label. This is displayed as the visible label for the text field.[[File:Extension Forms add section header.png|alt=Section label element inspector|center|thumb|700x700px|Adding the first section header]]&lt;br /&gt;
# &#039;&#039;&#039;Create&#039;&#039;&#039; the form fields for the Event section. Here we add a text box as an example. &lt;br /&gt;
## &#039;&#039;&#039;Drag&#039;&#039;&#039; the &#039;&#039;Text&#039;&#039; element from &#039;&#039;Form elements &amp;gt; Inputs&#039;&#039; under the section heading. &lt;br /&gt;
## &#039;&#039;&#039;Click&#039;&#039;&#039; anywhere in the &#039;&#039;text field&#039;&#039; line. The field inspector opens.&lt;br /&gt;
## &#039;&#039;&#039;Enter&#039;&#039;&#039; the &#039;&#039;Name&#039;&#039;. This is used as the database ID for this field and should therefore not contain any special characters.&lt;br /&gt;
## &#039;&#039;&#039;Enter&#039;&#039;&#039; the &#039;&#039;Label&#039;&#039;. This is displayed as the visible label for the text field.&lt;br /&gt;
## &#039;&#039;&#039;Add&#039;&#039;&#039; more form elements.&lt;br /&gt;
# &#039;&#039;&#039;Click&#039;&#039;&#039; &#039;&#039;Save&#039;&#039;. The form is now available in the main namespace as &#039;&#039;EventChecklistHygiene.form&#039;&#039;.    [[File:Manual:Checklist-view.png|alt=Saved form|center|thumb|650x650px|Saved form]]&amp;lt;br /&amp;gt;&lt;br /&gt;
To continue editing the form, switch to page edit mode (1).&lt;br /&gt;
&lt;br /&gt;
== Add more form elements ==&lt;br /&gt;
Now you can add more fields: [[Manual:Extension/Forms/Form elements and settings|View all form elements that you can add to your forms.]]&lt;br /&gt;
&lt;br /&gt;
==Create a checklist instance==&lt;br /&gt;
To create a checklist from the form:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Enter&#039;&#039;&#039; an event name&lt;br /&gt;
# &#039;&#039;&#039;Fill out&#039;&#039;&#039; the form fields.&lt;br /&gt;
# &#039;&#039;&#039;Click&#039;&#039;&#039; &#039;&#039;Submit&#039;&#039;.The checklist is now saved in the wiki and can be edited further.&lt;br /&gt;
==Alternative Target: E-mail==&lt;br /&gt;
Instead of creating a wiki page when the form is saved, you can send the form content to an E-Mail account. (&#039;&#039;&#039;Note:&#039;&#039;&#039; The E-Mail recipient has to be configured on the server by a server admin to be available to forms):&lt;br /&gt;
[[File:Manual:image.png|alt=Email target|center|thumb|650x650px|Email target]]&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Target type:&#039;&#039;&#039; Email&lt;br /&gt;
*&#039;&#039;&#039;Recipient:&#039;&#039;&#039; Possible recipients must have been configured on the server for security reasons. Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
 $wgFormsTargetEMailRecipients = [&lt;br /&gt;
&lt;br /&gt;
&#039;Marketing&#039; =&amp;gt; &amp;quot;marketing@example.com&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
&#039;Administration&#039; =&amp;gt; &#039;WikiSysop&#039;&lt;br /&gt;
&lt;br /&gt;
];&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Subject:&#039;&#039;&#039; Existing form fields can be used as variables here. The value is taken from the form.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Content:&#039;&#039;&#039; As in the subject, existing form fields can also be used as variables here. The value is taken from the form.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[mediawikiwiki:Help:Magic_words#Localisation|Localization messages]] in combination with form fields can also be used as subject or email body:&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
{{int:Mailsubject| {{{name}}}|{{{surname}}} }}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Alternative Target: Template==&lt;br /&gt;
Instead of creating a standard wiki page or sending the form content via E-Mail, a Template can be used as the target for a form. In this case, the submitted form data is used to create a new wiki page based on an existing template structure. The template defines the layout and placeholders for the resulting page. &lt;br /&gt;
*&#039;&#039;&#039;Prerequisites&#039;&#039;&#039;: Before a Template target can be used, a corresponding template page must already exist in the wiki. The template serves as the structural basis for the generated page. Form fields are mapped to placeholders defined in the template. &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Target type&#039;&#039;&#039;: Template&lt;br /&gt;
*&#039;&#039;&#039;Template&#039;&#039;&#039;: Name of the existing template used for page generation&lt;br /&gt;
*&#039;&#039;&#039;Predefined title&#039;&#039;&#039;: optional default title for the newly created page or to predefine a page path (e.g., to create all generated pages as subpages under a specific parent page)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Adjust the styling==&lt;br /&gt;
&lt;br /&gt;
===Common.css===&lt;br /&gt;
To style individual elements in the form, go to the styling tab in the options dialog. There, you can enter a css class name. The styling is then defined on the &#039;&#039;MediaWiki:Common.css&#039;&#039; page (admin rights are required).&lt;br /&gt;
&lt;br /&gt;
To style the section heading:&lt;br /&gt;
&lt;br /&gt;
#&#039;&#039;&#039;Open&#039;&#039;&#039; the styling tab in the options menu of the Event heading field.&lt;br /&gt;
#&#039;&#039;&#039;Add&#039;&#039;&#039; a new CSS class and enter a selector name (&#039;&#039;CSS Classes&#039;&#039; field), e.g. &#039;&#039;frm-sectionhd&#039;&#039;.[[File:Manual:forms-css-class-en.png|alt=Add a css class|center|thumb|650x650px|Add a css class]]&lt;br /&gt;
#&#039;&#039;&#039;Paste&#039;&#039;&#039; the following style declarations into the &#039;&#039;MediaWiki:Common.css&#039;&#039; page, e.g.:&amp;lt;syntaxhighlight lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
.frm-sectionhd {&lt;br /&gt;
    border-bottom: 1px solid #a6a6a7;  &lt;br /&gt;
    background:#f1f3f9; &lt;br /&gt;
    padding:6px;&lt;br /&gt;
    margin:30px 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;[[File:Manual:forms-css-class-view-en.png|alt=Section label with customized styling|center|thumb|650x650px|Section label with customized styling]]&lt;br /&gt;
&lt;br /&gt;
If you do not have permission to view this page, you can enter style information directly for each element in the form via inline styling.&lt;br /&gt;
&lt;br /&gt;
===Inline styling===&lt;br /&gt;
Without access to &#039;&#039;MediaWiki:Common.css&#039;&#039;, the style information can be entered directly in the form. However, with many recurring style declarations this is not efficient in contrast to the definition of CSS classes in &#039;&#039;MediaWiki:Common.css&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
As an example, let&#039;s apply the previous section heading example directly as inline styling. To do this, open the options menu of the &#039;&#039;ech-event&#039;&#039; form element again. Enter the following statement in the &#039;&#039;Styling&#039;&#039; field and save the change:&amp;lt;syntaxhighlight lang=&amp;quot;css&amp;quot;&amp;gt;&lt;br /&gt;
border-bottom: 1px solid #a6a6a7;  background:#f1f3f9; padding:6px;margin:30px 0;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
[[File:Manual:forms-css-inlinestyling-en.png|alt=Inline styling of a form element|center|thumb|650x650px|Inline styling of a form element]]&lt;br /&gt;
{{translation}}&lt;/div&gt;</summary>
		<author><name>Bhuber</name></author>
	</entry>
	<entry>
		<id>https://en.wiki.bluespice.com/w/index.php?title=Manual:Extension/Forms/Progress_bar&amp;diff=14295</id>
		<title>Manual:Extension/Forms/Progress bar</title>
		<link rel="alternate" type="text/html" href="https://en.wiki.bluespice.com/w/index.php?title=Manual:Extension/Forms/Progress_bar&amp;diff=14295"/>
		<updated>2026-06-01T09:39:30Z</updated>

		<summary type="html">&lt;p&gt;Bhuber: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The progress bar shows a calculated progress value based on selected options in a form. In this example, it is applied to a checklist, but it can also be used for other use cases.&lt;br /&gt;
&lt;br /&gt;
== Adding a progress bar ==&lt;br /&gt;
This example shows one possible implementation of a progress bar for a checklist.&lt;br /&gt;
[[File:Extension Forms Progress bar example.png|alt=checklist with two sets of checkbox groups for onboarding tasks|center|thumb|550x550px|Example of a progress bar for checklist items]]&lt;br /&gt;
To recreate this form, the following components are required:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Provide the JavaScript logic&#039;&#039;&#039; in &#039;&#039;MediaWiki:Common.js&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;Define&#039;&#039;&#039; matching checkbox field and option &#039;&#039;&#039;syntax&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;Add an event listener&#039;&#039;&#039; in the form properties&lt;br /&gt;
&lt;br /&gt;
=== Provide the logic in &#039;&#039;MediaWiki:Common.js&#039;&#039; ===&lt;br /&gt;
Add the following JavaScript function to [https://en.wiki.bluespice.com/wiki/Manual:The_concept_of_namespaces#Namespace_.22MediaWiki.22 &#039;&#039;MediaWiki:Common.js&#039;&#039;]:&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
/*Extension:Forms - Add a progress bar for checkbox items */&lt;br /&gt;
function CalcProgress( data ) {&lt;br /&gt;
	var dfd = $.Deferred();&lt;br /&gt;
	var checked = 0;&lt;br /&gt;
	var ItemCheckboxes = this.$element.find( &#039;input[value^=check]&#039; );&lt;br /&gt;
	var total = ItemCheckboxes.length;&lt;br /&gt;
	if ( total &amp;lt; 1 ) {&lt;br /&gt;
		dfd.resolve( data );&lt;br /&gt;
		return dfd.promise();&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	var items = this.getItems();&lt;br /&gt;
	for( var name in data ) {&lt;br /&gt;
		if ( !name.startsWith( &#039;checkbox_multi-&#039; ) ) {&lt;br /&gt;
			continue;&lt;br /&gt;
		}&lt;br /&gt;
		var checkedCheckboxes = data[name];&lt;br /&gt;
		for ( var i = 0; i &amp;lt; checkedCheckboxes.length; i++ ) {&lt;br /&gt;
			checked++;	&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
	data.progress = ( 100 * checked ) / total;&lt;br /&gt;
	dfd.resolve( data );&lt;br /&gt;
&lt;br /&gt;
	return dfd.promise();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;On line 5, you define the prefix for each checkbox that should be included in the progress count:&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
input[value^=check]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;This means that the &#039;&#039;data&#039;&#039; value for your checkboxes needs to start with &#039;&#039;check&#039;&#039; and refers to the &#039;&#039;data&#039;&#039; value defined in each checkbox option:&lt;br /&gt;
[[File:Manual:checkbox data value check.jpg|thumb|center|Data definition in form, here starting with &amp;quot;check-&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On line 14, you define the included fields to only those that have the prefix of &#039;&#039;checkbox_multi&#039;&#039;in their name.&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
	if ( !name.startsWith( &#039;checkbox_multi-&#039; ) ) {&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Based on this implementation example, a checkbox option is included in the progress calculation only if the &#039;&#039;field&#039;&#039; name starts with &#039;&#039;checkbox_multi-&#039;&#039; and the option&#039;s &#039;&#039;data&#039;&#039; value starts with &#039;&#039;check&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
If you use different prefixes for your field names or option values, you need to update the JavaScript code accordingly. &lt;br /&gt;
&lt;br /&gt;
=== Apply the syntax to the checklist items ===&lt;br /&gt;
Here is a &amp;lt;code&amp;gt;checkbox_multiselect&amp;lt;/code&amp;gt; field that has the correct name-prefix and the correct  data-prefix. This field is therefore included in the count and all three options of the field count towards the progress:&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
	{&lt;br /&gt;
			&amp;quot;name&amp;quot;: &amp;quot;checkbox_multi-workplace_setup&amp;quot;,&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Workplace setup&amp;quot;,&lt;br /&gt;
			...&lt;br /&gt;
			&amp;quot;options&amp;quot;: [&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-equipment&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Provide equipment (laptop, phone)&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-access&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Grant access to required systems&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-intro&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Meet the team&amp;quot;&lt;br /&gt;
				}&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;checkbox_multiselect&amp;quot;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Create an event listener in the form properties ===&lt;br /&gt;
To connect your form to the JavaScript function, you need to create the [https://en.wiki.bluespice.com/wiki/Manual:Extension/Forms/Form_elements_and_settings#Listeners listener] in the form properties:&lt;br /&gt;
[[File:Extension Forms Progress bar listener.png|center|thumb|650x650px|Adding the listener to the form properties]]&lt;br /&gt;
To add the listener:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Open&#039;&#039;&#039; the form properties.&lt;br /&gt;
# &#039;&#039;&#039;Click&#039;&#039;&#039; on &#039;&#039;Listeners&#039;&#039;.&lt;br /&gt;
# &#039;&#039;&#039;Select&#039;&#039;&#039; the event &amp;lt;code&amp;gt;beforeSubmitData&amp;lt;/code&amp;gt; and enter the name of your JavaScript function. In our example, it is &amp;lt;code&amp;gt;CalcProgress&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The &amp;lt;code&amp;gt;beforeSubmitData&amp;lt;/code&amp;gt; event is triggered when the form is saved. As a result, changes to checkbox selections are not reflected immediately while editing. The progress bar is updated only after the form has been saved.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Complete implementation example ===&lt;br /&gt;
This example relies on the JavaScript logic above (especially the required naming conventions). It also defines a page naming pattern in the JSON configuration below. Each checklist is saved as a separate wiki page under the &#039;&#039;ExampleChecklist/&#039;&#039; prefix, using the checklist name as part of the page title. &lt;br /&gt;
&lt;br /&gt;
To use this example, save a new form (e.g. &#039;&#039;ExampleChecklist.form&#039;&#039;) and copy the following configuration into the definition source:&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;title&amp;quot;: &amp;quot;Example Progress Bar&amp;quot;,&lt;br /&gt;
	&amp;quot;showTitle&amp;quot;: true,&lt;br /&gt;
	&amp;quot;showFormName&amp;quot;: false,&lt;br /&gt;
	&amp;quot;buttonsFloat&amp;quot;: false,&lt;br /&gt;
	&amp;quot;categories&amp;quot;: [],&lt;br /&gt;
	&amp;quot;sealAfterCreation&amp;quot;: false,&lt;br /&gt;
	&amp;quot;enableProgressSave&amp;quot;: false,&lt;br /&gt;
	&amp;quot;enableEditSummary&amp;quot;: false,&lt;br /&gt;
	&amp;quot;rlDependencies&amp;quot;: [],&lt;br /&gt;
	&amp;quot;useFormRevs&amp;quot;: false,&lt;br /&gt;
	&amp;quot;includable&amp;quot;: false,&lt;br /&gt;
	&amp;quot;extends&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
	&amp;quot;abstract&amp;quot;: false,&lt;br /&gt;
	&amp;quot;partial&amp;quot;: false,&lt;br /&gt;
	&amp;quot;target&amp;quot;: {&lt;br /&gt;
		&amp;quot;type&amp;quot;: &amp;quot;json-on-wikipage&amp;quot;,&lt;br /&gt;
		&amp;quot;predefined_title&amp;quot;: &amp;quot;ExampleChecklist/{{checklistname}}&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;show_target_afterAction&amp;quot;: false,&lt;br /&gt;
	&amp;quot;listeners&amp;quot;: {&lt;br /&gt;
		&amp;quot;beforeSubmitData&amp;quot;: &amp;quot;jscb:CalcProgress&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;lang&amp;quot;: &amp;quot;json&amp;quot;,&lt;br /&gt;
	&amp;quot;items&amp;quot;: [&lt;br /&gt;
		{&lt;br /&gt;
			&amp;quot;name&amp;quot;: &amp;quot;checklistname&amp;quot;,&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Checklist name&amp;quot;,&lt;br /&gt;
			&amp;quot;help&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;noLayout&amp;quot;: false,&lt;br /&gt;
			&amp;quot;showOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;editableOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;widget_classes&amp;quot;: [],&lt;br /&gt;
			&amp;quot;style&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;widgetCustomProps&amp;quot;: [],&lt;br /&gt;
			&amp;quot;widget_listeners&amp;quot;: [],&lt;br /&gt;
			&amp;quot;value&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: false,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;text&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		{&lt;br /&gt;
			&amp;quot;name&amp;quot;: &amp;quot;progress&amp;quot;,&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Progress&amp;quot;,&lt;br /&gt;
			&amp;quot;help&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;noLayout&amp;quot;: true,&lt;br /&gt;
			&amp;quot;showOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;,&lt;br /&gt;
				&amp;quot;edit&amp;quot;,&lt;br /&gt;
				&amp;quot;view&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;editableOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;,&lt;br /&gt;
				&amp;quot;edit&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;widget_classes&amp;quot;: [],&lt;br /&gt;
			&amp;quot;style&amp;quot;: &amp;quot;margin:1em auto!important; max-width:100%&amp;quot;,&lt;br /&gt;
			&amp;quot;widgetCustomProps&amp;quot;: {&lt;br /&gt;
				&amp;quot;widget_progress&amp;quot;: &amp;quot;0&amp;quot;&lt;br /&gt;
			},&lt;br /&gt;
			&amp;quot;widget_listeners&amp;quot;: [],&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;progress_bar&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		{&lt;br /&gt;
			&amp;quot;name&amp;quot;: &amp;quot;checkbox_multi-getting_started&amp;quot;,&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Getting started&amp;quot;,&lt;br /&gt;
			&amp;quot;help&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;noLayout&amp;quot;: false,&lt;br /&gt;
			&amp;quot;showOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;,&lt;br /&gt;
				&amp;quot;edit&amp;quot;,&lt;br /&gt;
				&amp;quot;view&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;editableOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;,&lt;br /&gt;
				&amp;quot;edit&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;widget_classes&amp;quot;: [],&lt;br /&gt;
			&amp;quot;style&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;widgetCustomProps&amp;quot;: [],&lt;br /&gt;
			&amp;quot;widget_listeners&amp;quot;: [],&lt;br /&gt;
			&amp;quot;value&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: false,&lt;br /&gt;
			&amp;quot;horizontal&amp;quot;: false,&lt;br /&gt;
			&amp;quot;options&amp;quot;: [&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-profile&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Provide personal and role information&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-documents&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Submit required documents&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-intro&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Review introduction materials&amp;quot;&lt;br /&gt;
				}&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;checkbox_multiselect&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		{&lt;br /&gt;
			&amp;quot;name&amp;quot;: &amp;quot;checkbox_multi-workplace_setup&amp;quot;,&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Workplace setup&amp;quot;,&lt;br /&gt;
			&amp;quot;help&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;noLayout&amp;quot;: false,&lt;br /&gt;
			&amp;quot;showOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;,&lt;br /&gt;
				&amp;quot;edit&amp;quot;,&lt;br /&gt;
				&amp;quot;view&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;editableOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;,&lt;br /&gt;
				&amp;quot;edit&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;widget_classes&amp;quot;: [],&lt;br /&gt;
			&amp;quot;style&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;widgetCustomProps&amp;quot;: [],&lt;br /&gt;
			&amp;quot;widget_listeners&amp;quot;: [],&lt;br /&gt;
			&amp;quot;value&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: false,&lt;br /&gt;
			&amp;quot;horizontal&amp;quot;: false,&lt;br /&gt;
			&amp;quot;options&amp;quot;: [&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-equipment&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Provide equipment (laptop, phone)&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-access&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Grant access to required systems&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-intro&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Meet the team&amp;quot;&lt;br /&gt;
				}&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;checkbox_multiselect&amp;quot;&lt;br /&gt;
		}&lt;br /&gt;
	]&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Bhuber</name></author>
	</entry>
	<entry>
		<id>https://en.wiki.bluespice.com/w/index.php?title=Manual:Extension/Forms/Progress_bar&amp;diff=14294</id>
		<title>Manual:Extension/Forms/Progress bar</title>
		<link rel="alternate" type="text/html" href="https://en.wiki.bluespice.com/w/index.php?title=Manual:Extension/Forms/Progress_bar&amp;diff=14294"/>
		<updated>2026-06-01T09:33:50Z</updated>

		<summary type="html">&lt;p&gt;Bhuber: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The progress bar shows a calculated progress value based on selected options in a form. In this example, it is applied to a checklist, but it can also be used for other use cases.&lt;br /&gt;
&lt;br /&gt;
== Adding a progress bar ==&lt;br /&gt;
This example shows one possible implementation of a progress bar for a checklist.&lt;br /&gt;
[[File:Extension Forms Progress bar example.png|alt=checklist with two sets of checkbox groups for onboarding tasks|center|thumb|550x550px|Example of a progress bar for checklist items]]&lt;br /&gt;
To recreate this form, the following components are required:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Provide the JavaScript logic&#039;&#039;&#039; in &#039;&#039;MediaWiki:Common.js&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;Define&#039;&#039;&#039; matching checkbox field and option &#039;&#039;&#039;syntax&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;Add an event listener&#039;&#039;&#039; in the form properties&lt;br /&gt;
&lt;br /&gt;
=== Provide the logic in &#039;&#039;MediaWiki:Common.js&#039;&#039; ===&lt;br /&gt;
Add the following JavaScript function to [https://en.wiki.bluespice.com/wiki/Manual:The_concept_of_namespaces#Namespace_.22MediaWiki.22 &#039;&#039;MediaWiki:Common.js&#039;&#039;]:&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
/*Extension:Forms - Add a progress bar for checkbox items */&lt;br /&gt;
function CalcProgress( data ) {&lt;br /&gt;
	var dfd = $.Deferred();&lt;br /&gt;
	var checked = 0;&lt;br /&gt;
	var ItemCheckboxes = this.$element.find( &#039;input[value^=check]&#039; );&lt;br /&gt;
	var total = ItemCheckboxes.length;&lt;br /&gt;
	if ( total &amp;lt; 1 ) {&lt;br /&gt;
		dfd.resolve( data );&lt;br /&gt;
		return dfd.promise();&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	var items = this.getItems();&lt;br /&gt;
	for( var name in data ) {&lt;br /&gt;
		if ( !name.startsWith( &#039;checkbox_multi-&#039; ) ) {&lt;br /&gt;
			continue;&lt;br /&gt;
		}&lt;br /&gt;
		var checkedCheckboxes = data[name];&lt;br /&gt;
		for ( var i = 0; i &amp;lt; checkedCheckboxes.length; i++ ) {&lt;br /&gt;
			checked++;	&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
	data.progress = ( 100 * checked ) / total;&lt;br /&gt;
	dfd.resolve( data );&lt;br /&gt;
&lt;br /&gt;
	return dfd.promise();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;On line 5, you define the prefix for each checkbox that should be included in the progress count:&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
input[value^=check]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;This means that the &#039;&#039;data&#039;&#039; value for your checkboxes needs to start with &#039;&#039;check&#039;&#039; and refers to the &#039;&#039;data&#039;&#039; value defined in each checkbox option:&lt;br /&gt;
[[File:Manual:checkbox data value check.jpg|thumb|center|Data definition in form, here starting with &amp;quot;check-&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On line 14, you define the included fields to only those that have the prefix of &#039;&#039;checkbox_multi&#039;&#039;in their name.&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
	if ( !name.startsWith( &#039;checkbox_multi-&#039; ) ) {&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Based on this implementation example, a checkbox option is included in the progress calculation only if the &#039;&#039;field&#039;&#039; name starts with &#039;&#039;checkbox_multi-&#039;&#039; and the option&#039;s &#039;&#039;data&#039;&#039; value starts with &#039;&#039;check&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
If you use different prefixes for your field names or option values, you need to update the JavaScript code accordingly. &lt;br /&gt;
&lt;br /&gt;
=== Apply the syntax to the checklist items ===&lt;br /&gt;
Here is a &amp;lt;code&amp;gt;checkbox_multiselect&amp;lt;/code&amp;gt; field that has the correct name-prefix and the correct  data-prefix. This field is therefore included in the count and all three options of the field count towards the progress:&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
	{&lt;br /&gt;
			&amp;quot;name&amp;quot;: &amp;quot;checkbox_multi-workplace_setup&amp;quot;,&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Workplace setup&amp;quot;,&lt;br /&gt;
			...&lt;br /&gt;
			&amp;quot;options&amp;quot;: [&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-equipment&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Provide equipment (laptop, phone)&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-access&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Grant access to required systems&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-intro&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Meet the team&amp;quot;&lt;br /&gt;
				}&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;checkbox_multiselect&amp;quot;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Create an event listener in the form properties ===&lt;br /&gt;
To connect your form to the JavaScript function, you need to create the [https://en.wiki.bluespice.com/wiki/Manual:Extension/Forms/Form_elements_and_settings#Listeners listener] in the form properties:&lt;br /&gt;
[[File:Extension Forms Progress bar listener.png|center|thumb|650x650px|Adding the listener to the form properties]]&lt;br /&gt;
To add the listener:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Open&#039;&#039;&#039; the form properties.&lt;br /&gt;
# &#039;&#039;&#039;Click&#039;&#039;&#039; on &#039;&#039;Listeners&#039;&#039;.&lt;br /&gt;
# &#039;&#039;&#039;Select&#039;&#039;&#039; the event &amp;lt;code&amp;gt;beforeSubmitData&amp;lt;/code&amp;gt; and enter the name of your JavaScript function. In our example, it is &amp;lt;code&amp;gt;CalcProgress&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The &amp;lt;code&amp;gt;beforeSubmitData&amp;lt;/code&amp;gt; event is triggered when the form is saved. As a result, changes to checkbox selections are not reflected immediately while editing. The progress bar is updated only after the form has been saved.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Complete implementation example ===&lt;br /&gt;
This example relies on the JavaScript logic above (especially the required naming conventions). It also uses a page naming pattern defined in the JSON configuration below. Each checklist is saved as a separate wiki page under the &#039;&#039;ExampleChecklist/&#039;&#039; prefix, using the checklist name as part of the page title. &lt;br /&gt;
&lt;br /&gt;
To use this example, save a new form (e.g. &#039;&#039;ExampleChecklist.form&#039;&#039;) and copy the following configuration into the definition source:&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;title&amp;quot;: &amp;quot;Example Progress Bar&amp;quot;,&lt;br /&gt;
	&amp;quot;showTitle&amp;quot;: true,&lt;br /&gt;
	&amp;quot;showFormName&amp;quot;: false,&lt;br /&gt;
	&amp;quot;buttonsFloat&amp;quot;: false,&lt;br /&gt;
	&amp;quot;categories&amp;quot;: [],&lt;br /&gt;
	&amp;quot;sealAfterCreation&amp;quot;: false,&lt;br /&gt;
	&amp;quot;enableProgressSave&amp;quot;: false,&lt;br /&gt;
	&amp;quot;enableEditSummary&amp;quot;: false,&lt;br /&gt;
	&amp;quot;rlDependencies&amp;quot;: [],&lt;br /&gt;
	&amp;quot;useFormRevs&amp;quot;: false,&lt;br /&gt;
	&amp;quot;includable&amp;quot;: false,&lt;br /&gt;
	&amp;quot;extends&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
	&amp;quot;abstract&amp;quot;: false,&lt;br /&gt;
	&amp;quot;partial&amp;quot;: false,&lt;br /&gt;
	&amp;quot;target&amp;quot;: {&lt;br /&gt;
		&amp;quot;type&amp;quot;: &amp;quot;json-on-wikipage&amp;quot;,&lt;br /&gt;
		&amp;quot;predefined_title&amp;quot;: &amp;quot;ExampleChecklist/{{checklistname}}&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;show_target_afterAction&amp;quot;: false,&lt;br /&gt;
	&amp;quot;listeners&amp;quot;: {&lt;br /&gt;
		&amp;quot;beforeSubmitData&amp;quot;: &amp;quot;jscb:CalcProgress&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;lang&amp;quot;: &amp;quot;json&amp;quot;,&lt;br /&gt;
	&amp;quot;items&amp;quot;: [&lt;br /&gt;
		{&lt;br /&gt;
			&amp;quot;name&amp;quot;: &amp;quot;checklistname&amp;quot;,&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Checklist name&amp;quot;,&lt;br /&gt;
			&amp;quot;help&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;noLayout&amp;quot;: false,&lt;br /&gt;
			&amp;quot;showOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;editableOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;widget_classes&amp;quot;: [],&lt;br /&gt;
			&amp;quot;style&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;widgetCustomProps&amp;quot;: [],&lt;br /&gt;
			&amp;quot;widget_listeners&amp;quot;: [],&lt;br /&gt;
			&amp;quot;value&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: false,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;text&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		{&lt;br /&gt;
			&amp;quot;name&amp;quot;: &amp;quot;progress&amp;quot;,&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Progress&amp;quot;,&lt;br /&gt;
			&amp;quot;help&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;noLayout&amp;quot;: true,&lt;br /&gt;
			&amp;quot;showOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;,&lt;br /&gt;
				&amp;quot;edit&amp;quot;,&lt;br /&gt;
				&amp;quot;view&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;editableOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;,&lt;br /&gt;
				&amp;quot;edit&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;widget_classes&amp;quot;: [],&lt;br /&gt;
			&amp;quot;style&amp;quot;: &amp;quot;margin:1em auto!important; max-width:100%&amp;quot;,&lt;br /&gt;
			&amp;quot;widgetCustomProps&amp;quot;: {&lt;br /&gt;
				&amp;quot;widget_progress&amp;quot;: &amp;quot;0&amp;quot;&lt;br /&gt;
			},&lt;br /&gt;
			&amp;quot;widget_listeners&amp;quot;: [],&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;progress_bar&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		{&lt;br /&gt;
			&amp;quot;name&amp;quot;: &amp;quot;checkbox_multi-getting_started&amp;quot;,&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Getting started&amp;quot;,&lt;br /&gt;
			&amp;quot;help&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;noLayout&amp;quot;: false,&lt;br /&gt;
			&amp;quot;showOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;,&lt;br /&gt;
				&amp;quot;edit&amp;quot;,&lt;br /&gt;
				&amp;quot;view&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;editableOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;,&lt;br /&gt;
				&amp;quot;edit&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;widget_classes&amp;quot;: [],&lt;br /&gt;
			&amp;quot;style&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;widgetCustomProps&amp;quot;: [],&lt;br /&gt;
			&amp;quot;widget_listeners&amp;quot;: [],&lt;br /&gt;
			&amp;quot;value&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: false,&lt;br /&gt;
			&amp;quot;horizontal&amp;quot;: false,&lt;br /&gt;
			&amp;quot;options&amp;quot;: [&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-profile&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Provide personal and role information&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-documents&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Submit required documents&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-intro&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Review introduction materials&amp;quot;&lt;br /&gt;
				}&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;checkbox_multiselect&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		{&lt;br /&gt;
			&amp;quot;name&amp;quot;: &amp;quot;checkbox_multi-workplace_setup&amp;quot;,&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Workplace setup&amp;quot;,&lt;br /&gt;
			&amp;quot;help&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;noLayout&amp;quot;: false,&lt;br /&gt;
			&amp;quot;showOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;,&lt;br /&gt;
				&amp;quot;edit&amp;quot;,&lt;br /&gt;
				&amp;quot;view&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;editableOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;,&lt;br /&gt;
				&amp;quot;edit&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;widget_classes&amp;quot;: [],&lt;br /&gt;
			&amp;quot;style&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;widgetCustomProps&amp;quot;: [],&lt;br /&gt;
			&amp;quot;widget_listeners&amp;quot;: [],&lt;br /&gt;
			&amp;quot;value&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: false,&lt;br /&gt;
			&amp;quot;horizontal&amp;quot;: false,&lt;br /&gt;
			&amp;quot;options&amp;quot;: [&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-equipment&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Provide equipment (laptop, phone)&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-access&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Grant access to required systems&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-intro&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Meet the team&amp;quot;&lt;br /&gt;
				}&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;checkbox_multiselect&amp;quot;&lt;br /&gt;
		}&lt;br /&gt;
	]&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Bhuber</name></author>
	</entry>
	<entry>
		<id>https://en.wiki.bluespice.com/w/index.php?title=Manual:Extension/Forms/Progress_bar&amp;diff=14293</id>
		<title>Manual:Extension/Forms/Progress bar</title>
		<link rel="alternate" type="text/html" href="https://en.wiki.bluespice.com/w/index.php?title=Manual:Extension/Forms/Progress_bar&amp;diff=14293"/>
		<updated>2026-06-01T09:17:37Z</updated>

		<summary type="html">&lt;p&gt;Bhuber: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The progress bar shows a calculated progress value based on selected options in a form. In this example, it is applied to a checklist, but it can also be used for other use cases.&lt;br /&gt;
&lt;br /&gt;
== Adding a progress bar ==&lt;br /&gt;
This example shows one possible implementation of a progress bar for a checklist.&lt;br /&gt;
[[File:Extension Forms Progress bar example.png|alt=checklist with two sets of checkbox groups for onboarding tasks|center|thumb|550x550px|Example of a progress bar for checklist items]]&lt;br /&gt;
To recreate this form, the following components are required:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Provide the JavaScript logic&#039;&#039;&#039; in &#039;&#039;MediaWiki:Common.js&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;Define&#039;&#039;&#039; matching checkbox field and option &#039;&#039;&#039;syntax&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;Add an event listener&#039;&#039;&#039; in the form properties&lt;br /&gt;
&lt;br /&gt;
=== Provide the logic in &#039;&#039;MediaWiki:Common.js&#039;&#039; ===&lt;br /&gt;
Add the following JavaScript function to [https://en.wiki.bluespice.com/wiki/Manual:The_concept_of_namespaces#Namespace_.22MediaWiki.22 &#039;&#039;MediaWiki:Common.js&#039;&#039;]:&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
/*Extension:Forms - Add a progress bar for checkbox items */&lt;br /&gt;
function CalcProgress( data ) {&lt;br /&gt;
	var dfd = $.Deferred();&lt;br /&gt;
	var checked = 0;&lt;br /&gt;
	var ItemCheckboxes = this.$element.find( &#039;input[value^=check]&#039; );&lt;br /&gt;
	var total = ItemCheckboxes.length;&lt;br /&gt;
	if ( total &amp;lt; 1 ) {&lt;br /&gt;
		dfd.resolve( data );&lt;br /&gt;
		return dfd.promise();&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	var items = this.getItems();&lt;br /&gt;
	for( var name in data ) {&lt;br /&gt;
		if ( !name.startsWith( &#039;checkbox_multi-&#039; ) ) {&lt;br /&gt;
			continue;&lt;br /&gt;
		}&lt;br /&gt;
		var checkedCheckboxes = data[name];&lt;br /&gt;
		for ( var i = 0; i &amp;lt; checkedCheckboxes.length; i++ ) {&lt;br /&gt;
			checked++;	&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
	data.progress = ( 100 * checked ) / total;&lt;br /&gt;
	dfd.resolve( data );&lt;br /&gt;
&lt;br /&gt;
	return dfd.promise();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;On line 5, you define the prefix for each checkbox that should be included in the progress count:&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
input[value^=check]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;This means that the &#039;&#039;data&#039;&#039; value for your checkboxes needs to start with &#039;&#039;check&#039;&#039; and refers to the &#039;&#039;data&#039;&#039; value defined in each checkbox option:&lt;br /&gt;
[[File:Manual:checkbox data value check.jpg|thumb|center|Data definition in form, here starting with &amp;quot;check-&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On line 14, you define the included fields to only those that have the prefix of &#039;&#039;checkbox_multi&#039;&#039;in their name.&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
	if ( !name.startsWith( &#039;checkbox_multi-&#039; ) ) {&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Based on this implementation example, a checkbox option is included in the progress calculation only if the &#039;&#039;field&#039;&#039; name starts with &#039;&#039;checkbox_multi-&#039;&#039; and the option&#039;s &#039;&#039;data&#039;&#039; value starts with &#039;&#039;check&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
If you use different prefixes for your field names or option values, you need to update the JavaScript code accordingly. &lt;br /&gt;
&lt;br /&gt;
=== Apply the syntax to the checklist items ===&lt;br /&gt;
Here is a &amp;lt;code&amp;gt;checkbox_multiselect&amp;lt;/code&amp;gt; field that has the correct name-prefix and the correct  data-prefix. This field is therefore included in the count and all three options of the field count towards the progress:&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
	{&lt;br /&gt;
			&amp;quot;name&amp;quot;: &amp;quot;checkbox_multi-workplace_setup&amp;quot;,&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Workplace setup&amp;quot;,&lt;br /&gt;
			...&lt;br /&gt;
			&amp;quot;options&amp;quot;: [&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-equipment&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Provide equipment (laptop, phone)&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-access&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Grant access to required systems&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-intro&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Meet the team&amp;quot;&lt;br /&gt;
				}&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;checkbox_multiselect&amp;quot;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Create an event listener in the form properties ===&lt;br /&gt;
To connect your form to the JavaScript function, you need to create the [https://en.wiki.bluespice.com/wiki/Manual:Extension/Forms/Form_elements_and_settings#Listeners listener] in the form properties:&lt;br /&gt;
[[File:Extension Forms Progress bar listener.png|center|thumb|650x650px|Adding the listener to the form properties]]&lt;br /&gt;
To add the listener:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Open&#039;&#039;&#039; the form properties.&lt;br /&gt;
# &#039;&#039;&#039;Click&#039;&#039;&#039; on &#039;&#039;Listeners&#039;&#039;.&lt;br /&gt;
# &#039;&#039;&#039;Select&#039;&#039;&#039; the event &amp;lt;code&amp;gt;beforeSubmitData&amp;lt;/code&amp;gt; and enter the name of your JavaScript function. In our example, it is &amp;lt;code&amp;gt;CalcProgress&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The &amp;lt;code&amp;gt;beforeSubmitData&amp;lt;/code&amp;gt; event is triggered when the form is saved. As a result, changes to checkbox selections are not reflected immediately while editing. The progress bar is updated only after the form has been saved.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
This example relies on the JavaScript logic above (especially the required naming conventions). To test it, save a new form (e.g. &#039;&#039;ExampleChecklist.form&#039;&#039;) and copy the following configuration into the definition source:&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;title&amp;quot;: &amp;quot;Example Progress Bar&amp;quot;,&lt;br /&gt;
	&amp;quot;showTitle&amp;quot;: true,&lt;br /&gt;
	&amp;quot;showFormName&amp;quot;: false,&lt;br /&gt;
	&amp;quot;buttonsFloat&amp;quot;: false,&lt;br /&gt;
	&amp;quot;categories&amp;quot;: [],&lt;br /&gt;
	&amp;quot;sealAfterCreation&amp;quot;: false,&lt;br /&gt;
	&amp;quot;enableProgressSave&amp;quot;: false,&lt;br /&gt;
	&amp;quot;enableEditSummary&amp;quot;: false,&lt;br /&gt;
	&amp;quot;rlDependencies&amp;quot;: [],&lt;br /&gt;
	&amp;quot;useFormRevs&amp;quot;: false,&lt;br /&gt;
	&amp;quot;includable&amp;quot;: false,&lt;br /&gt;
	&amp;quot;extends&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
	&amp;quot;abstract&amp;quot;: false,&lt;br /&gt;
	&amp;quot;partial&amp;quot;: false,&lt;br /&gt;
	&amp;quot;target&amp;quot;: {&lt;br /&gt;
		&amp;quot;type&amp;quot;: &amp;quot;json-on-wikipage&amp;quot;,&lt;br /&gt;
		&amp;quot;predefined_title&amp;quot;: &amp;quot;ExampleChecklist/{{checklistname}}&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;show_target_afterAction&amp;quot;: false,&lt;br /&gt;
	&amp;quot;listeners&amp;quot;: {&lt;br /&gt;
		&amp;quot;beforeSubmitData&amp;quot;: &amp;quot;jscb:CalcProgress&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;lang&amp;quot;: &amp;quot;json&amp;quot;,&lt;br /&gt;
	&amp;quot;items&amp;quot;: [&lt;br /&gt;
		{&lt;br /&gt;
			&amp;quot;name&amp;quot;: &amp;quot;checklistname&amp;quot;,&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Checklist name&amp;quot;,&lt;br /&gt;
			&amp;quot;help&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;noLayout&amp;quot;: false,&lt;br /&gt;
			&amp;quot;showOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;editableOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;widget_classes&amp;quot;: [],&lt;br /&gt;
			&amp;quot;style&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;widgetCustomProps&amp;quot;: [],&lt;br /&gt;
			&amp;quot;widget_listeners&amp;quot;: [],&lt;br /&gt;
			&amp;quot;value&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: false,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;text&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		{&lt;br /&gt;
			&amp;quot;name&amp;quot;: &amp;quot;progress&amp;quot;,&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Progress&amp;quot;,&lt;br /&gt;
			&amp;quot;help&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;noLayout&amp;quot;: true,&lt;br /&gt;
			&amp;quot;showOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;,&lt;br /&gt;
				&amp;quot;edit&amp;quot;,&lt;br /&gt;
				&amp;quot;view&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;editableOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;,&lt;br /&gt;
				&amp;quot;edit&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;widget_classes&amp;quot;: [],&lt;br /&gt;
			&amp;quot;style&amp;quot;: &amp;quot;margin:1em auto!important; max-width:100%&amp;quot;,&lt;br /&gt;
			&amp;quot;widgetCustomProps&amp;quot;: {&lt;br /&gt;
				&amp;quot;widget_progress&amp;quot;: &amp;quot;0&amp;quot;&lt;br /&gt;
			},&lt;br /&gt;
			&amp;quot;widget_listeners&amp;quot;: [],&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;progress_bar&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		{&lt;br /&gt;
			&amp;quot;name&amp;quot;: &amp;quot;checkbox_multi-getting_started&amp;quot;,&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Getting started&amp;quot;,&lt;br /&gt;
			&amp;quot;help&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;noLayout&amp;quot;: false,&lt;br /&gt;
			&amp;quot;showOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;,&lt;br /&gt;
				&amp;quot;edit&amp;quot;,&lt;br /&gt;
				&amp;quot;view&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;editableOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;,&lt;br /&gt;
				&amp;quot;edit&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;widget_classes&amp;quot;: [],&lt;br /&gt;
			&amp;quot;style&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;widgetCustomProps&amp;quot;: [],&lt;br /&gt;
			&amp;quot;widget_listeners&amp;quot;: [],&lt;br /&gt;
			&amp;quot;value&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: false,&lt;br /&gt;
			&amp;quot;horizontal&amp;quot;: false,&lt;br /&gt;
			&amp;quot;options&amp;quot;: [&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-profile&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Provide personal and role information&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-documents&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Submit required documents&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-intro&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Review introduction materials&amp;quot;&lt;br /&gt;
				}&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;checkbox_multiselect&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		{&lt;br /&gt;
			&amp;quot;name&amp;quot;: &amp;quot;checkbox_multi-workplace_setup&amp;quot;,&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Workplace setup&amp;quot;,&lt;br /&gt;
			&amp;quot;help&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;noLayout&amp;quot;: false,&lt;br /&gt;
			&amp;quot;showOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;,&lt;br /&gt;
				&amp;quot;edit&amp;quot;,&lt;br /&gt;
				&amp;quot;view&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;editableOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;,&lt;br /&gt;
				&amp;quot;edit&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;widget_classes&amp;quot;: [],&lt;br /&gt;
			&amp;quot;style&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;widgetCustomProps&amp;quot;: [],&lt;br /&gt;
			&amp;quot;widget_listeners&amp;quot;: [],&lt;br /&gt;
			&amp;quot;value&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: false,&lt;br /&gt;
			&amp;quot;horizontal&amp;quot;: false,&lt;br /&gt;
			&amp;quot;options&amp;quot;: [&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-equipment&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Provide equipment (laptop, phone)&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-access&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Grant access to required systems&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-intro&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Meet the team&amp;quot;&lt;br /&gt;
				}&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;checkbox_multiselect&amp;quot;&lt;br /&gt;
		}&lt;br /&gt;
	]&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Bhuber</name></author>
	</entry>
	<entry>
		<id>https://en.wiki.bluespice.com/w/index.php?title=Manual:Extension/Forms/Progress_bar&amp;diff=14292</id>
		<title>Manual:Extension/Forms/Progress bar</title>
		<link rel="alternate" type="text/html" href="https://en.wiki.bluespice.com/w/index.php?title=Manual:Extension/Forms/Progress_bar&amp;diff=14292"/>
		<updated>2026-06-01T09:11:52Z</updated>

		<summary type="html">&lt;p&gt;Bhuber: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The progress bar shows a calculated progress value based on selected options in a form. In this example, it is applied to a checklist, but it can also be used for other use cases.&lt;br /&gt;
&lt;br /&gt;
== Adding a progress bar ==&lt;br /&gt;
This example shows one possible implementation of a progress bar for a checklist.&lt;br /&gt;
[[File:Extension Forms Progress bar example.png|alt=checklist with two sets of checkbox groups for onboarding tasks|center|thumb|550x550px|Example of a progress bar for checklist items]]&lt;br /&gt;
To recreate this form, the following compontents are required:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Provide the JavaScript logic&#039;&#039;&#039; in &#039;&#039;MediaWiki:Common.js&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;Define&#039;&#039;&#039; matching checkbox field and option &#039;&#039;&#039;syntax&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;Create an event listener&#039;&#039;&#039; in the form properties&lt;br /&gt;
&lt;br /&gt;
=== Provide the logic in &#039;&#039;MediaWiki:Common.js&#039;&#039; ===&lt;br /&gt;
Add the following JavaScript function to [https://en.wiki.bluespice.com/wiki/Manual:The_concept_of_namespaces#Namespace_.22MediaWiki.22 &#039;&#039;MediaWiki:Common.js&#039;&#039;]:&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
/*Extension:Forms - Add a progress bar for checkbox items */&lt;br /&gt;
function CalcProgress( data ) {&lt;br /&gt;
	var dfd = $.Deferred();&lt;br /&gt;
	var checked = 0;&lt;br /&gt;
	var ItemCheckboxes = this.$element.find( &#039;input[value^=check]&#039; );&lt;br /&gt;
	var total = ItemCheckboxes.length;&lt;br /&gt;
	if ( total &amp;lt; 1 ) {&lt;br /&gt;
		dfd.resolve( data );&lt;br /&gt;
		return dfd.promise();&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	var items = this.getItems();&lt;br /&gt;
	for( var name in data ) {&lt;br /&gt;
		if ( !name.startsWith( &#039;checkbox_multi-&#039; ) ) {&lt;br /&gt;
			continue;&lt;br /&gt;
		}&lt;br /&gt;
		var checkedCheckboxes = data[name];&lt;br /&gt;
		for ( var i = 0; i &amp;lt; checkedCheckboxes.length; i++ ) {&lt;br /&gt;
			checked++;	&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
	data.progress = ( 100 * checked ) / total;&lt;br /&gt;
	dfd.resolve( data );&lt;br /&gt;
&lt;br /&gt;
	return dfd.promise();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;On line 5, you define the prefix for each checkbox that should be included in the progress count:&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
input[value^=check]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;This means that the &amp;quot;data&amp;quot; value for your checkboxes needs to start with &amp;quot;check&amp;quot;. This corresponds to the &amp;quot;data&amp;quot; value defined in each checkbox option:&lt;br /&gt;
[[File:Manual:checkbox data value check.jpg|thumb|center|Data definition in form, here starting with &amp;quot;check-&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On line 14, you define the included fields to only those that have the prefix of  &amp;quot;checkbox_multi&amp;quot; in their name.&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
	if ( !name.startsWith( &#039;checkbox_multi-&#039; ) ) {&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Based on this implementation example, a checkbox option is included in the progress calculation only if the &amp;quot;field&amp;quot; name starts with &amp;quot;checkbox_multi-&amp;quot; and the option&#039;s &amp;quot;data&amp;quot; value starts with &amp;quot;check.&amp;quot; &lt;br /&gt;
&lt;br /&gt;
If you use different prefixes for your field names or option values, you need to update the JavaScript code accordingly. &lt;br /&gt;
&lt;br /&gt;
=== Apply the syntax to the checklist items ===&lt;br /&gt;
Here is a &amp;lt;code&amp;gt;checkbox_multiselect&amp;lt;/code&amp;gt; field that has the correct name-prefix and the correct  data-prefix. This field is therefore included in the count and all three options of the field count towards the progress:&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
	{&lt;br /&gt;
			&amp;quot;name&amp;quot;: &amp;quot;checkbox_multi-workplace_setup&amp;quot;,&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Workplace setup&amp;quot;,&lt;br /&gt;
			...&lt;br /&gt;
			&amp;quot;options&amp;quot;: [&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-equipment&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Provide equipment (laptop, phone)&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-access&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Grant access to required systems&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-intro&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Meet the team&amp;quot;&lt;br /&gt;
				}&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;checkbox_multiselect&amp;quot;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Create an event listener in the form properties ===&lt;br /&gt;
To connect your form to the JavaScript function, you need to create the [https://en.wiki.bluespice.com/wiki/Manual:Extension/Forms/Form_elements_and_settings#Listeners listener] in the form properties:&lt;br /&gt;
[[File:Extension Forms Progress bar listener.png|center|thumb|650x650px|Adding the listener to the form properties]]&lt;br /&gt;
To add the listener:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Open&#039;&#039;&#039; the form properties.&lt;br /&gt;
# &#039;&#039;&#039;Click&#039;&#039;&#039; on &#039;&#039;Listeners&#039;&#039;.&lt;br /&gt;
# &#039;&#039;&#039;Select&#039;&#039;&#039; the event &amp;lt;code&amp;gt;beforeSubmitData&amp;lt;/code&amp;gt; and enter the name of your JavaScript function. In our example, it is &amp;lt;code&amp;gt;CalcProgress&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The &amp;lt;code&amp;gt;beforeSubmitData&amp;lt;/code&amp;gt; event is triggered when the form is saved. As a result, changes to checkbox selections are not reflected immediately while editing. The progress bar is updated only after the form has been saved.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
This example relies on the JavaScript logic above (especially the required naming conventions). To test it, save a new form (e.g. &#039;&#039;ExampleChecklist.form&#039;&#039;) and copy the following configuration into the definition source:&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;title&amp;quot;: &amp;quot;Example Progress Bar&amp;quot;,&lt;br /&gt;
	&amp;quot;showTitle&amp;quot;: true,&lt;br /&gt;
	&amp;quot;showFormName&amp;quot;: false,&lt;br /&gt;
	&amp;quot;buttonsFloat&amp;quot;: false,&lt;br /&gt;
	&amp;quot;categories&amp;quot;: [],&lt;br /&gt;
	&amp;quot;sealAfterCreation&amp;quot;: false,&lt;br /&gt;
	&amp;quot;enableProgressSave&amp;quot;: false,&lt;br /&gt;
	&amp;quot;enableEditSummary&amp;quot;: false,&lt;br /&gt;
	&amp;quot;rlDependencies&amp;quot;: [],&lt;br /&gt;
	&amp;quot;useFormRevs&amp;quot;: false,&lt;br /&gt;
	&amp;quot;includable&amp;quot;: false,&lt;br /&gt;
	&amp;quot;extends&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
	&amp;quot;abstract&amp;quot;: false,&lt;br /&gt;
	&amp;quot;partial&amp;quot;: false,&lt;br /&gt;
	&amp;quot;target&amp;quot;: {&lt;br /&gt;
		&amp;quot;type&amp;quot;: &amp;quot;json-on-wikipage&amp;quot;,&lt;br /&gt;
		&amp;quot;predefined_title&amp;quot;: &amp;quot;ExampleChecklist/{{checklistname}}&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;show_target_afterAction&amp;quot;: false,&lt;br /&gt;
	&amp;quot;listeners&amp;quot;: {&lt;br /&gt;
		&amp;quot;beforeSubmitData&amp;quot;: &amp;quot;jscb:CalcProgress&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;lang&amp;quot;: &amp;quot;json&amp;quot;,&lt;br /&gt;
	&amp;quot;items&amp;quot;: [&lt;br /&gt;
		{&lt;br /&gt;
			&amp;quot;name&amp;quot;: &amp;quot;checklistname&amp;quot;,&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Checklist name&amp;quot;,&lt;br /&gt;
			&amp;quot;help&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;noLayout&amp;quot;: false,&lt;br /&gt;
			&amp;quot;showOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;editableOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;widget_classes&amp;quot;: [],&lt;br /&gt;
			&amp;quot;style&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;widgetCustomProps&amp;quot;: [],&lt;br /&gt;
			&amp;quot;widget_listeners&amp;quot;: [],&lt;br /&gt;
			&amp;quot;value&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: false,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;text&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		{&lt;br /&gt;
			&amp;quot;name&amp;quot;: &amp;quot;progress&amp;quot;,&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Progress&amp;quot;,&lt;br /&gt;
			&amp;quot;help&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;noLayout&amp;quot;: true,&lt;br /&gt;
			&amp;quot;showOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;,&lt;br /&gt;
				&amp;quot;edit&amp;quot;,&lt;br /&gt;
				&amp;quot;view&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;editableOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;,&lt;br /&gt;
				&amp;quot;edit&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;widget_classes&amp;quot;: [],&lt;br /&gt;
			&amp;quot;style&amp;quot;: &amp;quot;margin:1em auto!important; max-width:100%&amp;quot;,&lt;br /&gt;
			&amp;quot;widgetCustomProps&amp;quot;: {&lt;br /&gt;
				&amp;quot;widget_progress&amp;quot;: &amp;quot;0&amp;quot;&lt;br /&gt;
			},&lt;br /&gt;
			&amp;quot;widget_listeners&amp;quot;: [],&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;progress_bar&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		{&lt;br /&gt;
			&amp;quot;name&amp;quot;: &amp;quot;checkbox_multi-getting_started&amp;quot;,&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Getting started&amp;quot;,&lt;br /&gt;
			&amp;quot;help&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;noLayout&amp;quot;: false,&lt;br /&gt;
			&amp;quot;showOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;,&lt;br /&gt;
				&amp;quot;edit&amp;quot;,&lt;br /&gt;
				&amp;quot;view&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;editableOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;,&lt;br /&gt;
				&amp;quot;edit&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;widget_classes&amp;quot;: [],&lt;br /&gt;
			&amp;quot;style&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;widgetCustomProps&amp;quot;: [],&lt;br /&gt;
			&amp;quot;widget_listeners&amp;quot;: [],&lt;br /&gt;
			&amp;quot;value&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: false,&lt;br /&gt;
			&amp;quot;horizontal&amp;quot;: false,&lt;br /&gt;
			&amp;quot;options&amp;quot;: [&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-profile&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Provide personal and role information&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-documents&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Submit required documents&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-intro&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Review introduction materials&amp;quot;&lt;br /&gt;
				}&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;checkbox_multiselect&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		{&lt;br /&gt;
			&amp;quot;name&amp;quot;: &amp;quot;checkbox_multi-workplace_setup&amp;quot;,&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Workplace setup&amp;quot;,&lt;br /&gt;
			&amp;quot;help&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;noLayout&amp;quot;: false,&lt;br /&gt;
			&amp;quot;showOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;,&lt;br /&gt;
				&amp;quot;edit&amp;quot;,&lt;br /&gt;
				&amp;quot;view&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;editableOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;,&lt;br /&gt;
				&amp;quot;edit&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;widget_classes&amp;quot;: [],&lt;br /&gt;
			&amp;quot;style&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;widgetCustomProps&amp;quot;: [],&lt;br /&gt;
			&amp;quot;widget_listeners&amp;quot;: [],&lt;br /&gt;
			&amp;quot;value&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: false,&lt;br /&gt;
			&amp;quot;horizontal&amp;quot;: false,&lt;br /&gt;
			&amp;quot;options&amp;quot;: [&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-equipment&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Provide equipment (laptop, phone)&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-access&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Grant access to required systems&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-intro&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Meet the team&amp;quot;&lt;br /&gt;
				}&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;checkbox_multiselect&amp;quot;&lt;br /&gt;
		}&lt;br /&gt;
	]&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Bhuber</name></author>
	</entry>
	<entry>
		<id>https://en.wiki.bluespice.com/w/index.php?title=Manual:Extension/Forms/Progress_bar&amp;diff=14291</id>
		<title>Manual:Extension/Forms/Progress bar</title>
		<link rel="alternate" type="text/html" href="https://en.wiki.bluespice.com/w/index.php?title=Manual:Extension/Forms/Progress_bar&amp;diff=14291"/>
		<updated>2026-06-01T09:10:33Z</updated>

		<summary type="html">&lt;p&gt;Bhuber: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The progress bar shows a calculated progress value based on selected options in a form. In this example, it is applied to a checklist, but it can also be used for other use cases.&lt;br /&gt;
&lt;br /&gt;
== Adding a progress bar ==&lt;br /&gt;
This example shows one possible implementation of a progress bar for a checklist.&lt;br /&gt;
[[File:Extension Forms Progress bar example.png|alt=checklist with two sets of checkbox groups for onboarding tasks|center|thumb|550x550px|Example of a progress bar for checklist items]]&lt;br /&gt;
To recreate this form, the following compontents are required:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Provide the JavaScript logic&#039;&#039;&#039; in &#039;&#039;MediaWiki:Common.js&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;Define&#039;&#039;&#039; matching checkbox field and option &#039;&#039;&#039;syntax&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;Create an event listener&#039;&#039;&#039; in the form properties&lt;br /&gt;
&lt;br /&gt;
=== Provide the logic in &#039;&#039;MediaWiki:Common.js&#039;&#039; ===&lt;br /&gt;
Add the following JavaScript function to [https://en.wiki.bluespice.com/wiki/Manual:The_concept_of_namespaces#Namespace_.22MediaWiki.22 &#039;&#039;MediaWiki:Common.js&#039;&#039;]:&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
/*Extension:Forms - Add a progress bar for checkbox items */&lt;br /&gt;
function CalcProgress( data ) {&lt;br /&gt;
	var dfd = $.Deferred();&lt;br /&gt;
	var checked = 0;&lt;br /&gt;
	var ItemCheckboxes = this.$element.find( &#039;input[value^=check]&#039; );&lt;br /&gt;
	var total = ItemCheckboxes.length;&lt;br /&gt;
	if ( total &amp;lt; 1 ) {&lt;br /&gt;
		dfd.resolve( data );&lt;br /&gt;
		return dfd.promise();&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	var items = this.getItems();&lt;br /&gt;
	for( var name in data ) {&lt;br /&gt;
		if ( !name.startsWith( &#039;checkbox_multi-&#039; ) ) {&lt;br /&gt;
			continue;&lt;br /&gt;
		}&lt;br /&gt;
		var checkedCheckboxes = data[name];&lt;br /&gt;
		for ( var i = 0; i &amp;lt; checkedCheckboxes.length; i++ ) {&lt;br /&gt;
			checked++;	&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
	data.progress = ( 100 * checked ) / total;&lt;br /&gt;
	dfd.resolve( data );&lt;br /&gt;
&lt;br /&gt;
	return dfd.promise();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;On line 5, you define the prefix for each checkbox that should be included in the progress count:&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
input[value^=check]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;This means that the &amp;quot;data&amp;quot; value for your checkboxes needs to start with &amp;quot;check&amp;quot;. This corresponds to the &amp;quot;data&amp;quot; value defined in each checkbox option:&lt;br /&gt;
[[File:Manual:checkbox data value check.jpg|thumb|center|Data definition in form, here starting with &amp;quot;check-&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On line 14, you define the included fields to only those that have the prefix of  &amp;quot;checkbox_multi&amp;quot; in their name.&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
	if ( !name.startsWith( &#039;checkbox_multi-&#039; ) ) {&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Based on this implementation example, a checkbox option is included in the progress calculation only if the &amp;quot;field&amp;quot; name starts with &amp;quot;checkbox_multi-&amp;quot; and the option&#039;s &amp;quot;data&amp;quot; value starts with &amp;quot;check.&amp;quot; &lt;br /&gt;
&lt;br /&gt;
If you use different prefixes for your field names or option values, you need to update the JavaScript code accordingly. &lt;br /&gt;
&lt;br /&gt;
=== Apply the syntax to the checklist items ===&lt;br /&gt;
Here is a &amp;lt;code&amp;gt;checkbox_multiselect&amp;lt;/code&amp;gt; field that has the correct name-prefix and the correct  data-prefix. This field is therefore included in the count and all three options of the field count towards the progress:&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
	{&lt;br /&gt;
			&amp;quot;name&amp;quot;: &amp;quot;checkbox_multi-workplace_setup&amp;quot;,&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Workplace setup&amp;quot;,&lt;br /&gt;
			...&lt;br /&gt;
			&amp;quot;options&amp;quot;: [&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-equipment&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Provide equipment (laptop, phone)&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-access&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Grant access to required systems&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-intro&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Meet the team&amp;quot;&lt;br /&gt;
				}&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;checkbox_multiselect&amp;quot;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Create an event listener in the form properties ===&lt;br /&gt;
To connect your form to the JavaScript function, you need to create the [https://en.wiki.bluespice.com/wiki/Manual:Extension/Forms/Form_elements_and_settings#Listeners listener] in the form properties:&lt;br /&gt;
[[File:Extension Forms Progress bar listener.png|center|thumb|650x650px|Adding the listener to the form properties]]&lt;br /&gt;
To add the listener:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Open&#039;&#039;&#039; the form properties.&lt;br /&gt;
# &#039;&#039;&#039;Click&#039;&#039;&#039; on &#039;&#039;Listeners&#039;&#039;.&lt;br /&gt;
# &#039;&#039;&#039;Select&#039;&#039;&#039; the event &amp;lt;code&amp;gt;beforeSubmitData&amp;lt;/code&amp;gt; and enter the name of your JavaScript function. In our example, it is &amp;lt;code&amp;gt;CalcProgress&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The &amp;lt;code&amp;gt;beforeSubmitData&amp;lt;/code&amp;gt; event is triggered when the form is saved. As a result, changes to checkbox selections are not reflected immediately while editing. The progress bar is updated only after the form has been saved.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
This example relies on the JavaScript logic above (especially the required naming conventions). To test it, save a new form (e.g. ExampleChecklist.form) and copy the following configuration into the definition source:&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;title&amp;quot;: &amp;quot;Example Progress Bar&amp;quot;,&lt;br /&gt;
	&amp;quot;showTitle&amp;quot;: true,&lt;br /&gt;
	&amp;quot;showFormName&amp;quot;: false,&lt;br /&gt;
	&amp;quot;buttonsFloat&amp;quot;: false,&lt;br /&gt;
	&amp;quot;categories&amp;quot;: [],&lt;br /&gt;
	&amp;quot;sealAfterCreation&amp;quot;: false,&lt;br /&gt;
	&amp;quot;enableProgressSave&amp;quot;: false,&lt;br /&gt;
	&amp;quot;enableEditSummary&amp;quot;: false,&lt;br /&gt;
	&amp;quot;rlDependencies&amp;quot;: [],&lt;br /&gt;
	&amp;quot;useFormRevs&amp;quot;: false,&lt;br /&gt;
	&amp;quot;includable&amp;quot;: false,&lt;br /&gt;
	&amp;quot;extends&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
	&amp;quot;abstract&amp;quot;: false,&lt;br /&gt;
	&amp;quot;partial&amp;quot;: false,&lt;br /&gt;
	&amp;quot;target&amp;quot;: {&lt;br /&gt;
		&amp;quot;type&amp;quot;: &amp;quot;json-on-wikipage&amp;quot;,&lt;br /&gt;
		&amp;quot;predefined_title&amp;quot;: &amp;quot;ExampleChecklist/{{checklistname}}&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;show_target_afterAction&amp;quot;: false,&lt;br /&gt;
	&amp;quot;listeners&amp;quot;: {&lt;br /&gt;
		&amp;quot;beforeSubmitData&amp;quot;: &amp;quot;jscb:CalcProgress&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;lang&amp;quot;: &amp;quot;json&amp;quot;,&lt;br /&gt;
	&amp;quot;items&amp;quot;: [&lt;br /&gt;
		{&lt;br /&gt;
			&amp;quot;name&amp;quot;: &amp;quot;checklistname&amp;quot;,&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Checklist name&amp;quot;,&lt;br /&gt;
			&amp;quot;help&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;noLayout&amp;quot;: false,&lt;br /&gt;
			&amp;quot;showOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;editableOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;widget_classes&amp;quot;: [],&lt;br /&gt;
			&amp;quot;style&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;widgetCustomProps&amp;quot;: [],&lt;br /&gt;
			&amp;quot;widget_listeners&amp;quot;: [],&lt;br /&gt;
			&amp;quot;value&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: false,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;text&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		{&lt;br /&gt;
			&amp;quot;name&amp;quot;: &amp;quot;progress&amp;quot;,&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Progress&amp;quot;,&lt;br /&gt;
			&amp;quot;help&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;noLayout&amp;quot;: true,&lt;br /&gt;
			&amp;quot;showOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;,&lt;br /&gt;
				&amp;quot;edit&amp;quot;,&lt;br /&gt;
				&amp;quot;view&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;editableOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;,&lt;br /&gt;
				&amp;quot;edit&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;widget_classes&amp;quot;: [],&lt;br /&gt;
			&amp;quot;style&amp;quot;: &amp;quot;margin:1em auto!important; max-width:100%&amp;quot;,&lt;br /&gt;
			&amp;quot;widgetCustomProps&amp;quot;: {&lt;br /&gt;
				&amp;quot;widget_progress&amp;quot;: &amp;quot;0&amp;quot;&lt;br /&gt;
			},&lt;br /&gt;
			&amp;quot;widget_listeners&amp;quot;: [],&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;progress_bar&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		{&lt;br /&gt;
			&amp;quot;name&amp;quot;: &amp;quot;checkbox_multi-getting_started&amp;quot;,&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Getting started&amp;quot;,&lt;br /&gt;
			&amp;quot;help&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;noLayout&amp;quot;: false,&lt;br /&gt;
			&amp;quot;showOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;,&lt;br /&gt;
				&amp;quot;edit&amp;quot;,&lt;br /&gt;
				&amp;quot;view&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;editableOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;,&lt;br /&gt;
				&amp;quot;edit&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;widget_classes&amp;quot;: [],&lt;br /&gt;
			&amp;quot;style&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;widgetCustomProps&amp;quot;: [],&lt;br /&gt;
			&amp;quot;widget_listeners&amp;quot;: [],&lt;br /&gt;
			&amp;quot;value&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: false,&lt;br /&gt;
			&amp;quot;horizontal&amp;quot;: false,&lt;br /&gt;
			&amp;quot;options&amp;quot;: [&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-profile&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Provide personal and role information&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-documents&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Submit required documents&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-intro&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Review introduction materials&amp;quot;&lt;br /&gt;
				}&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;checkbox_multiselect&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		{&lt;br /&gt;
			&amp;quot;name&amp;quot;: &amp;quot;checkbox_multi-workplace_setup&amp;quot;,&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Workplace setup&amp;quot;,&lt;br /&gt;
			&amp;quot;help&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;noLayout&amp;quot;: false,&lt;br /&gt;
			&amp;quot;showOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;,&lt;br /&gt;
				&amp;quot;edit&amp;quot;,&lt;br /&gt;
				&amp;quot;view&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;editableOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;,&lt;br /&gt;
				&amp;quot;edit&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;widget_classes&amp;quot;: [],&lt;br /&gt;
			&amp;quot;style&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;widgetCustomProps&amp;quot;: [],&lt;br /&gt;
			&amp;quot;widget_listeners&amp;quot;: [],&lt;br /&gt;
			&amp;quot;value&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: false,&lt;br /&gt;
			&amp;quot;horizontal&amp;quot;: false,&lt;br /&gt;
			&amp;quot;options&amp;quot;: [&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-equipment&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Provide equipment (laptop, phone)&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-access&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Grant access to required systems&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-intro&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Meet the team&amp;quot;&lt;br /&gt;
				}&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;checkbox_multiselect&amp;quot;&lt;br /&gt;
		}&lt;br /&gt;
	]&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Bhuber</name></author>
	</entry>
	<entry>
		<id>https://en.wiki.bluespice.com/w/index.php?title=Manual:Extension/Forms/Progress_bar&amp;diff=14290</id>
		<title>Manual:Extension/Forms/Progress bar</title>
		<link rel="alternate" type="text/html" href="https://en.wiki.bluespice.com/w/index.php?title=Manual:Extension/Forms/Progress_bar&amp;diff=14290"/>
		<updated>2026-06-01T09:09:44Z</updated>

		<summary type="html">&lt;p&gt;Bhuber: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The progress bar shows a calculated progress value based on selected options in a form. In this example, it is applied to a checklist, but it can also be used for other use cases.&lt;br /&gt;
&lt;br /&gt;
== Adding a progress bar ==&lt;br /&gt;
This example shows one possible implementation of a progress bar for a checklist.&lt;br /&gt;
[[File:Extension Forms Progress bar example.png|alt=checklist with two sets of checkbox groups for onboarding tasks|center|thumb|550x550px|Example of a progress bar for checklist items]]&lt;br /&gt;
For this, we need to set up the following components:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Provide the JavaScript logic&#039;&#039;&#039; in &#039;&#039;MediaWiki:Common.js&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;Define&#039;&#039;&#039; matching checkbox field and option &#039;&#039;&#039;syntax&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;Create an event listener&#039;&#039;&#039; in the form properties&lt;br /&gt;
&lt;br /&gt;
=== Provide the logic in &#039;&#039;MediaWiki:Common.js&#039;&#039; ===&lt;br /&gt;
Add the following JavaScript function to [https://en.wiki.bluespice.com/wiki/Manual:The_concept_of_namespaces#Namespace_.22MediaWiki.22 &#039;&#039;MediaWiki:Common.js&#039;&#039;]:&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
/*Extension:Forms - Add a progress bar for checkbox items */&lt;br /&gt;
function CalcProgress( data ) {&lt;br /&gt;
	var dfd = $.Deferred();&lt;br /&gt;
	var checked = 0;&lt;br /&gt;
	var ItemCheckboxes = this.$element.find( &#039;input[value^=check]&#039; );&lt;br /&gt;
	var total = ItemCheckboxes.length;&lt;br /&gt;
	if ( total &amp;lt; 1 ) {&lt;br /&gt;
		dfd.resolve( data );&lt;br /&gt;
		return dfd.promise();&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	var items = this.getItems();&lt;br /&gt;
	for( var name in data ) {&lt;br /&gt;
		if ( !name.startsWith( &#039;checkbox_multi-&#039; ) ) {&lt;br /&gt;
			continue;&lt;br /&gt;
		}&lt;br /&gt;
		var checkedCheckboxes = data[name];&lt;br /&gt;
		for ( var i = 0; i &amp;lt; checkedCheckboxes.length; i++ ) {&lt;br /&gt;
			checked++;	&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
	data.progress = ( 100 * checked ) / total;&lt;br /&gt;
	dfd.resolve( data );&lt;br /&gt;
&lt;br /&gt;
	return dfd.promise();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;On line 5, you define the prefix for each checkbox that should be included in the progress count:&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
input[value^=check]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;This means that the &amp;quot;data&amp;quot; value for your checkboxes needs to start with &amp;quot;check&amp;quot;. This corresponds to the &amp;quot;data&amp;quot; value defined in each checkbox option:&lt;br /&gt;
[[File:Manual:checkbox data value check.jpg|thumb|center|Data definition in form, here starting with &amp;quot;check-&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On line 14, you define the included fields to only those that have the prefix of  &amp;quot;checkbox_multi&amp;quot; in their name.&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
	if ( !name.startsWith( &#039;checkbox_multi-&#039; ) ) {&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Based on this implementation example, a checkbox option is included in the progress calculation only if the &amp;quot;field&amp;quot; name starts with &amp;quot;checkbox_multi-&amp;quot; and the option&#039;s &amp;quot;data&amp;quot; value starts with &amp;quot;check.&amp;quot; &lt;br /&gt;
&lt;br /&gt;
If you use different prefixes for your field names or option values, you need to update the JavaScript code accordingly. &lt;br /&gt;
&lt;br /&gt;
=== Apply the syntax to the checklist items ===&lt;br /&gt;
Here is a &amp;lt;code&amp;gt;checkbox_multiselect&amp;lt;/code&amp;gt; field that has the correct name-prefix and the correct  data-prefix. This field is therefore included in the count and all three options of the field count towards the progress:&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
	{&lt;br /&gt;
			&amp;quot;name&amp;quot;: &amp;quot;checkbox_multi-workplace_setup&amp;quot;,&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Workplace setup&amp;quot;,&lt;br /&gt;
			...&lt;br /&gt;
			&amp;quot;options&amp;quot;: [&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-equipment&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Provide equipment (laptop, phone)&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-access&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Grant access to required systems&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-intro&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Meet the team&amp;quot;&lt;br /&gt;
				}&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;checkbox_multiselect&amp;quot;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Create an event listener in the form properties ===&lt;br /&gt;
To connect your form to the JavaScript function, you need to create the [https://en.wiki.bluespice.com/wiki/Manual:Extension/Forms/Form_elements_and_settings#Listeners listener] in the form properties:&lt;br /&gt;
[[File:Extension Forms Progress bar listener.png|center|thumb|650x650px|Adding the listener to the form properties]]&lt;br /&gt;
To add the listener:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Open&#039;&#039;&#039; the form properties.&lt;br /&gt;
# &#039;&#039;&#039;Click&#039;&#039;&#039; on &#039;&#039;Listeners&#039;&#039;.&lt;br /&gt;
# &#039;&#039;&#039;Select&#039;&#039;&#039; the event &amp;lt;code&amp;gt;beforeSubmitData&amp;lt;/code&amp;gt; and enter the name of your JavaScript function. In our example, it is &amp;lt;code&amp;gt;CalcProgress&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The &amp;lt;code&amp;gt;beforeSubmitData&amp;lt;/code&amp;gt; event is triggered when the form is saved. As a result, changes to checkbox selections are not reflected immediately while editing. The progress bar is updated only after the form has been saved.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
This example relies on the JavaScript logic above (especially the required naming conventions). To test it, save a new form (e.g. ExampleChecklist.form) and copy the following configuration into the definition source:&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;title&amp;quot;: &amp;quot;Example Progress Bar&amp;quot;,&lt;br /&gt;
	&amp;quot;showTitle&amp;quot;: true,&lt;br /&gt;
	&amp;quot;showFormName&amp;quot;: false,&lt;br /&gt;
	&amp;quot;buttonsFloat&amp;quot;: false,&lt;br /&gt;
	&amp;quot;categories&amp;quot;: [],&lt;br /&gt;
	&amp;quot;sealAfterCreation&amp;quot;: false,&lt;br /&gt;
	&amp;quot;enableProgressSave&amp;quot;: false,&lt;br /&gt;
	&amp;quot;enableEditSummary&amp;quot;: false,&lt;br /&gt;
	&amp;quot;rlDependencies&amp;quot;: [],&lt;br /&gt;
	&amp;quot;useFormRevs&amp;quot;: false,&lt;br /&gt;
	&amp;quot;includable&amp;quot;: false,&lt;br /&gt;
	&amp;quot;extends&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
	&amp;quot;abstract&amp;quot;: false,&lt;br /&gt;
	&amp;quot;partial&amp;quot;: false,&lt;br /&gt;
	&amp;quot;target&amp;quot;: {&lt;br /&gt;
		&amp;quot;type&amp;quot;: &amp;quot;json-on-wikipage&amp;quot;,&lt;br /&gt;
		&amp;quot;predefined_title&amp;quot;: &amp;quot;ExampleChecklist/{{checklistname}}&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;show_target_afterAction&amp;quot;: false,&lt;br /&gt;
	&amp;quot;listeners&amp;quot;: {&lt;br /&gt;
		&amp;quot;beforeSubmitData&amp;quot;: &amp;quot;jscb:CalcProgress&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;lang&amp;quot;: &amp;quot;json&amp;quot;,&lt;br /&gt;
	&amp;quot;items&amp;quot;: [&lt;br /&gt;
		{&lt;br /&gt;
			&amp;quot;name&amp;quot;: &amp;quot;checklistname&amp;quot;,&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Checklist name&amp;quot;,&lt;br /&gt;
			&amp;quot;help&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;noLayout&amp;quot;: false,&lt;br /&gt;
			&amp;quot;showOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;editableOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;widget_classes&amp;quot;: [],&lt;br /&gt;
			&amp;quot;style&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;widgetCustomProps&amp;quot;: [],&lt;br /&gt;
			&amp;quot;widget_listeners&amp;quot;: [],&lt;br /&gt;
			&amp;quot;value&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: false,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;text&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		{&lt;br /&gt;
			&amp;quot;name&amp;quot;: &amp;quot;progress&amp;quot;,&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Progress&amp;quot;,&lt;br /&gt;
			&amp;quot;help&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;noLayout&amp;quot;: true,&lt;br /&gt;
			&amp;quot;showOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;,&lt;br /&gt;
				&amp;quot;edit&amp;quot;,&lt;br /&gt;
				&amp;quot;view&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;editableOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;,&lt;br /&gt;
				&amp;quot;edit&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;widget_classes&amp;quot;: [],&lt;br /&gt;
			&amp;quot;style&amp;quot;: &amp;quot;margin:1em auto!important; max-width:100%&amp;quot;,&lt;br /&gt;
			&amp;quot;widgetCustomProps&amp;quot;: {&lt;br /&gt;
				&amp;quot;widget_progress&amp;quot;: &amp;quot;0&amp;quot;&lt;br /&gt;
			},&lt;br /&gt;
			&amp;quot;widget_listeners&amp;quot;: [],&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;progress_bar&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		{&lt;br /&gt;
			&amp;quot;name&amp;quot;: &amp;quot;checkbox_multi-getting_started&amp;quot;,&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Getting started&amp;quot;,&lt;br /&gt;
			&amp;quot;help&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;noLayout&amp;quot;: false,&lt;br /&gt;
			&amp;quot;showOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;,&lt;br /&gt;
				&amp;quot;edit&amp;quot;,&lt;br /&gt;
				&amp;quot;view&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;editableOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;,&lt;br /&gt;
				&amp;quot;edit&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;widget_classes&amp;quot;: [],&lt;br /&gt;
			&amp;quot;style&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;widgetCustomProps&amp;quot;: [],&lt;br /&gt;
			&amp;quot;widget_listeners&amp;quot;: [],&lt;br /&gt;
			&amp;quot;value&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: false,&lt;br /&gt;
			&amp;quot;horizontal&amp;quot;: false,&lt;br /&gt;
			&amp;quot;options&amp;quot;: [&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-profile&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Provide personal and role information&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-documents&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Submit required documents&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-intro&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Review introduction materials&amp;quot;&lt;br /&gt;
				}&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;checkbox_multiselect&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		{&lt;br /&gt;
			&amp;quot;name&amp;quot;: &amp;quot;checkbox_multi-workplace_setup&amp;quot;,&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Workplace setup&amp;quot;,&lt;br /&gt;
			&amp;quot;help&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;noLayout&amp;quot;: false,&lt;br /&gt;
			&amp;quot;showOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;,&lt;br /&gt;
				&amp;quot;edit&amp;quot;,&lt;br /&gt;
				&amp;quot;view&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;editableOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;,&lt;br /&gt;
				&amp;quot;edit&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;widget_classes&amp;quot;: [],&lt;br /&gt;
			&amp;quot;style&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;widgetCustomProps&amp;quot;: [],&lt;br /&gt;
			&amp;quot;widget_listeners&amp;quot;: [],&lt;br /&gt;
			&amp;quot;value&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: false,&lt;br /&gt;
			&amp;quot;horizontal&amp;quot;: false,&lt;br /&gt;
			&amp;quot;options&amp;quot;: [&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-equipment&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Provide equipment (laptop, phone)&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-access&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Grant access to required systems&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-intro&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Meet the team&amp;quot;&lt;br /&gt;
				}&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;checkbox_multiselect&amp;quot;&lt;br /&gt;
		}&lt;br /&gt;
	]&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Bhuber</name></author>
	</entry>
	<entry>
		<id>https://en.wiki.bluespice.com/w/index.php?title=Manual:Extension/Forms/Progress_bar&amp;diff=14289</id>
		<title>Manual:Extension/Forms/Progress bar</title>
		<link rel="alternate" type="text/html" href="https://en.wiki.bluespice.com/w/index.php?title=Manual:Extension/Forms/Progress_bar&amp;diff=14289"/>
		<updated>2026-06-01T09:09:09Z</updated>

		<summary type="html">&lt;p&gt;Bhuber: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The progress bar shows a calculated progress value based on selected options in a form. In this example, it is applied to a checklist, but it can also be used for other use cases.&lt;br /&gt;
&lt;br /&gt;
== Adding a progress bar ==&lt;br /&gt;
We add a progress bar to a checklist to show completion status. This example demonstrates one way to implement it using checkbox selections in a form.&lt;br /&gt;
[[File:Extension Forms Progress bar example.png|alt=checklist with two sets of checkbox groups for onboarding tasks|center|thumb|550x550px|Example of a progress bar for checklist items]]&lt;br /&gt;
For this, we need to set up the following components:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Provide the JavaScript logic&#039;&#039;&#039; in &#039;&#039;MediaWiki:Common.js&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;Define&#039;&#039;&#039; matching checkbox field and option &#039;&#039;&#039;syntax&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;Create an event listener&#039;&#039;&#039; in the form properties&lt;br /&gt;
&lt;br /&gt;
=== Provide the logic in &#039;&#039;MediaWiki:Common.js&#039;&#039; ===&lt;br /&gt;
Add the following JavaScript function to [https://en.wiki.bluespice.com/wiki/Manual:The_concept_of_namespaces#Namespace_.22MediaWiki.22 &#039;&#039;MediaWiki:Common.js&#039;&#039;]:&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
/*Extension:Forms - Add a progress bar for checkbox items */&lt;br /&gt;
function CalcProgress( data ) {&lt;br /&gt;
	var dfd = $.Deferred();&lt;br /&gt;
	var checked = 0;&lt;br /&gt;
	var ItemCheckboxes = this.$element.find( &#039;input[value^=check]&#039; );&lt;br /&gt;
	var total = ItemCheckboxes.length;&lt;br /&gt;
	if ( total &amp;lt; 1 ) {&lt;br /&gt;
		dfd.resolve( data );&lt;br /&gt;
		return dfd.promise();&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	var items = this.getItems();&lt;br /&gt;
	for( var name in data ) {&lt;br /&gt;
		if ( !name.startsWith( &#039;checkbox_multi-&#039; ) ) {&lt;br /&gt;
			continue;&lt;br /&gt;
		}&lt;br /&gt;
		var checkedCheckboxes = data[name];&lt;br /&gt;
		for ( var i = 0; i &amp;lt; checkedCheckboxes.length; i++ ) {&lt;br /&gt;
			checked++;	&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
	data.progress = ( 100 * checked ) / total;&lt;br /&gt;
	dfd.resolve( data );&lt;br /&gt;
&lt;br /&gt;
	return dfd.promise();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;On line 5, you define the prefix for each checkbox that should be included in the progress count:&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
input[value^=check]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;This means that the &amp;quot;data&amp;quot; value for your checkboxes needs to start with &amp;quot;check&amp;quot;. This corresponds to the &amp;quot;data&amp;quot; value defined in each checkbox option:&lt;br /&gt;
[[File:Manual:checkbox data value check.jpg|thumb|center|Data definition in form, here starting with &amp;quot;check-&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On line 14, you define the included fields to only those that have the prefix of  &amp;quot;checkbox_multi&amp;quot; in their name.&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
	if ( !name.startsWith( &#039;checkbox_multi-&#039; ) ) {&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Based on this implementation example, a checkbox option is included in the progress calculation only if the &amp;quot;field&amp;quot; name starts with &amp;quot;checkbox_multi-&amp;quot; and the option&#039;s &amp;quot;data&amp;quot; value starts with &amp;quot;check.&amp;quot; &lt;br /&gt;
&lt;br /&gt;
If you use different prefixes for your field names or option values, you need to update the JavaScript code accordingly. &lt;br /&gt;
&lt;br /&gt;
=== Apply the syntax to the checklist items ===&lt;br /&gt;
Here is a &amp;lt;code&amp;gt;checkbox_multiselect&amp;lt;/code&amp;gt; field that has the correct name-prefix and the correct  data-prefix. This field is therefore included in the count and all three options of the field count towards the progress:&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
	{&lt;br /&gt;
			&amp;quot;name&amp;quot;: &amp;quot;checkbox_multi-workplace_setup&amp;quot;,&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Workplace setup&amp;quot;,&lt;br /&gt;
			...&lt;br /&gt;
			&amp;quot;options&amp;quot;: [&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-equipment&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Provide equipment (laptop, phone)&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-access&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Grant access to required systems&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-intro&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Meet the team&amp;quot;&lt;br /&gt;
				}&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;checkbox_multiselect&amp;quot;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Create an event listener in the form properties ===&lt;br /&gt;
To connect your form to the JavaScript function, you need to create the [https://en.wiki.bluespice.com/wiki/Manual:Extension/Forms/Form_elements_and_settings#Listeners listener] in the form properties:&lt;br /&gt;
[[File:Extension Forms Progress bar listener.png|center|thumb|650x650px|Adding the listener to the form properties]]&lt;br /&gt;
To add the listener:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Open&#039;&#039;&#039; the form properties.&lt;br /&gt;
# &#039;&#039;&#039;Click&#039;&#039;&#039; on &#039;&#039;Listeners&#039;&#039;.&lt;br /&gt;
# &#039;&#039;&#039;Select&#039;&#039;&#039; the event &amp;lt;code&amp;gt;beforeSubmitData&amp;lt;/code&amp;gt; and enter the name of your JavaScript function. In our example, it is &amp;lt;code&amp;gt;CalcProgress&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The &amp;lt;code&amp;gt;beforeSubmitData&amp;lt;/code&amp;gt; event is triggered when the form is saved. As a result, changes to checkbox selections are not reflected immediately while editing. The progress bar is updated only after the form has been saved.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
This example relies on the JavaScript logic above (especially the required naming conventions). To test it, save a new form (e.g. ExampleChecklist.form) and copy the following configuration into the definition source:&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;title&amp;quot;: &amp;quot;Example Progress Bar&amp;quot;,&lt;br /&gt;
	&amp;quot;showTitle&amp;quot;: true,&lt;br /&gt;
	&amp;quot;showFormName&amp;quot;: false,&lt;br /&gt;
	&amp;quot;buttonsFloat&amp;quot;: false,&lt;br /&gt;
	&amp;quot;categories&amp;quot;: [],&lt;br /&gt;
	&amp;quot;sealAfterCreation&amp;quot;: false,&lt;br /&gt;
	&amp;quot;enableProgressSave&amp;quot;: false,&lt;br /&gt;
	&amp;quot;enableEditSummary&amp;quot;: false,&lt;br /&gt;
	&amp;quot;rlDependencies&amp;quot;: [],&lt;br /&gt;
	&amp;quot;useFormRevs&amp;quot;: false,&lt;br /&gt;
	&amp;quot;includable&amp;quot;: false,&lt;br /&gt;
	&amp;quot;extends&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
	&amp;quot;abstract&amp;quot;: false,&lt;br /&gt;
	&amp;quot;partial&amp;quot;: false,&lt;br /&gt;
	&amp;quot;target&amp;quot;: {&lt;br /&gt;
		&amp;quot;type&amp;quot;: &amp;quot;json-on-wikipage&amp;quot;,&lt;br /&gt;
		&amp;quot;predefined_title&amp;quot;: &amp;quot;ExampleChecklist/{{checklistname}}&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;show_target_afterAction&amp;quot;: false,&lt;br /&gt;
	&amp;quot;listeners&amp;quot;: {&lt;br /&gt;
		&amp;quot;beforeSubmitData&amp;quot;: &amp;quot;jscb:CalcProgress&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;lang&amp;quot;: &amp;quot;json&amp;quot;,&lt;br /&gt;
	&amp;quot;items&amp;quot;: [&lt;br /&gt;
		{&lt;br /&gt;
			&amp;quot;name&amp;quot;: &amp;quot;checklistname&amp;quot;,&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Checklist name&amp;quot;,&lt;br /&gt;
			&amp;quot;help&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;noLayout&amp;quot;: false,&lt;br /&gt;
			&amp;quot;showOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;editableOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;widget_classes&amp;quot;: [],&lt;br /&gt;
			&amp;quot;style&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;widgetCustomProps&amp;quot;: [],&lt;br /&gt;
			&amp;quot;widget_listeners&amp;quot;: [],&lt;br /&gt;
			&amp;quot;value&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: false,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;text&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		{&lt;br /&gt;
			&amp;quot;name&amp;quot;: &amp;quot;progress&amp;quot;,&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Progress&amp;quot;,&lt;br /&gt;
			&amp;quot;help&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;noLayout&amp;quot;: true,&lt;br /&gt;
			&amp;quot;showOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;,&lt;br /&gt;
				&amp;quot;edit&amp;quot;,&lt;br /&gt;
				&amp;quot;view&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;editableOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;,&lt;br /&gt;
				&amp;quot;edit&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;widget_classes&amp;quot;: [],&lt;br /&gt;
			&amp;quot;style&amp;quot;: &amp;quot;margin:1em auto!important; max-width:100%&amp;quot;,&lt;br /&gt;
			&amp;quot;widgetCustomProps&amp;quot;: {&lt;br /&gt;
				&amp;quot;widget_progress&amp;quot;: &amp;quot;0&amp;quot;&lt;br /&gt;
			},&lt;br /&gt;
			&amp;quot;widget_listeners&amp;quot;: [],&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;progress_bar&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		{&lt;br /&gt;
			&amp;quot;name&amp;quot;: &amp;quot;checkbox_multi-getting_started&amp;quot;,&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Getting started&amp;quot;,&lt;br /&gt;
			&amp;quot;help&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;noLayout&amp;quot;: false,&lt;br /&gt;
			&amp;quot;showOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;,&lt;br /&gt;
				&amp;quot;edit&amp;quot;,&lt;br /&gt;
				&amp;quot;view&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;editableOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;,&lt;br /&gt;
				&amp;quot;edit&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;widget_classes&amp;quot;: [],&lt;br /&gt;
			&amp;quot;style&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;widgetCustomProps&amp;quot;: [],&lt;br /&gt;
			&amp;quot;widget_listeners&amp;quot;: [],&lt;br /&gt;
			&amp;quot;value&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: false,&lt;br /&gt;
			&amp;quot;horizontal&amp;quot;: false,&lt;br /&gt;
			&amp;quot;options&amp;quot;: [&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-profile&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Provide personal and role information&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-documents&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Submit required documents&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-intro&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Review introduction materials&amp;quot;&lt;br /&gt;
				}&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;checkbox_multiselect&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		{&lt;br /&gt;
			&amp;quot;name&amp;quot;: &amp;quot;checkbox_multi-workplace_setup&amp;quot;,&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Workplace setup&amp;quot;,&lt;br /&gt;
			&amp;quot;help&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;noLayout&amp;quot;: false,&lt;br /&gt;
			&amp;quot;showOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;,&lt;br /&gt;
				&amp;quot;edit&amp;quot;,&lt;br /&gt;
				&amp;quot;view&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;editableOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;,&lt;br /&gt;
				&amp;quot;edit&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;widget_classes&amp;quot;: [],&lt;br /&gt;
			&amp;quot;style&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;widgetCustomProps&amp;quot;: [],&lt;br /&gt;
			&amp;quot;widget_listeners&amp;quot;: [],&lt;br /&gt;
			&amp;quot;value&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: false,&lt;br /&gt;
			&amp;quot;horizontal&amp;quot;: false,&lt;br /&gt;
			&amp;quot;options&amp;quot;: [&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-equipment&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Provide equipment (laptop, phone)&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-access&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Grant access to required systems&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-intro&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Meet the team&amp;quot;&lt;br /&gt;
				}&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;checkbox_multiselect&amp;quot;&lt;br /&gt;
		}&lt;br /&gt;
	]&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Bhuber</name></author>
	</entry>
	<entry>
		<id>https://en.wiki.bluespice.com/w/index.php?title=Manual:Extension/Forms/Progress_bar&amp;diff=14288</id>
		<title>Manual:Extension/Forms/Progress bar</title>
		<link rel="alternate" type="text/html" href="https://en.wiki.bluespice.com/w/index.php?title=Manual:Extension/Forms/Progress_bar&amp;diff=14288"/>
		<updated>2026-06-01T08:28:35Z</updated>

		<summary type="html">&lt;p&gt;Bhuber: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The progress bar is useful to count completed checklist items, for example. It calculates completion based on selected options. &lt;br /&gt;
&lt;br /&gt;
== Adding a progress bar ==&lt;br /&gt;
We add a progress bar to a checklist that shows how many tasks have been completed.&lt;br /&gt;
[[File:Extension Forms Progress bar example.png|alt=checklist with two sets of checkbox groups for onboarding tasks|center|thumb|550x550px|Example of a progress bar for checklist items]]&lt;br /&gt;
For this, we need to set up the following components:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Provide the logic&#039;&#039;&#039; in &#039;&#039;MediaWiki:Common.js&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;Apply the syntax&#039;&#039;&#039; to the checklist items&lt;br /&gt;
# &#039;&#039;&#039;Create an event listener&#039;&#039;&#039; in the form properties&lt;br /&gt;
&lt;br /&gt;
=== Provide the logic in &#039;&#039;MediaWiki:Common.js&#039;&#039; ===&lt;br /&gt;
Add the following JavaScript function to [https://en.wiki.bluespice.com/wiki/Manual:The_concept_of_namespaces#Namespace_.22MediaWiki.22 &#039;&#039;MediaWiki:Common.js&#039;&#039;]:&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
/*Extension:Forms - Add a progress bar for checkbox items */&lt;br /&gt;
function CalcProgress( data ) {&lt;br /&gt;
	var dfd = $.Deferred();&lt;br /&gt;
	var checked = 0;&lt;br /&gt;
	var ItemCheckboxes = this.$element.find( &#039;input[value^=check]&#039; );&lt;br /&gt;
	var total = ItemCheckboxes.length;&lt;br /&gt;
	if ( total &amp;lt; 1 ) {&lt;br /&gt;
		dfd.resolve( data );&lt;br /&gt;
		return dfd.promise();&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	var items = this.getItems();&lt;br /&gt;
	for( var name in data ) {&lt;br /&gt;
		if ( !name.startsWith( &#039;checkbox_multi-&#039; ) ) {&lt;br /&gt;
			continue;&lt;br /&gt;
		}&lt;br /&gt;
		var checkedCheckboxes = data[name];&lt;br /&gt;
		for ( var i = 0; i &amp;lt; checkedCheckboxes.length; i++ ) {&lt;br /&gt;
			checked++;	&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
	data.progress = ( 100 * checked ) / total;&lt;br /&gt;
	dfd.resolve( data );&lt;br /&gt;
&lt;br /&gt;
	return dfd.promise();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;On line 5, you define the prefix for each checkbox that should be included in the progress count:&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
input[value^=check]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;This means that the &amp;quot;data&amp;quot; value for your checkboxes needs to start with &amp;quot;check&amp;quot;. You can verify this in the definition source of your form:&lt;br /&gt;
[[File:Manual:checkbox data value check.jpg|thumb|center|Data definition in form, here starting with &amp;quot;check-&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On line 14, you define the included fields to only those that have the prefix of  &amp;quot;checkbox_multi&amp;quot; in their name.&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
	if ( !name.startsWith( &#039;checkbox_multi-&#039; ) ) {&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Apply the syntax to the checklist items ===&lt;br /&gt;
Here is a &amp;lt;code&amp;gt;checkbox_multiselect&amp;lt;/code&amp;gt; field that has the correct name-prefix and the correct  data-prefix. This field is therefore included in the count and all three options of the field count towards the progress:&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
	{&lt;br /&gt;
			&amp;quot;name&amp;quot;: &amp;quot;checkbox_multi-workplace_setup&amp;quot;,&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Workplace setup&amp;quot;,&lt;br /&gt;
			...&lt;br /&gt;
			&amp;quot;options&amp;quot;: [&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-equipment&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Provide equipment (laptop, phone)&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-access&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Grant access to required systems&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-intro&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Meet the team&amp;quot;&lt;br /&gt;
				}&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;checkbox_multiselect&amp;quot;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Create an event listener in the form properties ===&lt;br /&gt;
To connect your form to the JavaScript function, you need to create the [https://en.wiki.bluespice.com/wiki/Manual:Extension/Forms/Form_elements_and_settings#Listeners listener] in the form properties:&lt;br /&gt;
[[File:Extension Forms Progress bar listener.png|center|thumb|650x650px|Adding the listener to the form properties]]&lt;br /&gt;
To add the listener:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Open&#039;&#039;&#039; the form properties.&lt;br /&gt;
# &#039;&#039;&#039;Click&#039;&#039;&#039; on &#039;&#039;Listeners&#039;&#039;.&lt;br /&gt;
# &#039;&#039;&#039;Select&#039;&#039;&#039; the event &amp;lt;code&amp;gt;beforeSubmitData&amp;lt;/code&amp;gt; and enter the name of your JavaScript function. In our example, it is &amp;lt;code&amp;gt;CalcProgress&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The &amp;lt;code&amp;gt;beforeSubmitData&amp;lt;/code&amp;gt; event is triggered when the form is saved. As a result, changes to checkbox selections are not reflected immediately while editing the form. The progress bar is updated only after the form has been saved.&amp;lt;br&amp;gt;&lt;br /&gt;
If you want to test this example, you can save an empty example form (e.g., &#039;&#039;ExampleChecklist.form&#039;&#039;) and copy the following into the definition source:&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;title&amp;quot;: &amp;quot;Example Progress Bar&amp;quot;,&lt;br /&gt;
	&amp;quot;showTitle&amp;quot;: true,&lt;br /&gt;
	&amp;quot;showFormName&amp;quot;: false,&lt;br /&gt;
	&amp;quot;buttonsFloat&amp;quot;: false,&lt;br /&gt;
	&amp;quot;categories&amp;quot;: [],&lt;br /&gt;
	&amp;quot;sealAfterCreation&amp;quot;: false,&lt;br /&gt;
	&amp;quot;enableProgressSave&amp;quot;: false,&lt;br /&gt;
	&amp;quot;enableEditSummary&amp;quot;: false,&lt;br /&gt;
	&amp;quot;rlDependencies&amp;quot;: [],&lt;br /&gt;
	&amp;quot;useFormRevs&amp;quot;: false,&lt;br /&gt;
	&amp;quot;includable&amp;quot;: false,&lt;br /&gt;
	&amp;quot;extends&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
	&amp;quot;abstract&amp;quot;: false,&lt;br /&gt;
	&amp;quot;partial&amp;quot;: false,&lt;br /&gt;
	&amp;quot;target&amp;quot;: {&lt;br /&gt;
		&amp;quot;type&amp;quot;: &amp;quot;json-on-wikipage&amp;quot;,&lt;br /&gt;
		&amp;quot;predefined_title&amp;quot;: &amp;quot;ExampleChecklist/{{checklistname}}&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;show_target_afterAction&amp;quot;: false,&lt;br /&gt;
	&amp;quot;listeners&amp;quot;: {&lt;br /&gt;
		&amp;quot;beforeSubmitData&amp;quot;: &amp;quot;jscb:CalcProgress&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;lang&amp;quot;: &amp;quot;json&amp;quot;,&lt;br /&gt;
	&amp;quot;items&amp;quot;: [&lt;br /&gt;
		{&lt;br /&gt;
			&amp;quot;name&amp;quot;: &amp;quot;checklistname&amp;quot;,&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Checklist name&amp;quot;,&lt;br /&gt;
			&amp;quot;help&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;noLayout&amp;quot;: false,&lt;br /&gt;
			&amp;quot;showOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;editableOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;widget_classes&amp;quot;: [],&lt;br /&gt;
			&amp;quot;style&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;widgetCustomProps&amp;quot;: [],&lt;br /&gt;
			&amp;quot;widget_listeners&amp;quot;: [],&lt;br /&gt;
			&amp;quot;value&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: false,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;text&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		{&lt;br /&gt;
			&amp;quot;name&amp;quot;: &amp;quot;progress&amp;quot;,&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Progress&amp;quot;,&lt;br /&gt;
			&amp;quot;help&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;noLayout&amp;quot;: true,&lt;br /&gt;
			&amp;quot;showOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;,&lt;br /&gt;
				&amp;quot;edit&amp;quot;,&lt;br /&gt;
				&amp;quot;view&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;editableOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;,&lt;br /&gt;
				&amp;quot;edit&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;widget_classes&amp;quot;: [],&lt;br /&gt;
			&amp;quot;style&amp;quot;: &amp;quot;margin:1em auto!important; max-width:100%&amp;quot;,&lt;br /&gt;
			&amp;quot;widgetCustomProps&amp;quot;: {&lt;br /&gt;
				&amp;quot;widget_progress&amp;quot;: &amp;quot;0&amp;quot;&lt;br /&gt;
			},&lt;br /&gt;
			&amp;quot;widget_listeners&amp;quot;: [],&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;progress_bar&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		{&lt;br /&gt;
			&amp;quot;name&amp;quot;: &amp;quot;checkbox_multi-getting_started&amp;quot;,&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Getting started&amp;quot;,&lt;br /&gt;
			&amp;quot;help&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;noLayout&amp;quot;: false,&lt;br /&gt;
			&amp;quot;showOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;,&lt;br /&gt;
				&amp;quot;edit&amp;quot;,&lt;br /&gt;
				&amp;quot;view&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;editableOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;,&lt;br /&gt;
				&amp;quot;edit&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;widget_classes&amp;quot;: [],&lt;br /&gt;
			&amp;quot;style&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;widgetCustomProps&amp;quot;: [],&lt;br /&gt;
			&amp;quot;widget_listeners&amp;quot;: [],&lt;br /&gt;
			&amp;quot;value&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: false,&lt;br /&gt;
			&amp;quot;horizontal&amp;quot;: false,&lt;br /&gt;
			&amp;quot;options&amp;quot;: [&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-profile&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Provide personal and role information&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-documents&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Submit required documents&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-intro&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Review introduction materials&amp;quot;&lt;br /&gt;
				}&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;checkbox_multiselect&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		{&lt;br /&gt;
			&amp;quot;name&amp;quot;: &amp;quot;checkbox_multi-workplace_setup&amp;quot;,&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Workplace setup&amp;quot;,&lt;br /&gt;
			&amp;quot;help&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;noLayout&amp;quot;: false,&lt;br /&gt;
			&amp;quot;showOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;,&lt;br /&gt;
				&amp;quot;edit&amp;quot;,&lt;br /&gt;
				&amp;quot;view&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;editableOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;,&lt;br /&gt;
				&amp;quot;edit&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;widget_classes&amp;quot;: [],&lt;br /&gt;
			&amp;quot;style&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;widgetCustomProps&amp;quot;: [],&lt;br /&gt;
			&amp;quot;widget_listeners&amp;quot;: [],&lt;br /&gt;
			&amp;quot;value&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: false,&lt;br /&gt;
			&amp;quot;horizontal&amp;quot;: false,&lt;br /&gt;
			&amp;quot;options&amp;quot;: [&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-equipment&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Provide equipment (laptop, phone)&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-access&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Grant access to required systems&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-intro&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Meet the team&amp;quot;&lt;br /&gt;
				}&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;checkbox_multiselect&amp;quot;&lt;br /&gt;
		}&lt;br /&gt;
	]&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Bhuber</name></author>
	</entry>
	<entry>
		<id>https://en.wiki.bluespice.com/w/index.php?title=Manual:Extension/Forms/Progress_bar&amp;diff=14287</id>
		<title>Manual:Extension/Forms/Progress bar</title>
		<link rel="alternate" type="text/html" href="https://en.wiki.bluespice.com/w/index.php?title=Manual:Extension/Forms/Progress_bar&amp;diff=14287"/>
		<updated>2026-06-01T08:20:37Z</updated>

		<summary type="html">&lt;p&gt;Bhuber: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The progress bar is useful to count completed checklist items, for example. It calculates completion based on selected options. &lt;br /&gt;
&lt;br /&gt;
== Adding a progress bar ==&lt;br /&gt;
We add a progress bar to a checklist that shows how many tasks have been completed.&lt;br /&gt;
[[File:Extension Forms Progress bar example.png|alt=checklist with two sets of checkbox groups for onboarding tasks|center|thumb|550x550px|Example of a progress bar for checklist items]]&lt;br /&gt;
For this, we need to set up the following components:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Provide the logic&#039;&#039;&#039; in &#039;&#039;MediaWiki:Common.js&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;Apply the syntax&#039;&#039;&#039; to the checklist items&lt;br /&gt;
# &#039;&#039;&#039;Create an event listener&#039;&#039;&#039; in the form properties&lt;br /&gt;
&lt;br /&gt;
=== Provide the logic in &#039;&#039;MediaWiki:Common.js&#039;&#039; ===&lt;br /&gt;
Add the following JavaScript function to [https://en.wiki.bluespice.com/wiki/Manual:The_concept_of_namespaces#Namespace_.22MediaWiki.22 &#039;&#039;MediaWiki:Common.js&#039;&#039;]:&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
/*Extension:Forms - Add a progress bar for checkbox items */&lt;br /&gt;
function CalcProgress( data ) {&lt;br /&gt;
	var dfd = $.Deferred();&lt;br /&gt;
	var checked = 0;&lt;br /&gt;
	var ItemCheckboxes = this.$element.find( &#039;input[value^=check]&#039; );&lt;br /&gt;
	var total = ItemCheckboxes.length;&lt;br /&gt;
	if ( total &amp;lt; 1 ) {&lt;br /&gt;
		dfd.resolve( data );&lt;br /&gt;
		return dfd.promise();&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	var items = this.getItems();&lt;br /&gt;
	for( var name in data ) {&lt;br /&gt;
		if ( !name.startsWith( &#039;checkbox_multi-&#039; ) ) {&lt;br /&gt;
			continue;&lt;br /&gt;
		}&lt;br /&gt;
		var checkedCheckboxes = data[name];&lt;br /&gt;
		for ( var i = 0; i &amp;lt; checkedCheckboxes.length; i++ ) {&lt;br /&gt;
			checked++;	&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
	data.progress = ( 100 * checked ) / total;&lt;br /&gt;
	dfd.resolve( data );&lt;br /&gt;
&lt;br /&gt;
	return dfd.promise();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;On line 5, you define the prefix for each checkbox that should be included in the progress count:&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
input[value^=check]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;This means that the &amp;quot;data&amp;quot; value for your checkboxes needs to start with &amp;quot;check&amp;quot;. You can verify this in the definition source of your form:&lt;br /&gt;
[[File:Manual:checkbox data value check.jpg|thumb|center|Data definition in form, here starting with &amp;quot;check-&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On line 14, you define the included fields to only those that have the prefix of  &amp;quot;checkbox_multi&amp;quot; in their name.&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
	if ( !name.startsWith( &#039;checkbox_multi-&#039; ) ) {&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Apply the syntax to the checklist items ===&lt;br /&gt;
Here is a &amp;lt;code&amp;gt;checkbox_multiselect&amp;lt;/code&amp;gt; field that has the correct name-prefix and the correct  data-prefix. This field is therefore included in the count and all three options of the field count towards the progress:&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
	{&lt;br /&gt;
			&amp;quot;name&amp;quot;: &amp;quot;checkbox_multi-workplace_setup&amp;quot;,&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Workplace setup&amp;quot;,&lt;br /&gt;
			...&lt;br /&gt;
			&amp;quot;options&amp;quot;: [&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-equipment&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Provide equipment (laptop, phone)&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-access&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Grant access to required systems&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-intro&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Meet the team&amp;quot;&lt;br /&gt;
				}&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;checkbox_multiselect&amp;quot;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Create an event listener in the form properties ===&lt;br /&gt;
To connect your form to the JavaScript function, you need to create the [https://en.wiki.bluespice.com/wiki/Manual:Extension/Forms/Form_elements_and_settings#Listeners listener] in the form properties:&lt;br /&gt;
[[File:Extension Forms Progress bar listener.png|center|thumb|650x650px|Adding the listener to the form properties]]&lt;br /&gt;
To add the listener:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Open&#039;&#039;&#039; the form properties.&lt;br /&gt;
# &#039;&#039;&#039;Click&#039;&#039;&#039; on &#039;&#039;Listeners&#039;&#039;.&lt;br /&gt;
# &#039;&#039;&#039;Select&#039;&#039;&#039; the event &amp;lt;code&amp;gt;beforeSubmitData&amp;lt;/code&amp;gt; and enter the name of your JavaScript function. In our example, it is &amp;lt;code&amp;gt;CalcProgress&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The progress value is calculated when the form data is submitted through the &amp;lt;code&amp;gt;beforeSubmitData&amp;lt;/code&amp;gt; event. Changes to checkboxes are therefore not reflected immediately while editing but only after submitting the changes (i.e., saving). &amp;lt;br&amp;gt;&lt;br /&gt;
If you want to test this example, you can save an empty example form (e.g., &#039;&#039;ExampleChecklist.form&#039;&#039;) and copy the following into the definition source:&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;title&amp;quot;: &amp;quot;Example Progress Bar&amp;quot;,&lt;br /&gt;
	&amp;quot;showTitle&amp;quot;: true,&lt;br /&gt;
	&amp;quot;showFormName&amp;quot;: false,&lt;br /&gt;
	&amp;quot;buttonsFloat&amp;quot;: false,&lt;br /&gt;
	&amp;quot;categories&amp;quot;: [],&lt;br /&gt;
	&amp;quot;sealAfterCreation&amp;quot;: false,&lt;br /&gt;
	&amp;quot;enableProgressSave&amp;quot;: false,&lt;br /&gt;
	&amp;quot;enableEditSummary&amp;quot;: false,&lt;br /&gt;
	&amp;quot;rlDependencies&amp;quot;: [],&lt;br /&gt;
	&amp;quot;useFormRevs&amp;quot;: false,&lt;br /&gt;
	&amp;quot;includable&amp;quot;: false,&lt;br /&gt;
	&amp;quot;extends&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
	&amp;quot;abstract&amp;quot;: false,&lt;br /&gt;
	&amp;quot;partial&amp;quot;: false,&lt;br /&gt;
	&amp;quot;target&amp;quot;: {&lt;br /&gt;
		&amp;quot;type&amp;quot;: &amp;quot;json-on-wikipage&amp;quot;,&lt;br /&gt;
		&amp;quot;predefined_title&amp;quot;: &amp;quot;ExampleChecklist/{{checklistname}}&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;show_target_afterAction&amp;quot;: false,&lt;br /&gt;
	&amp;quot;listeners&amp;quot;: {&lt;br /&gt;
		&amp;quot;beforeSubmitData&amp;quot;: &amp;quot;jscb:CalcProgress&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;lang&amp;quot;: &amp;quot;json&amp;quot;,&lt;br /&gt;
	&amp;quot;items&amp;quot;: [&lt;br /&gt;
		{&lt;br /&gt;
			&amp;quot;name&amp;quot;: &amp;quot;checklistname&amp;quot;,&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Checklist name&amp;quot;,&lt;br /&gt;
			&amp;quot;help&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;noLayout&amp;quot;: false,&lt;br /&gt;
			&amp;quot;showOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;editableOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;widget_classes&amp;quot;: [],&lt;br /&gt;
			&amp;quot;style&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;widgetCustomProps&amp;quot;: [],&lt;br /&gt;
			&amp;quot;widget_listeners&amp;quot;: [],&lt;br /&gt;
			&amp;quot;value&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: false,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;text&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		{&lt;br /&gt;
			&amp;quot;name&amp;quot;: &amp;quot;progress&amp;quot;,&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Progress&amp;quot;,&lt;br /&gt;
			&amp;quot;help&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;noLayout&amp;quot;: true,&lt;br /&gt;
			&amp;quot;showOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;,&lt;br /&gt;
				&amp;quot;edit&amp;quot;,&lt;br /&gt;
				&amp;quot;view&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;editableOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;,&lt;br /&gt;
				&amp;quot;edit&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;widget_classes&amp;quot;: [],&lt;br /&gt;
			&amp;quot;style&amp;quot;: &amp;quot;margin:1em auto!important; max-width:100%&amp;quot;,&lt;br /&gt;
			&amp;quot;widgetCustomProps&amp;quot;: {&lt;br /&gt;
				&amp;quot;widget_progress&amp;quot;: &amp;quot;0&amp;quot;&lt;br /&gt;
			},&lt;br /&gt;
			&amp;quot;widget_listeners&amp;quot;: [],&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;progress_bar&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		{&lt;br /&gt;
			&amp;quot;name&amp;quot;: &amp;quot;checkbox_multi-getting_started&amp;quot;,&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Getting started&amp;quot;,&lt;br /&gt;
			&amp;quot;help&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;noLayout&amp;quot;: false,&lt;br /&gt;
			&amp;quot;showOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;,&lt;br /&gt;
				&amp;quot;edit&amp;quot;,&lt;br /&gt;
				&amp;quot;view&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;editableOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;,&lt;br /&gt;
				&amp;quot;edit&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;widget_classes&amp;quot;: [],&lt;br /&gt;
			&amp;quot;style&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;widgetCustomProps&amp;quot;: [],&lt;br /&gt;
			&amp;quot;widget_listeners&amp;quot;: [],&lt;br /&gt;
			&amp;quot;value&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: false,&lt;br /&gt;
			&amp;quot;horizontal&amp;quot;: false,&lt;br /&gt;
			&amp;quot;options&amp;quot;: [&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-profile&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Provide personal and role information&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-documents&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Submit required documents&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-intro&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Review introduction materials&amp;quot;&lt;br /&gt;
				}&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;checkbox_multiselect&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		{&lt;br /&gt;
			&amp;quot;name&amp;quot;: &amp;quot;checkbox_multi-workplace_setup&amp;quot;,&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Workplace setup&amp;quot;,&lt;br /&gt;
			&amp;quot;help&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;noLayout&amp;quot;: false,&lt;br /&gt;
			&amp;quot;showOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;,&lt;br /&gt;
				&amp;quot;edit&amp;quot;,&lt;br /&gt;
				&amp;quot;view&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;editableOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;,&lt;br /&gt;
				&amp;quot;edit&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;widget_classes&amp;quot;: [],&lt;br /&gt;
			&amp;quot;style&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;widgetCustomProps&amp;quot;: [],&lt;br /&gt;
			&amp;quot;widget_listeners&amp;quot;: [],&lt;br /&gt;
			&amp;quot;value&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: false,&lt;br /&gt;
			&amp;quot;horizontal&amp;quot;: false,&lt;br /&gt;
			&amp;quot;options&amp;quot;: [&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-equipment&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Provide equipment (laptop, phone)&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-access&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Grant access to required systems&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-intro&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Meet the team&amp;quot;&lt;br /&gt;
				}&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;checkbox_multiselect&amp;quot;&lt;br /&gt;
		}&lt;br /&gt;
	]&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Bhuber</name></author>
	</entry>
	<entry>
		<id>https://en.wiki.bluespice.com/w/index.php?title=Manual:Extension/Forms/Progress_bar&amp;diff=14286</id>
		<title>Manual:Extension/Forms/Progress bar</title>
		<link rel="alternate" type="text/html" href="https://en.wiki.bluespice.com/w/index.php?title=Manual:Extension/Forms/Progress_bar&amp;diff=14286"/>
		<updated>2026-06-01T08:15:54Z</updated>

		<summary type="html">&lt;p&gt;Bhuber: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The progress bar is useful to count completed checklist items, for example.&lt;br /&gt;
&lt;br /&gt;
== Adding a progress bar ==&lt;br /&gt;
We add a progress bar to a checklist that shows how many tasks habe been completed.&lt;br /&gt;
[[File:Extension Forms Progress bar example.png|alt=checklist with two sets of checkbox groups for onboarding tasks|center|thumb|550x550px|Example of a progress bar for checklist items]]&lt;br /&gt;
For this, we need to set up the following components:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Provide the logic&#039;&#039;&#039; in &#039;&#039;MediaWiki:Common.js&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;Apply the syntax&#039;&#039;&#039; to the checklist items&lt;br /&gt;
# &#039;&#039;&#039;Create an event listener&#039;&#039;&#039; in the form properties&lt;br /&gt;
&lt;br /&gt;
=== Provide the logic in &#039;&#039;MediaWiki:Common.js&#039;&#039; ===&lt;br /&gt;
Add the following JavasScript function to [https://en.wiki.bluespice.com/wiki/Manual:The_concept_of_namespaces#Namespace_.22MediaWiki.22 &#039;&#039;MediaWiki:Common.js&#039;&#039;]:&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
/*Extension:Forms - Add a progress bar for checkbox items */&lt;br /&gt;
function CalcProgress( data ) {&lt;br /&gt;
	var dfd = $.Deferred();&lt;br /&gt;
	var checked = 0;&lt;br /&gt;
	var ItemCheckboxes = this.$element.find( &#039;input[value^=check]&#039; );&lt;br /&gt;
	var total = ItemCheckboxes.length;&lt;br /&gt;
	if ( total &amp;lt; 1 ) {&lt;br /&gt;
		dfd.resolve( data );&lt;br /&gt;
		return dfd.promise();&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	var items = this.getItems();&lt;br /&gt;
	for( var name in data ) {&lt;br /&gt;
		if ( !name.startsWith( &#039;checkbox_multi-&#039; ) ) {&lt;br /&gt;
			continue;&lt;br /&gt;
		}&lt;br /&gt;
		var checkedCheckboxes = data[name];&lt;br /&gt;
		for ( var i = 0; i &amp;lt; checkedCheckboxes.length; i++ ) {&lt;br /&gt;
			checked++;	&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
	data.progress = ( 100 * checked ) / total;&lt;br /&gt;
	dfd.resolve( data );&lt;br /&gt;
&lt;br /&gt;
	return dfd.promise();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;On line 5, you define the prefix for each checkbox that should be included in the progress count:&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
input[value^=check]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;This means that the &amp;quot;data&amp;quot; value for your checkboxes needs to start with &amp;quot;check&amp;quot;. You can verify this in the definition source of your form:&lt;br /&gt;
[[File:Manual:checkbox data value check.jpg|thumb|center|Data definition in form, here starting with &amp;quot;check-&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On line 14, you define the included fields to only those that have the prefix of  &amp;quot;checkbox_multi&amp;quot; in their name.&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
	if ( !name.startsWith( &#039;checkbox_multi-&#039; ) ) {&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Apply the syntax to the checklist items ===&lt;br /&gt;
Here is a &amp;lt;code&amp;gt;checkbox_multiselect&amp;lt;/code&amp;gt; field that has the correct name-prefix and the correct  data-prefix. This field is therefore included in the count and all three options of the field count towards the progress:&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
	{&lt;br /&gt;
			&amp;quot;name&amp;quot;: &amp;quot;checkbox_multi-workplace_setup&amp;quot;,&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Workplace setup&amp;quot;,&lt;br /&gt;
			...&lt;br /&gt;
			&amp;quot;options&amp;quot;: [&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-equipment&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Provide equipment (laptop, phone)&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-access&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Grant access to required systems&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-intro&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Meet the team&amp;quot;&lt;br /&gt;
				}&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;checkbox_multiselect&amp;quot;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Create an event listener in the form properties ===&lt;br /&gt;
To connect your form to the JavaScript function, you need to create the [https://en.wiki.bluespice.com/wiki/Manual:Extension/Forms/Form_elements_and_settings#Listeners listener] in the form properties:&lt;br /&gt;
[[File:Extension Forms Progress bar listener.png|center|thumb|650x650px|Adding the listener to the form properties]]&lt;br /&gt;
To add the listener:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Open&#039;&#039;&#039; the form properties.&lt;br /&gt;
# &#039;&#039;&#039;Click&#039;&#039;&#039; on &#039;&#039;Listeners&#039;&#039;.&lt;br /&gt;
# &#039;&#039;&#039;Select&#039;&#039;&#039; the event &amp;lt;code&amp;gt;beforeSubmitData&amp;lt;/code&amp;gt; and enter the name of your JavaScript function. In our example, it is &amp;lt;code&amp;gt;CalcProgress&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The progress value is calculated when the form data is submitted through the &amp;lt;code&amp;gt;beforeSubmitData&amp;lt;/code&amp;gt; event. Changes to checkboxes are therefore not reflected immediately while editing but only after submitting the changes (i.e., saving). &amp;lt;br&amp;gt;&lt;br /&gt;
If you want to test this example, you can save an empty example form (e.g., &#039;&#039;ExampleChecklist.form&#039;&#039;) and copy the following into the definition source:&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;title&amp;quot;: &amp;quot;Example Progress Bar&amp;quot;,&lt;br /&gt;
	&amp;quot;showTitle&amp;quot;: true,&lt;br /&gt;
	&amp;quot;showFormName&amp;quot;: false,&lt;br /&gt;
	&amp;quot;buttonsFloat&amp;quot;: false,&lt;br /&gt;
	&amp;quot;categories&amp;quot;: [],&lt;br /&gt;
	&amp;quot;sealAfterCreation&amp;quot;: false,&lt;br /&gt;
	&amp;quot;enableProgressSave&amp;quot;: false,&lt;br /&gt;
	&amp;quot;enableEditSummary&amp;quot;: false,&lt;br /&gt;
	&amp;quot;rlDependencies&amp;quot;: [],&lt;br /&gt;
	&amp;quot;useFormRevs&amp;quot;: false,&lt;br /&gt;
	&amp;quot;includable&amp;quot;: false,&lt;br /&gt;
	&amp;quot;extends&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
	&amp;quot;abstract&amp;quot;: false,&lt;br /&gt;
	&amp;quot;partial&amp;quot;: false,&lt;br /&gt;
	&amp;quot;target&amp;quot;: {&lt;br /&gt;
		&amp;quot;type&amp;quot;: &amp;quot;json-on-wikipage&amp;quot;,&lt;br /&gt;
		&amp;quot;predefined_title&amp;quot;: &amp;quot;ExampleChecklist/{{checklistname}}&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;show_target_afterAction&amp;quot;: false,&lt;br /&gt;
	&amp;quot;listeners&amp;quot;: {&lt;br /&gt;
		&amp;quot;beforeSubmitData&amp;quot;: &amp;quot;jscb:CalcProgress&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;lang&amp;quot;: &amp;quot;json&amp;quot;,&lt;br /&gt;
	&amp;quot;items&amp;quot;: [&lt;br /&gt;
		{&lt;br /&gt;
			&amp;quot;name&amp;quot;: &amp;quot;checklistname&amp;quot;,&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Checklist name&amp;quot;,&lt;br /&gt;
			&amp;quot;help&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;noLayout&amp;quot;: false,&lt;br /&gt;
			&amp;quot;showOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;editableOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;widget_classes&amp;quot;: [],&lt;br /&gt;
			&amp;quot;style&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;widgetCustomProps&amp;quot;: [],&lt;br /&gt;
			&amp;quot;widget_listeners&amp;quot;: [],&lt;br /&gt;
			&amp;quot;value&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: false,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;text&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		{&lt;br /&gt;
			&amp;quot;name&amp;quot;: &amp;quot;progress&amp;quot;,&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Progress&amp;quot;,&lt;br /&gt;
			&amp;quot;help&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;noLayout&amp;quot;: true,&lt;br /&gt;
			&amp;quot;showOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;,&lt;br /&gt;
				&amp;quot;edit&amp;quot;,&lt;br /&gt;
				&amp;quot;view&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;editableOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;,&lt;br /&gt;
				&amp;quot;edit&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;widget_classes&amp;quot;: [],&lt;br /&gt;
			&amp;quot;style&amp;quot;: &amp;quot;margin:1em auto!important; max-width:100%&amp;quot;,&lt;br /&gt;
			&amp;quot;widgetCustomProps&amp;quot;: {&lt;br /&gt;
				&amp;quot;widget_progress&amp;quot;: &amp;quot;0&amp;quot;&lt;br /&gt;
			},&lt;br /&gt;
			&amp;quot;widget_listeners&amp;quot;: [],&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;progress_bar&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		{&lt;br /&gt;
			&amp;quot;name&amp;quot;: &amp;quot;checkbox_multi-getting_started&amp;quot;,&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Getting started&amp;quot;,&lt;br /&gt;
			&amp;quot;help&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;noLayout&amp;quot;: false,&lt;br /&gt;
			&amp;quot;showOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;,&lt;br /&gt;
				&amp;quot;edit&amp;quot;,&lt;br /&gt;
				&amp;quot;view&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;editableOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;,&lt;br /&gt;
				&amp;quot;edit&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;widget_classes&amp;quot;: [],&lt;br /&gt;
			&amp;quot;style&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;widgetCustomProps&amp;quot;: [],&lt;br /&gt;
			&amp;quot;widget_listeners&amp;quot;: [],&lt;br /&gt;
			&amp;quot;value&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: false,&lt;br /&gt;
			&amp;quot;horizontal&amp;quot;: false,&lt;br /&gt;
			&amp;quot;options&amp;quot;: [&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-profile&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Provide personal and role information&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-documents&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Submit required documents&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-intro&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Review introduction materials&amp;quot;&lt;br /&gt;
				}&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;checkbox_multiselect&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		{&lt;br /&gt;
			&amp;quot;name&amp;quot;: &amp;quot;checkbox_multi-workplace_setup&amp;quot;,&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Workplace setup&amp;quot;,&lt;br /&gt;
			&amp;quot;help&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;noLayout&amp;quot;: false,&lt;br /&gt;
			&amp;quot;showOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;,&lt;br /&gt;
				&amp;quot;edit&amp;quot;,&lt;br /&gt;
				&amp;quot;view&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;editableOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;,&lt;br /&gt;
				&amp;quot;edit&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;widget_classes&amp;quot;: [],&lt;br /&gt;
			&amp;quot;style&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;widgetCustomProps&amp;quot;: [],&lt;br /&gt;
			&amp;quot;widget_listeners&amp;quot;: [],&lt;br /&gt;
			&amp;quot;value&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: false,&lt;br /&gt;
			&amp;quot;horizontal&amp;quot;: false,&lt;br /&gt;
			&amp;quot;options&amp;quot;: [&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-equipment&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Provide equipment (laptop, phone)&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-access&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Grant access to required systems&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-intro&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Meet the team&amp;quot;&lt;br /&gt;
				}&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;checkbox_multiselect&amp;quot;&lt;br /&gt;
		}&lt;br /&gt;
	]&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Bhuber</name></author>
	</entry>
	<entry>
		<id>https://en.wiki.bluespice.com/w/index.php?title=Manual:Extension/Forms/Progress_bar&amp;diff=14285</id>
		<title>Manual:Extension/Forms/Progress bar</title>
		<link rel="alternate" type="text/html" href="https://en.wiki.bluespice.com/w/index.php?title=Manual:Extension/Forms/Progress_bar&amp;diff=14285"/>
		<updated>2026-06-01T08:13:50Z</updated>

		<summary type="html">&lt;p&gt;Bhuber: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The progress bar is useful to count completed checklist items, for example.&lt;br /&gt;
&lt;br /&gt;
== Adding a progress bar ==&lt;br /&gt;
We add a progress bar to a checklist that shows how many tasks habe been completed.&lt;br /&gt;
[[File:Extension Forms Progress bar example.png|alt=checklist with two sets of checkbox groups for onboarding tasks|center|thumb|550x550px|Example of a progress bar for checklist items]]&lt;br /&gt;
For this, we need to set up the following components:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Provide the logic&#039;&#039;&#039; in &#039;&#039;MediaWiki:Common.js&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;Apply the syntax&#039;&#039;&#039; to the checklist items&lt;br /&gt;
# &#039;&#039;&#039;Create an event listener&#039;&#039;&#039; in the form properties&lt;br /&gt;
&lt;br /&gt;
=== Provide the logic in &#039;&#039;MediaWiki:Common.js&#039;&#039; ===&lt;br /&gt;
Add the following JavasScript function to [https://en.wiki.bluespice.com/wiki/Manual:The_concept_of_namespaces#Namespace_.22MediaWiki.22 &#039;&#039;MediaWiki:Common.js&#039;&#039;]:&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
/*Extension:Forms - Add a progress bar for checkbox items */&lt;br /&gt;
function CalcProgress( data ) {&lt;br /&gt;
	var dfd = $.Deferred();&lt;br /&gt;
	var checked = 0;&lt;br /&gt;
	var ItemCheckboxes = this.$element.find( &#039;input[value^=check]&#039; );&lt;br /&gt;
	var total = ItemCheckboxes.length;&lt;br /&gt;
	if ( total &amp;lt; 1 ) {&lt;br /&gt;
		dfd.resolve( data );&lt;br /&gt;
		return dfd.promise();&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	var items = this.getItems();&lt;br /&gt;
	for( var name in data ) {&lt;br /&gt;
		if ( !name.startsWith( &#039;checkbox_multi-&#039; ) ) {&lt;br /&gt;
			continue;&lt;br /&gt;
		}&lt;br /&gt;
		var checkedCheckboxes = data[name];&lt;br /&gt;
		for ( var i = 0; i &amp;lt; checkedCheckboxes.length; i++ ) {&lt;br /&gt;
			checked++;	&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
	data.progress = ( 100 * checked ) / total;&lt;br /&gt;
	dfd.resolve( data );&lt;br /&gt;
&lt;br /&gt;
	return dfd.promise();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;On line 5, you define the prefix for each checkbox that should be included in the progress count:&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
input[value^=check]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;This means that the &amp;quot;data&amp;quot; value for your checkboxes needs to start with &amp;quot;check&amp;quot;. You can verify this in the definition source of your form:&lt;br /&gt;
[[File:Manual:checkbox data value check.jpg|thumb|center|Data definition in form, here starting with &amp;quot;check-&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On line 14, you define the included fields to only those that have the prefix of  &amp;quot;checkbox_multi&amp;quot; in their name.&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
	if ( !name.startsWith( &#039;checkbox_multi-&#039; ) ) {&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Apply the syntax to the checklist items ===&lt;br /&gt;
Here is a &amp;lt;code&amp;gt;checkbox_multiselect&amp;lt;/code&amp;gt; field that has the correct name-prefix and the correct  data-prefix. This field is therefore included in the count and all three options of the field count towards the progress:&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
	{&lt;br /&gt;
			&amp;quot;name&amp;quot;: &amp;quot;checkbox_multi-workplace_setup&amp;quot;,&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Workplace setup&amp;quot;,&lt;br /&gt;
			...&lt;br /&gt;
			&amp;quot;options&amp;quot;: [&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-equipment&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Provide equipment (laptop, phone)&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-access&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Grant access to required systems&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-intro&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Meet the team&amp;quot;&lt;br /&gt;
				}&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;checkbox_multiselect&amp;quot;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Create an event listener in the form properties ===&lt;br /&gt;
To connect your form to the JavaScript function, you need to create the [https://en.wiki.bluespice.com/wiki/Manual:Extension/Forms/Form_elements_and_settings#Listeners listener] in the form properties:&lt;br /&gt;
[[File:Extension Forms Progress bar listener.png|center|thumb|650x650px|Adding the listener to the form properties]]&lt;br /&gt;
To add the listener:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Open&#039;&#039;&#039; the form properties.&lt;br /&gt;
# &#039;&#039;&#039;Click&#039;&#039;&#039; on &#039;&#039;Listeners&#039;&#039;.&lt;br /&gt;
# &#039;&#039;&#039;Select&#039;&#039;&#039; the event &amp;lt;code&amp;gt;beforeSubmitData&amp;lt;/code&amp;gt; and enter the name of your JavaScript function. In our example, it is &amp;lt;code&amp;gt;CalcProgress&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
If you want to test this example, you can save an empty example form (e.g., &#039;&#039;ExampleChecklist.form&#039;&#039;) and copy the following into the definition source:&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;title&amp;quot;: &amp;quot;Example Progress Bar&amp;quot;,&lt;br /&gt;
	&amp;quot;showTitle&amp;quot;: true,&lt;br /&gt;
	&amp;quot;showFormName&amp;quot;: false,&lt;br /&gt;
	&amp;quot;buttonsFloat&amp;quot;: false,&lt;br /&gt;
	&amp;quot;categories&amp;quot;: [],&lt;br /&gt;
	&amp;quot;sealAfterCreation&amp;quot;: false,&lt;br /&gt;
	&amp;quot;enableProgressSave&amp;quot;: false,&lt;br /&gt;
	&amp;quot;enableEditSummary&amp;quot;: false,&lt;br /&gt;
	&amp;quot;rlDependencies&amp;quot;: [],&lt;br /&gt;
	&amp;quot;useFormRevs&amp;quot;: false,&lt;br /&gt;
	&amp;quot;includable&amp;quot;: false,&lt;br /&gt;
	&amp;quot;extends&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
	&amp;quot;abstract&amp;quot;: false,&lt;br /&gt;
	&amp;quot;partial&amp;quot;: false,&lt;br /&gt;
	&amp;quot;target&amp;quot;: {&lt;br /&gt;
		&amp;quot;type&amp;quot;: &amp;quot;json-on-wikipage&amp;quot;,&lt;br /&gt;
		&amp;quot;predefined_title&amp;quot;: &amp;quot;ExampleChecklist/{{checklistname}}&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;show_target_afterAction&amp;quot;: false,&lt;br /&gt;
	&amp;quot;listeners&amp;quot;: {&lt;br /&gt;
		&amp;quot;beforeSubmitData&amp;quot;: &amp;quot;jscb:CalcProgress&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;lang&amp;quot;: &amp;quot;json&amp;quot;,&lt;br /&gt;
	&amp;quot;items&amp;quot;: [&lt;br /&gt;
		{&lt;br /&gt;
			&amp;quot;name&amp;quot;: &amp;quot;checklistname&amp;quot;,&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Checklist name&amp;quot;,&lt;br /&gt;
			&amp;quot;help&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;noLayout&amp;quot;: false,&lt;br /&gt;
			&amp;quot;showOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;editableOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;widget_classes&amp;quot;: [],&lt;br /&gt;
			&amp;quot;style&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;widgetCustomProps&amp;quot;: [],&lt;br /&gt;
			&amp;quot;widget_listeners&amp;quot;: [],&lt;br /&gt;
			&amp;quot;value&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: false,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;text&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		{&lt;br /&gt;
			&amp;quot;name&amp;quot;: &amp;quot;progress&amp;quot;,&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Progress&amp;quot;,&lt;br /&gt;
			&amp;quot;help&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;noLayout&amp;quot;: true,&lt;br /&gt;
			&amp;quot;showOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;,&lt;br /&gt;
				&amp;quot;edit&amp;quot;,&lt;br /&gt;
				&amp;quot;view&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;editableOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;,&lt;br /&gt;
				&amp;quot;edit&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;widget_classes&amp;quot;: [],&lt;br /&gt;
			&amp;quot;style&amp;quot;: &amp;quot;margin:1em auto!important; max-width:100%&amp;quot;,&lt;br /&gt;
			&amp;quot;widgetCustomProps&amp;quot;: {&lt;br /&gt;
				&amp;quot;widget_progress&amp;quot;: &amp;quot;0&amp;quot;&lt;br /&gt;
			},&lt;br /&gt;
			&amp;quot;widget_listeners&amp;quot;: [],&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;progress_bar&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		{&lt;br /&gt;
			&amp;quot;name&amp;quot;: &amp;quot;checkbox_multi-getting_started&amp;quot;,&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Getting started&amp;quot;,&lt;br /&gt;
			&amp;quot;help&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;noLayout&amp;quot;: false,&lt;br /&gt;
			&amp;quot;showOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;,&lt;br /&gt;
				&amp;quot;edit&amp;quot;,&lt;br /&gt;
				&amp;quot;view&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;editableOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;,&lt;br /&gt;
				&amp;quot;edit&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;widget_classes&amp;quot;: [],&lt;br /&gt;
			&amp;quot;style&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;widgetCustomProps&amp;quot;: [],&lt;br /&gt;
			&amp;quot;widget_listeners&amp;quot;: [],&lt;br /&gt;
			&amp;quot;value&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: false,&lt;br /&gt;
			&amp;quot;horizontal&amp;quot;: false,&lt;br /&gt;
			&amp;quot;options&amp;quot;: [&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-profile&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Provide personal and role information&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-documents&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Submit required documents&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-intro&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Review introduction materials&amp;quot;&lt;br /&gt;
				}&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;checkbox_multiselect&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		{&lt;br /&gt;
			&amp;quot;name&amp;quot;: &amp;quot;checkbox_multi-workplace_setup&amp;quot;,&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Workplace setup&amp;quot;,&lt;br /&gt;
			&amp;quot;help&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;noLayout&amp;quot;: false,&lt;br /&gt;
			&amp;quot;showOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;,&lt;br /&gt;
				&amp;quot;edit&amp;quot;,&lt;br /&gt;
				&amp;quot;view&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;editableOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;,&lt;br /&gt;
				&amp;quot;edit&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;widget_classes&amp;quot;: [],&lt;br /&gt;
			&amp;quot;style&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;widgetCustomProps&amp;quot;: [],&lt;br /&gt;
			&amp;quot;widget_listeners&amp;quot;: [],&lt;br /&gt;
			&amp;quot;value&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: false,&lt;br /&gt;
			&amp;quot;horizontal&amp;quot;: false,&lt;br /&gt;
			&amp;quot;options&amp;quot;: [&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-equipment&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Provide equipment (laptop, phone)&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-access&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Grant access to required systems&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-intro&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Meet the team&amp;quot;&lt;br /&gt;
				}&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;checkbox_multiselect&amp;quot;&lt;br /&gt;
		}&lt;br /&gt;
	]&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Bhuber</name></author>
	</entry>
	<entry>
		<id>https://en.wiki.bluespice.com/w/index.php?title=Manual:Extension/Forms/Progress_bar&amp;diff=14284</id>
		<title>Manual:Extension/Forms/Progress bar</title>
		<link rel="alternate" type="text/html" href="https://en.wiki.bluespice.com/w/index.php?title=Manual:Extension/Forms/Progress_bar&amp;diff=14284"/>
		<updated>2026-06-01T08:01:55Z</updated>

		<summary type="html">&lt;p&gt;Bhuber: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The progress bar is useful to count completed checklist items, for example.&lt;br /&gt;
&lt;br /&gt;
== Adding a progress bar ==&lt;br /&gt;
We add a progress bar to a checklist that shows how many tasks habe been completed.&lt;br /&gt;
[[File:Extension Forms Progress bar example.png|alt=checklist with two sets of checkbox groups for onboarding tasks|center|thumb|550x550px|Example of a progress bar for checklist items]]&lt;br /&gt;
For this, we need to set up the following components:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Provide the logic&#039;&#039;&#039; in &#039;&#039;MediaWiki:Common.js&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;Apply the syntax&#039;&#039;&#039; to the checklist items&lt;br /&gt;
# &#039;&#039;&#039;Create an event listener&#039;&#039;&#039; in the form properties&lt;br /&gt;
&lt;br /&gt;
=== Provide the logic in &#039;&#039;MediaWiki:Common.js&#039;&#039; ===&lt;br /&gt;
Add the following JavasScript function to [https://en.wiki.bluespice.com/wiki/Manual:The_concept_of_namespaces#Namespace_.22MediaWiki.22|&#039;&#039;MediaWiki:Common.js&#039;&#039;]:&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
/*Extension:Forms - Add a progress bar for checkbox items */&lt;br /&gt;
function CalcProgress( data ) {&lt;br /&gt;
	var dfd = $.Deferred();&lt;br /&gt;
	var checked = 0;&lt;br /&gt;
	var ItemCheckboxes = this.$element.find( &#039;input[value^=check]&#039; );&lt;br /&gt;
	var total = ItemCheckboxes.length;&lt;br /&gt;
	if ( total &amp;lt; 1 ) {&lt;br /&gt;
		dfd.resolve( data );&lt;br /&gt;
		return dfd.promise();&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	var items = this.getItems();&lt;br /&gt;
	for( var name in data ) {&lt;br /&gt;
		if ( !name.startsWith( &#039;checkbox_multi-&#039; ) ) {&lt;br /&gt;
			continue;&lt;br /&gt;
		}&lt;br /&gt;
		var checkedCheckboxes = data[name];&lt;br /&gt;
		for ( var i = 0; i &amp;lt; checkedCheckboxes.length; i++ ) {&lt;br /&gt;
			checked++;	&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
	data.progress = ( 100 * checked ) / total;&lt;br /&gt;
	dfd.resolve( data );&lt;br /&gt;
&lt;br /&gt;
	return dfd.promise();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;On line 5, you define the prefix for each checkbox that should be included in the progress count:&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
input[value^=check]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;This means that the &amp;quot;data&amp;quot; value for your checkboxes needs to start with &amp;quot;check&amp;quot;. You can verify this in the definition source of your form:&lt;br /&gt;
[[File:Manual:checkbox data value check.jpg|thumb|center|Data definition in form, here starting with &amp;quot;check-&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On line 14, you define the included fields to only those that have the prefix of  &amp;quot;checkbox_multi&amp;quot; in their name.&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
	if ( !name.startsWith( &#039;checkbox_multi-&#039; ) ) {&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Apply the syntax to the checklist items ===&lt;br /&gt;
Here is a &amp;lt;code&amp;gt;checkbox_multiselect&amp;lt;/code&amp;gt; field that has the correct name-prefix and the correct  data-prefix. This field is therefore included in the count and all three options of the field count towards the progress:&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
	{&lt;br /&gt;
			&amp;quot;name&amp;quot;: &amp;quot;checkbox_multi-workplace_setup&amp;quot;,&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Workplace setup&amp;quot;,&lt;br /&gt;
			...&lt;br /&gt;
			&amp;quot;options&amp;quot;: [&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-equipment&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Provide equipment (laptop, phone)&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-access&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Grant access to required systems&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-intro&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Meet the team&amp;quot;&lt;br /&gt;
				}&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;checkbox_multiselect&amp;quot;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Create an event listener in the form properties ===&lt;br /&gt;
To connect your form to the JavaScript function, you need to create the listener in the form properties:&lt;br /&gt;
[[File:Extension Forms Progress bar listener.png|center|thumb|650x650px|Adding the listener to the form properties]]&lt;br /&gt;
To add the listener:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Open&#039;&#039;&#039; the form properties.&lt;br /&gt;
# &#039;&#039;&#039;Click&#039;&#039;&#039; on &#039;&#039;Listeners&#039;&#039;.&lt;br /&gt;
# &#039;&#039;&#039;Select&#039;&#039;&#039; the event &amp;lt;code&amp;gt;beforeSubmitData&amp;lt;/code&amp;gt; and enter the name of your JavaScript function. In our example, it is &amp;lt;code&amp;gt;CalcProgress&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
If you want to test this example, you can save an empty example form (e.g., &#039;&#039;ExampleChecklist.form&#039;&#039;) and copy the following into the definition source:&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;title&amp;quot;: &amp;quot;Example Progress Bar&amp;quot;,&lt;br /&gt;
	&amp;quot;showTitle&amp;quot;: true,&lt;br /&gt;
	&amp;quot;showFormName&amp;quot;: false,&lt;br /&gt;
	&amp;quot;buttonsFloat&amp;quot;: false,&lt;br /&gt;
	&amp;quot;categories&amp;quot;: [],&lt;br /&gt;
	&amp;quot;sealAfterCreation&amp;quot;: false,&lt;br /&gt;
	&amp;quot;enableProgressSave&amp;quot;: false,&lt;br /&gt;
	&amp;quot;enableEditSummary&amp;quot;: false,&lt;br /&gt;
	&amp;quot;rlDependencies&amp;quot;: [],&lt;br /&gt;
	&amp;quot;useFormRevs&amp;quot;: false,&lt;br /&gt;
	&amp;quot;includable&amp;quot;: false,&lt;br /&gt;
	&amp;quot;extends&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
	&amp;quot;abstract&amp;quot;: false,&lt;br /&gt;
	&amp;quot;partial&amp;quot;: false,&lt;br /&gt;
	&amp;quot;target&amp;quot;: {&lt;br /&gt;
		&amp;quot;type&amp;quot;: &amp;quot;json-on-wikipage&amp;quot;,&lt;br /&gt;
		&amp;quot;predefined_title&amp;quot;: &amp;quot;ExampleChecklist/{{checklistname}}&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;show_target_afterAction&amp;quot;: false,&lt;br /&gt;
	&amp;quot;listeners&amp;quot;: {&lt;br /&gt;
		&amp;quot;beforeSubmitData&amp;quot;: &amp;quot;jscb:CalcProgress&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;lang&amp;quot;: &amp;quot;json&amp;quot;,&lt;br /&gt;
	&amp;quot;items&amp;quot;: [&lt;br /&gt;
		{&lt;br /&gt;
			&amp;quot;name&amp;quot;: &amp;quot;checklistname&amp;quot;,&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Checklist name&amp;quot;,&lt;br /&gt;
			&amp;quot;help&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;noLayout&amp;quot;: false,&lt;br /&gt;
			&amp;quot;showOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;editableOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;widget_classes&amp;quot;: [],&lt;br /&gt;
			&amp;quot;style&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;widgetCustomProps&amp;quot;: [],&lt;br /&gt;
			&amp;quot;widget_listeners&amp;quot;: [],&lt;br /&gt;
			&amp;quot;value&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: false,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;text&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		{&lt;br /&gt;
			&amp;quot;name&amp;quot;: &amp;quot;progress&amp;quot;,&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Progress&amp;quot;,&lt;br /&gt;
			&amp;quot;help&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;noLayout&amp;quot;: true,&lt;br /&gt;
			&amp;quot;showOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;,&lt;br /&gt;
				&amp;quot;edit&amp;quot;,&lt;br /&gt;
				&amp;quot;view&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;editableOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;,&lt;br /&gt;
				&amp;quot;edit&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;widget_classes&amp;quot;: [],&lt;br /&gt;
			&amp;quot;style&amp;quot;: &amp;quot;margin:1em auto!important; max-width:100%&amp;quot;,&lt;br /&gt;
			&amp;quot;widgetCustomProps&amp;quot;: {&lt;br /&gt;
				&amp;quot;widget_progress&amp;quot;: &amp;quot;0&amp;quot;&lt;br /&gt;
			},&lt;br /&gt;
			&amp;quot;widget_listeners&amp;quot;: [],&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;progress_bar&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		{&lt;br /&gt;
			&amp;quot;name&amp;quot;: &amp;quot;checkbox_multi-getting_started&amp;quot;,&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Getting started&amp;quot;,&lt;br /&gt;
			&amp;quot;help&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;noLayout&amp;quot;: false,&lt;br /&gt;
			&amp;quot;showOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;,&lt;br /&gt;
				&amp;quot;edit&amp;quot;,&lt;br /&gt;
				&amp;quot;view&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;editableOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;,&lt;br /&gt;
				&amp;quot;edit&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;widget_classes&amp;quot;: [],&lt;br /&gt;
			&amp;quot;style&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;widgetCustomProps&amp;quot;: [],&lt;br /&gt;
			&amp;quot;widget_listeners&amp;quot;: [],&lt;br /&gt;
			&amp;quot;value&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: false,&lt;br /&gt;
			&amp;quot;horizontal&amp;quot;: false,&lt;br /&gt;
			&amp;quot;options&amp;quot;: [&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-profile&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Provide personal and role information&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-documents&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Submit required documents&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-intro&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Review introduction materials&amp;quot;&lt;br /&gt;
				}&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;checkbox_multiselect&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		{&lt;br /&gt;
			&amp;quot;name&amp;quot;: &amp;quot;checkbox_multi-workplace_setup&amp;quot;,&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Workplace setup&amp;quot;,&lt;br /&gt;
			&amp;quot;help&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;noLayout&amp;quot;: false,&lt;br /&gt;
			&amp;quot;showOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;,&lt;br /&gt;
				&amp;quot;edit&amp;quot;,&lt;br /&gt;
				&amp;quot;view&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;editableOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;,&lt;br /&gt;
				&amp;quot;edit&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;widget_classes&amp;quot;: [],&lt;br /&gt;
			&amp;quot;style&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;widgetCustomProps&amp;quot;: [],&lt;br /&gt;
			&amp;quot;widget_listeners&amp;quot;: [],&lt;br /&gt;
			&amp;quot;value&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: false,&lt;br /&gt;
			&amp;quot;horizontal&amp;quot;: false,&lt;br /&gt;
			&amp;quot;options&amp;quot;: [&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-equipment&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Provide equipment (laptop, phone)&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-access&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Grant access to required systems&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-intro&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Meet the team&amp;quot;&lt;br /&gt;
				}&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;checkbox_multiselect&amp;quot;&lt;br /&gt;
		}&lt;br /&gt;
	]&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Bhuber</name></author>
	</entry>
	<entry>
		<id>https://en.wiki.bluespice.com/w/index.php?title=Manual:Extension/Forms/Progress_bar&amp;diff=14283</id>
		<title>Manual:Extension/Forms/Progress bar</title>
		<link rel="alternate" type="text/html" href="https://en.wiki.bluespice.com/w/index.php?title=Manual:Extension/Forms/Progress_bar&amp;diff=14283"/>
		<updated>2026-06-01T08:01:37Z</updated>

		<summary type="html">&lt;p&gt;Bhuber: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The progress bar is useful to count completed checklist items, for example.&lt;br /&gt;
&lt;br /&gt;
== Adding a progress bar ==&lt;br /&gt;
We add a progress bar to a checklist that shows how many tasks habe been completed.&lt;br /&gt;
[[File:Extension Forms Progress bar example.png|alt=checklist with two sets of checkbox groups for onboarding tasks|center|thumb|550x550px|Example of a progress bar for checklist items]]&lt;br /&gt;
For this, we need to set up the following components:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Provide the logic&#039;&#039;&#039; in &#039;&#039;MediaWiki:Common.js&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;Apply the syntax&#039;&#039;&#039; to the checklist items&lt;br /&gt;
# &#039;&#039;&#039;Create an event listener&#039;&#039;&#039; in the form properties&lt;br /&gt;
&lt;br /&gt;
=== Provide the logic in &#039;&#039;MediaWiki:Common.js&#039;&#039; ===&lt;br /&gt;
Add the following JavasScript function to [[https://en.wiki.bluespice.com/wiki/Manual:The_concept_of_namespaces#Namespace_.22MediaWiki.22|&#039;&#039;MediaWiki:Common.js&#039;&#039;]]:&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
/*Extension:Forms - Add a progress bar for checkbox items */&lt;br /&gt;
function CalcProgress( data ) {&lt;br /&gt;
	var dfd = $.Deferred();&lt;br /&gt;
	var checked = 0;&lt;br /&gt;
	var ItemCheckboxes = this.$element.find( &#039;input[value^=check]&#039; );&lt;br /&gt;
	var total = ItemCheckboxes.length;&lt;br /&gt;
	if ( total &amp;lt; 1 ) {&lt;br /&gt;
		dfd.resolve( data );&lt;br /&gt;
		return dfd.promise();&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	var items = this.getItems();&lt;br /&gt;
	for( var name in data ) {&lt;br /&gt;
		if ( !name.startsWith( &#039;checkbox_multi-&#039; ) ) {&lt;br /&gt;
			continue;&lt;br /&gt;
		}&lt;br /&gt;
		var checkedCheckboxes = data[name];&lt;br /&gt;
		for ( var i = 0; i &amp;lt; checkedCheckboxes.length; i++ ) {&lt;br /&gt;
			checked++;	&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
	data.progress = ( 100 * checked ) / total;&lt;br /&gt;
	dfd.resolve( data );&lt;br /&gt;
&lt;br /&gt;
	return dfd.promise();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;On line 5, you define the prefix for each checkbox that should be included in the progress count:&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
input[value^=check]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;This means that the &amp;quot;data&amp;quot; value for your checkboxes needs to start with &amp;quot;check&amp;quot;. You can verify this in the definition source of your form:&lt;br /&gt;
[[File:Manual:checkbox data value check.jpg|thumb|center|Data definition in form, here starting with &amp;quot;check-&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On line 14, you define the included fields to only those that have the prefix of  &amp;quot;checkbox_multi&amp;quot; in their name.&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
	if ( !name.startsWith( &#039;checkbox_multi-&#039; ) ) {&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Apply the syntax to the checklist items ===&lt;br /&gt;
Here is a &amp;lt;code&amp;gt;checkbox_multiselect&amp;lt;/code&amp;gt; field that has the correct name-prefix and the correct  data-prefix. This field is therefore included in the count and all three options of the field count towards the progress:&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
	{&lt;br /&gt;
			&amp;quot;name&amp;quot;: &amp;quot;checkbox_multi-workplace_setup&amp;quot;,&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Workplace setup&amp;quot;,&lt;br /&gt;
			...&lt;br /&gt;
			&amp;quot;options&amp;quot;: [&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-equipment&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Provide equipment (laptop, phone)&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-access&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Grant access to required systems&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-intro&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Meet the team&amp;quot;&lt;br /&gt;
				}&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;checkbox_multiselect&amp;quot;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Create an event listener in the form properties ===&lt;br /&gt;
To connect your form to the JavaScript function, you need to create the listener in the form properties:&lt;br /&gt;
[[File:Extension Forms Progress bar listener.png|center|thumb|650x650px|Adding the listener to the form properties]]&lt;br /&gt;
To add the listener:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Open&#039;&#039;&#039; the form properties.&lt;br /&gt;
# &#039;&#039;&#039;Click&#039;&#039;&#039; on &#039;&#039;Listeners&#039;&#039;.&lt;br /&gt;
# &#039;&#039;&#039;Select&#039;&#039;&#039; the event &amp;lt;code&amp;gt;beforeSubmitData&amp;lt;/code&amp;gt; and enter the name of your JavaScript function. In our example, it is &amp;lt;code&amp;gt;CalcProgress&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
If you want to test this example, you can save an empty example form (e.g., &#039;&#039;ExampleChecklist.form&#039;&#039;) and copy the following into the definition source:&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;title&amp;quot;: &amp;quot;Example Progress Bar&amp;quot;,&lt;br /&gt;
	&amp;quot;showTitle&amp;quot;: true,&lt;br /&gt;
	&amp;quot;showFormName&amp;quot;: false,&lt;br /&gt;
	&amp;quot;buttonsFloat&amp;quot;: false,&lt;br /&gt;
	&amp;quot;categories&amp;quot;: [],&lt;br /&gt;
	&amp;quot;sealAfterCreation&amp;quot;: false,&lt;br /&gt;
	&amp;quot;enableProgressSave&amp;quot;: false,&lt;br /&gt;
	&amp;quot;enableEditSummary&amp;quot;: false,&lt;br /&gt;
	&amp;quot;rlDependencies&amp;quot;: [],&lt;br /&gt;
	&amp;quot;useFormRevs&amp;quot;: false,&lt;br /&gt;
	&amp;quot;includable&amp;quot;: false,&lt;br /&gt;
	&amp;quot;extends&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
	&amp;quot;abstract&amp;quot;: false,&lt;br /&gt;
	&amp;quot;partial&amp;quot;: false,&lt;br /&gt;
	&amp;quot;target&amp;quot;: {&lt;br /&gt;
		&amp;quot;type&amp;quot;: &amp;quot;json-on-wikipage&amp;quot;,&lt;br /&gt;
		&amp;quot;predefined_title&amp;quot;: &amp;quot;ExampleChecklist/{{checklistname}}&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;show_target_afterAction&amp;quot;: false,&lt;br /&gt;
	&amp;quot;listeners&amp;quot;: {&lt;br /&gt;
		&amp;quot;beforeSubmitData&amp;quot;: &amp;quot;jscb:CalcProgress&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;lang&amp;quot;: &amp;quot;json&amp;quot;,&lt;br /&gt;
	&amp;quot;items&amp;quot;: [&lt;br /&gt;
		{&lt;br /&gt;
			&amp;quot;name&amp;quot;: &amp;quot;checklistname&amp;quot;,&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Checklist name&amp;quot;,&lt;br /&gt;
			&amp;quot;help&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;noLayout&amp;quot;: false,&lt;br /&gt;
			&amp;quot;showOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;editableOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;widget_classes&amp;quot;: [],&lt;br /&gt;
			&amp;quot;style&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;widgetCustomProps&amp;quot;: [],&lt;br /&gt;
			&amp;quot;widget_listeners&amp;quot;: [],&lt;br /&gt;
			&amp;quot;value&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: false,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;text&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		{&lt;br /&gt;
			&amp;quot;name&amp;quot;: &amp;quot;progress&amp;quot;,&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Progress&amp;quot;,&lt;br /&gt;
			&amp;quot;help&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;noLayout&amp;quot;: true,&lt;br /&gt;
			&amp;quot;showOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;,&lt;br /&gt;
				&amp;quot;edit&amp;quot;,&lt;br /&gt;
				&amp;quot;view&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;editableOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;,&lt;br /&gt;
				&amp;quot;edit&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;widget_classes&amp;quot;: [],&lt;br /&gt;
			&amp;quot;style&amp;quot;: &amp;quot;margin:1em auto!important; max-width:100%&amp;quot;,&lt;br /&gt;
			&amp;quot;widgetCustomProps&amp;quot;: {&lt;br /&gt;
				&amp;quot;widget_progress&amp;quot;: &amp;quot;0&amp;quot;&lt;br /&gt;
			},&lt;br /&gt;
			&amp;quot;widget_listeners&amp;quot;: [],&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;progress_bar&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		{&lt;br /&gt;
			&amp;quot;name&amp;quot;: &amp;quot;checkbox_multi-getting_started&amp;quot;,&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Getting started&amp;quot;,&lt;br /&gt;
			&amp;quot;help&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;noLayout&amp;quot;: false,&lt;br /&gt;
			&amp;quot;showOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;,&lt;br /&gt;
				&amp;quot;edit&amp;quot;,&lt;br /&gt;
				&amp;quot;view&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;editableOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;,&lt;br /&gt;
				&amp;quot;edit&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;widget_classes&amp;quot;: [],&lt;br /&gt;
			&amp;quot;style&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;widgetCustomProps&amp;quot;: [],&lt;br /&gt;
			&amp;quot;widget_listeners&amp;quot;: [],&lt;br /&gt;
			&amp;quot;value&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: false,&lt;br /&gt;
			&amp;quot;horizontal&amp;quot;: false,&lt;br /&gt;
			&amp;quot;options&amp;quot;: [&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-profile&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Provide personal and role information&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-documents&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Submit required documents&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-intro&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Review introduction materials&amp;quot;&lt;br /&gt;
				}&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;checkbox_multiselect&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		{&lt;br /&gt;
			&amp;quot;name&amp;quot;: &amp;quot;checkbox_multi-workplace_setup&amp;quot;,&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Workplace setup&amp;quot;,&lt;br /&gt;
			&amp;quot;help&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;noLayout&amp;quot;: false,&lt;br /&gt;
			&amp;quot;showOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;,&lt;br /&gt;
				&amp;quot;edit&amp;quot;,&lt;br /&gt;
				&amp;quot;view&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;editableOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;,&lt;br /&gt;
				&amp;quot;edit&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;widget_classes&amp;quot;: [],&lt;br /&gt;
			&amp;quot;style&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;widgetCustomProps&amp;quot;: [],&lt;br /&gt;
			&amp;quot;widget_listeners&amp;quot;: [],&lt;br /&gt;
			&amp;quot;value&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: false,&lt;br /&gt;
			&amp;quot;horizontal&amp;quot;: false,&lt;br /&gt;
			&amp;quot;options&amp;quot;: [&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-equipment&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Provide equipment (laptop, phone)&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-access&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Grant access to required systems&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-intro&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Meet the team&amp;quot;&lt;br /&gt;
				}&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;checkbox_multiselect&amp;quot;&lt;br /&gt;
		}&lt;br /&gt;
	]&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Bhuber</name></author>
	</entry>
	<entry>
		<id>https://en.wiki.bluespice.com/w/index.php?title=Manual:Extension/Forms/Progress_bar&amp;diff=14282</id>
		<title>Manual:Extension/Forms/Progress bar</title>
		<link rel="alternate" type="text/html" href="https://en.wiki.bluespice.com/w/index.php?title=Manual:Extension/Forms/Progress_bar&amp;diff=14282"/>
		<updated>2026-06-01T07:39:17Z</updated>

		<summary type="html">&lt;p&gt;Bhuber: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The progress bar is useful to count completed checklist items, for example.&lt;br /&gt;
&lt;br /&gt;
== Adding a progress bar ==&lt;br /&gt;
We add a progress bar to a checklist that shows how many tasks habe been completed.&lt;br /&gt;
[[File:Extension Forms Progress bar example.png|alt=checklist with two sets of checkbox groups for onboarding tasks|center|thumb|550x550px|Example of a progress bar for checklist items]]&lt;br /&gt;
For this, we need to set up the following components:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Provide the logic&#039;&#039;&#039; in &#039;&#039;MediaWiki:Common.js&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;Apply the syntax&#039;&#039;&#039; to the checklist items&lt;br /&gt;
# &#039;&#039;&#039;Create an event listener&#039;&#039;&#039; in the form properties&lt;br /&gt;
&lt;br /&gt;
=== Provide the logic in &#039;&#039;MediaWiki:Common.js&#039;&#039; ===&lt;br /&gt;
Add the following JavasScript function to &#039;&#039;MediaWiki:Common.js&#039;&#039;:&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
/*Extension:Forms - Add a progress bar for checkbox items */&lt;br /&gt;
function CalcProgress( data ) {&lt;br /&gt;
	var dfd = $.Deferred();&lt;br /&gt;
	var checked = 0;&lt;br /&gt;
	var ItemCheckboxes = this.$element.find( &#039;input[value^=check]&#039; );&lt;br /&gt;
	var total = ItemCheckboxes.length;&lt;br /&gt;
	if ( total &amp;lt; 1 ) {&lt;br /&gt;
		dfd.resolve( data );&lt;br /&gt;
		return dfd.promise();&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	var items = this.getItems();&lt;br /&gt;
	for( var name in data ) {&lt;br /&gt;
		if ( !name.startsWith( &#039;checkbox_multi-&#039; ) ) {&lt;br /&gt;
			continue;&lt;br /&gt;
		}&lt;br /&gt;
		var checkedCheckboxes = data[name];&lt;br /&gt;
		for ( var i = 0; i &amp;lt; checkedCheckboxes.length; i++ ) {&lt;br /&gt;
			checked++;	&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
	data.progress = ( 100 * checked ) / total;&lt;br /&gt;
	dfd.resolve( data );&lt;br /&gt;
&lt;br /&gt;
	return dfd.promise();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;On line 5, you define the prefix for each checkbox that should be included in the progress count:&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
input[value^=check]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;This means that the &amp;quot;data&amp;quot; value for your checkboxes needs to start with &amp;quot;check&amp;quot;. You can verify this in the definition source of your form:&lt;br /&gt;
[[File:Manual:checkbox data value check.jpg|thumb|center|Data definition in form, here starting with &amp;quot;check-&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On line 14, you define the included fields to only those that have the prefix of  &amp;quot;checkbox_multi&amp;quot; in their name.&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
	if ( !name.startsWith( &#039;checkbox_multi-&#039; ) ) {&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Apply the syntax to the checklist items ===&lt;br /&gt;
Here is a &amp;lt;code&amp;gt;checkbox_multiselect&amp;lt;/code&amp;gt; field that has the correct name-prefix and the correct  data-prefix. This field is therefore included in the count and all three options of the field count towards the progress:&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
	{&lt;br /&gt;
			&amp;quot;name&amp;quot;: &amp;quot;checkbox_multi-workplace_setup&amp;quot;,&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Workplace setup&amp;quot;,&lt;br /&gt;
			...&lt;br /&gt;
			&amp;quot;options&amp;quot;: [&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-equipment&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Provide equipment (laptop, phone)&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-access&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Grant access to required systems&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-intro&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Meet the team&amp;quot;&lt;br /&gt;
				}&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;checkbox_multiselect&amp;quot;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Create an event listener in the form properties ===&lt;br /&gt;
To connect your form to the JavaScript function, you need to create the listener in the form properties:&lt;br /&gt;
[[File:Extension Forms Progress bar listener.png|center|thumb|650x650px|Adding the listener to the form properties]]&lt;br /&gt;
To add the listener:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Open&#039;&#039;&#039; the form properties.&lt;br /&gt;
# &#039;&#039;&#039;Click&#039;&#039;&#039; on &#039;&#039;Listeners&#039;&#039;.&lt;br /&gt;
# &#039;&#039;&#039;Select&#039;&#039;&#039; the event &amp;lt;code&amp;gt;beforeSubmitData&amp;lt;/code&amp;gt; and enter the name of your JavaScript function. In our example, it is &amp;lt;code&amp;gt;CalcProgress&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
If you want to test this example, you can save an empty example form (e.g., &#039;&#039;ExampleChecklist.form&#039;&#039;) and copy the following into the definition source:&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;title&amp;quot;: &amp;quot;Example Progress Bar&amp;quot;,&lt;br /&gt;
	&amp;quot;showTitle&amp;quot;: true,&lt;br /&gt;
	&amp;quot;showFormName&amp;quot;: false,&lt;br /&gt;
	&amp;quot;buttonsFloat&amp;quot;: false,&lt;br /&gt;
	&amp;quot;categories&amp;quot;: [],&lt;br /&gt;
	&amp;quot;sealAfterCreation&amp;quot;: false,&lt;br /&gt;
	&amp;quot;enableProgressSave&amp;quot;: false,&lt;br /&gt;
	&amp;quot;enableEditSummary&amp;quot;: false,&lt;br /&gt;
	&amp;quot;rlDependencies&amp;quot;: [],&lt;br /&gt;
	&amp;quot;useFormRevs&amp;quot;: false,&lt;br /&gt;
	&amp;quot;includable&amp;quot;: false,&lt;br /&gt;
	&amp;quot;extends&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
	&amp;quot;abstract&amp;quot;: false,&lt;br /&gt;
	&amp;quot;partial&amp;quot;: false,&lt;br /&gt;
	&amp;quot;target&amp;quot;: {&lt;br /&gt;
		&amp;quot;type&amp;quot;: &amp;quot;json-on-wikipage&amp;quot;,&lt;br /&gt;
		&amp;quot;predefined_title&amp;quot;: &amp;quot;ExampleChecklist/{{checklistname}}&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;show_target_afterAction&amp;quot;: false,&lt;br /&gt;
	&amp;quot;listeners&amp;quot;: {&lt;br /&gt;
		&amp;quot;beforeSubmitData&amp;quot;: &amp;quot;jscb:CalcProgress&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;lang&amp;quot;: &amp;quot;json&amp;quot;,&lt;br /&gt;
	&amp;quot;items&amp;quot;: [&lt;br /&gt;
		{&lt;br /&gt;
			&amp;quot;name&amp;quot;: &amp;quot;checklistname&amp;quot;,&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Checklist name&amp;quot;,&lt;br /&gt;
			&amp;quot;help&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;noLayout&amp;quot;: false,&lt;br /&gt;
			&amp;quot;showOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;editableOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;widget_classes&amp;quot;: [],&lt;br /&gt;
			&amp;quot;style&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;widgetCustomProps&amp;quot;: [],&lt;br /&gt;
			&amp;quot;widget_listeners&amp;quot;: [],&lt;br /&gt;
			&amp;quot;value&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: false,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;text&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		{&lt;br /&gt;
			&amp;quot;name&amp;quot;: &amp;quot;progress&amp;quot;,&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Progress&amp;quot;,&lt;br /&gt;
			&amp;quot;help&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;noLayout&amp;quot;: true,&lt;br /&gt;
			&amp;quot;showOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;,&lt;br /&gt;
				&amp;quot;edit&amp;quot;,&lt;br /&gt;
				&amp;quot;view&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;editableOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;,&lt;br /&gt;
				&amp;quot;edit&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;widget_classes&amp;quot;: [],&lt;br /&gt;
			&amp;quot;style&amp;quot;: &amp;quot;margin:1em auto!important; max-width:100%&amp;quot;,&lt;br /&gt;
			&amp;quot;widgetCustomProps&amp;quot;: {&lt;br /&gt;
				&amp;quot;widget_progress&amp;quot;: &amp;quot;0&amp;quot;&lt;br /&gt;
			},&lt;br /&gt;
			&amp;quot;widget_listeners&amp;quot;: [],&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;progress_bar&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		{&lt;br /&gt;
			&amp;quot;name&amp;quot;: &amp;quot;checkbox_multi-getting_started&amp;quot;,&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Getting started&amp;quot;,&lt;br /&gt;
			&amp;quot;help&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;noLayout&amp;quot;: false,&lt;br /&gt;
			&amp;quot;showOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;,&lt;br /&gt;
				&amp;quot;edit&amp;quot;,&lt;br /&gt;
				&amp;quot;view&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;editableOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;,&lt;br /&gt;
				&amp;quot;edit&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;widget_classes&amp;quot;: [],&lt;br /&gt;
			&amp;quot;style&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;widgetCustomProps&amp;quot;: [],&lt;br /&gt;
			&amp;quot;widget_listeners&amp;quot;: [],&lt;br /&gt;
			&amp;quot;value&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: false,&lt;br /&gt;
			&amp;quot;horizontal&amp;quot;: false,&lt;br /&gt;
			&amp;quot;options&amp;quot;: [&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-profile&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Provide personal and role information&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-documents&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Submit required documents&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-intro&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Review introduction materials&amp;quot;&lt;br /&gt;
				}&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;checkbox_multiselect&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		{&lt;br /&gt;
			&amp;quot;name&amp;quot;: &amp;quot;checkbox_multi-workplace_setup&amp;quot;,&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Workplace setup&amp;quot;,&lt;br /&gt;
			&amp;quot;help&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;noLayout&amp;quot;: false,&lt;br /&gt;
			&amp;quot;showOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;,&lt;br /&gt;
				&amp;quot;edit&amp;quot;,&lt;br /&gt;
				&amp;quot;view&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;editableOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;,&lt;br /&gt;
				&amp;quot;edit&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;widget_classes&amp;quot;: [],&lt;br /&gt;
			&amp;quot;style&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;widgetCustomProps&amp;quot;: [],&lt;br /&gt;
			&amp;quot;widget_listeners&amp;quot;: [],&lt;br /&gt;
			&amp;quot;value&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: false,&lt;br /&gt;
			&amp;quot;horizontal&amp;quot;: false,&lt;br /&gt;
			&amp;quot;options&amp;quot;: [&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-equipment&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Provide equipment (laptop, phone)&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-access&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Grant access to required systems&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-intro&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Meet the team&amp;quot;&lt;br /&gt;
				}&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;checkbox_multiselect&amp;quot;&lt;br /&gt;
		}&lt;br /&gt;
	]&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Bhuber</name></author>
	</entry>
	<entry>
		<id>https://en.wiki.bluespice.com/w/index.php?title=Manual:Extension/Forms/Progress_bar&amp;diff=14281</id>
		<title>Manual:Extension/Forms/Progress bar</title>
		<link rel="alternate" type="text/html" href="https://en.wiki.bluespice.com/w/index.php?title=Manual:Extension/Forms/Progress_bar&amp;diff=14281"/>
		<updated>2026-06-01T07:38:57Z</updated>

		<summary type="html">&lt;p&gt;Bhuber: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The progress bar is useful to count completed checklist items, for example.&lt;br /&gt;
&lt;br /&gt;
== Adding a progress bar ==&lt;br /&gt;
We add a progress bar to a checklist that shows how many tasks habe been completed.&lt;br /&gt;
[[File:Extension Forms Progress bar example.png|alt=checklist with two sets of checkbox groups for onboarding tasks|center|thumb|550x550px|Example of a progress bar for checklist items]]&lt;br /&gt;
For this, we need to set up the following components:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Provide the logic&#039;&#039;&#039; in &#039;&#039;MediaWiki:Common.js&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;Apply the syntax&#039;&#039;&#039; to the checklist items&lt;br /&gt;
# &#039;&#039;&#039;Create an event listener&#039;&#039;&#039; in the form properties&lt;br /&gt;
&lt;br /&gt;
=== Provide the logic in &#039;&#039;MediaWiki:Common.js&#039;&#039; ===&lt;br /&gt;
Add the following JavasScript function to &#039;&#039;MediaWiki:Common.js&#039;&#039;:&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
/*Extension:Forms - Add a progress bar for checkbox items */&lt;br /&gt;
function CalcProgress( data ) {&lt;br /&gt;
	var dfd = $.Deferred();&lt;br /&gt;
	var checked = 0;&lt;br /&gt;
	var ItemCheckboxes = this.$element.find( &#039;input[value^=check]&#039; );&lt;br /&gt;
	var total = ItemCheckboxes.length;&lt;br /&gt;
	if ( total &amp;lt; 1 ) {&lt;br /&gt;
		dfd.resolve( data );&lt;br /&gt;
		return dfd.promise();&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	var items = this.getItems();&lt;br /&gt;
	for( var name in data ) {&lt;br /&gt;
		if ( !name.startsWith( &#039;checkbox_multi-&#039; ) ) {&lt;br /&gt;
			continue;&lt;br /&gt;
		}&lt;br /&gt;
		var checkedCheckboxes = data[name];&lt;br /&gt;
		for ( var i = 0; i &amp;lt; checkedCheckboxes.length; i++ ) {&lt;br /&gt;
			checked++;	&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
	data.progress = ( 100 * checked ) / total;&lt;br /&gt;
	dfd.resolve( data );&lt;br /&gt;
&lt;br /&gt;
	return dfd.promise();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;On line 5, you define the prefix for each checkbox that should be included in the progress count:&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
input[value^=check]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;This means that the &amp;quot;data&amp;quot; value for your checkboxes needs to start with &amp;quot;check&amp;quot;. You can verify this in the definition source of your form:&lt;br /&gt;
[[File:Manual:checkbox data value check.jpg|thumb|center|data definition in form, here starting with &amp;quot;check-&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On line 14, you define the included fields to only those that have the prefix of  &amp;quot;checkbox_multi&amp;quot; in their name.&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
	if ( !name.startsWith( &#039;checkbox_multi-&#039; ) ) {&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Apply the syntax to the checklist items ===&lt;br /&gt;
Here is a &amp;lt;code&amp;gt;checkbox_multiselect&amp;lt;/code&amp;gt; field that has the correct name-prefix and the correct  data-prefix. This field is therefore included in the count and all three options of the field count towards the progress:&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
	{&lt;br /&gt;
			&amp;quot;name&amp;quot;: &amp;quot;checkbox_multi-workplace_setup&amp;quot;,&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Workplace setup&amp;quot;,&lt;br /&gt;
			...&lt;br /&gt;
			&amp;quot;options&amp;quot;: [&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-equipment&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Provide equipment (laptop, phone)&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-access&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Grant access to required systems&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-intro&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Meet the team&amp;quot;&lt;br /&gt;
				}&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;checkbox_multiselect&amp;quot;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Create an event listener in the form properties ===&lt;br /&gt;
To connect your form to the JavaScript function, you need to create the listener in the form properties:&lt;br /&gt;
[[File:Extension Forms Progress bar listener.png|center|thumb|650x650px|Adding the listener to the form properties]]&lt;br /&gt;
To add the listener:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Open&#039;&#039;&#039; the form properties.&lt;br /&gt;
# &#039;&#039;&#039;Click&#039;&#039;&#039; on &#039;&#039;Listeners&#039;&#039;.&lt;br /&gt;
# &#039;&#039;&#039;Select&#039;&#039;&#039; the event &amp;lt;code&amp;gt;beforeSubmitData&amp;lt;/code&amp;gt; and enter the name of your JavaScript function. In our example, it is &amp;lt;code&amp;gt;CalcProgress&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
If you want to test this example, you can save an empty example form (e.g., &#039;&#039;ExampleChecklist.form&#039;&#039;) and copy the following into the definition source:&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;title&amp;quot;: &amp;quot;Example Progress Bar&amp;quot;,&lt;br /&gt;
	&amp;quot;showTitle&amp;quot;: true,&lt;br /&gt;
	&amp;quot;showFormName&amp;quot;: false,&lt;br /&gt;
	&amp;quot;buttonsFloat&amp;quot;: false,&lt;br /&gt;
	&amp;quot;categories&amp;quot;: [],&lt;br /&gt;
	&amp;quot;sealAfterCreation&amp;quot;: false,&lt;br /&gt;
	&amp;quot;enableProgressSave&amp;quot;: false,&lt;br /&gt;
	&amp;quot;enableEditSummary&amp;quot;: false,&lt;br /&gt;
	&amp;quot;rlDependencies&amp;quot;: [],&lt;br /&gt;
	&amp;quot;useFormRevs&amp;quot;: false,&lt;br /&gt;
	&amp;quot;includable&amp;quot;: false,&lt;br /&gt;
	&amp;quot;extends&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
	&amp;quot;abstract&amp;quot;: false,&lt;br /&gt;
	&amp;quot;partial&amp;quot;: false,&lt;br /&gt;
	&amp;quot;target&amp;quot;: {&lt;br /&gt;
		&amp;quot;type&amp;quot;: &amp;quot;json-on-wikipage&amp;quot;,&lt;br /&gt;
		&amp;quot;predefined_title&amp;quot;: &amp;quot;ExampleChecklist/{{checklistname}}&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;show_target_afterAction&amp;quot;: false,&lt;br /&gt;
	&amp;quot;listeners&amp;quot;: {&lt;br /&gt;
		&amp;quot;beforeSubmitData&amp;quot;: &amp;quot;jscb:CalcProgress&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;lang&amp;quot;: &amp;quot;json&amp;quot;,&lt;br /&gt;
	&amp;quot;items&amp;quot;: [&lt;br /&gt;
		{&lt;br /&gt;
			&amp;quot;name&amp;quot;: &amp;quot;checklistname&amp;quot;,&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Checklist name&amp;quot;,&lt;br /&gt;
			&amp;quot;help&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;noLayout&amp;quot;: false,&lt;br /&gt;
			&amp;quot;showOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;editableOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;widget_classes&amp;quot;: [],&lt;br /&gt;
			&amp;quot;style&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;widgetCustomProps&amp;quot;: [],&lt;br /&gt;
			&amp;quot;widget_listeners&amp;quot;: [],&lt;br /&gt;
			&amp;quot;value&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: false,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;text&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		{&lt;br /&gt;
			&amp;quot;name&amp;quot;: &amp;quot;progress&amp;quot;,&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Progress&amp;quot;,&lt;br /&gt;
			&amp;quot;help&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;noLayout&amp;quot;: true,&lt;br /&gt;
			&amp;quot;showOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;,&lt;br /&gt;
				&amp;quot;edit&amp;quot;,&lt;br /&gt;
				&amp;quot;view&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;editableOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;,&lt;br /&gt;
				&amp;quot;edit&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;widget_classes&amp;quot;: [],&lt;br /&gt;
			&amp;quot;style&amp;quot;: &amp;quot;margin:1em auto!important; max-width:100%&amp;quot;,&lt;br /&gt;
			&amp;quot;widgetCustomProps&amp;quot;: {&lt;br /&gt;
				&amp;quot;widget_progress&amp;quot;: &amp;quot;0&amp;quot;&lt;br /&gt;
			},&lt;br /&gt;
			&amp;quot;widget_listeners&amp;quot;: [],&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;progress_bar&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		{&lt;br /&gt;
			&amp;quot;name&amp;quot;: &amp;quot;checkbox_multi-getting_started&amp;quot;,&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Getting started&amp;quot;,&lt;br /&gt;
			&amp;quot;help&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;noLayout&amp;quot;: false,&lt;br /&gt;
			&amp;quot;showOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;,&lt;br /&gt;
				&amp;quot;edit&amp;quot;,&lt;br /&gt;
				&amp;quot;view&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;editableOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;,&lt;br /&gt;
				&amp;quot;edit&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;widget_classes&amp;quot;: [],&lt;br /&gt;
			&amp;quot;style&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;widgetCustomProps&amp;quot;: [],&lt;br /&gt;
			&amp;quot;widget_listeners&amp;quot;: [],&lt;br /&gt;
			&amp;quot;value&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: false,&lt;br /&gt;
			&amp;quot;horizontal&amp;quot;: false,&lt;br /&gt;
			&amp;quot;options&amp;quot;: [&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-profile&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Provide personal and role information&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-documents&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Submit required documents&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-intro&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Review introduction materials&amp;quot;&lt;br /&gt;
				}&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;checkbox_multiselect&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		{&lt;br /&gt;
			&amp;quot;name&amp;quot;: &amp;quot;checkbox_multi-workplace_setup&amp;quot;,&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Workplace setup&amp;quot;,&lt;br /&gt;
			&amp;quot;help&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;noLayout&amp;quot;: false,&lt;br /&gt;
			&amp;quot;showOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;,&lt;br /&gt;
				&amp;quot;edit&amp;quot;,&lt;br /&gt;
				&amp;quot;view&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;editableOn&amp;quot;: [&lt;br /&gt;
				&amp;quot;create&amp;quot;,&lt;br /&gt;
				&amp;quot;edit&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;widget_classes&amp;quot;: [],&lt;br /&gt;
			&amp;quot;style&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;widgetCustomProps&amp;quot;: [],&lt;br /&gt;
			&amp;quot;widget_listeners&amp;quot;: [],&lt;br /&gt;
			&amp;quot;value&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: false,&lt;br /&gt;
			&amp;quot;horizontal&amp;quot;: false,&lt;br /&gt;
			&amp;quot;options&amp;quot;: [&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-equipment&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Provide equipment (laptop, phone)&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-access&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Grant access to required systems&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;data&amp;quot;: &amp;quot;check-intro&amp;quot;,&lt;br /&gt;
					&amp;quot;label&amp;quot;: &amp;quot;Meet the team&amp;quot;&lt;br /&gt;
				}&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;checkbox_multiselect&amp;quot;&lt;br /&gt;
		}&lt;br /&gt;
	]&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Bhuber</name></author>
	</entry>
	<entry>
		<id>https://en.wiki.bluespice.com/w/index.php?title=File:Manual:checkbox_data_value_check.jpg&amp;diff=14280</id>
		<title>File:Manual:checkbox data value check.jpg</title>
		<link rel="alternate" type="text/html" href="https://en.wiki.bluespice.com/w/index.php?title=File:Manual:checkbox_data_value_check.jpg&amp;diff=14280"/>
		<updated>2026-06-01T07:37:36Z</updated>

		<summary type="html">&lt;p&gt;Bhuber: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;visual form editor checkbox data value check&lt;/div&gt;</summary>
		<author><name>Bhuber</name></author>
	</entry>
	<entry>
		<id>https://en.wiki.bluespice.com/w/index.php?title=Manual:Extension/Forms/Form_elements_and_settings&amp;diff=14279</id>
		<title>Manual:Extension/Forms/Form elements and settings</title>
		<link rel="alternate" type="text/html" href="https://en.wiki.bluespice.com/w/index.php?title=Manual:Extension/Forms/Form_elements_and_settings&amp;diff=14279"/>
		<updated>2026-06-01T06:52:39Z</updated>

		<summary type="html">&lt;p&gt;Bhuber: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Form elements ==&lt;br /&gt;
It is possible to add the following form fields to your form:&lt;br /&gt;
&lt;br /&gt;
=== Inputs ===&lt;br /&gt;
{| class=&amp;quot;wikitable compact&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&lt;br /&gt;
!Field&lt;br /&gt;
!Functionality&lt;br /&gt;
|-&lt;br /&gt;
|Book&lt;br /&gt;
|auto-complete field that finds pages in the namespace &amp;quot;Book&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|Text&lt;br /&gt;
|standard text field&lt;br /&gt;
|-&lt;br /&gt;
|Textarea&lt;br /&gt;
|multi-line text field&lt;br /&gt;
|-&lt;br /&gt;
|Wikitext input&lt;br /&gt;
|multi-line text field that expects Wikitext syntax&lt;br /&gt;
|-&lt;br /&gt;
|Category multiselect&lt;br /&gt;
|token field to add one or  more categories to the page; values are separated with the &amp;lt;code&amp;gt;enter&amp;lt;/code&amp;gt;-key&lt;br /&gt;
|-&lt;br /&gt;
|Checkbox&lt;br /&gt;
|single checkbox&lt;br /&gt;
|-&lt;br /&gt;
|Menu tag multiselect&lt;br /&gt;
|multiple-value input; values are separated with the &amp;lt;code&amp;gt;enter&amp;lt;/code&amp;gt;-key&lt;br /&gt;
|-&lt;br /&gt;
|Checkbox multiselect&lt;br /&gt;
|checkbox group (allows selecting multiple values in the group)&lt;br /&gt;
|-&lt;br /&gt;
|Dropdown&lt;br /&gt;
|dropdown list with predefined options&lt;br /&gt;
|-&lt;br /&gt;
|Number&lt;br /&gt;
|integer field&lt;br /&gt;
|-&lt;br /&gt;
|Radio button&lt;br /&gt;
|single radio button (usually not used in a manually completed form)&lt;br /&gt;
|-&lt;br /&gt;
|Radio group&lt;br /&gt;
|radio buttons for toggling a selection (allows selecting only one value in the group)&lt;br /&gt;
|-&lt;br /&gt;
|File chooser&lt;br /&gt;
|selects a file in the wiki&lt;br /&gt;
|-&lt;br /&gt;
|Title input&lt;br /&gt;
|auto-complete field for wiki pages&lt;br /&gt;
|-&lt;br /&gt;
|Combo box&lt;br /&gt;
|combines a &#039;&#039;text input field&#039;&#039;  and a &#039;&#039;dropdown list&#039;&#039;. Users can select a predefined value or type their own.&lt;br /&gt;
|-&lt;br /&gt;
|Password input&lt;br /&gt;
|sets a password with a password and password-repeat field. This is not used in forms for the target types &amp;lt;code&amp;gt;JSON on wikipage&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;Template&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;Email&amp;lt;/code&amp;gt;, as the password is stored in plain text.&lt;br /&gt;
|-&lt;br /&gt;
|Tag input&lt;br /&gt;
|token field to add multiple values; values are separated with the &amp;lt;code&amp;gt;enter&amp;lt;/code&amp;gt;-key&lt;br /&gt;
|-&lt;br /&gt;
|Date&lt;br /&gt;
|same as &#039;&#039;Date picker&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|Title input&lt;br /&gt;
|selects page titles in the wiki&lt;br /&gt;
|-&lt;br /&gt;
|User input&lt;br /&gt;
|username that exists in the wiki&lt;br /&gt;
|-&lt;br /&gt;
|Group input&lt;br /&gt;
|group name that exists in the wiki&lt;br /&gt;
|-&lt;br /&gt;
|Group multiselect&lt;br /&gt;
|multiple group names&lt;br /&gt;
|-&lt;br /&gt;
|User multiselect&lt;br /&gt;
|multiple user names&lt;br /&gt;
|-&lt;br /&gt;
|Title multiseslect&lt;br /&gt;
|multiple page titles&lt;br /&gt;
|-&lt;br /&gt;
|Date picker&lt;br /&gt;
|calendar widget&lt;br /&gt;
|-&lt;br /&gt;
|Percent&lt;br /&gt;
|integer value&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Other ===&lt;br /&gt;
{| class=&amp;quot;wikitable compact&amp;quot; style=&amp;quot;width: 100%;&amp;quot; &lt;br /&gt;
!Element&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Static Wikitext&lt;br /&gt;
|non-editable text&lt;br /&gt;
|-&lt;br /&gt;
|Button&lt;br /&gt;
|triggers an action (requires a defined event listener)&lt;br /&gt;
|-&lt;br /&gt;
|Message banner&lt;br /&gt;
|message that can be shown anywhere in the form;&lt;br /&gt;
the type that is set (notice, error, warning, success) provides the visual formatting&lt;br /&gt;
|-&lt;br /&gt;
|Partial form import&lt;br /&gt;
|adds form fields from another form&lt;br /&gt;
|-&lt;br /&gt;
|Icon&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|Indicator&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|Label&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
|[[Manual:Extension/Forms/Progress bar|Progress bar]]&lt;br /&gt;
|visual representation of the number of completed steps in a form such as a checklist&lt;br /&gt;
|-&lt;br /&gt;
|Section label&lt;br /&gt;
|a heading to a form section&lt;br /&gt;
|-&lt;br /&gt;
|HR&lt;br /&gt;
|a visual separator line&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Input field options ===&lt;br /&gt;
Each input field has a combination of any of these options:&lt;br /&gt;
{| class=&amp;quot;wikitable compact&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&lt;br /&gt;
|+main&lt;br /&gt;
!Type&lt;br /&gt;
!Field&lt;br /&gt;
!Functionality&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;6&amp;quot; |(all)&lt;br /&gt;
|Name&lt;br /&gt;
|field name stored in the database (avoid special characters)&lt;br /&gt;
|-&lt;br /&gt;
|Label&lt;br /&gt;
|text label shown to users&lt;br /&gt;
|-&lt;br /&gt;
|Help&lt;br /&gt;
|creates a tooltip pop-up next to the label&lt;br /&gt;
|-&lt;br /&gt;
|No layout&lt;br /&gt;
|hides the label&lt;br /&gt;
|-&lt;br /&gt;
|Show on&lt;br /&gt;
|mode in which this field is visible&lt;br /&gt;
|-&lt;br /&gt;
|Editable on&lt;br /&gt;
|sets when the field value can be edited&lt;br /&gt;
|-&lt;br /&gt;
|Book&lt;br /&gt;
|Return property&lt;br /&gt;
|?&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable compact&amp;quot;&lt;br /&gt;
|+styling&lt;br /&gt;
!Type&lt;br /&gt;
!Field&lt;br /&gt;
!Functionality&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |(all)&lt;br /&gt;
|CSS Classes&lt;br /&gt;
|add individual CSS-classes for use on &#039;&#039;MediaWiki:Common.css&#039;&#039;&lt;br /&gt;
- the class is set on the form field itself and does not include the label; multiple classes can be set together or you can add them separately&lt;br /&gt;
|-&lt;br /&gt;
|Style&lt;br /&gt;
|define an inline style that affects only this field. The style is applied to the wrapper and includes the label and the field&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |Textarea, Wikitext input&lt;br /&gt;
|Number of rows&lt;br /&gt;
|used for textareas&lt;br /&gt;
|-&lt;br /&gt;
|Placeholder&lt;br /&gt;
|text that is displayed before the user is typing a value (has no effect, if there is also a default value set)&lt;br /&gt;
|-&lt;br /&gt;
|Radio group&lt;br /&gt;
|No default value&lt;br /&gt;
|ensures that there is no pre-selected radio-button if a default would not make sense&lt;br /&gt;
|-&lt;br /&gt;
|Radio group, Checkbox multiselect&lt;br /&gt;
|Horizontal layout&lt;br /&gt;
|aligns multiselect checkboxes or radio groups horizontally&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; |Button&lt;br /&gt;
|Icon&lt;br /&gt;
|displays an icon before the text, (e.g. a bootstrap-icon like &amp;lt;code&amp;gt;bi bi-calendar&amp;lt;/code&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
|Indicator&lt;br /&gt;
|displays an icon after the text (e.g. a bootstrap-icon like &amp;lt;code&amp;gt;bi bi-arrow-right&amp;lt;/code&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
|Framed&lt;br /&gt;
|when deactivated, the button looks like text only (and can be styled via CSS classes, e.g. &amp;lt;code&amp;gt;btn button-warning&amp;lt;/code&amp;gt;)&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable compact&amp;quot;&lt;br /&gt;
|+other&lt;br /&gt;
!Type&lt;br /&gt;
!Fieldset&lt;br /&gt;
!Field&lt;br /&gt;
!Functionality&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;6&amp;quot; |(all) &lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |Custom widget properties&lt;br /&gt;
|Key&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Value&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |Listeners&lt;br /&gt;
|Event&lt;br /&gt;
|event that is supported by [https://doc.wikimedia.org/oojs-ui/master/js/OO.ui.html OO.ui widgets], such as &#039;&#039;change, enter, focus, blur&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|Callback&lt;br /&gt;
|function that is called when the event occurs (can be declared in MediaWiki:Common.js for example&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
|Default value / &lt;br /&gt;
Selected by default&lt;br /&gt;
|value that is used if the user does not provide a value;  field type &amp;quot;checkbox&amp;quot; has option &amp;quot;Selected by default&amp;quot; instead&lt;br /&gt;
|-&lt;br /&gt;
|Required&lt;br /&gt;
|form cannot be submitted without this field having a value&lt;br /&gt;
|-&lt;br /&gt;
|Password&lt;br /&gt;
|&lt;br /&gt;
|Password strength&lt;br /&gt;
|weak: &amp;lt;br&amp;gt;&lt;br /&gt;
medium: &amp;lt;br&amp;gt;&lt;br /&gt;
strong:&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; |Tag&lt;br /&gt;
|&lt;br /&gt;
|Input position&lt;br /&gt;
|inline:&lt;br /&gt;
outline:&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|Allow arbitrary&lt;br /&gt;
|It is possible to add values other than the allowed values (only necessary if allowed values are defined)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Form Settings ==&lt;br /&gt;
&lt;br /&gt;
=== Appearance ===&lt;br /&gt;
{| class=&amp;quot;wikitable compact&amp;quot; &lt;br /&gt;
!Field&lt;br /&gt;
!Functionality&lt;br /&gt;
|-&lt;br /&gt;
|Title&lt;br /&gt;
|display title for the form&lt;br /&gt;
|-&lt;br /&gt;
|Display title&lt;br /&gt;
|shows the form title above each form instance&lt;br /&gt;
|-&lt;br /&gt;
|Display form name&lt;br /&gt;
|displays the name fo the form with label &#039;&#039;Form used&#039;&#039; as first form element&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Behaviour ===&lt;br /&gt;
{| class=&amp;quot;wikitable compact&amp;quot; &lt;br /&gt;
!Field&lt;br /&gt;
!Functionality&lt;br /&gt;
|-&lt;br /&gt;
|Categories&lt;br /&gt;
|adds categories  to each form instance;  values are separated with the &amp;lt;code&amp;gt;enter&amp;lt;/code&amp;gt;-key&lt;br /&gt;
|-&lt;br /&gt;
|Seal after creation&lt;br /&gt;
|form instances cannot be edited after the initial save&lt;br /&gt;
|-&lt;br /&gt;
|Enable intermediate saving&lt;br /&gt;
|form instances show both a &amp;lt;code&amp;gt;Save&amp;lt;/code&amp;gt; and a &amp;lt;code&amp;gt;Save &amp;amp; Close&amp;lt;/code&amp;gt; button;&lt;br /&gt;
the &amp;lt;code&amp;gt;Save&amp;lt;/code&amp;gt; button saves the form values and keeps the form in edit-mode.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Infrastructure ===&lt;br /&gt;
{| class=&amp;quot;wikitable compact&amp;quot; &lt;br /&gt;
!Field&lt;br /&gt;
!Functionality&lt;br /&gt;
|-&lt;br /&gt;
|Resource loader dependencies&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Keep track of revisions&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Includable&lt;br /&gt;
|extends form&lt;br /&gt;
|-&lt;br /&gt;
|Abstract&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Partial&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Target ===&lt;br /&gt;
{| class=&amp;quot;wikitable compact&amp;quot; &lt;br /&gt;
!Field&lt;br /&gt;
!Functionality&lt;br /&gt;
|-&lt;br /&gt;
|Target type&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Predefined page title for pages created using this form&lt;br /&gt;
|use the field name to insert the value from a form field;&lt;br /&gt;
for example: if you have a field with the name &amp;lt;code&amp;gt;company_name&amp;lt;/code&amp;gt;, you can use &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{company_name}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; as page name or part of the page name.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Listeners ===&lt;br /&gt;
{| class=&amp;quot;wikitable compact&amp;quot; &lt;br /&gt;
!Field&lt;br /&gt;
!Functionality&lt;br /&gt;
|-&lt;br /&gt;
|Event &lt;br /&gt;
|each listener reacts to one of these events:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;initCompleteForm:&#039;&#039; object is initialized&lt;br /&gt;
* &#039;&#039;parseComplete:&#039;&#039; JSON/schema/config fully processed&lt;br /&gt;
* &#039;&#039;renderComplete:&#039;&#039; UI fully rendered in DOM&lt;br /&gt;
* &#039;&#039;beforeSubmitData:&#039;&#039; Right before submission&lt;br /&gt;
|-&lt;br /&gt;
|Callback&lt;br /&gt;
|calls a  function when the event occurs;&lt;br /&gt;
see the [[Manual:Extension/Forms/Progress bar|progress bar]] example.&lt;br /&gt;
|}{{translation}}&lt;br /&gt;
__FORCETOC__&lt;/div&gt;</summary>
		<author><name>Bhuber</name></author>
	</entry>
	<entry>
		<id>https://en.wiki.bluespice.com/w/index.php?title=Startpage_templates_download/Startpage_SME&amp;diff=14137</id>
		<title>Startpage templates download/Startpage SME</title>
		<link rel="alternate" type="text/html" href="https://en.wiki.bluespice.com/w/index.php?title=Startpage_templates_download/Startpage_SME&amp;diff=14137"/>
		<updated>2026-04-30T09:14:25Z</updated>

		<summary type="html">&lt;p&gt;Bhuber: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;downloadarea&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;getButton&amp;quot;&amp;gt;[[Media:Startpage SME.zip|Download]]&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Startpage SME.png|350x350px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;This template provides a good starting layout for the homepage of the wiki for a small or medium-sized company. &lt;br /&gt;
&lt;br /&gt;
{{Templateimport|Startpage SME}}&lt;br /&gt;
&lt;br /&gt;
==Pages included in the import==&lt;br /&gt;
The xml import creates the following files in your wiki:&lt;br /&gt;
&lt;br /&gt;
*Help:Startpage SME&lt;br /&gt;
*Help:Startpage SME/Bannerbox&lt;br /&gt;
*Help:Startpage SME/Contact&lt;br /&gt;
*Help:Startpage SME/Iconnav&lt;br /&gt;
*Help:Startpage SME/Minutes&lt;br /&gt;
*Help:Startpage SME/New Employees&lt;br /&gt;
*Help:Startpage SME/News&lt;br /&gt;
*Help:Startpage SME/Recent Changes&lt;br /&gt;
*Template:Employee&lt;br /&gt;
*Template:Employee/styles.css&lt;br /&gt;
&lt;br /&gt;
{{Manual:Startpage templates}}&lt;br /&gt;
&lt;br /&gt;
===Included sections===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 100%;&amp;quot; data-ve-attributes=&amp;quot;{&amp;amp;quot;style&amp;amp;quot;:&amp;amp;quot;width: 100%;&amp;amp;quot;}&amp;quot;&lt;br /&gt;
! style=&amp;quot;width:200px;&amp;quot; data-ve-attributes=&amp;quot;{&amp;amp;quot;style&amp;amp;quot;:&amp;amp;quot;width:200px;&amp;amp;quot;}&amp;quot; |Section&lt;br /&gt;
! Subpage&lt;br /&gt;
!Content type&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:200px;&amp;quot; data-ve-attributes=&amp;quot;{&amp;amp;quot;style&amp;amp;quot;:&amp;amp;quot;width:200px;&amp;amp;quot;}&amp;quot; | Bannerbox&lt;br /&gt;
| Bannerbox&lt;br /&gt;
|Template&lt;br /&gt;
|The bannerbox parameters are described on the [[Templates download/Banner|Banner template download page]]. &#039;&#039;&#039;Note:&#039;&#039;&#039; Starting with BlueSpice 4.3, an identical template &amp;quot;Bannerbox&amp;quot; is already preloaded.&lt;br /&gt;
|-&lt;br /&gt;
| Iconnav&lt;br /&gt;
| Iconnav&lt;br /&gt;
|Template&lt;br /&gt;
| The icon nav uses FontAwesome icons out of the box. The parameters and links to the icon libraries are described on the [[Templates download/Image cards|Image cards download page]]. &#039;&#039;&#039;Note:&#039;&#039;&#039; Up to BlueSpice 4.2, those are not included as an extension. In this case they have to be replaced with Bootstrap Icons or an external reference to FontAwesome has to be added to MediaWiki:Common.css (if allowed by the security policies of the company). &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:200px;&amp;quot; data-ve-attributes=&amp;quot;{&amp;amp;quot;style&amp;amp;quot;:&amp;amp;quot;width:200px;&amp;amp;quot;}&amp;quot; |News&lt;br /&gt;
|News&lt;br /&gt;
|Timeline parser function&lt;br /&gt;
|Simple wiki table. To add or remove news, just edit the table.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:200px;&amp;quot; data-ve-attributes=&amp;quot;{&amp;amp;quot;style&amp;amp;quot;:&amp;amp;quot;width:200px;&amp;amp;quot;}&amp;quot; |Contacts&lt;br /&gt;
|Contact&lt;br /&gt;
|Text,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;profileimage&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;-tag&lt;br /&gt;
|Content can be edited directly on the page. Double-click on the profile image tag to change the user name for the contact avatar.&lt;br /&gt;
|-&lt;br /&gt;
|Minutes&lt;br /&gt;
|Minutes&lt;br /&gt;
|&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;inputbox&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;-tag, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;dpl&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;- tag, subpages query&lt;br /&gt;
|The meeting minutes are created via an  [[Manual:Extension/InputBox|InputBox]]. They are created as subpages of a &#039;&#039;Minutes&#039;&#039; page in the main namespace.&lt;br /&gt;
|-&lt;br /&gt;
|Recent Changes&lt;br /&gt;
|Recent Changes&lt;br /&gt;
|&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;smartlist&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;-tag&lt;br /&gt;
|The [[Manual:Extension/BlueSpiceSmartList|smartlist]] tag is used by default. You can choose any other way of [[Page lists|creating page lists]].&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:200px;&amp;quot; data-ve-attributes=&amp;quot;{&amp;amp;quot;style&amp;amp;quot;:&amp;amp;quot;width:200px;&amp;amp;quot;}&amp;quot; |New Employees&lt;br /&gt;
|New Employees&lt;br /&gt;
|Template&lt;br /&gt;
|Employees can be shown with their user images or custom uploaded images. Links go to the profile page or, alternatively, to a custom wiki page. The template paramaters are described on the [[Templates download/Employee|Employees]] download page.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Bhuber</name></author>
	</entry>
	<entry>
		<id>https://en.wiki.bluespice.com/w/index.php?title=Startpage_templates_download/Startpage_SME&amp;diff=14136</id>
		<title>Startpage templates download/Startpage SME</title>
		<link rel="alternate" type="text/html" href="https://en.wiki.bluespice.com/w/index.php?title=Startpage_templates_download/Startpage_SME&amp;diff=14136"/>
		<updated>2026-04-30T09:14:14Z</updated>

		<summary type="html">&lt;p&gt;Bhuber: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;downloadarea&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;getButton&amp;quot;&amp;gt;[[Media:Startpage SME.zip|Download]]&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Startpage SME.png|350x350px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;This template provides a good starting layout for the homepage of the wiki for a small or medium-sized company. &lt;br /&gt;
==Importing the template==&lt;br /&gt;
{{Templateimport|Startpage SME}}&lt;br /&gt;
&lt;br /&gt;
==Pages included in the import==&lt;br /&gt;
The xml import creates the following files in your wiki:&lt;br /&gt;
&lt;br /&gt;
*Help:Startpage SME&lt;br /&gt;
*Help:Startpage SME/Bannerbox&lt;br /&gt;
*Help:Startpage SME/Contact&lt;br /&gt;
*Help:Startpage SME/Iconnav&lt;br /&gt;
*Help:Startpage SME/Minutes&lt;br /&gt;
*Help:Startpage SME/New Employees&lt;br /&gt;
*Help:Startpage SME/News&lt;br /&gt;
*Help:Startpage SME/Recent Changes&lt;br /&gt;
*Template:Employee&lt;br /&gt;
*Template:Employee/styles.css&lt;br /&gt;
&lt;br /&gt;
{{Manual:Startpage templates}}&lt;br /&gt;
&lt;br /&gt;
===Included sections===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 100%;&amp;quot; data-ve-attributes=&amp;quot;{&amp;amp;quot;style&amp;amp;quot;:&amp;amp;quot;width: 100%;&amp;amp;quot;}&amp;quot;&lt;br /&gt;
! style=&amp;quot;width:200px;&amp;quot; data-ve-attributes=&amp;quot;{&amp;amp;quot;style&amp;amp;quot;:&amp;amp;quot;width:200px;&amp;amp;quot;}&amp;quot; |Section&lt;br /&gt;
! Subpage&lt;br /&gt;
!Content type&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:200px;&amp;quot; data-ve-attributes=&amp;quot;{&amp;amp;quot;style&amp;amp;quot;:&amp;amp;quot;width:200px;&amp;amp;quot;}&amp;quot; | Bannerbox&lt;br /&gt;
| Bannerbox&lt;br /&gt;
|Template&lt;br /&gt;
|The bannerbox parameters are described on the [[Templates download/Banner|Banner template download page]]. &#039;&#039;&#039;Note:&#039;&#039;&#039; Starting with BlueSpice 4.3, an identical template &amp;quot;Bannerbox&amp;quot; is already preloaded.&lt;br /&gt;
|-&lt;br /&gt;
| Iconnav&lt;br /&gt;
| Iconnav&lt;br /&gt;
|Template&lt;br /&gt;
| The icon nav uses FontAwesome icons out of the box. The parameters and links to the icon libraries are described on the [[Templates download/Image cards|Image cards download page]]. &#039;&#039;&#039;Note:&#039;&#039;&#039; Up to BlueSpice 4.2, those are not included as an extension. In this case they have to be replaced with Bootstrap Icons or an external reference to FontAwesome has to be added to MediaWiki:Common.css (if allowed by the security policies of the company). &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:200px;&amp;quot; data-ve-attributes=&amp;quot;{&amp;amp;quot;style&amp;amp;quot;:&amp;amp;quot;width:200px;&amp;amp;quot;}&amp;quot; |News&lt;br /&gt;
|News&lt;br /&gt;
|Timeline parser function&lt;br /&gt;
|Simple wiki table. To add or remove news, just edit the table.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:200px;&amp;quot; data-ve-attributes=&amp;quot;{&amp;amp;quot;style&amp;amp;quot;:&amp;amp;quot;width:200px;&amp;amp;quot;}&amp;quot; |Contacts&lt;br /&gt;
|Contact&lt;br /&gt;
|Text,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;profileimage&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;-tag&lt;br /&gt;
|Content can be edited directly on the page. Double-click on the profile image tag to change the user name for the contact avatar.&lt;br /&gt;
|-&lt;br /&gt;
|Minutes&lt;br /&gt;
|Minutes&lt;br /&gt;
|&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;inputbox&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;-tag, &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;dpl&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;- tag, subpages query&lt;br /&gt;
|The meeting minutes are created via an  [[Manual:Extension/InputBox|InputBox]]. They are created as subpages of a &#039;&#039;Minutes&#039;&#039; page in the main namespace.&lt;br /&gt;
|-&lt;br /&gt;
|Recent Changes&lt;br /&gt;
|Recent Changes&lt;br /&gt;
|&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;lt;smartlist&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;-tag&lt;br /&gt;
|The [[Manual:Extension/BlueSpiceSmartList|smartlist]] tag is used by default. You can choose any other way of [[Page lists|creating page lists]].&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:200px;&amp;quot; data-ve-attributes=&amp;quot;{&amp;amp;quot;style&amp;amp;quot;:&amp;amp;quot;width:200px;&amp;amp;quot;}&amp;quot; |New Employees&lt;br /&gt;
|New Employees&lt;br /&gt;
|Template&lt;br /&gt;
|Employees can be shown with their user images or custom uploaded images. Links go to the profile page or, alternatively, to a custom wiki page. The template paramaters are described on the [[Templates download/Employee|Employees]] download page.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Bhuber</name></author>
	</entry>
	<entry>
		<id>https://en.wiki.bluespice.com/w/index.php?title=Startpage_templates_download&amp;diff=14135</id>
		<title>Startpage templates download</title>
		<link rel="alternate" type="text/html" href="https://en.wiki.bluespice.com/w/index.php?title=Startpage_templates_download&amp;diff=14135"/>
		<updated>2026-04-30T09:06:46Z</updated>

		<summary type="html">&lt;p&gt;Bhuber: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;ul class=&amp;quot;tabs&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;[[Templates download|Templates]]&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;[[Page templates download|Page Templates]]&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;li class=&amp;quot;current&amp;quot;&amp;gt;Startpage templates&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
See also the general instructions for using the [[Manual:Start page templates|Start page templates]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&amp;lt;div class=&amp;quot;cards startpages&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!--start card------&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
==[[Startpage templates download/Startpage Management System|Startpage Management System]]==&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;screenshot&amp;quot;&amp;gt;[[File:Startpage Management System.png|alt=Screenshot of the &amp;quot;Startpage Management System&amp;quot;|500x500px|link=Startpage templates download/Startpage Management System]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;text&amp;quot;&amp;gt;[[Startpage templates download/Startpage Management System|For management systems]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
==[[Startpage templates download/Startpage SME|Startpage SME]]==&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;screenshot&amp;quot;&amp;gt;[[File:Startpage SME.png|alt=Screenshot of the &amp;quot;Startpage SME&amp;quot;|500x500px|link=Startpage templates download/Startpage SME]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;text&amp;quot;&amp;gt;[[Startpage templates download/Startpage SME|For small and medium-sized enterprises]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--start card------------&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
==Startpage Software Development==&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;screenshot&amp;quot;&amp;gt;[[File:Startpage_Software_Dev.png|500x500px|alt=Screenshot of the &amp;quot;Startpage Software Dev&amp;quot;|link=Startpage templates download/Startpage_Software_Dev]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;text&amp;quot;&amp;gt;[[Startpage templates download/Startpage_Software_Dev|For software development teams]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;------&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Bhuber</name></author>
	</entry>
	<entry>
		<id>https://en.wiki.bluespice.com/w/index.php?title=File:Startpage_SME.zip&amp;diff=14134</id>
		<title>File:Startpage SME.zip</title>
		<link rel="alternate" type="text/html" href="https://en.wiki.bluespice.com/w/index.php?title=File:Startpage_SME.zip&amp;diff=14134"/>
		<updated>2026-04-30T09:06:03Z</updated>

		<summary type="html">&lt;p&gt;Bhuber: Bhuber uploaded a new version of File:Startpage SME.zip&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Bhuber</name></author>
	</entry>
	<entry>
		<id>https://en.wiki.bluespice.com/w/index.php?title=Templates_download/Transclusion&amp;diff=14113</id>
		<title>Templates download/Transclusion</title>
		<link rel="alternate" type="text/html" href="https://en.wiki.bluespice.com/w/index.php?title=Templates_download/Transclusion&amp;diff=14113"/>
		<updated>2026-04-28T14:12:55Z</updated>

		<summary type="html">&lt;p&gt;Bhuber: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;downloadarea&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;getButton&amp;quot;&amp;gt;[[Media:HW-sectiontransclusion.zip|Download]]&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:HW-transclusion.png|450x450px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;This template allows to include a section from a wiki page on another page. It can be styled as a colored box.&lt;br /&gt;
&lt;br /&gt;
== Importing the template ==&lt;br /&gt;
The import file is included in the archive file &#039;&#039;HW-transclusion-en.zip&#039;&#039;. Unpack the zip file first.&lt;br /&gt;
&lt;br /&gt;
On the page &#039;&#039;Special:Import&#039;&#039; follow these steps:&lt;br /&gt;
&lt;br /&gt;
#&#039;&#039;&#039;Select file&#039;&#039;&#039; and choose &#039;&#039;HW-sectiontransclusion.xml&#039;&#039;.&lt;br /&gt;
#&#039;&#039;&#039;Enter&#039;&#039;&#039; an Interwiki prefix. Since this field is required, simply add &#039;&#039;hw&#039;&#039; (for hallowelt).&lt;br /&gt;
#&#039;&#039;&#039;Keep&#039;&#039;&#039; the selection &#039;&#039;Import to default locations&#039;&#039;.&lt;br /&gt;
#&#039;&#039;&#039;Click&#039;&#039;&#039; &#039;&#039;Upload file...&#039;&#039; .&lt;br /&gt;
&lt;br /&gt;
The template is now available in your wiki.&lt;br /&gt;
&lt;br /&gt;
==Pages included in the import==&lt;br /&gt;
The xml import creates the following files in your wiki:&lt;br /&gt;
&lt;br /&gt;
*Template:Transclusion&lt;br /&gt;
*Template:Transclusion/styles.css&lt;br /&gt;
&lt;br /&gt;
==Using the template==&lt;br /&gt;
&lt;br /&gt;
#Add the template from the  [[Manual:Extension/VisualEditor|VisualEditor]] insert-dialog.&lt;br /&gt;
#Fill in the form fields as needed.&lt;br /&gt;
{{Messagebox|boxtype=note|Note text=If, after importin the template to your wiki,  the input fields are not displayed when you first integrate it into a wiki page, you need to open the template in the template namespace, make a change (e.g. insert spaces) and save the template. The input fields should now be displayed correctly.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{| class=&amp;quot;contenttable-blue&amp;quot; style=&amp;quot;width:950px;&amp;quot;&lt;br /&gt;
|+ style=&amp;quot;box-sizing: inherit; padding-top: 8px; padding-bottom: 8px; color: rgb(119, 119, 119); text-align: left;&amp;quot; |&lt;br /&gt;
! style=&amp;quot;background-color:rgb(239, 243, 249);text-align:inherit;box-sizing:inherit;padding:4px;border:1px solid rgb(177, 185, 207);color:rgb(62, 83, 137);&amp;quot; |Input field&lt;br /&gt;
! style=&amp;quot;background-color:rgb(239, 243, 249);text-align:inherit;box-sizing:inherit;padding:4px;border:1px solid rgb(177, 185, 207);color:rgb(62, 83, 137);&amp;quot; |Description&lt;br /&gt;
|- style=&amp;quot;box-sizing: inherit; border: 1px solid rgb(177, 185, 207); border-spacing: 0px; border-collapse: collapse; padding: 10px;&amp;quot;&lt;br /&gt;
| style=&amp;quot;box-sizing:inherit;padding:10px;border:1px solid rgb(177, 185, 207);border-spacing:0px;border-collapse:collapse;&amp;quot; |Page to transclude into this document&lt;br /&gt;
| style=&amp;quot;box-sizing:inherit;padding:10px;border:1px solid rgb(177, 185, 207);border-spacing:0px;border-collapse:collapse;&amp;quot; |Page name of the page containing the section (including the namespace prefix if the page is not in the main namespace).&lt;br /&gt;
|- style=&amp;quot;box-sizing: inherit; border: 1px solid rgb(177, 185, 207); border-spacing: 0px; border-collapse: collapse; padding: 10px;&amp;quot;&lt;br /&gt;
| style=&amp;quot;box-sizing:inherit;padding:10px;border:1px solid rgb(177, 185, 207);border-spacing:0px;border-collapse:collapse;&amp;quot; |Page section&lt;br /&gt;
| style=&amp;quot;box-sizing:inherit;padding:10px;border:1px solid rgb(177, 185, 207);border-spacing:0px;border-collapse:collapse;&amp;quot; |Heading of the section you want to transclude. If a section contains sub-headings, these are included up to the next heading at the same level of the section.&lt;br /&gt;
|- style=&amp;quot;box-sizing: inherit; border: 1px solid rgb(177, 185, 207); border-spacing: 0px; border-collapse: collapse; padding: 10px;&amp;quot;&lt;br /&gt;
| style=&amp;quot;box-sizing:inherit;padding:10px;border:1px solid rgb(177, 185, 207);border-spacing:0px;border-collapse:collapse;&amp;quot; |Color style&lt;br /&gt;
| style=&amp;quot;box-sizing:inherit;padding:10px;border:1px solid rgb(177, 185, 207);border-spacing:0px;border-collapse:collapse;&amp;quot; |If you want to apply a background color, you can select one here. Choices are: blue, green, grey, red, yellow&lt;br /&gt;
|- style=&amp;quot;box-sizing: inherit; border: 1px solid rgb(177, 185, 207); border-spacing: 0px; border-collapse: collapse; padding: 10px;&amp;quot;&lt;br /&gt;
| style=&amp;quot;box-sizing:inherit;padding:10px;border:1px solid rgb(177, 185, 207);border-spacing:0px;border-collapse:collapse;&amp;quot; |Background&lt;br /&gt;
| style=&amp;quot;box-sizing:inherit;padding:10px;border:1px solid rgb(177, 185, 207);border-spacing:0px;border-collapse:collapse;&amp;quot; |If you don&#039;t like any of the color styles, you can [https://www.w3schools.com/colors/colors_picker.asp enter your own color in hex format] (e.g. # cce6ff).&lt;br /&gt;
|- style=&amp;quot;box-sizing: inherit; border: 1px solid rgb(177, 185, 207); border-spacing: 0px; border-collapse: collapse; padding: 10px;&amp;quot;&lt;br /&gt;
| style=&amp;quot;box-sizing:inherit;padding:10px;border:1px solid rgb(177, 185, 207);border-spacing:0px;border-collapse:collapse;&amp;quot; |Border&lt;br /&gt;
| style=&amp;quot;box-sizing:inherit;padding:10px;border:1px solid rgb(177, 185, 207);border-spacing:0px;border-collapse:collapse;&amp;quot; |Creates a border color. Apply only when you use a custom background color instead of the color style (which already uses its own border color).&lt;br /&gt;
|- style=&amp;quot;box-sizing: inherit; border: 1px solid rgb(177, 185, 207); border-spacing: 0px; border-collapse: collapse; padding: 10px;&amp;quot;&lt;br /&gt;
| style=&amp;quot;box-sizing:inherit;padding:10px;border:1px solid rgb(177, 185, 207);border-spacing:0px;border-collapse:collapse;&amp;quot; |Padding&lt;br /&gt;
| style=&amp;quot;box-sizing:inherit;padding:10px;border:1px solid rgb(177, 185, 207);border-spacing:0px;border-collapse:collapse;&amp;quot; |Distance from box to box content.  Default value: 20px. You can set this to any other pixel-value or simple enter 0 for now padding.&lt;br /&gt;
|}&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>Bhuber</name></author>
	</entry>
	<entry>
		<id>https://en.wiki.bluespice.com/w/index.php?title=Templates_download&amp;diff=14112</id>
		<title>Templates download</title>
		<link rel="alternate" type="text/html" href="https://en.wiki.bluespice.com/w/index.php?title=Templates_download&amp;diff=14112"/>
		<updated>2026-04-28T13:52:58Z</updated>

		<summary type="html">&lt;p&gt;Bhuber: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;ul class=&amp;quot;tabs&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;li class=&amp;quot;current&amp;quot;&amp;gt;[[Startpage templates download|Templates]]&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;[[Page templates download|Page Templates]]&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;[[Startpage templates download|Startpage templates]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
{{Messagebox|boxtype=note|icon=|Note text=These templates use extensions which are included in BlueSpice pro, but not in BlueSpice. These extensions are noted for each template:&lt;br /&gt;
* [[Reference:Page_Forms|Page Forms (PF)]]&lt;br /&gt;
* [[Reference:Semantic_MediaWiki|Semantic MediaWiki (SMW)]]&lt;br /&gt;
* [[Reference:TemplateData|TemplateData (TD)]]|bgcolor=}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&amp;lt;div class=&amp;quot;cards&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!--start card------------------&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
==[[Templates download/Calendar|Calendar]]==&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;screenshot&amp;quot;&amp;gt;[[File:calendar.png|500x500px|alt=Calendar template|link=Templates download/Calendar]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;text&amp;quot;&amp;gt;[[Templates download/Calendar|Simple event calendar]] (SMW, PF)&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!--start card------------------&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
==[[Templates download/Collapsible|Collapsible]]==&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;screenshot&amp;quot;&amp;gt;[[File:collapsible.png|500x500px|alt=Collapsible page sections|link=Templates download/Collapsible]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;text&amp;quot;&amp;gt;[[Templates download/Collapsible|Collapsible sections]] (PF)&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!--start card------------------&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
==[[Templates download/Employee|Employee]]==&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;screenshot&amp;quot;&amp;gt;[[File:Employees gallery.png|500x500px|alt=Screenshot of the employees gallery|link=Templates download/Employee]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;text&amp;quot;&amp;gt;[[Templates download/Employee|Employees gallery]] (TD)&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!--start card------------------&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
==[[Templates download/IMS Documents|IMS Documents]]==&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;screenshot&amp;quot;&amp;gt;[[File:HW-IMS.png|400x400px|alt=Process descriptions overview page|link=Templates download/IMS Documents]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;text&amp;quot;&amp;gt;[[Templates download/IMS Documents|Document control templates]] (SMW, PF)&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!--start card------------------&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
==[[Templates download/Risk management|Incidents &amp;amp; Risks]]==&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;screenshot&amp;quot;&amp;gt;[[File:RM-riskentry.png|500x500px|alt=Risk entry screenshot|link=Templates download/Risk management]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;text&amp;quot;&amp;gt;[[Templates download/Risk management|Risk registry and incident reports]] (SMW, PF)&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!--start card------------------&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
==[[Templates download/Meetingtype|Meeting Types]]==&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;screenshot&amp;quot;&amp;gt;[[File:Template_Meetingtype_types.png|460x460px|alt=Meeting types|link=Templates download/Meetingtype]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;text&amp;quot;&amp;gt;[[Templates download/Meetingtype|Banner for meeting minutes page templates]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!--start card------------------&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
==[[Templates download/Minutes for teams|Minutes]]==&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;screenshot&amp;quot;&amp;gt;[[File:HW-Minutes-en.png|460x460px|alt=Main meeting minutes template|link=Templates download/Minutes for teams]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;text&amp;quot;&amp;gt;[[Templates download/Minutes for teams|Teams-based main template]] (TD)&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!--start card------------------&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
==[[Templates download/New|New]]==&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;screenshot&amp;quot;&amp;gt;[[File:Template_New_View.png|460x460px|alt=Template new view|link=Templates download/New]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;text&amp;quot;&amp;gt;[[Templates download/New|Marking new page content]] (SMW, TD)&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!--start card------------------&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
==[[Templates download/PortalFlex|Portal]]==&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;screenshot&amp;quot;&amp;gt;[[File:HW-PortalFlex-Combo.png|400x400px|alt=Portal page template|link=Templates download/PortalFlex]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;text&amp;quot;&amp;gt;[[Templates download/PortalFlex|Forms-based portal page]] (PF)&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!--start card------------------&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
==[[Templates download/Process map|Process map]]==&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;screenshot&amp;quot;&amp;gt;[[File:HW-process map text-based.png|800x800px|alt=Text-based process map|link=Templates download/Process map]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;text&amp;quot;&amp;gt;[[Templates download/Process map|Text-based process map]] (TD)&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!--start card------------------&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
==[[Templates download/Project|Project]]==&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;screenshot&amp;quot;&amp;gt;[[File:Template_Download_Projects-Projectstartpage.png|300x300px|link=Templates download/Project]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;text&amp;quot;&amp;gt;[[Templates download/Project|Template for a project namespace]] (SMW, PF)&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!--start card------------------&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
==[[Templates download/SVG|SVG]]==&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;screenshot&amp;quot;&amp;gt;[[File:svg-animated.gif|300x300px|link=Templates download/SVG]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;text&amp;quot;&amp;gt;[[Templates download/SVG|Embedded interactive SVG]] (TD, Widgets)&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!--start card------------------&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
==[[Templates download/Taskboard|Taskboard]]==&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;screenshot&amp;quot;&amp;gt;[[File:Template_Download_Taskboard_Style_1.png|alt=view of taskboard style 1|link=Templates download/Taskboard|460x460px]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;text&amp;quot;&amp;gt;[[Templates download/Taskboard|Taskboard]] (SMW, TD)&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!--start card------------------&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
==[[Templates download/TOClimit|TOC limit]]==&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;screenshot&amp;quot;&amp;gt;[[File:template-download-TOClimit.png|alt=TOC limit template|link=Templates download/TOClimit|460x460px]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;text&amp;quot;&amp;gt;[[Templates download/TOClimit|Limit heading levels in TOC]] (TD)&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!--start card------------------&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
==[[Templates download/Trainingpage|Training page]]==&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;screenshot&amp;quot;&amp;gt;[[File:HW-Training-en.png|alt=Training page for internal trainings|link=Templates download/Trainingpage|460x460px]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;text&amp;quot;&amp;gt;[[Templates download/Trainingpage|Self-directed trainings]] (TD)&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!--start card------------------&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
==[[Templates download/Transclusion|Section transclusion]]==&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;screenshot&amp;quot;&amp;gt;[[File:HW-transclusion.png|alt=Transcluded page section|link=Templates download/Transclusion|460x460px]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;text&amp;quot;&amp;gt;[[Templates download/Transclusion|Transclude a page section]] (TD)&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;emptycard&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
==Archive==&lt;br /&gt;
{{Textbox|boxtype=note|header=|text=Starting with BlueSpice 4.3, the following templates can be inserted as a [[Manual:Extension/ContentDroplets|Content droplet]] or are included in the wiki as part of the [[Manual:Start page templates|Start page templates]]. Therefore, importing these templates is no longer necessary.|icon=no}}&lt;br /&gt;
&amp;lt;div class=&amp;quot;cards&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!--start card-----------------&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
==[[Templates download/Action points|Action points]]==&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;screenshot&amp;quot;&amp;gt;[[File:HW-AP.png|500x500px|alt=Action points template|link=Templates download/Action points]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;text&amp;quot;&amp;gt;[[Templates download/Action points|Action points for meetings]] (SMW, TD)&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!--start card----------------&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
==[[Templates download/Banner|Banner]]==&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;screenshot&amp;quot;&amp;gt;[[File:banner-example.png|450x450px|alt=Banner template|link=Templates download/Banner]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;text&amp;quot;&amp;gt;[[Templates download/Banner|Page banner]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!--start card---------------&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
==[[Templates download/BookTOC|Book TOC]]==&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;screenshot&amp;quot;&amp;gt;[[File:BookTOC.png|300x300px|alt=Bookchapters template|link=Templates download/BookTOC]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;text&amp;quot;&amp;gt;[[Templates download/BookTOC|Embed a book table of contents]] (TD)&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!--start card---------------&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
==[[Templates download/ButtonLink|Button link]]==&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;screenshot&amp;quot;&amp;gt;[[File:HW-ButtonLink.png|300x300px|alt=Button link template|link=Templates download/ButtonLink]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;text&amp;quot;&amp;gt;[[Templates download/ButtonLink|Link styled as button]] (TD)&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
==[[Templates download/Icon|Icons]]==&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;screenshot&amp;quot;&amp;gt;[[File:Icon-template.png|300x300px|alt=Screenshot of icons on a page|link=Templates download/Icon]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;text&amp;quot;&amp;gt;[[Templates download/Icon|Insert Bootstrap icons]] (TD)&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!--start card----------------&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
==[[Templates download/Image_cards|Image cards]]==&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;screenshot&amp;quot;&amp;gt;[[File:Image cards large.png|300x300px|alt=Screenshot of image cards|link=Templates download/Image_cards]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;text&amp;quot;&amp;gt;[[Templates download/Image_cards|Link sets with graphics]] (TD)&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!--start card-----------------&lt;br /&gt;
&amp;lt;!--start card-----------------&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
==[[Templates download/Mention|Mention]]==&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;screenshot&amp;quot;&amp;gt;[[File:HW-mention-output.png|300x300px|alt=Mention template|link=Templates download/Mention]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;text&amp;quot;&amp;gt;[[Templates download/Mention|User mention with notification]] (TD)&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!--start card----------------&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
==[[Templates download/Messagebox|Message box]]==&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;screenshot&amp;quot;&amp;gt;[[File:HW-messagebox-en.png|450x450px|alt=Message box template|link=Templates download/Messagebox]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;text&amp;quot;&amp;gt;[[Templates download/Messagebox|Color-coded box (optional icons)]] (TD)&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!--start card-----------------&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
==[[Templates download/Subpages|Subpages list]]==&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;screenshot&amp;quot;&amp;gt;[[File:HW-subpages.png|alt=Subpages template|link=Templates download/Subpages|400x400px]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;text&amp;quot;&amp;gt;[[Templates download/Subpages|List of subpages for a page]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
[[de:Vorlagen Download]]&lt;/div&gt;</summary>
		<author><name>Bhuber</name></author>
	</entry>
	<entry>
		<id>https://en.wiki.bluespice.com/w/index.php?title=Templates_download&amp;diff=14111</id>
		<title>Templates download</title>
		<link rel="alternate" type="text/html" href="https://en.wiki.bluespice.com/w/index.php?title=Templates_download&amp;diff=14111"/>
		<updated>2026-04-28T13:47:49Z</updated>

		<summary type="html">&lt;p&gt;Bhuber: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;ul class=&amp;quot;tabs&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;li class=&amp;quot;current&amp;quot;&amp;gt;[[Startpage templates download|Templates]]&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;[[Page templates download|Page Templates]]&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;[[Startpage templates download|Startpage templates]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
{{Messagebox|boxtype=note|icon=|Note text=These templates use extensions which are included in BlueSpice pro, but not in BlueSpice. These extensions are noted for each template:&lt;br /&gt;
* [[Reference:Page_Forms|Page Forms (PF)]]&lt;br /&gt;
* [[Reference:Semantic_MediaWiki|Semantic MediaWiki (SMW)]]&lt;br /&gt;
* [[Reference:TemplateData|TemplateData (TD)]]|bgcolor=}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&amp;lt;div class=&amp;quot;cards&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!--start card------------------&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
==[[Templates download/Calendar|Calendar]]==&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;screenshot&amp;quot;&amp;gt;[[File:calendar.png|500x500px|alt=Calendar template|link=Templates download/Calendar]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;text&amp;quot;&amp;gt;[[Templates download/Calendar|Simple event calendar]] (SMW, PF)&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!--start card------------------&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
==[[Templates download/Collapsible|Collapsible]]==&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;screenshot&amp;quot;&amp;gt;[[File:collapsible.png|500x500px|alt=Collapsible page sections|link=Templates download/Collapsible]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;text&amp;quot;&amp;gt;[[Templates download/Collapsible|Collapsible sections]] (PF)&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!--start card------------------&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
==[[Templates download/Employee|Employee]]==&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;screenshot&amp;quot;&amp;gt;[[File:Employees gallery.png|500x500px|alt=Screenshot of the employees gallery|link=Templates download/Employee]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;text&amp;quot;&amp;gt;[[Templates download/Employee|Employees gallery]] (TD)&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!--start card------------------&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
==[[Templates download/IMS Documents|IMS Documents]]==&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;screenshot&amp;quot;&amp;gt;[[File:HW-IMS.png|400x400px|alt=Process descriptions overview page|link=Templates download/IMS Documents]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;text&amp;quot;&amp;gt;[[Templates download/IMS Documents|Document control templates]] (SMW, PF)&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!--start card------------------&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
==[[Templates download/Risk management|Incidents &amp;amp; Risks]]==&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;screenshot&amp;quot;&amp;gt;[[File:RM-riskentry.png|500x500px|alt=Risk entry screenshot|link=Templates download/Risk management]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;text&amp;quot;&amp;gt;[[Templates download/Risk management|Risk registry and incident reports]] (SMW, PF)&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!--start card------------------&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
==[[Templates download/Meetingtype|Meeting Types]]==&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;screenshot&amp;quot;&amp;gt;[[File:Template_Meetingtype_types.png|460x460px|alt=Meeting types|link=Templates download/Meetingtype]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;text&amp;quot;&amp;gt;[[Templates download/Meetingtype|Banner for meeting minutes page templates]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!--start card------------------&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
==[[Templates download/Minutes for teams|Minutes]]==&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;screenshot&amp;quot;&amp;gt;[[File:HW-Minutes-en.png|460x460px|alt=Main meeting minutes template|link=Templates download/Minutes for teams]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;text&amp;quot;&amp;gt;[[Templates download/Minutes for teams|Teams-based main template]] (TD)&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!--start card------------------&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
==[[Templates download/New|New]]==&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;screenshot&amp;quot;&amp;gt;[[File:Template_New_View.png|460x460px|alt=Template new view|link=Templates download/New]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;text&amp;quot;&amp;gt;[[Templates download/New|Marking new page content]] (SMW, TD)&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!--start card------------------&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
==[[Templates download/PortalFlex|Portal]]==&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;screenshot&amp;quot;&amp;gt;[[File:HW-PortalFlex-Combo.png|400x400px|alt=Portal page template|link=Templates download/PortalFlex]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;text&amp;quot;&amp;gt;[[Templates download/PortalFlex|Forms-based portal page]] (PF)&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!--start card------------------&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
==[[Templates download/Process map|Process map]]==&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;screenshot&amp;quot;&amp;gt;[[File:HW-process map text-based.png|800x800px|alt=Text-based process map|link=Templates download/Process map]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;text&amp;quot;&amp;gt;[[Templates download/Process map|Text-based process map]] (TD)&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!--start card------------------&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
==[[Templates download/Project|Project]]==&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;screenshot&amp;quot;&amp;gt;[[File:Template_Download_Projects-Projectstartpage.png|300x300px|link=Templates download/Project]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;text&amp;quot;&amp;gt;[[Templates download/Project|Template for a project namespace]] (SMW, PF)&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!--start card------------------&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
==[[Templates download/SVG|SVG]]==&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;screenshot&amp;quot;&amp;gt;[[File:svg-animated.gif|300x300px|link=Templates download/SVG]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;text&amp;quot;&amp;gt;[[Templates download/SVG|Embedded interactive SVG]] (TD, Widgets)&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!--start card------------------&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
==[[Templates download/Taskboard|Taskboard]]==&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;screenshot&amp;quot;&amp;gt;[[File:Template_Download_Taskboard_Style_1.png|alt=view of taskboard style 1|link=Templates download/Taskboard|460x460px]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;text&amp;quot;&amp;gt;[[Templates download/Taskboard|Taskboard]] (SMW, TD)&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!--start card------------------&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
==[[Templates download/TOClimit|TOC limit]]==&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;screenshot&amp;quot;&amp;gt;[[File:template-download-TOClimit.png|alt=TOC limit template|link=Templates download/TOClimit|460x460px]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;text&amp;quot;&amp;gt;[[Templates download/TOClimit|Limit heading levels in TOC]] (TD)&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!--start card------------------&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
==[[Templates download/Transclusion|Section transclusion]]==&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;screenshot&amp;quot;&amp;gt;[[File:HW-transclusion.png|alt=Transcluded page section|link=Templates download/Transclusion|460x460px]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;text&amp;quot;&amp;gt;[[Templates download/Transclusion|Transclude a page section]] (TD)&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;emptycard&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
==Archive==&lt;br /&gt;
{{Textbox|boxtype=note|header=|text=Starting with BlueSpice 4.3, the following templates can be inserted as a [[Manual:Extension/ContentDroplets|Content droplet]] or are included in the wiki as part of the [[Manual:Start page templates|Start page templates]]. Therefore, importing these templates is no longer necessary.|icon=no}}&lt;br /&gt;
&amp;lt;div class=&amp;quot;cards&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!--start card-----------------&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
==[[Templates download/Action points|Action points]]==&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;screenshot&amp;quot;&amp;gt;[[File:HW-AP.png|500x500px|alt=Action points template|link=Templates download/Action points]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;text&amp;quot;&amp;gt;[[Templates download/Action points|Action points for meetings]] (SMW, TD)&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!--start card----------------&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
==[[Templates download/Banner|Banner]]==&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;screenshot&amp;quot;&amp;gt;[[File:banner-example.png|450x450px|alt=Banner template|link=Templates download/Banner]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;text&amp;quot;&amp;gt;[[Templates download/Banner|Page banner]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!--start card---------------&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
==[[Templates download/BookTOC|Book TOC]]==&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;screenshot&amp;quot;&amp;gt;[[File:BookTOC.png|300x300px|alt=Bookchapters template|link=Templates download/BookTOC]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;text&amp;quot;&amp;gt;[[Templates download/BookTOC|Embed a book table of contents]] (TD)&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!--start card---------------&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
==[[Templates download/ButtonLink|Button link]]==&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;screenshot&amp;quot;&amp;gt;[[File:HW-ButtonLink.png|300x300px|alt=Button link template|link=Templates download/ButtonLink]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;text&amp;quot;&amp;gt;[[Templates download/ButtonLink|Link styled as button]] (TD)&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
==[[Templates download/Icon|Icons]]==&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;screenshot&amp;quot;&amp;gt;[[File:Icon-template.png|300x300px|alt=Screenshot of icons on a page|link=Templates download/Icon]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;text&amp;quot;&amp;gt;[[Templates download/Icon|Insert Bootstrap icons]] (TD)&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!--start card----------------&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
==[[Templates download/Image_cards|Image cards]]==&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;screenshot&amp;quot;&amp;gt;[[File:Image cards large.png|300x300px|alt=Screenshot of image cards|link=Templates download/Image_cards]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;text&amp;quot;&amp;gt;[[Templates download/Image_cards|Link sets with graphics]] (TD)&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!--start card-----------------&lt;br /&gt;
&amp;lt;!--start card-----------------&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
==[[Templates download/Mention|Mention]]==&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;screenshot&amp;quot;&amp;gt;[[File:HW-mention-output.png|300x300px|alt=Mention template|link=Templates download/Mention]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;text&amp;quot;&amp;gt;[[Templates download/Mention|User mention with notification]] (TD)&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!--start card----------------&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
==[[Templates download/Messagebox|Message box]]==&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;screenshot&amp;quot;&amp;gt;[[File:HW-messagebox-en.png|450x450px|alt=Message box template|link=Templates download/Messagebox]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;text&amp;quot;&amp;gt;[[Templates download/Messagebox|Color-coded box (optional icons)]] (TD)&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!--start card-----------------&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
==[[Templates download/Subpages|Subpages list]]==&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;screenshot&amp;quot;&amp;gt;[[File:HW-subpages.png|alt=Subpages template|link=Templates download/Subpages|400x400px]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;text&amp;quot;&amp;gt;[[Templates download/Subpages|List of subpages for a page]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
[[de:Vorlagen Download]]&lt;/div&gt;</summary>
		<author><name>Bhuber</name></author>
	</entry>
	<entry>
		<id>https://en.wiki.bluespice.com/w/index.php?title=Templates_download/Taskboard&amp;diff=14110</id>
		<title>Templates download/Taskboard</title>
		<link rel="alternate" type="text/html" href="https://en.wiki.bluespice.com/w/index.php?title=Templates_download/Taskboard&amp;diff=14110"/>
		<updated>2026-04-28T13:45:29Z</updated>

		<summary type="html">&lt;p&gt;Bhuber: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;downloadarea&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;getButton&amp;quot;&amp;gt;[[Media:HW-Taskboard-en.zip|Download]]&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Template Download Taskboard Style 1.png|alt=Screenshot of a taskboard|450x450px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;This template creates task boards with up to five columns. &lt;br /&gt;
&lt;br /&gt;
{{Templateimport|HW-Taskboard-en}}&lt;br /&gt;
&lt;br /&gt;
==Create a taskboard==&lt;br /&gt;
&#039;&#039;&#039;To create a taskboard&#039;&#039;&#039;&lt;br /&gt;
#&#039;&#039;&#039;Create&#039;&#039;&#039; an empty wiki page.&lt;br /&gt;
#&#039;&#039;&#039;Select&#039;&#039;&#039; &#039;&#039;Insert&#039;&#039; in the editor toolbar, then choose &#039;&#039;Template&#039;&#039;. &lt;br /&gt;
#&#039;&#039;&#039;Insert&#039;&#039;&#039; the &#039;&#039;Taskboard&#039;&#039; template .[[File:Template Download Taskboard-insert.png|center|mini|400x400px]]&lt;br /&gt;
#&#039;&#039;&#039;Click&#039;&#039;&#039; &#039;&#039;Add&#039;&#039;.&lt;br /&gt;
#&#039;&#039;&#039;Click&#039;&#039;&#039; &#039;&#039;Insert&#039;&#039; in the dialog box.&lt;br /&gt;
{{Textbox|boxtype=important|header=Important!|text=Ignore the options shown in the dialog box. The task board will be defined via a form in the next step.|icon=yes}}&lt;br /&gt;
#&#039;&#039;&#039;Save&#039;&#039;&#039; the page with the empty template. The page will appear blank.&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Click&#039;&#039;&#039; the edit icon (pencil) on the saved page. The form for creating the task board opens. &lt;br /&gt;
# &#039;&#039;&#039;Enter&#039;&#039;&#039; the topics for your task board columns and activate the corresponding checkbox. A column is only displayed if it is activated. [[File:Template Download Taskboard-settings.png|alternativtext=Form for defining the task board|center|mini|500x500px|Define task board]]&lt;br /&gt;
Additional optional settings:&lt;br /&gt;
## Background color for each column header&lt;br /&gt;
## Color scheme (optionally set to &amp;quot;soft&amp;quot;)&lt;br /&gt;
## Card color (optionally set to &amp;quot;white&amp;quot;)&lt;br /&gt;
# &#039;&#039;&#039;Save&#039;&#039;&#039; the task board. You can now start adding content.&lt;br /&gt;
&lt;br /&gt;
==Create Task Cards==&lt;br /&gt;
&#039;&#039;&#039;To create a task card:&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;Click&#039;&#039;&#039; the plus button in the desired column. &lt;br /&gt;
# &#039;&#039;&#039;Enter&#039;&#039;&#039; the &#039;&#039;task&#039;&#039;. &amp;lt;br&amp;gt;Keep the text short, as it will be used to generate the name of a subpage of the task board. The following special characters are not allowed: &amp;lt;code&amp;gt;# &amp;lt; &amp;gt; [ ] | { }&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Optionally, &#039;&#039;&#039;enter&#039;&#039;&#039; a short description of the task in the &#039;&#039;Content&#039;&#039; field. This will be displayed on the task board. You can add more detailed information later on the task page itself. &lt;br /&gt;
# &#039;&#039;&#039;Save&#039;&#039;&#039; the task. It will be created as a subpage of the task board. Click the task board name to return to the board. Your task will now appear in the corresponding column.&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;480&amp;quot; heights=&amp;quot;400&amp;quot;&amp;gt;&lt;br /&gt;
File:Template Download Taskboard Style 1.png|alternativtext=Taskboard mit 5 Spalten und 8 Aufgaben|Task board&lt;br /&gt;
File:Template Download Taskboard style 2.png|alternativtext=Style variation of task board with 5 columns and 8 tasks|Style variation&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Task priority and sorting ==&lt;br /&gt;
You can assign a priority to each task:&lt;br /&gt;
&lt;br /&gt;
* high: The card is highlighted with a red border and marked with an upward arrow..&lt;br /&gt;
* normal: The card has no special formatting.&lt;br /&gt;
* low: The card is marked with a downward arrow.&lt;br /&gt;
&lt;br /&gt;
Tasks are sorted first by priority (high, normal, low) and then by last modified date (most recent first).&lt;br /&gt;
&lt;br /&gt;
==Move Tasks==&lt;br /&gt;
To move a task to another column, open the task page and select the corresponding topic.&lt;br /&gt;
&lt;br /&gt;
== Pages included in the import==&lt;br /&gt;
&lt;br /&gt;
The xml import creates the following files in your wiki:&lt;br /&gt;
&lt;br /&gt;
* Template:Taskboard&lt;br /&gt;
* Template:Taskboard/Infobox&lt;br /&gt;
* Template:Taskboard/TaskCard&lt;br /&gt;
* Template:Taskboard/addButton&lt;br /&gt;
* Template:Taskboard/ask&lt;br /&gt;
* Template:Taskboard/colors&lt;br /&gt;
* Template:Taskboard/styles.css&lt;br /&gt;
* Form:Taskboard&lt;br /&gt;
* Form:Taskboard/Infobox&lt;br /&gt;
* Property:Taskboard&lt;br /&gt;
* Property:Taskboard/Content&lt;br /&gt;
* Property:Taskboard/Priority&lt;br /&gt;
* Property:Taskboard/Status&lt;br /&gt;
* Property:Taskboard/Topic&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>Bhuber</name></author>
	</entry>
	<entry>
		<id>https://en.wiki.bluespice.com/w/index.php?title=Templates_download/Taskboard&amp;diff=14109</id>
		<title>Templates download/Taskboard</title>
		<link rel="alternate" type="text/html" href="https://en.wiki.bluespice.com/w/index.php?title=Templates_download/Taskboard&amp;diff=14109"/>
		<updated>2026-04-28T13:43:22Z</updated>

		<summary type="html">&lt;p&gt;Bhuber: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;downloadarea&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;getButton&amp;quot;&amp;gt;[[Media:HW-Taskboard-en.zip|Download]]&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Template Download Taskboard Style 1.png|alt=Screenshot of a taskboard|450x450px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;This template creates task boards with up to five columns. &lt;br /&gt;
&lt;br /&gt;
{{Templateimport|namezip=HW-Taskboard-en|namexml=HW-Taskboard-en}}&lt;br /&gt;
&lt;br /&gt;
==Create a taskboard==&lt;br /&gt;
&#039;&#039;&#039;To create a taskboard&#039;&#039;&#039;&lt;br /&gt;
#&#039;&#039;&#039;Create&#039;&#039;&#039; an empty wiki page.&lt;br /&gt;
#&#039;&#039;&#039;Select&#039;&#039;&#039; &#039;&#039;Insert&#039;&#039; in the editor toolbar, then choose &#039;&#039;Template&#039;&#039;. &lt;br /&gt;
#&#039;&#039;&#039;Insert&#039;&#039;&#039; the &#039;&#039;Taskboard&#039;&#039; template .[[File:Template Download Taskboard-insert.png|center|mini|400x400px]]&lt;br /&gt;
#&#039;&#039;&#039;Click&#039;&#039;&#039; &#039;&#039;Add&#039;&#039;.&lt;br /&gt;
#&#039;&#039;&#039;Click&#039;&#039;&#039; &#039;&#039;Insert&#039;&#039; in the dialog box.&lt;br /&gt;
{{Textbox|boxtype=important|header=Important!|text=Ignore the options shown in the dialog box. The task board will be defined via a form in the next step.|icon=yes}}&lt;br /&gt;
#&#039;&#039;&#039;Save&#039;&#039;&#039; the page with the empty template. The page will appear blank.&amp;lt;br /&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Click&#039;&#039;&#039; the edit icon (pencil) on the saved page. The form for creating the task board opens. &lt;br /&gt;
# &#039;&#039;&#039;Enter&#039;&#039;&#039; the topics for your task board columns and activate the corresponding checkbox. A column is only displayed if it is activated. [[File:Template Download Taskboard-settings.png|alternativtext=Form for defining the task board|center|mini|500x500px|Define task board]]&lt;br /&gt;
Additional optional settings:&lt;br /&gt;
## Background color for each column header&lt;br /&gt;
## Color scheme (optionally set to &amp;quot;soft&amp;quot;)&lt;br /&gt;
## Card color (optionally set to &amp;quot;white&amp;quot;)&lt;br /&gt;
# &#039;&#039;&#039;Save&#039;&#039;&#039; the task board. You can now start adding content.&lt;br /&gt;
&lt;br /&gt;
==Create Task Cards==&lt;br /&gt;
&#039;&#039;&#039;To create a task card:&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;Click&#039;&#039;&#039; the plus button in the desired column. &lt;br /&gt;
# &#039;&#039;&#039;Enter&#039;&#039;&#039; the &#039;&#039;task&#039;&#039;. &amp;lt;br&amp;gt;Keep the text short, as it will be used to generate the name of a subpage of the task board. The following special characters are not allowed: &amp;lt;code&amp;gt;# &amp;lt; &amp;gt; [ ] | { }&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Optionally, &#039;&#039;&#039;enter&#039;&#039;&#039; a short description of the task in the &#039;&#039;Content&#039;&#039; field. This will be displayed on the task board. You can add more detailed information later on the task page itself. &lt;br /&gt;
# &#039;&#039;&#039;Save&#039;&#039;&#039; the task. It will be created as a subpage of the task board. Click the task board name to return to the board. Your task will now appear in the corresponding column.&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;480&amp;quot; heights=&amp;quot;400&amp;quot;&amp;gt;&lt;br /&gt;
File:Template Download Taskboard Style 1.png|alternativtext=Taskboard mit 5 Spalten und 8 Aufgaben|Task board&lt;br /&gt;
File:Template Download Taskboard style 2.png|alternativtext=Style variation of task board with 5 columns and 8 tasks|Style variation&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Task priority and sorting ==&lt;br /&gt;
You can assign a priority to each task:&lt;br /&gt;
&lt;br /&gt;
* high: The card is highlighted with a red border and marked with an upward arrow..&lt;br /&gt;
* normal: The card has no special formatting.&lt;br /&gt;
* low: The card is marked with a downward arrow.&lt;br /&gt;
&lt;br /&gt;
Tasks are sorted first by priority (high, normal, low) and then by last modified date (most recent first).&lt;br /&gt;
&lt;br /&gt;
==Move Tasks==&lt;br /&gt;
To move a task to another column, open the task page and select the corresponding topic.&lt;br /&gt;
&lt;br /&gt;
== Pages included in the import==&lt;br /&gt;
&lt;br /&gt;
The xml import creates the following files in your wiki:&lt;br /&gt;
&lt;br /&gt;
* Template:Taskboard&lt;br /&gt;
* Template:Taskboard/Infobox&lt;br /&gt;
* Template:Taskboard/TaskCard&lt;br /&gt;
* Template:Taskboard/addButton&lt;br /&gt;
* Template:Taskboard/ask&lt;br /&gt;
* Template:Taskboard/colors&lt;br /&gt;
* Template:Taskboard/styles.css&lt;br /&gt;
* Form:Taskboard&lt;br /&gt;
* Form:Taskboard/Infobox&lt;br /&gt;
* Property:Taskboard&lt;br /&gt;
* Property:Taskboard/Content&lt;br /&gt;
* Property:Taskboard/Priority&lt;br /&gt;
* Property:Taskboard/Status&lt;br /&gt;
* Property:Taskboard/Topic&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>Bhuber</name></author>
	</entry>
	<entry>
		<id>https://en.wiki.bluespice.com/w/index.php?title=Templates_download&amp;diff=14106</id>
		<title>Templates download</title>
		<link rel="alternate" type="text/html" href="https://en.wiki.bluespice.com/w/index.php?title=Templates_download&amp;diff=14106"/>
		<updated>2026-04-28T12:19:02Z</updated>

		<summary type="html">&lt;p&gt;Bhuber: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;ul class=&amp;quot;tabs&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;li class=&amp;quot;current&amp;quot;&amp;gt;[[Startpage templates download|Templates]]&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;[[Page templates download|Page Templates]]&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;[[Startpage templates download|Startpage templates]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
{{Messagebox|boxtype=note|icon=|Note text=These templates use extensions which are included in BlueSpice pro, but not in BlueSpice. These extensions are noted for each template:&lt;br /&gt;
* [[Reference:Page_Forms|Page Forms (PF)]]&lt;br /&gt;
* [[Reference:Semantic_MediaWiki|Semantic MediaWiki (SMW)]]&lt;br /&gt;
* [[Reference:TemplateData|TemplateData (TD)]]|bgcolor=}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&amp;lt;div class=&amp;quot;cards&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!--start card------------------&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
==[[Templates download/Calendar|Calendar]]==&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;screenshot&amp;quot;&amp;gt;[[File:calendar.png|500x500px|alt=Calendar template|link=Templates download/Calendar]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;text&amp;quot;&amp;gt;[[Templates download/Calendar|Simple event calendar]] (SMW, PF)&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!--start card------------------&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
==[[Templates download/Collapsible|Collapsible]]==&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;screenshot&amp;quot;&amp;gt;[[File:collapsible.png|500x500px|alt=Collapsible page sections|link=Templates download/Collapsible]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;text&amp;quot;&amp;gt;[[Templates download/Collapsible|Collapsible sections]] (PF)&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!--start card------------------&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
==[[Templates download/Employee|Employee]]==&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;screenshot&amp;quot;&amp;gt;[[File:Employees gallery.png|500x500px|alt=Screenshot of the employees gallery|link=Templates download/Employee]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;text&amp;quot;&amp;gt;[[Templates download/Employee|Employees gallery]] (TD)&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!--start card------------------&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
==[[Templates download/IMS Documents|IMS Documents]]==&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;screenshot&amp;quot;&amp;gt;[[File:HW-IMS.png|400x400px|alt=Process descriptions overview page|link=Templates download/IMS Documents]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;text&amp;quot;&amp;gt;[[Templates download/IMS Documents|Document control templates]] (SMW, PF)&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!--start card------------------&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
==[[Templates download/Risk management|Incidents &amp;amp; Risks]]==&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;screenshot&amp;quot;&amp;gt;[[File:RM-riskentry.png|500x500px|alt=Risk entry screenshot|link=Templates download/Risk management]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;text&amp;quot;&amp;gt;[[Templates download/Risk management|Risk registry and incident reports]] (SMW, PF)&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!--start card------------------&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
==[[Templates download/Meetingtype|Meeting Types]]==&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;screenshot&amp;quot;&amp;gt;[[File:Template_Meetingtype_types.png|460x460px|alt=Meeting types|link=Templates download/Meetingtype]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;text&amp;quot;&amp;gt;[[Templates download/Meetingtype|Banner for meeting minutes page templates]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!--start card------------------&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
==[[Templates download/Minutes for teams|Minutes]]==&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;screenshot&amp;quot;&amp;gt;[[File:HW-Minutes-en.png|460x460px|alt=Main meeting minutes template|link=Templates download/Minutes for teams]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;text&amp;quot;&amp;gt;[[Templates download/Minutes for teams|Teams-based main template]] (TD)&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!--start card------------------&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
==[[Templates download/New|New]]==&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;screenshot&amp;quot;&amp;gt;[[File:Template_New_View.png|460x460px|alt=Template new view|link=Templates download/New]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;text&amp;quot;&amp;gt;[[Templates download/New|Marking new page content]] (SMW, TD)&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!--start card------------------&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
==[[Templates download/PortalFlex|Portal]]==&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;screenshot&amp;quot;&amp;gt;[[File:HW-PortalFlex-Combo.png|400x400px|alt=Portal page template|link=Templates download/PortalFlex]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;text&amp;quot;&amp;gt;[[Templates download/PortalFlex|Forms-based portal page]] (PF)&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!--start card------------------&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
==[[Templates download/Process map|Process map]]==&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;screenshot&amp;quot;&amp;gt;[[File:HW-process map text-based.png|800x800px|alt=Text-based process map|link=Templates download/Process map]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;text&amp;quot;&amp;gt;[[Templates download/Process map|Text-based process map]] (TD)&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!--start card------------------&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
==[[Templates download/Project|Project]]==&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;screenshot&amp;quot;&amp;gt;[[File:Template_Download_Projects-Projectstartpage.png|300x300px|link=Templates download/Project]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;text&amp;quot;&amp;gt;[[Templates download/Project|Template for a project namespace]] (SMW, PF)&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!--start card------------------&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
==[[Templates download/SVG|SVG]]==&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;screenshot&amp;quot;&amp;gt;[[File:svg-animated.gif|300x300px|link=Templates download/SVG]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;text&amp;quot;&amp;gt;[[Templates download/SVG|Embedded interactive SVG]] (TD, Widgets)&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!--start card------------------&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
==[[Templates download/TOClimit|TOC limit]]==&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;screenshot&amp;quot;&amp;gt;[[File:template-download-TOClimit.png|alt=TOC limit template|link=Templates download/TOClimit|460x460px]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;text&amp;quot;&amp;gt;[[Templates download/TOClimit|Limit heading levels in TOC]] (TD)&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!--start card------------------&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
==[[Templates download/Transclusion|Section transclusion]]==&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;screenshot&amp;quot;&amp;gt;[[File:HW-transclusion.png|alt=Transcluded page section|link=Templates download/Transclusion|460x460px]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;text&amp;quot;&amp;gt;[[Templates download/Transclusion|Transclude a page section]] (TD)&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;emptycard&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
==Archive==&lt;br /&gt;
{{Textbox|boxtype=note|header=|text=Starting with BlueSpice 4.3, the following templates can be inserted as a [[Manual:Extension/ContentDroplets|Content droplet]] or are included in the wiki as part of the [[Manual:Start page templates|Start page templates]]. Therefore, importing these templates is no longer necessary.|icon=no}}&lt;br /&gt;
&amp;lt;div class=&amp;quot;cards&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!--start card-----------------&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
==[[Templates download/Action points|Action points]]==&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;screenshot&amp;quot;&amp;gt;[[File:HW-AP.png|500x500px|alt=Action points template|link=Templates download/Action points]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;text&amp;quot;&amp;gt;[[Templates download/Action points|Action points for meetings]] (SMW, TD)&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!--start card----------------&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
==[[Templates download/Banner|Banner]]==&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;screenshot&amp;quot;&amp;gt;[[File:banner-example.png|450x450px|alt=Banner template|link=Templates download/Banner]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;text&amp;quot;&amp;gt;[[Templates download/Banner|Page banner]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!--start card---------------&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
==[[Templates download/BookTOC|Book TOC]]==&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;screenshot&amp;quot;&amp;gt;[[File:BookTOC.png|300x300px|alt=Bookchapters template|link=Templates download/BookTOC]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;text&amp;quot;&amp;gt;[[Templates download/BookTOC|Embed a book table of contents]] (TD)&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!--start card---------------&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
==[[Templates download/ButtonLink|Button link]]==&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;screenshot&amp;quot;&amp;gt;[[File:HW-ButtonLink.png|300x300px|alt=Button link template|link=Templates download/ButtonLink]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;text&amp;quot;&amp;gt;[[Templates download/ButtonLink|Link styled as button]] (TD)&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
==[[Templates download/Icon|Icons]]==&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;screenshot&amp;quot;&amp;gt;[[File:Icon-template.png|300x300px|alt=Screenshot of icons on a page|link=Templates download/Icon]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;text&amp;quot;&amp;gt;[[Templates download/Icon|Insert Bootstrap icons]] (TD)&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!--start card----------------&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
==[[Templates download/Image_cards|Image cards]]==&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;screenshot&amp;quot;&amp;gt;[[File:Image cards large.png|300x300px|alt=Screenshot of image cards|link=Templates download/Image_cards]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;text&amp;quot;&amp;gt;[[Templates download/Image_cards|Link sets with graphics]] (TD)&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!--start card-----------------&lt;br /&gt;
&amp;lt;!--start card-----------------&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
==[[Templates download/Mention|Mention]]==&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;screenshot&amp;quot;&amp;gt;[[File:HW-mention-output.png|300x300px|alt=Mention template|link=Templates download/Mention]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;text&amp;quot;&amp;gt;[[Templates download/Mention|User mention with notification]] (TD)&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!--start card----------------&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
==[[Templates download/Messagebox|Message box]]==&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;screenshot&amp;quot;&amp;gt;[[File:HW-messagebox-en.png|450x450px|alt=Message box template|link=Templates download/Messagebox]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;text&amp;quot;&amp;gt;[[Templates download/Messagebox|Color-coded box (optional icons)]] (TD)&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!--start card-----------------&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
==[[Templates download/Subpages|Subpages list]]==&lt;br /&gt;
&amp;lt;div class=&amp;quot;box&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;screenshot&amp;quot;&amp;gt;[[File:HW-subpages.png|alt=Subpages template|link=Templates download/Subpages|400x400px]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;text&amp;quot;&amp;gt;[[Templates download/Subpages|List of subpages for a page]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
[[de:Vorlagen Download]]&lt;/div&gt;</summary>
		<author><name>Bhuber</name></author>
	</entry>
	<entry>
		<id>https://en.wiki.bluespice.com/w/index.php?title=Templates_download/Project&amp;diff=14105</id>
		<title>Templates download/Project</title>
		<link rel="alternate" type="text/html" href="https://en.wiki.bluespice.com/w/index.php?title=Templates_download/Project&amp;diff=14105"/>
		<updated>2026-04-28T12:16:20Z</updated>

		<summary type="html">&lt;p&gt;Bhuber: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;downloadarea&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;getButton&amp;quot;&amp;gt;[[Media:HW-Projects.zip|Download]]&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Template Download Projects-Projectstartpage.png|alt=Screenshot of a project start page|450x450px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;This template allows small projects to be documented in the wiki.&lt;br /&gt;
&lt;br /&gt;
{{Templateimport|namezip=HW-Projects|namexml=HW-Projects|namespacehint=Project|namespacehint=Project}}&lt;br /&gt;
==Create a project==&lt;br /&gt;
To create a project:&lt;br /&gt;
#&#039;&#039;&#039;Go&#039;&#039;&#039; to the page &amp;lt;code&amp;gt;Project:Main Page&amp;lt;/code&amp;gt;.&lt;br /&gt;
#&#039;&#039;&#039;Enter&#039;&#039;&#039; a project name in the input field for new projects.&lt;br /&gt;
#&#039;&#039;&#039;Click&#039;&#039;&#039; &#039;&#039;New Project&#039;&#039;.&lt;br /&gt;
[[File:Template Download Projects-Projectstartpage.png|alternativtext=Project main page with input field for a new project|center|mini|650x650px|Create a project]]&lt;br /&gt;
&lt;br /&gt;
The project data entry form opens.&lt;br /&gt;
&lt;br /&gt;
Fill in the form fields. All fields are optional. &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Field&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
!Projectmanagement&lt;br /&gt;
|Username&lt;br /&gt;
|-&lt;br /&gt;
!Projectteam&lt;br /&gt;
|Multiple selection of usernames&lt;br /&gt;
|-&lt;br /&gt;
!Project ID&lt;br /&gt;
|Custom ID number&lt;br /&gt;
|-&lt;br /&gt;
!Status&lt;br /&gt;
|Selection of the current project status (planned, active, completed, cancelled)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Edit the project page ==&lt;br /&gt;
[[File:Template Download Projects Project page.png|alternativtext=Project page with default content after page creation and four highlighted editing options|center|mini|850x850px|Project page]]&lt;br /&gt;
&#039;&#039;&#039;The project&#039;s main page offers four editing options:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Edit page: Here you can edit your project information below the template using the visual editor. &lt;br /&gt;
# Edit project data: Here you can update the project data (e.g., the status) via the form. &lt;br /&gt;
# Create new subpages for supporting project informatoin (referred to here as &amp;quot;Documents&amp;quot;). &lt;br /&gt;
# Create new subpages for logs. &lt;br /&gt;
&lt;br /&gt;
==Create new subpages for &amp;quot;Documents&amp;quot;==&lt;br /&gt;
&#039;&#039;&#039;To create project-related documents as subpages:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Click&#039;&#039;&#039; &#039;&#039;Create Page&#039;&#039; in the &amp;quot;Documents&amp;quot; box. A form opens with the prefilled path &amp;quot;Document&amp;quot;.&lt;br /&gt;
# &#039;&#039;&#039;Click&#039;&#039;&#039; &#039;&#039;Save Page&#039;&#039; without making any changes. &lt;br /&gt;
The newly created overview page for documents opens. From there, you can create additional subpages using the input field.&lt;br /&gt;
&lt;br /&gt;
=== Page templates for documents===&lt;br /&gt;
DSince pages of the generic type “Document” can contain a wide variety of information, no default page template is generated. However, if you have enabled the “Page templates” feature for the “Project” namespace in the namespace management, you can provide your own templates via the [[Manual:Extension/BlueSpicePageTemplates|page template managemer]].&lt;br /&gt;
&lt;br /&gt;
== Create new Minutes==&lt;br /&gt;
&#039;&#039;&#039;To create project-related minutes or meetingn notes as subpages:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Click&#039;&#039;&#039; &#039;&#039;Create Page&#039;&#039; in the &amp;quot;Minutes/Meeting Notes&amp;quot; box. A form opens with the prefilled path &amp;quot;Minutes/Meeting notes&amp;quot;.&lt;br /&gt;
# &#039;&#039;&#039;Click&#039;&#039;&#039; &#039;&#039;Save Page&#039;&#039; without making any changes. &lt;br /&gt;
&lt;br /&gt;
The newly created overview page for logs opens. From there, you can create additional subpages using the input field.&lt;br /&gt;
&lt;br /&gt;
=== Page templates for minutes ===&lt;br /&gt;
By default, the page template “Template:PT Minutes” is loaded for minutes. You can customize this template according to your needs.&lt;br /&gt;
&lt;br /&gt;
== Navigation ==&lt;br /&gt;
[[File:Template Download projects breadcrumb.png|alternativtext=Example of a breadcrumb navigation in the &amp;quot;Project&amp;quot; namespace|center|mini|550x550px|Breadcrumb navigation]]&lt;br /&gt;
&lt;br /&gt;
​&#039;&#039;&#039;Use the breadcrumb navigation to quickly jump to:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* the project&#039;s main page by clicking the project name.&lt;br /&gt;
* the overview of all projects by clicking the colored namespace label. &lt;br /&gt;
&lt;br /&gt;
== Pages included in the import==&lt;br /&gt;
The xml import creates the following files in your wiki:&lt;br /&gt;
&lt;br /&gt;
*Project:Main Page&lt;br /&gt;
*Project:Tools&lt;br /&gt;
*Template:Projectinfo&lt;br /&gt;
*Template:Projectinfo/styles.css&lt;br /&gt;
*Template:Projectinfo/Document&lt;br /&gt;
*Template:Projectinfo/Documents&lt;br /&gt;
*Template:Projectinfo/List format&lt;br /&gt;
*Template:Projectinfo/Recent Changes&lt;br /&gt;
*Template:Projectinfo/Subpagename&lt;br /&gt;
*Template:PT Minutes&lt;br /&gt;
*Template:TOClimit&lt;br /&gt;
*TemplateTOClimit/styles.css&lt;br /&gt;
*Form:Projectinfo&lt;br /&gt;
*Form:Projectinfo/Document&lt;br /&gt;
*Form:Projectinfo/Documents&lt;br /&gt;
*Property:Is Project&lt;br /&gt;
*Property:Project/Management&lt;br /&gt;
*Property:Project/Status&lt;br /&gt;
*Property:Project/Team&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>Bhuber</name></author>
	</entry>
	<entry>
		<id>https://en.wiki.bluespice.com/w/index.php?title=Template:Templateimport&amp;diff=14104</id>
		<title>Template:Templateimport</title>
		<link rel="alternate" type="text/html" href="https://en.wiki.bluespice.com/w/index.php?title=Template:Templateimport&amp;diff=14104"/>
		<updated>2026-04-28T12:10:27Z</updated>

		<summary type="html">&lt;p&gt;Bhuber: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;templatestyles src=&amp;quot;Templateimport/styles.css&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;templateimport&amp;quot;&amp;gt;&lt;br /&gt;
== Importing the template ==&lt;br /&gt;
The import file is included in the archive file &#039;&#039;{{{1|}}}.zip&#039;&#039;. Unpack the zip file first.&lt;br /&gt;
&lt;br /&gt;
{{#if:{{{namespacehint|}}}|{{Textbox|boxtype=important|header=Prerequisite:|text=Before importing the template into your wiki, make sure that you have created the [[Manual:Extension/BlueSpiceNamespaceManager|namespace]] &amp;quot;{{{namespacehint|}}}&amp;quot;.|icon=yes}} }}&lt;br /&gt;
&lt;br /&gt;
On the page &#039;&#039;Special:Import&#039;&#039; follow these steps:&lt;br /&gt;
&lt;br /&gt;
#&#039;&#039;&#039;Select file&#039;&#039;&#039; and choose &#039;&#039;{{{1|}}}.xml&#039;&#039;.&lt;br /&gt;
#&#039;&#039;&#039;Enter&#039;&#039;&#039; an Interwiki prefix. Since this field is required, simply add &#039;&#039;hw&#039;&#039; (for hallowelt).&lt;br /&gt;
#&#039;&#039;&#039;Keep&#039;&#039;&#039; the selection &#039;&#039;Import to default locations&#039;&#039;.&lt;br /&gt;
#&#039;&#039;&#039;Click&#039;&#039;&#039; &#039;&#039;Upload file...&#039;&#039; .&lt;br /&gt;
&lt;br /&gt;
The template is now available in your wiki.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&amp;lt;templatedata&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;params&amp;quot;: {&lt;br /&gt;
		&amp;quot;1&amp;quot;: {&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;name of xml (needs to be the same as the zip file).&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: true&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;paramOrder&amp;quot;: [&lt;br /&gt;
		&amp;quot;1&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/templatedata&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Bhuber</name></author>
	</entry>
	<entry>
		<id>https://en.wiki.bluespice.com/w/index.php?title=Template:Templateimport&amp;diff=14103</id>
		<title>Template:Templateimport</title>
		<link rel="alternate" type="text/html" href="https://en.wiki.bluespice.com/w/index.php?title=Template:Templateimport&amp;diff=14103"/>
		<updated>2026-04-28T12:10:01Z</updated>

		<summary type="html">&lt;p&gt;Bhuber: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;templatestyles src=&amp;quot;Vorlagenimport/styles.css&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;templateimport&amp;quot;&amp;gt;&lt;br /&gt;
== Importing the template ==&lt;br /&gt;
The import file is included in the archive file &#039;&#039;{{{1|}}}.zip&#039;&#039;. Unpack the zip file first.&lt;br /&gt;
&lt;br /&gt;
{{#if:{{{namespacehint|}}}|{{Textbox|boxtype=important|header=Prerequisite:|text=Before importing the template into your wiki, make sure that you have created the [[Manual:Extension/BlueSpiceNamespaceManager|namespace]] &amp;quot;{{{namespacehint|}}}&amp;quot;.|icon=yes}} }}&lt;br /&gt;
&lt;br /&gt;
On the page &#039;&#039;Special:Import&#039;&#039; follow these steps:&lt;br /&gt;
&lt;br /&gt;
#&#039;&#039;&#039;Select file&#039;&#039;&#039; and choose &#039;&#039;{{{1|}}}.xml&#039;&#039;.&lt;br /&gt;
#&#039;&#039;&#039;Enter&#039;&#039;&#039; an Interwiki prefix. Since this field is required, simply add &#039;&#039;hw&#039;&#039; (for hallowelt).&lt;br /&gt;
#&#039;&#039;&#039;Keep&#039;&#039;&#039; the selection &#039;&#039;Import to default locations&#039;&#039;.&lt;br /&gt;
#&#039;&#039;&#039;Click&#039;&#039;&#039; &#039;&#039;Upload file...&#039;&#039; .&lt;br /&gt;
&lt;br /&gt;
The template is now available in your wiki.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&amp;lt;templatedata&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;params&amp;quot;: {&lt;br /&gt;
		&amp;quot;1&amp;quot;: {&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;name of xml (needs to be the same as the zip file).&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: true&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;paramOrder&amp;quot;: [&lt;br /&gt;
		&amp;quot;1&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/templatedata&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Bhuber</name></author>
	</entry>
	<entry>
		<id>https://en.wiki.bluespice.com/w/index.php?title=Template:Templateimport/styles.css&amp;diff=14102</id>
		<title>Template:Templateimport/styles.css</title>
		<link rel="alternate" type="text/html" href="https://en.wiki.bluespice.com/w/index.php?title=Template:Templateimport/styles.css&amp;diff=14102"/>
		<updated>2026-04-28T12:08:45Z</updated>

		<summary type="html">&lt;p&gt;Bhuber: Created page with &amp;quot;.templateimport .cd-textbox {     display: flex;     clear: none; 	width:auto; }&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;.templateimport .cd-textbox {&lt;br /&gt;
    display: flex;&lt;br /&gt;
    clear: none;&lt;br /&gt;
	width:auto;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Bhuber</name></author>
	</entry>
	<entry>
		<id>https://en.wiki.bluespice.com/w/index.php?title=Templates_download/Project&amp;diff=14101</id>
		<title>Templates download/Project</title>
		<link rel="alternate" type="text/html" href="https://en.wiki.bluespice.com/w/index.php?title=Templates_download/Project&amp;diff=14101"/>
		<updated>2026-04-28T12:07:59Z</updated>

		<summary type="html">&lt;p&gt;Bhuber: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;downloadarea&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;getButton&amp;quot;&amp;gt;[[Media:HW-Projects.zip|Download]]&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Template Download Projects-Projectstartpage.png|alt=Screenshot of a project start page|450x450px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;This template allows small projects to be documented in the wiki.&lt;br /&gt;
&lt;br /&gt;
{{Templateimport|namezip=HW-Projects|namexml=HW-Projects|namespacehint=Project|namespacehint=Project}}&lt;br /&gt;
&lt;br /&gt;
==Create a project==&lt;br /&gt;
To create a project:&lt;br /&gt;
#&#039;&#039;&#039;Go&#039;&#039;&#039; to the page &amp;lt;code&amp;gt;Project:Main page&amp;lt;/code&amp;gt;.&lt;br /&gt;
#&#039;&#039;&#039;Enter&#039;&#039;&#039; a project name in the input field for new projects.&lt;br /&gt;
#&#039;&#039;&#039;Click&#039;&#039;&#039; &#039;&#039;New Project&#039;&#039;.&lt;br /&gt;
[[File:Template Download Projects-Projectstartpage.png|alternativtext=Project main page with input field for a new project|center|mini|650x650px|Create a project]]&lt;br /&gt;
&lt;br /&gt;
The project data entry form opens.&lt;br /&gt;
&lt;br /&gt;
Fill in the form fields. All fields are optional. &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!field&lt;br /&gt;
!description&lt;br /&gt;
|-&lt;br /&gt;
!Projectmanagement&lt;br /&gt;
|Username&lt;br /&gt;
|-&lt;br /&gt;
!Projectteam&lt;br /&gt;
|Multiple selection of usernames&lt;br /&gt;
|-&lt;br /&gt;
!Project ID&lt;br /&gt;
|Custom ID number&lt;br /&gt;
|-&lt;br /&gt;
!Status&lt;br /&gt;
|Selection of the current project status (planned, active, completed, cancelled)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Edit the project page ==&lt;br /&gt;
[[File:Template Download Projects Project page.png|alternativtext=Project page with default content after page creation and four highlighted editing options|center|mini|850x850px|Project page]]&lt;br /&gt;
&#039;&#039;&#039;The project&#039;s main page offers four editing options:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Edit page: Here you can edit your project information below the template using the visual editor. &lt;br /&gt;
# Edit project data: Here you can update the project data (e.g., the status) via the form. &lt;br /&gt;
# Create new subpages for supporting project informatoin (referred to here as &amp;quot;Documents&amp;quot;). &lt;br /&gt;
# Create new subpages for logs. &lt;br /&gt;
&lt;br /&gt;
==Create new subpages for &amp;quot;Documents&amp;quot;==&lt;br /&gt;
&#039;&#039;&#039;To create project-related documents as subpages:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Click&#039;&#039;&#039; &#039;&#039;Create Page&#039;&#039; in the &amp;quot;Documents&amp;quot; box. A form opens with the prefilled path &amp;quot;Document&amp;quot;.&lt;br /&gt;
# &#039;&#039;&#039;Click&#039;&#039;&#039; &#039;&#039;Save Page&#039;&#039; without making any changes. &lt;br /&gt;
The newly created overview page for documents opens. From there, you can create additional subpages using the input field.&lt;br /&gt;
&lt;br /&gt;
=== Page templates for documents===&lt;br /&gt;
DSince pages of the generic type “Document” can contain a wide variety of information, no default page template is generated. However, if you have enabled the “Page templates” feature for the “Project” namespace in the namespace management, you can provide your own templates via the [[Manual:Extension/BlueSpicePageTemplates|page template managemer]].&lt;br /&gt;
&lt;br /&gt;
== Create new Minutes==&lt;br /&gt;
&#039;&#039;&#039;To create project-related minutes or meetingn notes as subpages:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Click&#039;&#039;&#039; &#039;&#039;Create Page&#039;&#039; in the &amp;quot;Minutes/Meeting Notes&amp;quot; box. A form opens with the prefilled path &amp;quot;Minutes/Meeting notes&amp;quot;.&lt;br /&gt;
# &#039;&#039;&#039;Click&#039;&#039;&#039; &#039;&#039;Save Page&#039;&#039; without making any changes. &lt;br /&gt;
&lt;br /&gt;
The newly created overview page for logs opens. From there, you can create additional subpages using the input field.&lt;br /&gt;
&lt;br /&gt;
=== Page templates for minutes ===&lt;br /&gt;
By default, the page template “Template:PT Minutes” is loaded for minutes. You can customize this template according to your needs.&lt;br /&gt;
&lt;br /&gt;
== Navigation ==&lt;br /&gt;
[[File:Template Download projects breadcrumb.png|alternativtext=Example of a breadcrumb navigation in the &amp;quot;Project&amp;quot; namespace|center|mini|550x550px|Breadcrumb navigation]]&lt;br /&gt;
&lt;br /&gt;
​&#039;&#039;&#039;Use the breadcrumb navigation to quickly jump to:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* the project&#039;s main page by clicking the project name.&lt;br /&gt;
* the overview of all projects by clicking the colored namespace label. &lt;br /&gt;
&lt;br /&gt;
== Pages included in the import==&lt;br /&gt;
The xml import creates the following files in your wiki:&lt;br /&gt;
&lt;br /&gt;
*Project:Main page&lt;br /&gt;
*Project:Tools&lt;br /&gt;
*Template:Projectinfo&lt;br /&gt;
*Template:Projectinfo/styles.css&lt;br /&gt;
*Template:Projectinfo/Dokument&lt;br /&gt;
*Template:Projectinfo/Dokumente&lt;br /&gt;
*Template:Projectinfo/Letzte Änderungen&lt;br /&gt;
*Template:Projectinfo/Listenformat&lt;br /&gt;
*Template:Projectinfo/Subpagename&lt;br /&gt;
*Template:PT Minutes&lt;br /&gt;
*Template:TOClimit&lt;br /&gt;
*TemplateTOClimit/styles.css&lt;br /&gt;
*Form:Projectinfo&lt;br /&gt;
*Form:Projectinfo/Document&lt;br /&gt;
*Form:Projectinfo/Documents&lt;br /&gt;
*Property:Is Project&lt;br /&gt;
*Property:Project/Management&lt;br /&gt;
*Property:Project/Status&lt;br /&gt;
*Property:Project/Team&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>Bhuber</name></author>
	</entry>
	<entry>
		<id>https://en.wiki.bluespice.com/w/index.php?title=Template:Templateimport&amp;diff=14100</id>
		<title>Template:Templateimport</title>
		<link rel="alternate" type="text/html" href="https://en.wiki.bluespice.com/w/index.php?title=Template:Templateimport&amp;diff=14100"/>
		<updated>2026-04-28T12:07:35Z</updated>

		<summary type="html">&lt;p&gt;Bhuber: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Importing the template ==&lt;br /&gt;
The import file is included in the archive file &#039;&#039;{{{1|}}}.zip&#039;&#039;. Unpack the zip file first.&lt;br /&gt;
&lt;br /&gt;
{{#if:{{{namespacehint|}}}|{{Textbox|boxtype=important|header=Prerequisite:|text=Before importing the template into your wiki, make sure that you have created the [[Manual:Extension/BlueSpiceNamespaceManager|namespace]] &amp;quot;{{{namespacehint|}}}&amp;quot;.|icon=yes}} }}&lt;br /&gt;
&lt;br /&gt;
On the page &#039;&#039;Special:Import&#039;&#039; follow these steps:&lt;br /&gt;
&lt;br /&gt;
#&#039;&#039;&#039;Select file&#039;&#039;&#039; and choose &#039;&#039;{{{1|}}}.xml&#039;&#039;.&lt;br /&gt;
#&#039;&#039;&#039;Enter&#039;&#039;&#039; an Interwiki prefix. Since this field is required, simply add &#039;&#039;hw&#039;&#039; (for hallowelt).&lt;br /&gt;
#&#039;&#039;&#039;Keep&#039;&#039;&#039; the selection &#039;&#039;Import to default locations&#039;&#039;.&lt;br /&gt;
#&#039;&#039;&#039;Click&#039;&#039;&#039; &#039;&#039;Upload file...&#039;&#039; .&lt;br /&gt;
&lt;br /&gt;
The template is now available in your wiki.&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&amp;lt;templatedata&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;params&amp;quot;: {&lt;br /&gt;
		&amp;quot;1&amp;quot;: {&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;name of xml (needs to be the same as the zip file).&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: true&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;paramOrder&amp;quot;: [&lt;br /&gt;
		&amp;quot;1&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/templatedata&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Bhuber</name></author>
	</entry>
	<entry>
		<id>https://en.wiki.bluespice.com/w/index.php?title=Templates_download/Project&amp;diff=14099</id>
		<title>Templates download/Project</title>
		<link rel="alternate" type="text/html" href="https://en.wiki.bluespice.com/w/index.php?title=Templates_download/Project&amp;diff=14099"/>
		<updated>2026-04-28T12:04:53Z</updated>

		<summary type="html">&lt;p&gt;Bhuber: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;downloadarea&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;getButton&amp;quot;&amp;gt;[[Media:HW-Projects.zip|Download]]&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Template Download Projects-Projectstartpage.png|alt=Screenshot of a project start page|450x450px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;This template allows small projects to be documented in the wiki.&lt;br /&gt;
&lt;br /&gt;
{{Templateimport|namezip=HW-Projects|namexml=HW-Projects|namespacehint=Project}}&lt;br /&gt;
&lt;br /&gt;
{{Textbox|boxtype=important|header=Prerequisite|text=Before importing the template into your wiki, make sure that you have created the [[Manual:Extension/BlueSpiceNamespaceManager|namespace]] &amp;quot;Project&amp;quot;.|icon=yes}}&lt;br /&gt;
==Create a project==&lt;br /&gt;
To create a project:&lt;br /&gt;
#&#039;&#039;&#039;Go&#039;&#039;&#039; to the page &amp;lt;code&amp;gt;Project:Main page&amp;lt;/code&amp;gt;.&lt;br /&gt;
#&#039;&#039;&#039;Enter&#039;&#039;&#039; a project name in the input field for new projects.&lt;br /&gt;
#&#039;&#039;&#039;Click&#039;&#039;&#039; &#039;&#039;New Project&#039;&#039;.&lt;br /&gt;
[[File:Template Download Projects-Projectstartpage.png|alternativtext=Project main page with input field for a new project|center|mini|650x650px|Create a project]]&lt;br /&gt;
&lt;br /&gt;
The project data entry form opens.&lt;br /&gt;
&lt;br /&gt;
Fill in the form fields. All fields are optional. &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!field&lt;br /&gt;
!description&lt;br /&gt;
|-&lt;br /&gt;
!Projectmanagement&lt;br /&gt;
|Username&lt;br /&gt;
|-&lt;br /&gt;
!Projectteam&lt;br /&gt;
|Multiple selection of usernames&lt;br /&gt;
|-&lt;br /&gt;
!Project ID&lt;br /&gt;
|Custom ID number&lt;br /&gt;
|-&lt;br /&gt;
!Status&lt;br /&gt;
|Selection of the current project status (planned, active, completed, cancelled)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Edit the project page ==&lt;br /&gt;
[[File:Template Download Projects Project page.png|alternativtext=Project page with default content after page creation and four highlighted editing options|center|mini|850x850px|Project page]]&lt;br /&gt;
&#039;&#039;&#039;The project&#039;s main page offers four editing options:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Edit page: Here you can edit your project information below the template using the visual editor. &lt;br /&gt;
# Edit project data: Here you can update the project data (e.g., the status) via the form. &lt;br /&gt;
# Create new subpages for supporting project informatoin (referred to here as &amp;quot;Documents&amp;quot;). &lt;br /&gt;
# Create new subpages for logs. &lt;br /&gt;
&lt;br /&gt;
==Create new subpages for &amp;quot;Documents&amp;quot;==&lt;br /&gt;
&#039;&#039;&#039;To create project-related documents as subpages:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Click&#039;&#039;&#039; &#039;&#039;Create Page&#039;&#039; in the &amp;quot;Documents&amp;quot; box. A form opens with the prefilled path &amp;quot;Document&amp;quot;.&lt;br /&gt;
# &#039;&#039;&#039;Click&#039;&#039;&#039; &#039;&#039;Save Page&#039;&#039; without making any changes. &lt;br /&gt;
The newly created overview page for documents opens. From there, you can create additional subpages using the input field.&lt;br /&gt;
&lt;br /&gt;
=== Page templates for documents===&lt;br /&gt;
DSince pages of the generic type “Document” can contain a wide variety of information, no default page template is generated. However, if you have enabled the “Page templates” feature for the “Project” namespace in the namespace management, you can provide your own templates via the [[Manual:Extension/BlueSpicePageTemplates|page template managemer]].&lt;br /&gt;
&lt;br /&gt;
== Create new Minutes==&lt;br /&gt;
&#039;&#039;&#039;To create project-related minutes or meetingn notes as subpages:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Click&#039;&#039;&#039; &#039;&#039;Create Page&#039;&#039; in the &amp;quot;Minutes/Meeting Notes&amp;quot; box. A form opens with the prefilled path &amp;quot;Minutes/Meeting notes&amp;quot;.&lt;br /&gt;
# &#039;&#039;&#039;Click&#039;&#039;&#039; &#039;&#039;Save Page&#039;&#039; without making any changes. &lt;br /&gt;
&lt;br /&gt;
The newly created overview page for logs opens. From there, you can create additional subpages using the input field.&lt;br /&gt;
&lt;br /&gt;
=== Page templates for minutes ===&lt;br /&gt;
By default, the page template “Template:PT Minutes” is loaded for minutes. You can customize this template according to your needs.&lt;br /&gt;
&lt;br /&gt;
== Navigation ==&lt;br /&gt;
[[File:Template Download projects breadcrumb.png|alternativtext=Example of a breadcrumb navigation in the &amp;quot;Project&amp;quot; namespace|center|mini|550x550px|Breadcrumb navigation]]&lt;br /&gt;
&lt;br /&gt;
​&#039;&#039;&#039;Use the breadcrumb navigation to quickly jump to:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* the project&#039;s main page by clicking the project name.&lt;br /&gt;
* the overview of all projects by clicking the colored namespace label. &lt;br /&gt;
&lt;br /&gt;
== Pages included in the import==&lt;br /&gt;
The xml import creates the following files in your wiki:&lt;br /&gt;
&lt;br /&gt;
*Project:Main page&lt;br /&gt;
*Project:Tools&lt;br /&gt;
*Template:Projectinfo&lt;br /&gt;
*Template:Projectinfo/styles.css&lt;br /&gt;
*Template:Projectinfo/Dokument&lt;br /&gt;
*Template:Projectinfo/Dokumente&lt;br /&gt;
*Template:Projectinfo/Letzte Änderungen&lt;br /&gt;
*Template:Projectinfo/Listenformat&lt;br /&gt;
*Template:Projectinfo/Subpagename&lt;br /&gt;
*Template:PT Minutes&lt;br /&gt;
*Template:TOClimit&lt;br /&gt;
*TemplateTOClimit/styles.css&lt;br /&gt;
*Form:Projectinfo&lt;br /&gt;
*Form:Projectinfo/Document&lt;br /&gt;
*Form:Projectinfo/Documents&lt;br /&gt;
*Property:Is Project&lt;br /&gt;
*Property:Project/Management&lt;br /&gt;
*Property:Project/Status&lt;br /&gt;
*Property:Project/Team&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>Bhuber</name></author>
	</entry>
	<entry>
		<id>https://en.wiki.bluespice.com/w/index.php?title=Templates_download/Project&amp;diff=14098</id>
		<title>Templates download/Project</title>
		<link rel="alternate" type="text/html" href="https://en.wiki.bluespice.com/w/index.php?title=Templates_download/Project&amp;diff=14098"/>
		<updated>2026-04-28T12:04:37Z</updated>

		<summary type="html">&lt;p&gt;Bhuber: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;downloadarea&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;getButton&amp;quot;&amp;gt;[[Media:HW-Projects.zip|Download]]&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Template Download Projects-Projectstartpage.png|alt=Screenshot of a project start page|450x450px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;This template allows small projects to be documented in the wiki.&lt;br /&gt;
&lt;br /&gt;
{{Textbox|boxtype=important|header=Prerequisite|text=Before importing the template into your wiki, make sure that you have created the [[Manual:Extension/BlueSpiceNamespaceManager|namespace]] &amp;quot;Project&amp;quot;.|icon=yes}}&lt;br /&gt;
&lt;br /&gt;
{{Templateimport|namezip=HW-Projects|namexml=HW-Projects|namespacehint=Project}}&lt;br /&gt;
==Create a project==&lt;br /&gt;
To create a project:&lt;br /&gt;
#&#039;&#039;&#039;Go&#039;&#039;&#039; to the page &amp;lt;code&amp;gt;Project:Main page&amp;lt;/code&amp;gt;.&lt;br /&gt;
#&#039;&#039;&#039;Enter&#039;&#039;&#039; a project name in the input field for new projects.&lt;br /&gt;
#&#039;&#039;&#039;Click&#039;&#039;&#039; &#039;&#039;New Project&#039;&#039;.&lt;br /&gt;
[[File:Template Download Projects-Projectstartpage.png|alternativtext=Project main page with input field for a new project|center|mini|650x650px|Create a project]]&lt;br /&gt;
&lt;br /&gt;
The project data entry form opens.&lt;br /&gt;
&lt;br /&gt;
Fill in the form fields. All fields are optional. &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!field&lt;br /&gt;
!description&lt;br /&gt;
|-&lt;br /&gt;
!Projectmanagement&lt;br /&gt;
|Username&lt;br /&gt;
|-&lt;br /&gt;
!Projectteam&lt;br /&gt;
|Multiple selection of usernames&lt;br /&gt;
|-&lt;br /&gt;
!Project ID&lt;br /&gt;
|Custom ID number&lt;br /&gt;
|-&lt;br /&gt;
!Status&lt;br /&gt;
|Selection of the current project status (planned, active, completed, cancelled)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Edit the project page ==&lt;br /&gt;
[[File:Template Download Projects Project page.png|alternativtext=Project page with default content after page creation and four highlighted editing options|center|mini|850x850px|Project page]]&lt;br /&gt;
&#039;&#039;&#039;The project&#039;s main page offers four editing options:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Edit page: Here you can edit your project information below the template using the visual editor. &lt;br /&gt;
# Edit project data: Here you can update the project data (e.g., the status) via the form. &lt;br /&gt;
# Create new subpages for supporting project informatoin (referred to here as &amp;quot;Documents&amp;quot;). &lt;br /&gt;
# Create new subpages for logs. &lt;br /&gt;
&lt;br /&gt;
==Create new subpages for &amp;quot;Documents&amp;quot;==&lt;br /&gt;
&#039;&#039;&#039;To create project-related documents as subpages:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Click&#039;&#039;&#039; &#039;&#039;Create Page&#039;&#039; in the &amp;quot;Documents&amp;quot; box. A form opens with the prefilled path &amp;quot;Document&amp;quot;.&lt;br /&gt;
# &#039;&#039;&#039;Click&#039;&#039;&#039; &#039;&#039;Save Page&#039;&#039; without making any changes. &lt;br /&gt;
The newly created overview page for documents opens. From there, you can create additional subpages using the input field.&lt;br /&gt;
&lt;br /&gt;
=== Page templates for documents===&lt;br /&gt;
DSince pages of the generic type “Document” can contain a wide variety of information, no default page template is generated. However, if you have enabled the “Page templates” feature for the “Project” namespace in the namespace management, you can provide your own templates via the [[Manual:Extension/BlueSpicePageTemplates|page template managemer]].&lt;br /&gt;
&lt;br /&gt;
== Create new Minutes==&lt;br /&gt;
&#039;&#039;&#039;To create project-related minutes or meetingn notes as subpages:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Click&#039;&#039;&#039; &#039;&#039;Create Page&#039;&#039; in the &amp;quot;Minutes/Meeting Notes&amp;quot; box. A form opens with the prefilled path &amp;quot;Minutes/Meeting notes&amp;quot;.&lt;br /&gt;
# &#039;&#039;&#039;Click&#039;&#039;&#039; &#039;&#039;Save Page&#039;&#039; without making any changes. &lt;br /&gt;
&lt;br /&gt;
The newly created overview page for logs opens. From there, you can create additional subpages using the input field.&lt;br /&gt;
&lt;br /&gt;
=== Page templates for minutes ===&lt;br /&gt;
By default, the page template “Template:PT Minutes” is loaded for minutes. You can customize this template according to your needs.&lt;br /&gt;
&lt;br /&gt;
== Navigation ==&lt;br /&gt;
[[File:Template Download projects breadcrumb.png|alternativtext=Example of a breadcrumb navigation in the &amp;quot;Project&amp;quot; namespace|center|mini|550x550px|Breadcrumb navigation]]&lt;br /&gt;
&lt;br /&gt;
​&#039;&#039;&#039;Use the breadcrumb navigation to quickly jump to:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* the project&#039;s main page by clicking the project name.&lt;br /&gt;
* the overview of all projects by clicking the colored namespace label. &lt;br /&gt;
&lt;br /&gt;
== Pages included in the import==&lt;br /&gt;
The xml import creates the following files in your wiki:&lt;br /&gt;
&lt;br /&gt;
*Project:Main page&lt;br /&gt;
*Project:Tools&lt;br /&gt;
*Template:Projectinfo&lt;br /&gt;
*Template:Projectinfo/styles.css&lt;br /&gt;
*Template:Projectinfo/Dokument&lt;br /&gt;
*Template:Projectinfo/Dokumente&lt;br /&gt;
*Template:Projectinfo/Letzte Änderungen&lt;br /&gt;
*Template:Projectinfo/Listenformat&lt;br /&gt;
*Template:Projectinfo/Subpagename&lt;br /&gt;
*Template:PT Minutes&lt;br /&gt;
*Template:TOClimit&lt;br /&gt;
*TemplateTOClimit/styles.css&lt;br /&gt;
*Form:Projectinfo&lt;br /&gt;
*Form:Projectinfo/Document&lt;br /&gt;
*Form:Projectinfo/Documents&lt;br /&gt;
*Property:Is Project&lt;br /&gt;
*Property:Project/Management&lt;br /&gt;
*Property:Project/Status&lt;br /&gt;
*Property:Project/Team&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>Bhuber</name></author>
	</entry>
	<entry>
		<id>https://en.wiki.bluespice.com/w/index.php?title=Templates_download/Project&amp;diff=14097</id>
		<title>Templates download/Project</title>
		<link rel="alternate" type="text/html" href="https://en.wiki.bluespice.com/w/index.php?title=Templates_download/Project&amp;diff=14097"/>
		<updated>2026-04-28T12:02:44Z</updated>

		<summary type="html">&lt;p&gt;Bhuber: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;downloadarea&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;getButton&amp;quot;&amp;gt;[[Media:HW-Projects.zip|Download]]&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Template Download Projects-Projectstartpage.png|alt=Screenshot of a project start page|450x450px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;This template allows small projects to be documented in the wiki.&lt;br /&gt;
==Preparing the import==&lt;br /&gt;
{{Textbox|boxtype=important|header=Prerequisite|text=Before importing the template into your wiki, make sure that you have created the [[Manual:Extension/BlueSpiceNamespaceManager|namespace]] &amp;quot;Project&amp;quot;.|icon=yes}}&lt;br /&gt;
&lt;br /&gt;
{{Templateimport|namezip=HW-Projects|namexml=HW-Projects|namespacehint=Project}}&lt;br /&gt;
==Create a project==&lt;br /&gt;
To create a project:&lt;br /&gt;
#&#039;&#039;&#039;Go&#039;&#039;&#039; to the page &amp;lt;code&amp;gt;Project:Main page&amp;lt;/code&amp;gt;.&lt;br /&gt;
#&#039;&#039;&#039;Enter&#039;&#039;&#039; a project name in the input field for new projects.&lt;br /&gt;
#&#039;&#039;&#039;Click&#039;&#039;&#039; &#039;&#039;New Project&#039;&#039;.&lt;br /&gt;
[[File:Template Download Projects-Projectstartpage.png|alternativtext=Project main page with input field for a new project|center|mini|650x650px|Create a project]]&lt;br /&gt;
&lt;br /&gt;
The project data entry form opens.&lt;br /&gt;
&lt;br /&gt;
Filli in the form fields. All fields are optional. &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!field&lt;br /&gt;
!description&lt;br /&gt;
|-&lt;br /&gt;
!Projectmanagement&lt;br /&gt;
|Username&lt;br /&gt;
|-&lt;br /&gt;
!Projectteam&lt;br /&gt;
|Multiple selection of usernames&lt;br /&gt;
|-&lt;br /&gt;
!Project ID&lt;br /&gt;
|Custom ID number&lt;br /&gt;
|-&lt;br /&gt;
!Status&lt;br /&gt;
|Selection of the current project status (planned, active, completed, cancelled)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Edit the project page ==&lt;br /&gt;
[[File:Template Download Projects Project page.png|alternativtext=Project page with default content after page creation and four highlighted editing options|center|mini|850x850px|Project page]]&lt;br /&gt;
&#039;&#039;&#039;The project&#039;s main page offers four editing options:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Edit page: Here you can edit your project information below the template using the visual editor. &lt;br /&gt;
# Edit project data: Here you can update the project data (e.g., the status) via the form. &lt;br /&gt;
# Create new subpages for supporting project informatoin (referred to here as &amp;quot;Documents&amp;quot;). &lt;br /&gt;
# Create new subpages for logs. &lt;br /&gt;
&lt;br /&gt;
==Create new subpages for &amp;quot;Documents&amp;quot;==&lt;br /&gt;
&#039;&#039;&#039;To create project-related documents as subpages:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Click&#039;&#039;&#039; &#039;&#039;Create Page&#039;&#039; in the &amp;quot;Documents&amp;quot; box. A form opens with the prefilled path &amp;quot;Document&amp;quot;.&lt;br /&gt;
# &#039;&#039;&#039;Click&#039;&#039;&#039; &#039;&#039;Save Page&#039;&#039; without making any changes. &lt;br /&gt;
The newly created overview page for documents opens. From there, you can create additional subpages using the input field.&lt;br /&gt;
&lt;br /&gt;
=== Page templates for documents===&lt;br /&gt;
DSince pages of the generic type “Document” can contain a wide variety of information, no default page template is generated. However, if you have enabled the “Page templates” feature for the “Project” namespace in the namespace management, you can provide your own templates via the [[Manual:Extension/BlueSpicePageTemplates|page template managemer]].&lt;br /&gt;
&lt;br /&gt;
== Create new Minutes==&lt;br /&gt;
&#039;&#039;&#039;To create project-related minutes or meetingn notes as subpages:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Click&#039;&#039;&#039; &#039;&#039;Create Page&#039;&#039; in the &amp;quot;Minutes/Meeting Notes&amp;quot; box. A form opens with the prefilled path &amp;quot;Minutes/Meeting notes&amp;quot;.&lt;br /&gt;
# &#039;&#039;&#039;Click&#039;&#039;&#039; &#039;&#039;Save Page&#039;&#039; without making any changes. &lt;br /&gt;
&lt;br /&gt;
The newly created overview page for logs opens. From there, you can create additional subpages using the input field.&lt;br /&gt;
&lt;br /&gt;
=== Page templates for minutes ===&lt;br /&gt;
By default, the page template “Template:PT Minutes” is loaded for minutes. You can customize this template according to your needs.&lt;br /&gt;
&lt;br /&gt;
== Navigation ==&lt;br /&gt;
[[File:Template Download projects breadcrumb.png|alternativtext=Example of a breadcrumb navigation in the &amp;quot;Project&amp;quot; namespace|center|mini|550x550px|Breadcrumb navigation]]&lt;br /&gt;
&lt;br /&gt;
​&#039;&#039;&#039;Use the breadcrumb navigation to quickly jump to:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* the project&#039;s main page by clicking the project name.&lt;br /&gt;
* the overview of all projects by clicking the colored namespace label. &lt;br /&gt;
&lt;br /&gt;
== Pages included in the import==&lt;br /&gt;
The xml import creates the following files in your wiki:&lt;br /&gt;
&lt;br /&gt;
*Project:Main page&lt;br /&gt;
*Project:Tools&lt;br /&gt;
*Template:Projectinfo&lt;br /&gt;
*Template:Projectinfo/styles.css&lt;br /&gt;
*Template:Projectinfo/Dokument&lt;br /&gt;
*Template:Projectinfo/Dokumente&lt;br /&gt;
*Template:Projectinfo/Letzte Änderungen&lt;br /&gt;
*Template:Projectinfo/Listenformat&lt;br /&gt;
*Template:Projectinfo/Subpagename&lt;br /&gt;
*Template:PT Minutes&lt;br /&gt;
*Template:TOClimit&lt;br /&gt;
*TemplateTOClimit/styles.css&lt;br /&gt;
*Form:Projectinfo&lt;br /&gt;
*Form:Projectinfo/Document&lt;br /&gt;
*Form:Projectinfo/Documents&lt;br /&gt;
*Property:Is Project&lt;br /&gt;
*Property:Project/Management&lt;br /&gt;
*Property:Project/Status&lt;br /&gt;
*Property:Project/Team&lt;br /&gt;
__NOTOC__&lt;/div&gt;</summary>
		<author><name>Bhuber</name></author>
	</entry>
</feed>