<?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-08-15T11:06:08Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://en.wiki.bluespice.com/w/index.php?title=Manual:Extension/CognitiveProcessDesigner&amp;diff=14777</id>
		<title>Manual:Extension/CognitiveProcessDesigner</title>
		<link rel="alternate" type="text/html" href="https://en.wiki.bluespice.com/w/index.php?title=Manual:Extension/CognitiveProcessDesigner&amp;diff=14777"/>
		<updated>2026-08-13T07:51:26Z</updated>

		<summary type="html">&lt;p&gt;Bhuber: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:BPMN diagrams (Business process modeling)}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Business Process Model and Notation (BPMN)&#039;&#039;&#039; is a graphical representation for specifying business processes. BlueSpice provides an intuitive GUI (graphical user interface) for creating BPMN diagrams. The feature is based on the open source project [https://bpmn.io/ bpmn.io]. The [[Manual:Extension|extension]] [[Reference:Forms|Forms]] is used to facilitate the input of information for each element.&lt;br /&gt;
&lt;br /&gt;
== How to start ==&lt;br /&gt;
To get to the BPMN editor, you can choose between 3 options:&lt;br /&gt;
&lt;br /&gt;
# The &#039;&#039;&#039;Entrypoint &#039;&#039;Processes&#039;&#039;&#039;&#039;&#039; in the main navigation.  Note that administrators can deactivate this link in the [[Manual:Extension/BlueSpiceConfigManager#BlueSpiceDiscovery|configuration manager.]]  On the Processes page, you can click the link &#039;&#039;&#039;New Process&#039;&#039;&#039; in the page tools panel.&lt;br /&gt;
# The link &#039;&#039;&#039;Processes&#039;&#039;&#039; in the &#039;&#039;&#039;Overview&#039;&#039;&#039; section of the &#039;&#039;&#039;Global actions&#039;&#039;&#039; menu.&lt;br /&gt;
# The menu item &#039;&#039;&#039;New process&#039;&#039;&#039; of the &#039;&#039;&#039;plus-icon&#039;&#039;&#039; button  in the header bar.&lt;br /&gt;
&lt;br /&gt;
Select one of these links to open the BPMN editor.&lt;br /&gt;
&lt;br /&gt;
== Creating a diagram ==&lt;br /&gt;
{{Textbox|boxtype=note|header=Note:|text=All process pages are created in the BlueSpice default namespace &#039;&#039;&#039;Process&#039;&#039;&#039;.|icon=yes}}&lt;br /&gt;
To [[Manual:Create|create]] the diagram:&lt;br /&gt;
&lt;br /&gt;
#&#039;&#039;&#039;Enter&#039;&#039;&#039; a process name.[[File:CPD new process.png|alt=Dialog with process name Post-sales.|center|thumb|350x350px|New process dialog.]]&lt;br /&gt;
#&#039;&#039;&#039;Click&#039;&#039;&#039; &#039;&#039;Done&#039;&#039;. The BPMN editor opens. At this point, the diagram contains a start event.  You cannot save the diagram until the diagram meets the minimum requirements for saving. &lt;br /&gt;
Before continuing with the diagram, let&#039;s look at the functionality of the BPMN editor.&lt;br /&gt;
&lt;br /&gt;
== Features of the editor ==&lt;br /&gt;
The editor includes the following elements:&lt;br /&gt;
[[File:CPD editor.png|alt=7 highlighted user interface elements of the editor|center|thumb|750x750px|The BPMN editor]]&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&lt;br /&gt;
|+Functionality of the BPMN editor&lt;br /&gt;
!Element&lt;br /&gt;
!Functionality&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Cancel&lt;br /&gt;
|Leaves the edit mode without saving any changes.&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Center diagram&lt;br /&gt;
|Centers the diagram on the page in view mode.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Save changes&lt;br /&gt;
|Saves the diagram and any [[wiki pages]] that need to be created.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Toolbar&lt;br /&gt;
|Contains all commands for editing a diagram.&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|Start event&lt;br /&gt;
|The start event is already added to the diagram. You still need to add the required label.&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|Toggle linting overlays&lt;br /&gt;
|Shows errors and warnings. You need to click this button if your diagram cannot be saved.&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|bpmn.io info&lt;br /&gt;
|Link to the bpmn.io website. Unless you are interested in the technical background of the editor, you can ignore this button.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Adding the diagram shapes==&lt;br /&gt;
Each diagram needs a start event and an end event. There are many additional useful elements to create a meaningful business process diagram.  &lt;br /&gt;
&lt;br /&gt;
The main elements of a BPMN diagram are:  &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;events&#039;&#039;&#039; (such as the start or end event),&lt;br /&gt;
* &#039;&#039;&#039;activities&#039;&#039;&#039; (mainly different types of tasks), and&lt;br /&gt;
* &#039;&#039;&#039;gateways&#039;&#039;&#039; (decision points between different paths).&lt;br /&gt;
{{Textbox|boxtype=important|header=Info about the shapes:|text=If you are not familiar with BPMN, you can refer to the [https://camunda.com/bpmn/reference/ Camunda BPMN 2.0 Symbol Reference]. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that not all symbols are integrated in the BlueSpice BPMN editor. For example, it is not possible to add sub-processes at this time.|icon=yes}} &lt;br /&gt;
&lt;br /&gt;
The most basic diagram you can save has a start event with a label and a connected end event with a label. &lt;br /&gt;
[[File:cpd most basic diagram.png|alt=Diagram with a labelled start event connected to a labelled end event|center|thumb|200x200px|this diagram can be saved]] &lt;br /&gt;
&lt;br /&gt;
To add a shape, click the predecessor shape. Select a symbol to append the next shape.  &lt;br /&gt;
 &lt;br /&gt;
[[File:CPD editor appending shapes.png|alt=selected exclusive gateway that is actively appending a new task|center|thumb|450x450px|appending a shape]]&lt;br /&gt;
&lt;br /&gt;
{{Textbox|boxtype=note|header=Note|text=A diagram with at least a missing label will throw an error and the Save-button will remain disabled.|icon=yes}}&lt;br /&gt;
=== Types of shapes ===&lt;br /&gt;
From the toolbar, you can drag-and-drop the shapes onto the diagram. You can see the name of a shape by hovering over it:&lt;br /&gt;
[[File:cpd toolbar shapes.png|alt=BPMN shapes toolbar|center|thumb|349x349px|available shapes]]&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&lt;br /&gt;
|+Shapes overview&lt;br /&gt;
!Shape&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Start event&lt;br /&gt;
|Acts as a process trigger; indicated by a single narrow border, and can only be &#039;&#039;Catch&#039;&#039;, so is shown with an open (outline) icon.&lt;br /&gt;
Note: An Event is represented with a circle and denotes something that &#039;&#039;happens&#039;&#039; (compared with an activity, which is something that is &#039;&#039;done&#039;&#039;). Icons within the circle denote the type of event (e.g., an envelope representing a message, or a clock representing time). Events are also classified as &#039;&#039;&#039;Catching&#039;&#039;&#039; (for example, if catching an incoming message starts a process) or &#039;&#039;&#039;Throwing&#039;&#039;&#039; (such as throwing a completion message when a process ends).&lt;br /&gt;
|-&lt;br /&gt;
|Immediate/boundary event&lt;br /&gt;
|An event that occurs in the middle of the process between activities  &#039;&#039;(represented by a thin double line)&#039;&#039;. For example, a task could flow to an event that throws a message across to another pool, where a subsequent event waits to catch the response before continuing.&lt;br /&gt;
|-&lt;br /&gt;
|End event&lt;br /&gt;
|Represents the result of a process; indicated by a single thick or bold border, and can only &#039;&#039;Throw&#039;&#039;, so is shown with a solid icon.&lt;br /&gt;
|-&lt;br /&gt;
|Gateway&lt;br /&gt;
|A gateway is represented with a diamond shape and determines forking and merging of paths, depending on the conditions expressed.&lt;br /&gt;
|-&lt;br /&gt;
|Task&lt;br /&gt;
|A task represents a single unit of work that is not or cannot be broken down to a further level of business process detail. It is referred to as an atomic activity. A task is the lowest level activity illustrated on a process diagram. A set of tasks may represent a high-level procedure.&lt;br /&gt;
|-&lt;br /&gt;
|Data object reference&lt;br /&gt;
|Data objects may represent for example documents used in a process, both in physical and digital form. They look like a page with folded top right corner.&lt;br /&gt;
They are generally available as long as the process instance is live.&lt;br /&gt;
|-&lt;br /&gt;
|Data store reference&lt;br /&gt;
|To store information in a more permanent way you need Data Stores.&lt;br /&gt;
They are commonly used to represent IT systems and applications, but also plain old manila folders or archive would be suitable.&lt;br /&gt;
&lt;br /&gt;
You can show how certain steps of a process use the data (either Data Objects or Data Stores) by using a Data Association arrow (dotted line with arrowhead). They are NOT a part of the process flow.&lt;br /&gt;
|-&lt;br /&gt;
|Pool / participant&lt;br /&gt;
|A pool represents major participants in a process, typically separating different organisations. A pool contains one or more lanes (like a real swimming pool). A pool can be open (i.e., showing internal detail) when it is depicted as a large rectangle showing one or more lanes, or collapsed (i.e., hiding internal detail) when it is depicted as an empty rectangle stretching the width or height of the diagram.&lt;br /&gt;
|-&lt;br /&gt;
|Group&lt;br /&gt;
|A Group is a so-called Artifact and represented with a rounded-corner rectangle and dashed lines. The group is used to group different activities but does not affect the flow in the diagram. It is purely a visual element.&lt;br /&gt;
|}&lt;br /&gt;
​&lt;br /&gt;
&lt;br /&gt;
​See also: [[wikipedia:Business_Process_Model_and_Notation#Elements|https://en.wikipedia.org/wiki/Business&#039;&#039;Process_Model_and_Notation#Elements&#039;&#039;]] &lt;br /&gt;
&lt;br /&gt;
=== Shape actions ===&lt;br /&gt;
​When a shape is active, it shows its associated possible commands. &lt;br /&gt;
[[File:cpd shape actions.png|alt=active email task with its command symbols visible|center|thumb|200x200px|shape commands]]&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Shape actions&lt;br /&gt;
!Action&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Append end event&lt;br /&gt;
|Adds an end event  with a connector after the shape.&lt;br /&gt;
|-&lt;br /&gt;
|Append gateway&lt;br /&gt;
|Adds a gateway with a connector after the shape.&lt;br /&gt;
|-&lt;br /&gt;
|Append task&lt;br /&gt;
|Adds a task with a connector after the shape.&lt;br /&gt;
|-&lt;br /&gt;
|Append intermediate/boundary event&lt;br /&gt;
|Adds an intermediate/boundary event with a connector after the shape.&lt;br /&gt;
|-&lt;br /&gt;
|Add text annotation&lt;br /&gt;
|Adds an annotation to the shape.  The annotation line and bounding box can be resized and repositioned.&lt;br /&gt;
|-&lt;br /&gt;
|Change element&lt;br /&gt;
|Allows to set a more specific shape type.&lt;br /&gt;
|-&lt;br /&gt;
|Delete&lt;br /&gt;
|Deletes the shape.&lt;br /&gt;
|-&lt;br /&gt;
|Set color&lt;br /&gt;
|Sets the fill color of the shape. For line objects, the outline is colored. &lt;br /&gt;
|-&lt;br /&gt;
|Connect to other element&lt;br /&gt;
|Adds a connector to an existing shape. It cannot be used if no endpoint for the connection exists.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Toolbar ===&lt;br /&gt;
From the toolbar, you can drag-and-drop the shapes onto the diagram.  You can see the name of a tool by hovering over it:&lt;br /&gt;
[[File:cpd toolbar tools.png|alt=Selected hand tool with the action information displayed|center|thumb|160x160px|available tools]]&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Tools overview&lt;br /&gt;
!Tool&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|Hand tool&lt;br /&gt;
|When activated, tyou can freely navigate the canvas without accidently moving elements under the cursor.&lt;br /&gt;
|-&lt;br /&gt;
|Lasso tool&lt;br /&gt;
|When activated, you can select multiple shapes at the same time. Objects are only included in the selection if the entire object is part of the selection. Hold the &amp;lt;code&amp;gt;Shift&amp;lt;/code&amp;gt;-key to add or remove individal objects.&lt;br /&gt;
|-&lt;br /&gt;
|Create/remove space tool&lt;br /&gt;
|When activated, you can add or remove space horizontally or vertically.&lt;br /&gt;
If the results of the actions are not as intended, you can press &amp;lt;code&amp;gt;Ctrl&amp;lt;/code&amp;gt;+&amp;lt;code&amp;gt;Z&amp;lt;/code&amp;gt; multiple times to undo the changes.&lt;br /&gt;
|-&lt;br /&gt;
|Global connect tool&lt;br /&gt;
|When activated, you can connect a shape with a distant shape. The tool does not stay activated. If you want to use it again, you need to select it again.&lt;br /&gt;
|}&lt;br /&gt;
== Saving the diagram ==&lt;br /&gt;
{{Textbox|boxtype=important|header=Important|text=All diagrams are saved and maintained in the &amp;quot;Process&amp;quot; namespace. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
You can  [[#Embedding_a_process_diagram_in_a_wiki_page|embed a diagram in any wiki page.]]|icon=yes}}&lt;br /&gt;
When your diagram is complete, you can save it.  You cannot save if one or more of the following issues exist:&lt;br /&gt;
&lt;br /&gt;
* Not every shape has a label&lt;br /&gt;
* The start or end event is missing&lt;br /&gt;
&lt;br /&gt;
To find the issues, click on the linting button at the bottom of the diagram. It will highlight the problems in the diagram. For example, a missing end event can trigger multiple errors:&lt;br /&gt;
[[File:CPD errors.png|alt=error messages caused by a missing end event|center|thumb|650x650px|errors before saving]]&lt;br /&gt;
After correcting the errors, you can save the diagram. The save-dialog will ask if you want to create all description pages. You do not have to do this or you can do this at a later time. &lt;br /&gt;
&lt;br /&gt;
=== Unique label requirements ===&lt;br /&gt;
The label of an event or a task is used to create its description pages. Therefore, each of these shapes requires a unique label. &lt;br /&gt;
&lt;br /&gt;
=== Unique label requirements for gateways{{Bsvs|bsvTo=5.1.1}} ===&lt;br /&gt;
Starting with Bluespice 5.1.1, this requirement is not applied to gateways and in general to shapes that do not produce wiki pages. Therefore, it is possible to use yes/no gateway labels multiple times in a diagram.&lt;br /&gt;
&lt;br /&gt;
== Renaming a shape ==&lt;br /&gt;
To rename the label for a shape, double-click the shape and change the label. If a shape with the same name already exists, the system automatically creates a unique name for the shape by appending a number. When you rename a shape, the associated page is also renamed (if the page already existed previously). &lt;br /&gt;
&lt;br /&gt;
== Creating the wiki pages ==&lt;br /&gt;
If you decide to describe your shapes in more detail with individual wiki pages, you need to activate the checkbox in the save dialog:&lt;br /&gt;
[[File:CPD save description pages.png|alt=save dialog with checkbox for description pages checked|center|thumb|380x380px|creating description pages]]&lt;br /&gt;
The next dialog lists all pages that were created.&lt;br /&gt;
[[File:CPD list of description pages.png|alt=list of description pages|center|thumb|400x400px|confirmation page]]&lt;br /&gt;
{{Textbox|boxtype=important|header=Important!|text=Description pages are only created for start and end events and for the different &amp;quot;task&amp;quot;  types (e.g., User task, Script task,...). The type &amp;quot;Call activity&amp;quot; (also listed under task types) does not produce a description page.|icon=yes}} &lt;br /&gt;
The colored outlines of the shapes of the diagram now indicate that the shapes are interactive and link to the  description pages: &lt;br /&gt;
[[File:CPD interactive diagram.png|alt=finished diagram of post-sales process in view mode|center|thumb|650x650px|interactive diagram]]&lt;br /&gt;
Clicking on any such shape opens its wiki page:&lt;br /&gt;
[[File:CPD shape description page.png|alt=wiki page for the shape &amp;quot;send training info&amp;quot; with highlighted page elements|center|thumb|650x650px|elements of a shape description page]]&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&lt;br /&gt;
|+Elements of a description page&lt;br /&gt;
!Element&lt;br /&gt;
!Functionality&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Breadcrumb&lt;br /&gt;
|Shows the location path of the description page (as [[Manual:Subpage|subpage]] of the process page).&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Incoming connections&lt;br /&gt;
|Label for the connections that precede this step.&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|Outgoing connections&lt;br /&gt;
|Label for the connections that follow this step.&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Page flow&lt;br /&gt;
|Links to the preceding and succeeding description pages.&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|BPMN task description&lt;br /&gt;
|Placeholder template that indicates that a custom description can be added below the connections info. To replace the template with a real description, you can simply switch into page editing mode like any other wiki page. If you add content to this page, the placeholder template is no longer needed and you can simply remove it from the page.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Embedding a process diagram in a wiki page ==&lt;br /&gt;
BPMN diagrams cannot be created on a wiki page itself, but you can embed a diagram by using the related [[Manual:Extension/ContentDroplets|Content droplet]].&lt;br /&gt;
&lt;br /&gt;
On any wiki page, open the Content droplets dialog in the visual editor toolbar. &lt;br /&gt;
[[File:VE droplets menu icon.png|alt=partial visual editor with highlighted droplet icon|center|thumb|200x200px|Content droplets menu item]]&lt;br /&gt;
&lt;br /&gt;
​[[Search]] for the term &amp;quot;process&amp;quot;:&lt;br /&gt;
[[File:CPD droplet.png|alt=content droplets dialog showing the filtered result for the Process droplet|center|thumb|650x650px|content droplet &amp;quot;Process&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
​Select the droplet and click &#039;&#039;Insert&#039;&#039;. Provide the name of the process and click &#039;&#039;Save&#039;&#039;:&lt;br /&gt;
[[File:PDC droplet inspector.png|alt=selected process &amp;quot;Post-sales&amp;quot; in the inspector dialog|center|thumb|300x300px|droplet inspector]]&lt;br /&gt;
If the toggle-switch to show the toolbar is activated, a select menu above the diagram is displayed. It allows to:&lt;br /&gt;
&lt;br /&gt;
[[File:cpd toolbar.png|alt=opened BPMN menu with 5 menu options|center|thumb|208x208px|BPMN toolbar]]&lt;br /&gt;
* &#039;&#039;&#039;Go to the diagram page:&#039;&#039;&#039; The diagram can only be edited directly in the process namespace.&lt;br /&gt;
* &#039;&#039;&#039;Download diagram as SVG:&#039;&#039;&#039; You can save a copy of the diagram locally in SVG-format.&lt;br /&gt;
* &#039;&#039;&#039;Center diagram:&#039;&#039;&#039; If you have a large diagram that requires repositioning on the page while viewing it, it can be reset to show the beginning of the diagram from top left again. &lt;br /&gt;
* &#039;&#039;&#039;Show raw XML:&#039;&#039;&#039; Switches to the XML source of the diagram.&lt;br /&gt;
* &#039;&#039;&#039;Show diagram:&#039;&#039;&#039; Switches back to the diagram after viewing the raw XML.&lt;br /&gt;
&lt;br /&gt;
== Special considerations ==&lt;br /&gt;
&lt;br /&gt;
* Page names of process pages:&lt;br /&gt;
** The length of page titles for wiki pages is limited to approximately 255 characters. In extreme cases, this can cause a memory error when creating activity pages. For example, if the process name itself is very long and an activity with a long name is located in a swim lane with a long name.&lt;br /&gt;
** Slashes in activity names are not permitted, as they are used to create the subpage path.&lt;br /&gt;
* Expandable sub-processes are not possible (although a call activity can be created).&lt;br /&gt;
* Wiki pages are only created for the standard activity. When switching to a special activity (e.g., a manual activity), no page is created.&lt;br /&gt;
&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=Templates_download&amp;diff=14372</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=14372"/>
		<updated>2026-06-30T14:53:48Z</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/Profile Gallery|Profile Gallery]]==&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-Profilegallery.png|800x800px|alt=Gallery with 5 profile images|link=Templates download/Profile Gallery]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;text&amp;quot;&amp;gt;[[Templates download/Profile Gallery|Department-based profile pictures]] (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/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, SMW)&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=Manual:Login&amp;diff=14371</id>
		<title>Manual:Login</title>
		<link rel="alternate" type="text/html" href="https://en.wiki.bluespice.com/w/index.php?title=Manual:Login&amp;diff=14371"/>
		<updated>2026-06-30T12:18:17Z</updated>

		<summary type="html">&lt;p&gt;Bhuber: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Login==&lt;br /&gt;
While public wikis usually don&#039;t require you to log in to read their content, most company wikis are log-in based, especially if you want to contribute articles. Unless your wiki has a comfort-sign on solution installed, you will see a login screen before you can access the wiki.&lt;br /&gt;
&lt;br /&gt;
When logging in for the first time, you usually have to change your password and [[Manual:Extension/BlueSpicePrivacy|confirm the privacy policy and the terms of use]] .&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[File:Manual:BlueSpice_Login_Screen_en.png|center|450x258px|A typical BlueSpice Login screen|border]]&lt;br /&gt;
&amp;lt;br /&amp;gt;By the way: if you want to stay logged in for a while, just check the box &#039;&#039;Keep me logged in&#039;&#039;. That way you don&#039;t need to re-enter your data every time you visit the wiki. Your login is stored in a browser cookie on your system. If you delete your browser cookies, you have to provide your login information next time you want to use the wiki.&lt;br /&gt;
&lt;br /&gt;
== After logging in ==&lt;br /&gt;
Once you&#039;re logged in, you can access the wiki pages. Ideally, the wiki administrators have granted you editing rights, so you can start working on the wiki content right away. You&#039;ll learn [[Manual:Create pages|how to create pages]] in the next chapter.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[en:{{FULLPAGENAME}}]]&lt;br /&gt;
[[de:Login]]&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=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>
</feed>