<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://open-csp.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=E00a555c-1e5d-4eb3-b26b-5be8dc16c657</id>
	<title>CSP Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://open-csp.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=E00a555c-1e5d-4eb3-b26b-5be8dc16c657"/>
	<link rel="alternate" type="text/html" href="https://open-csp.org/Special:Contributions/E00a555c-1e5d-4eb3-b26b-5be8dc16c657"/>
	<updated>2026-04-29T15:23:25Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://open-csp.org/index.php?title=MediaWiki:Ws-navmenu&amp;diff=2302</id>
		<title>MediaWiki:Ws-navmenu</title>
		<link rel="alternate" type="text/html" href="https://open-csp.org/index.php?title=MediaWiki:Ws-navmenu&amp;diff=2302"/>
		<updated>2023-02-10T14:50:25Z</updated>

		<summary type="html">&lt;p&gt;E00a555c-1e5d-4eb3-b26b-5be8dc16c657: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{WSNavMenu | Input={{int:mainpage}}*{{Fa|home}} Home&lt;br /&gt;
&lt;br /&gt;
Questions-and-answers*Q &amp;amp; A&lt;br /&gt;
&lt;br /&gt;
Documentation&lt;br /&gt;
Search-documentation*Search&lt;br /&gt;
DevOps:Doc/FlexForm*FlexForm&lt;br /&gt;
DevOps:Doc/PageSync*PageSync&lt;br /&gt;
{{#ifingroup:moderator,sysop |&lt;br /&gt;
{{fullurl:DevOps:Page/4 |subject={{#show: {{FULLPAGENAME}} |?Doc subject |link=none}}&amp;amp;version={{#show: {{FULLPAGENAME}} |?Subject version |link=none}} }}*New doc page*Href&lt;br /&gt;
{{fullurl:DevOps:Page/4 |subject={{#show: {{FULLPAGENAME}} |?Doc subject |link=none}}&amp;amp;page={{FULLPAGENAME}} }}*New version*Href&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{#ifingroup:moderator,sysop |&lt;br /&gt;
{{Fa|cogs}} Spaces&lt;br /&gt;
Special:AddSpace*Add a Space&lt;br /&gt;
Special:ActiveSpaces*Manage Active Spaces&lt;br /&gt;
Special:ArchivedSpaces*Manage Archived Spaces&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{#ifingroup:moderator,sysop |&lt;br /&gt;
Pages&lt;br /&gt;
Pages*All pages&lt;br /&gt;
New page*New page&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{#ifingroup:sysop |{{Fa|lock}} Tools&lt;br /&gt;
MediaWiki:Ws-navmenu*NavMenu&lt;br /&gt;
MediaWiki:Ws-header*Header&lt;br /&gt;
MediaWiki:Ws-sub-header*Sub-header&lt;br /&gt;
MediaWiki:Ws-footer*Footer&lt;br /&gt;
Wiki:page-types*Page types&lt;br /&gt;
Wiki:Wiki pages*Wiki pages&lt;br /&gt;
{{fullurl:Wiki:Slots/OpenCSP |page={{FULLPAGENAME}} }}*Slots*Href&lt;br /&gt;
File:Logo.png*Logo&lt;br /&gt;
Mediawiki:Common.css*Common.css&lt;br /&gt;
Mediawiki:Common.js*Common.js&lt;br /&gt;
Wiki:Application pages*Application pages&lt;br /&gt;
{{fullurl:Wiki:Application pages |newpagetitle={{FULLPAGENAME}} }}*Make application page*Href&lt;br /&gt;
}}&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>E00a555c-1e5d-4eb3-b26b-5be8dc16c657</name></author>
	</entry>
	<entry>
		<id>https://open-csp.org/index.php?title=Template:Doc_sidebar&amp;diff=2101</id>
		<title>Template:Doc sidebar</title>
		<link rel="alternate" type="text/html" href="https://open-csp.org/index.php?title=Template:Doc_sidebar&amp;diff=2101"/>
		<updated>2023-01-04T14:31:35Z</updated>

		<summary type="html">&lt;p&gt;E00a555c-1e5d-4eb3-b26b-5be8dc16c657: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is the &#039;&#039;&#039;Doc sidebar&#039;&#039;&#039; template. It should be called in the following format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{{Doc sidebar}}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&amp;lt;includeonly&amp;gt;&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#vardefine:@allow sidebar edit |{{#ifingroup:user |{{#if:{{#urlget:veaction}}{{#urlget:action}}||yes}} }} }}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#vardefine:@logo |File:{{#show:{{#caprint:$class[Doc properties][Doc subject]}}|?Title}}_logo.png }}&amp;lt;!-- &lt;br /&gt;
--&amp;gt;{{#cadefine:@available-versions|{{#ask: [[Doc subject::{{#caprint:$class[Doc properties][Doc subject]}}]] [[Title::{{#caprint:$base[Base properties][Title]}}]] |?Subject version= |mainlabel=- | searchlabel= }}|,|noparse}}&amp;lt;!-- &lt;br /&gt;
 --&amp;gt;{{#vardefine:@valid-selected-version|{{#if: {{#casearch:@available-versions|{{#urlget:selected-version|999}} }}|{{#urlget:selected-version}}|}} }} &amp;lt;!-- &lt;br /&gt;
 --&amp;gt;{{#vardefine:@selected-version|{{#if: {{#var:@valid-selected-version}} | {{#var:@valid-selected-version}} | {{#casort:@available-versions|rsort}}{{#caprint:@available-versions[0]}} }} }}&amp;lt;!-- &lt;br /&gt;
 --&amp;gt;{{#vardefine:@shown-version|{{#cadefine:@my-versions|{{#caprint:$class[Doc properties][Subject version]}}|,|noparse}}{{#if: {{#casearch:@my-versions|{{#var:@selected-version}} }}|{{#var:@selected-version}}|{{#casort:@my-versions|rsort}}{{#caprint:@my-versions[0]}} }} }}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&amp;lt;div class=&amp;quot;tab-content&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;card tab-pane fade show active&amp;quot; id=&amp;quot;sidebar-view&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;card-header&amp;quot;&amp;gt;{{#ifeq:{{#var:@allow sidebar edit}} |yes |&amp;lt;span class=&amp;quot;float-right&amp;quot;&amp;gt;{{#widget:Button link  |class=btn btn-secondary btn-sm |buttontext=Edit |onclick=ShowTab(&#039;#sidebar-edit&#039;) }}&amp;lt;/span&amp;gt;}}&lt;br /&gt;
&amp;lt;p class=&amp;quot;m-0&amp;quot;&amp;gt;&amp;lt;i class=&amp;quot;far fa-file&amp;quot;&amp;gt;&amp;lt;/i&amp;gt; &amp;lt;span class=&amp;quot;lead&amp;quot;&amp;gt;{{#caprint:$base[Base properties][Title]}}&amp;lt;/span&amp;gt; &amp;lt;span class=&amp;quot;badge badge-info small&amp;quot;&amp;gt;{{PAGESIZE:{{FULLPAGENAME}}}} bytes&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;&amp;lt;i class=&amp;quot;fas fa-info-circle&amp;quot;&amp;gt;&amp;lt;/i&amp;gt; &amp;lt;span class=&amp;quot;text-muted font-weight-light small&amp;quot;&amp;gt;{{#caprint:$class[Doc properties][Doc synopsis]}}&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;{{#ifeq:{{#var:@allow sidebar edit}} |yes |&amp;lt;_form action=&amp;quot;addToWiki&amp;quot; class=&amp;quot;text-center&amp;quot; setwikicomment=&amp;quot;Uploaded using the screenshot options&amp;quot; messageonsuccess=&amp;quot;Screenshot can be located in your contributions list&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;_input type=&amp;quot;file&amp;quot; presentor=&amp;quot;canvas&amp;quot; id=&amp;quot;canvasUpload&amp;quot; target=&amp;quot;screenshot-{{FULLPAGENAME}}.jpg&amp;quot; pagecontent=&amp;quot;testing&amp;quot; parsecontent canvas_source_id=&amp;quot;content&amp;quot;  /&amp;gt;&lt;br /&gt;
&amp;lt;_input type=&amp;quot;button&amp;quot; buttontype=&amp;quot;submit&amp;quot; html=&amp;quot;all&amp;quot; class=&amp;quot;btn btn-light&amp;quot;&amp;gt;&amp;lt;i class=&amp;quot;fas fa-camera-retro&amp;quot;&amp;gt;&amp;lt;/i&amp;gt; Screenshot&amp;lt;/_input&amp;gt;&amp;lt;/_form&amp;gt;}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;!-- end of .card-header --&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;card-body&amp;quot;&amp;gt;{{#ifexist:{{#var:@logo}}|[[{{#var:@logo}}|150px]]}}&lt;br /&gt;
  {{#if: {{#caprint:$class[Doc properties][Subject version]}} | {{Sidebar item&lt;br /&gt;
|Label=[[{{#caprint:$class[Doc properties][Doc subject]}}]]&lt;br /&gt;
| Value={{#ifeq: {{#var:@selected-version}}|{{#var:@shown-version}}|Version {{#var:@shown-version}}|This page is for version {{#var:@shown-version}}&amp;lt;br&amp;gt;[{{fullurl:{{#ask: [[Doc subject::{{#caprint:$class[Doc properties][Doc subject]}}]] [[Title::{{#caprint:$base[Base properties][Title]}}]] [[Subject version::{{#var:@selected-version}}]] |link=none |mainlabel= |limit=1 | searchlabel= }} |selected-version={{#var:@selected-version}} }} Go to {{#var:@selected-version}}] }} }}{{Sidebar item&lt;br /&gt;
|Label=[[{{#caprint:$class[Doc properties][Doc subject]}}]]&lt;br /&gt;
}} }}{{Sidebar item&lt;br /&gt;
  |Value=&amp;lt;b&amp;gt;Target audience&amp;lt;/b&amp;gt;: {{#caprint:$class[Doc properties][Doc target group]}}&lt;br /&gt;
}}{{Sidebar item&lt;br /&gt;
  |Value=&amp;lt;span class=&amp;quot;btn btn-light&amp;quot;&amp;gt;[https://open-csp.org/Search-documentation?order=desc&amp;amp;ordertype=Modification+date&amp;amp;filters=Doc+subject^^{{PAGENAME:{{#caprint:$class[Doc properties][Doc subject]}}}} Search Docs]&amp;lt;/span&amp;gt;}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;!-- end of .card-body --&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;!-- end of .card &lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#ifeq:{{#var:@allow sidebar edit}} |yes |&amp;lt;wsform action=&amp;quot;addToWiki&amp;quot; class=&amp;quot;tab-pane fade&amp;quot; id=&amp;quot;sidebar-edit&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;card&amp;quot;&amp;gt;&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
// wsedits for base properties&lt;br /&gt;
--&amp;gt;{{#tag:wsedit ||target={{PAGEID}} |template=Base properties |formfield=Title |mwslot=ws-base-props}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
// wscreate or wsedits for page properties&lt;br /&gt;
// use casize to check if the slot already exists. Then wsedit, else wscreate.&lt;br /&gt;
--&amp;gt;{{#if:{{#casize:$class}}&lt;br /&gt;
|{{#tag:wsedit ||target={{PAGEID}} |template=Doc properties |formfield=Doc synopsis|mwslot=ws-class-props}}&lt;br /&gt;
{{#tag:wsedit ||target={{PAGEID}} |template=Doc properties |formfield=Doc subject |mwslot=ws-class-props}}&lt;br /&gt;
{{#tag:wsedit ||target={{PAGEID}} |template=Doc properties |formfield=Doc parent |mwslot=ws-class-props}}&lt;br /&gt;
{{#tag:wsedit ||target={{PAGEID}} |template=Doc properties |formfield=Doc sort order |mwslot=ws-class-props}}&lt;br /&gt;
{{#tag:wsedit ||target={{PAGEID}} |template=Doc properties |formfield=Doc target group |mwslot=ws-class-props}}&lt;br /&gt;
{{#tag:wsedit ||target={{PAGEID}} |template=Doc properties |formfield=Subject version |mwslot=ws-class-props}}&lt;br /&gt;
|&amp;lt;wscreate mwwrite=&amp;quot;{{FULLPAGENAME}}&amp;quot; mwtemplate=&amp;quot;Doc properties&amp;quot; mwslot=&amp;quot;ws-class-props&amp;quot; mwfields=&amp;quot;Doc synopsis,Doc subject,Doc parent,Doc sort order,Doc target group,Subject version&amp;quot; /&amp;gt;&lt;br /&gt;
}}&amp;lt;!-- end of #if  --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;card-header&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;float:right&amp;quot;&amp;gt;{{#widget:Button link  |class=btn btn-secondary |buttontext=Close |onclick=ShowTab(&#039;#sidebar-view&#039;) }}&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;b class=&amp;quot;d-block&amp;quot;&amp;gt;{{#caprint:$base[Base properties][Class]}}&amp;lt;/b&amp;gt;&lt;br /&gt;
{{#caprint:$base[Base properties][Title]}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;!-- end of .card-header --&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;card-body&amp;quot;&amp;gt;&lt;br /&gt;
{{Sidebar item&lt;br /&gt;
|Label=Title&lt;br /&gt;
|Value={{#tag:wsfield ||type=text |name=Title |required=required |class=form-control |value={{#caprint:$base[Base properties][Title]}} }}&lt;br /&gt;
}}&lt;br /&gt;
{{Sidebar item&lt;br /&gt;
|Label=Doc synopsis&lt;br /&gt;
|Value={{#tag:wsfield ||type=text |name=Doc synopsis|required=required |class=form-control |value={{#caprint:$class[Doc properties][Doc synopsis]}} }}&lt;br /&gt;
}}&lt;br /&gt;
{{Sidebar item&lt;br /&gt;
|Label=Doc subject&lt;br /&gt;
|Value={{#tag:wsfield ||type=text |name=Doc subject |required=required |class=form-control |value={{#caprint:$class[Doc properties][Doc subject]}} }}&lt;br /&gt;
}}&lt;br /&gt;
{{Sidebar item&lt;br /&gt;
|Label=Subject version&lt;br /&gt;
|Value={{#tag:wsfield ||type=text |name=Subject version |class=form-control |value={{#caprint:$class[Doc properties][Subject version]}} }}&lt;br /&gt;
}}&lt;br /&gt;
{{Sidebar item&lt;br /&gt;
|Label=Doc parent&lt;br /&gt;
|Value={{#tag:wstoken &lt;br /&gt;
  |{{#caamap:{{#caprint:$class[Doc properties][Doc parent]}} |,|__Value__|{{#tag:wsfield |{{#show:__Value__ |?Title}}|type=option|value=__Value__|selected=selected}} |}}&lt;br /&gt;
  |id=Doc-parent-tokens&lt;br /&gt;
  |name=Doc parent[]&lt;br /&gt;
  |placeholder=Search...&lt;br /&gt;
  |multiple=&lt;br /&gt;
  |query=[[Class::+]][[Doc title with versions::!!!]](limit=99999)(returntext=Doc title with versions)&lt;br /&gt;
  }}&lt;br /&gt;
}}&lt;br /&gt;
{{Sidebar item&lt;br /&gt;
|Label=Doc sort order&lt;br /&gt;
|Value={{#tag:wsfield ||type=number |name=Doc sort order |required=required |class=form-control |value={{#caprint:$class[Doc properties][Doc sort order]}} }}&lt;br /&gt;
}}&lt;br /&gt;
{{Sidebar item&lt;br /&gt;
|Label=Doc target group&lt;br /&gt;
|Value={{#cadefine:$value settings |{{Wiki:Setting/Doc target group}} }}&lt;br /&gt;
{{#cadefine:$values selected |{{#caprint:$class[Doc properties][Doc target group]}} }}&lt;br /&gt;
{{#camerge:$value options |$value settings |$values selected }}&lt;br /&gt;
{{#caunique:$value options}}&lt;br /&gt;
{{#tag:wsselect&lt;br /&gt;
  |{{#camap:$value options |__Value__|{{#tag:wsfield|__Value__|type=option|value=__Value__|selected={{#if:{{#casearch:$values selected|__Value__}}|selected}} }} |}}&lt;br /&gt;
  |name=Doc target group |required=required |class=form-control |id=doc_target_group-field |placeholder=select a value &lt;br /&gt;
}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;text-right&amp;quot;&amp;gt;&lt;br /&gt;
{{#widget:Button link  |class=btn btn-secondary |buttontext=Close |onclick=ShowTab(&#039;#sidebar-view&#039;) }}&lt;br /&gt;
&amp;lt;wsfield type=&amp;quot;submit&amp;quot; value=&amp;quot;Save&amp;quot; class=&amp;quot;btn btn-primary&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;!-- end of .card-body --&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;!-- end of .card --&amp;gt;&lt;br /&gt;
&amp;lt;/wsform&amp;gt;|}}&amp;lt;!-- end of #ifeq @allow sidebar edit == yes --&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;!-- end of .tab-content &lt;br /&gt;
--&amp;gt;&amp;lt;div class=&amp;quot;treeview w-20 border&amp;quot;&amp;gt;&amp;lt;h6 class=&amp;quot;pt-3 pl-3&amp;quot;&amp;gt;Related documents for version {{#var:@shown-version}}&amp;lt;/h6&amp;gt;&amp;lt;hr&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{#caprint:$class[Doc properties][Doc subject]}}|{{#ask:[[Doc subject::{{#caprint:$class[Doc properties][Doc subject]}}]][[!{{#caprint:$class[Doc properties][Doc subject]}}]] [[Subject version::{{#var:@shown-version}} ]]&lt;br /&gt;
|?=Page&lt;br /&gt;
|?Title&lt;br /&gt;
|link=none&lt;br /&gt;
|limit=1000&lt;br /&gt;
|format=tree&lt;br /&gt;
|template=tree&lt;br /&gt;
|parent=Doc parent&lt;br /&gt;
|order=desc,asc,asc&lt;br /&gt;
|sort=Doc target group,Doc sort order,Title&lt;br /&gt;
}} }}&amp;lt;/div&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>E00a555c-1e5d-4eb3-b26b-5be8dc16c657</name></author>
	</entry>
	<entry>
		<id>https://open-csp.org/index.php?title=DevOps:Doc/FlexForm/2.0/validated-forms&amp;diff=2099</id>
		<title>DevOps:Doc/FlexForm/2.0/validated-forms</title>
		<link rel="alternate" type="text/html" href="https://open-csp.org/index.php?title=DevOps:Doc/FlexForm/2.0/validated-forms&amp;diff=2099"/>
		<updated>2023-01-04T14:26:44Z</updated>

		<summary type="html">&lt;p&gt;E00a555c-1e5d-4eb3-b26b-5be8dc16c657: User:E00a555c-1e5d-4eb3-b26b-5be8dc16c657&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;With version 2.0 of FlexForm comes the Validated Forms options&lt;br /&gt;
&lt;br /&gt;
==== Concept ====&lt;br /&gt;
When the FlexForm configuration setting &#039;&#039;&#039;renderonlyapprovedforms&#039;&#039;&#039; is set to &#039;&#039;&#039;true&#039;&#039;&#039;, then only Validated or approved Forms is turned on. This means that only people that are in a certain user group ( you can define the allowed user groups with the allowed &#039;&#039;&#039;allowedGroups )&#039;&#039;&#039; can actually create a new FlexForm or edit an existing FlexForm. A user outside the allowedGroups could create a new page with a FlexForm in its contents, but that Form will never be rendered as it is considered invalid or unapproved. An i18n message will be shown (default: FORM CANNOT BE RENDERED, NOT VALIDATED) or if you have set the FlexForm setting &#039;&#039;&#039;renderi18nErrorInsteadofImageForApprovedForms&#039;&#039;&#039; to false (defaults to false) you will see the image of a Form with a forbidden sign on it.&lt;br /&gt;
&lt;br /&gt;
==== Managing Forms ====&lt;br /&gt;
&lt;br /&gt;
====== A single page with an invalid FlexForm ======&lt;br /&gt;
If a user that is not in the &#039;&#039;&#039;allowedGroups&#039;&#039;&#039; user group creates a new page with a FlexForm in its contents, the Form will never be rendered as it is considered invalid. Another user that &#039;&#039;&#039;is&#039;&#039;&#039; part of the allowedGroups user group can visit the page with the invalid Form and edit the source to verify the Form is valid. Once that user saves the page, the FlexForm will become valid.&lt;br /&gt;
&lt;br /&gt;
====== Managing Validated Forms ======&lt;br /&gt;
FlexForm has a Special Page where you can see an overview of approved or validated FlexForm Forms. Go to the FlexForm Special Page and hover your mouse on the FlexForm logo on the left top. From the menu that pops-up choose Manage approved pages. This will give you a list of all validated/approved Forms and the page they are on. From that same list you can also remove the validations for forms on a page. This will not alter the content of that page or the Form itself, but will mark them as invalid.&lt;br /&gt;
&lt;br /&gt;
====== Managing unvalidated Forms ======&lt;br /&gt;
On that same page there is another list called Managing unvalidated Forms. This will show all FlexForm forms you have in your wiki. You can quickly validate a page with a Form on it from that list. You can also choose to validate all unvalidated Forms or only Forms that use the new 2.0 &#039;&#039;&#039;&amp;lt;nowiki&amp;gt;&amp;lt;form&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039; FlexForm tag.&lt;br /&gt;
&lt;br /&gt;
==== Migrating from FlexForm version 1.x to 2.0 ====&lt;br /&gt;
When you install FlexForm 2.0, by default all existing FlexForm Forms in your wiki will be invalid. To fix this, go to &#039;&#039;&#039;FlexForm&#039;s Special Page&#039;&#039;&#039;, hover over the logo on the left-top and choose &#039;&#039;&#039;Manage approved pages.&#039;&#039;&#039; On that page you will find a list/table of all your FlexForm forms in your wiki called &#039;&#039;&#039;Managing unvalidated Forms&#039;&#039;&#039;. At the bottom of that list there is an options called &#039;&#039;&#039;VALIDATE ALL&#039;&#039;&#039;. With that button you will instantly validate all FlexForm Forms in your wiki.&lt;/div&gt;</summary>
		<author><name>E00a555c-1e5d-4eb3-b26b-5be8dc16c657</name></author>
	</entry>
	<entry>
		<id>https://open-csp.org/index.php?title=DevOps:Doc/FlexForm/2.0/validated-forms&amp;diff=2098</id>
		<title>DevOps:Doc/FlexForm/2.0/validated-forms</title>
		<link rel="alternate" type="text/html" href="https://open-csp.org/index.php?title=DevOps:Doc/FlexForm/2.0/validated-forms&amp;diff=2098"/>
		<updated>2023-01-04T14:26:30Z</updated>

		<summary type="html">&lt;p&gt;E00a555c-1e5d-4eb3-b26b-5be8dc16c657: User:E00a555c-1e5d-4eb3-b26b-5be8dc16c657&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;With version 2.0 of FlexForm comes the Validated Forms options&lt;br /&gt;
&lt;br /&gt;
==== Concept ====&lt;br /&gt;
When the FlexForm configuration setting &#039;&#039;&#039;renderonlyapprovedforms&#039;&#039;&#039; is set to &#039;&#039;&#039;true&#039;&#039;&#039;, then only Validated or approved Forms is turned on. This means that only people that are in a certain user group ( you can define the allowed user groups with the allowed &#039;&#039;&#039;allowedGroups )&#039;&#039;&#039; can actually create a new FlexForm or edit an existing FlexForm. A user outside the allowedGroups could create a new page with a FlexForm in its contents, but that Form will never be rendered as it is considered invalid or unapproved. An i18n message will be shown (default: FORM CANNOT BE RENDERED, NOT VALIDATED) or if you have set the FlexForm setting &#039;&#039;&#039;renderi18nErrorInsteadofImageForApprovedForms&#039;&#039;&#039; to false (defaults to false) you will see the image of a Form with a forbidden sign on it.&lt;br /&gt;
&lt;br /&gt;
==== Managing Forms ====&lt;br /&gt;
&lt;br /&gt;
====== A single page with an invalid FlexForm ======&lt;br /&gt;
If a user that is not in the &#039;&#039;&#039;allowedGroups&#039;&#039;&#039; user group creates a new page with a FlexForm in its contents, the Form will never be rendered as it is considered invalid. Another user that &#039;&#039;&#039;is&#039;&#039;&#039; part of the allowedGroups user group can visit the page with the invalid Form and edit the source to verify the Form is valid. Once that user saves the page, the FlexForm will become valid.&lt;br /&gt;
&lt;br /&gt;
====== Managing Validated Forms ======&lt;br /&gt;
FlexForm has a Special Page where you can see an overview of approved or validated FlexForm Forms. Go to the FlexForm Special Page and hover your mouse on the FlexForm logo on the left top. From the menu that pops-up choose Manage approved pages. This will give you a list of all validated/approved Forms and the page they are on. From that same list you can also remove the validations for forms on a page. This will not alter the content of that page or the Form itself, but will mark them as invalid.&lt;br /&gt;
&lt;br /&gt;
====== Managing unvalidated Forms ======&lt;br /&gt;
On that same page there is another list called Managing unvalidated Forms. This will show all FlexForm forms you have in your wiki. You can quickly validate a page with a Form on it from that list. You can also choose to validate all unvalidated Forms or only Forms that use the new 2.0 &#039;&#039;&#039;&amp;lt;nowiki&amp;gt;&amp;lt;form&amp;gt;&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039; FlexForm tag.&lt;br /&gt;
&lt;br /&gt;
==== Migrating from FlexForm version 1.x to 2.0 ====&lt;br /&gt;
When you install FlexForm 2.0, by default all existing FlexForm Forms in your wiki will be invalid. To fix this, go to &#039;&#039;&#039;FlexForm&#039;s Special Page&#039;&#039;&#039;, hover over the logo on the left-top and choose &#039;&#039;&#039;Manage approved pages.&#039;&#039;&#039; On that page you will find a list/table of all your FlexForm forms in your wiki called &#039;&#039;&#039;Managing unvalidated Forms&#039;&#039;&#039;. At the bottom of that list there is an options called &#039;&#039;&#039;VALIDATE ALL&#039;&#039;&#039;. With that button you will instantly validate all FlexForm Forms in your wiki.&lt;/div&gt;</summary>
		<author><name>E00a555c-1e5d-4eb3-b26b-5be8dc16c657</name></author>
	</entry>
	<entry>
		<id>https://open-csp.org/index.php?title=Article/about-open-csp&amp;diff=1748</id>
		<title>Article/about-open-csp</title>
		<link rel="alternate" type="text/html" href="https://open-csp.org/index.php?title=Article/about-open-csp&amp;diff=1748"/>
		<updated>2022-10-05T16:17:00Z</updated>

		<summary type="html">&lt;p&gt;E00a555c-1e5d-4eb3-b26b-5be8dc16c657: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;With Open CSP organizations can create a MediaWiki based Information and Productivity platform for their employees, partners, members and customers.&lt;br /&gt;
&lt;br /&gt;
Open CSP is:&lt;br /&gt;
&lt;br /&gt;
* a vision on open source MediaWiki based Information and Productivity platforms&lt;br /&gt;
* an open source software and content bundle for MediaWiki&lt;br /&gt;
* an integrated solution for Information and Productivity platforms &lt;br /&gt;
&lt;br /&gt;
== The Open CSP vision ==&lt;br /&gt;
&lt;br /&gt;
== The open source software and content ==&lt;br /&gt;
&lt;br /&gt;
== The integrated solution ==&lt;br /&gt;
Open CSP provides an integrated solution of high quality. The Open CSP have been carefully selected and developed to work together and create a high quality, flexible framework.&lt;br /&gt;
&lt;br /&gt;
Open CSP provides out-of-the-box features that give you a flying start. On top of that, there is a growing number of Open CSP compatible modules. Its flexibility and productivity for custom solutions enables you to create a platform that seamlessly supports your knowledge and operational processes.&lt;br /&gt;
&lt;br /&gt;
Wikibase Solutions is experienced in developing, delivering and hosting advanced solutions based on Open CSP. Our solutions provide the features you want, and just as important: we develop and delivery it your way. &lt;br /&gt;
&lt;br /&gt;
Some things that our enterprise customers find important:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Scrum development approach with two-week sprints&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Development, Testing and QA before deploying to production&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Integration with IAM solutions such as Microsoft AD or Okta&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;ISO 27001 compliant internal processes&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There is no doubt that the MediaWiki platform is awesome and provides many features that are of great benefit for large organizations. The result is a platform that is reliable, secure, flexible and scalable - and it is open source. &lt;br /&gt;
&lt;br /&gt;
Open CSP adds some important building blocks to MediaWiki.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Semantic MediaWiki&#039;&#039;&#039; with &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039; adds scalable database features. It turns the platform into a flexible database system&lt;br /&gt;
* &#039;&#039;&#039;Faceted search&#039;&#039;&#039;, enabled by Elasticsearch. State of the art, out-of-the-box search features&lt;br /&gt;
* Powerful and flexible &#039;&#039;&#039;forms&#039;&#039;&#039;&lt;br /&gt;
* Organize content in &#039;&#039;&#039;spaces&#039;&#039;&#039;&lt;br /&gt;
* Authentication via &#039;&#039;&#039;Azure Active Directory&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Exchange of content&#039;&#039;&#039; between platforms&lt;br /&gt;
* Integration with an open source &#039;&#039;&#039;Neo4J graph database&#039;&#039;&#039;&lt;br /&gt;
* Enterprise ready &#039;&#039;&#039;permissions framework&#039;&#039;&#039; (under construction)&lt;br /&gt;
&lt;br /&gt;
=== Open CSP workspace ===&lt;br /&gt;
A workspace based on Open CSP guarantees optimal integration of content, records and documents. &lt;br /&gt;
&lt;br /&gt;
Its flexibility enables user feedback leading to meaningful changes in a short time. This increases the support base of the platform. The result is a positive vicious circle of improved use and further development. &lt;br /&gt;
&lt;br /&gt;
Step by step the Open CSP workspace supports more and more daily processes of your teams and co-workers.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Wikibase Solutions is constantly innovating and improving the Open CSP framework. Currently the focus is on integration of MediaWiki with Neo4J. Neo4J is a state of the art open source graph database. Neo4J can in the future be used next to, or as a replacement of, Semantic MediaWiki. There are two big opportunities when using Neo4J:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Graph database implementation&#039;&#039;&#039;  Since Neo4J is a graph database the integration with Neo4J is more natural and less complex. This is a good basis for further enhancements.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Wiki as an interface&#039;&#039;&#039;  Currently Semantic MediaWiki has the same scope as the wiki. Data in the wiki is stored as properties, hence there is no integrated world outside the wiki. With Neo4J, in addition to the wiki-data being stored in Neo4J, the wiki can act as a UI to Neo4J. This enables the wiki to be part of an advanced knowledge graph.&lt;br /&gt;
&lt;br /&gt;
Wikibase Solutions is in the process of implementing integration scenarios. Please contact us if you are interested in the subject.&lt;/div&gt;</summary>
		<author><name>E00a555c-1e5d-4eb3-b26b-5be8dc16c657</name></author>
	</entry>
	<entry>
		<id>https://open-csp.org/index.php?title=QandA/why-is-working-with-slots-so-important&amp;diff=1747</id>
		<title>QandA/why-is-working-with-slots-so-important</title>
		<link rel="alternate" type="text/html" href="https://open-csp.org/index.php?title=QandA/why-is-working-with-slots-so-important&amp;diff=1747"/>
		<updated>2022-10-05T15:53:23Z</updated>

		<summary type="html">&lt;p&gt;E00a555c-1e5d-4eb3-b26b-5be8dc16c657: User:E00a555c-1e5d-4eb3-b26b-5be8dc16c657&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Structured data can be managed separately ==&lt;br /&gt;
A major feature of MediaWiki is the [[mediawikiwiki:Multi-Content_Revisions|Multi Content Revisions (MCR)]] feature. MCR provides a way to store content in multiple slots on a page. This means that structured data can be managed separately.&lt;br /&gt;
&lt;br /&gt;
== The benefits of separating structured data from user content ==&lt;br /&gt;
The ability to manage structured data separate from the free content of the page has many advantages for developers and users. &lt;br /&gt;
&lt;br /&gt;
* For developers the wiki is easier to develop and maintain&lt;br /&gt;
* For users the wiki offers better features and is more standardized&lt;br /&gt;
* For the owner of the wiki it means a better Information and Productivity platform at lower cost.&lt;/div&gt;</summary>
		<author><name>E00a555c-1e5d-4eb3-b26b-5be8dc16c657</name></author>
	</entry>
	<entry>
		<id>https://open-csp.org/index.php?title=QandA/why-is-working-with-slots-so-important&amp;diff=1746</id>
		<title>QandA/why-is-working-with-slots-so-important</title>
		<link rel="alternate" type="text/html" href="https://open-csp.org/index.php?title=QandA/why-is-working-with-slots-so-important&amp;diff=1746"/>
		<updated>2022-10-05T15:53:06Z</updated>

		<summary type="html">&lt;p&gt;E00a555c-1e5d-4eb3-b26b-5be8dc16c657: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Structured data can be managed separately ==&lt;br /&gt;
A major feature of MediaWiki is the [[mediawikiwiki:Multi-Content_Revisions|Multi Content Revisions (MCR)]] feature. MCR provides a way to store content in multiple slots on a page. This means that structured data can be managed separately.&lt;br /&gt;
&lt;br /&gt;
== The benefits of separating structured data from user content ==&lt;br /&gt;
The ability to manage structured data separate from the free content of the page has many advantages for developers and users. &lt;br /&gt;
&lt;br /&gt;
* For developers the wiki is easier to develop and maintain&lt;br /&gt;
* For users the wiki offers better features and is more standardized&lt;br /&gt;
* For the owner of the wiki it means a better Information and Productivity platform at lower cost.&lt;/div&gt;</summary>
		<author><name>E00a555c-1e5d-4eb3-b26b-5be8dc16c657</name></author>
	</entry>
	<entry>
		<id>https://open-csp.org/index.php?title=QandA/why-is-working-with-slots-so-important&amp;diff=1745</id>
		<title>QandA/why-is-working-with-slots-so-important</title>
		<link rel="alternate" type="text/html" href="https://open-csp.org/index.php?title=QandA/why-is-working-with-slots-so-important&amp;diff=1745"/>
		<updated>2022-10-05T15:34:32Z</updated>

		<summary type="html">&lt;p&gt;E00a555c-1e5d-4eb3-b26b-5be8dc16c657: User:E00a555c-1e5d-4eb3-b26b-5be8dc16c657&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>E00a555c-1e5d-4eb3-b26b-5be8dc16c657</name></author>
	</entry>
	<entry>
		<id>https://open-csp.org/index.php?title=QandA/why-is-working-with-slots-so-important&amp;diff=1744</id>
		<title>QandA/why-is-working-with-slots-so-important</title>
		<link rel="alternate" type="text/html" href="https://open-csp.org/index.php?title=QandA/why-is-working-with-slots-so-important&amp;diff=1744"/>
		<updated>2022-10-05T15:33:51Z</updated>

		<summary type="html">&lt;p&gt;E00a555c-1e5d-4eb3-b26b-5be8dc16c657: User:E00a555c-1e5d-4eb3-b26b-5be8dc16c657&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>E00a555c-1e5d-4eb3-b26b-5be8dc16c657</name></author>
	</entry>
	<entry>
		<id>https://open-csp.org/index.php?title=Wiki:Setting/qanda-tags&amp;diff=1743</id>
		<title>Wiki:Setting/qanda-tags</title>
		<link rel="alternate" type="text/html" href="https://open-csp.org/index.php?title=Wiki:Setting/qanda-tags&amp;diff=1743"/>
		<updated>2022-10-05T15:32:55Z</updated>

		<summary type="html">&lt;p&gt;E00a555c-1e5d-4eb3-b26b-5be8dc16c657: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Installation,Compatibility,Community,Enterprise,Feature,Flexibility,Security,Confluence,Content Services Platform&lt;/div&gt;</summary>
		<author><name>E00a555c-1e5d-4eb3-b26b-5be8dc16c657</name></author>
	</entry>
	<entry>
		<id>https://open-csp.org/index.php?title=QandA/what-is-a-content-services-platform&amp;diff=1742</id>
		<title>QandA/what-is-a-content-services-platform</title>
		<link rel="alternate" type="text/html" href="https://open-csp.org/index.php?title=QandA/what-is-a-content-services-platform&amp;diff=1742"/>
		<updated>2022-10-05T15:31:30Z</updated>

		<summary type="html">&lt;p&gt;E00a555c-1e5d-4eb3-b26b-5be8dc16c657: User:E00a555c-1e5d-4eb3-b26b-5be8dc16c657&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Definition according to Gartner ==&lt;br /&gt;
[https://www.gartner.com/en/information-technology/glossary/content-services-platform-csp According to Gartner] a Content Services Platform (CSP) is &#039;&#039;a set of services and microservices, embodied as an integrated product suite and applications that share common APIs and repositories. A CSP exploits diverse content types and serves multiple constituencies and numerous use cases across an organization.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== A CSP is an integrated set of services and microservices ==&lt;br /&gt;
Two things are important:&lt;br /&gt;
&lt;br /&gt;
* the platform must have the flexibility to easily add new services&lt;br /&gt;
* it must be easy to integrate the new services with existing ones&lt;br /&gt;
&lt;br /&gt;
== A CSP exploits diverse content types ==&lt;br /&gt;
In an organization many content types are used to store, share and process information. We think that a CSP should be able to deal with documents, XML, JSON, SQL databases and graph databases.&lt;br /&gt;
&lt;br /&gt;
== A CSP serves multiple constituencies ==&lt;br /&gt;
For larger organizations it is important that a CSP can separate between groups of people. Not only for security purposes, but also to provide people with the context in the CSP that they belong to and that they understand.&lt;br /&gt;
&lt;br /&gt;
== A CSP serves numerous use cases ==&lt;br /&gt;
Two things are important here:&lt;br /&gt;
&lt;br /&gt;
* The CSP provides strong services and features&lt;br /&gt;
* The CSP can be easily adapted and enhanced to perfectly match the processes and needs of the organizaton&lt;/div&gt;</summary>
		<author><name>E00a555c-1e5d-4eb3-b26b-5be8dc16c657</name></author>
	</entry>
	<entry>
		<id>https://open-csp.org/index.php?title=QandA/what-is-a-content-services-platform&amp;diff=1741</id>
		<title>QandA/what-is-a-content-services-platform</title>
		<link rel="alternate" type="text/html" href="https://open-csp.org/index.php?title=QandA/what-is-a-content-services-platform&amp;diff=1741"/>
		<updated>2022-10-05T15:31:19Z</updated>

		<summary type="html">&lt;p&gt;E00a555c-1e5d-4eb3-b26b-5be8dc16c657: User:E00a555c-1e5d-4eb3-b26b-5be8dc16c657&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Definition according to Gartner ==&lt;br /&gt;
[https://www.gartner.com/en/information-technology/glossary/content-services-platform-csp According to Gartner] a Content Services Platform (CSP) is &#039;&#039;a set of services and microservices, embodied as an integrated product suite and applications that share common APIs and repositories. A CSP exploits diverse content types and serves multiple constituencies and numerous use cases across an organization.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== A CSP is an integrated set of services and microservices ==&lt;br /&gt;
Two things are important:&lt;br /&gt;
&lt;br /&gt;
* the platform must have the flexibility to easily add new services&lt;br /&gt;
* it must be easy to integrate the new services with existing ones&lt;br /&gt;
&lt;br /&gt;
== A CSP exploits diverse content types ==&lt;br /&gt;
In an organization many content types are used to store, share and process information. We think that a CSP should be able to deal with documents, XML, JSON, SQL databases and graph databases.&lt;br /&gt;
&lt;br /&gt;
== A CSP serves multiple constituencies ==&lt;br /&gt;
For larger organizations it is important that a CSP can separate between groups of people. Not only for security purposes, but also to provide people with the context in the CSP that they belong to and that they understand.&lt;br /&gt;
&lt;br /&gt;
== A CSP serves numerous use cases ==&lt;br /&gt;
Two things are important here:&lt;br /&gt;
&lt;br /&gt;
* The CSP provides strong services and features&lt;br /&gt;
* The CSP can be easily adapted and enhanced to perfectly match the processes and needs of the organizaton&lt;/div&gt;</summary>
		<author><name>E00a555c-1e5d-4eb3-b26b-5be8dc16c657</name></author>
	</entry>
	<entry>
		<id>https://open-csp.org/index.php?title=QandA/what-is-a-content-services-platform&amp;diff=1740</id>
		<title>QandA/what-is-a-content-services-platform</title>
		<link rel="alternate" type="text/html" href="https://open-csp.org/index.php?title=QandA/what-is-a-content-services-platform&amp;diff=1740"/>
		<updated>2022-10-05T15:30:18Z</updated>

		<summary type="html">&lt;p&gt;E00a555c-1e5d-4eb3-b26b-5be8dc16c657: User:E00a555c-1e5d-4eb3-b26b-5be8dc16c657&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Definition according to Gartner ==&lt;br /&gt;
[https://www.gartner.com/en/information-technology/glossary/content-services-platform-csp According to Gartner] a Content Services Platform (CSP) is &#039;&#039;a set of services and microservices, embodied as an integrated product suite and applications that share common APIs and repositories. A CSP exploits diverse content types and serves multiple constituencies and numerous use cases across an organization.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== A CSP is an integrated set of services and microservices ==&lt;br /&gt;
Two things are important:&lt;br /&gt;
&lt;br /&gt;
* the platform must have the flexibility to easily add new services&lt;br /&gt;
* it must be easy to integrate the new services with existing ones&lt;br /&gt;
&lt;br /&gt;
== A CSP exploits diverse content types ==&lt;br /&gt;
In an organization many content types are used to store, share and process information. We think that a CSP should be able to deal with documents, XML, JSON, SQL databases and graph databases.&lt;br /&gt;
&lt;br /&gt;
== A CSP serves multiple constituencies ==&lt;br /&gt;
For larger organizations it is important that a CSP can separate between groups of people. Not only for security purposes, but also to provide people with the context in the CSP that they belong to and that they understand.&lt;br /&gt;
&lt;br /&gt;
== A CSP serves numerous use cases ==&lt;br /&gt;
Two things are important here:&lt;br /&gt;
&lt;br /&gt;
* The CSP provides strong services and features&lt;br /&gt;
* The CSP can be easily adapted and enhanced to perfectly match the processes and needs of the organizaton&lt;/div&gt;</summary>
		<author><name>E00a555c-1e5d-4eb3-b26b-5be8dc16c657</name></author>
	</entry>
	<entry>
		<id>https://open-csp.org/index.php?title=MediaWiki:Ws-navmenu&amp;diff=1739</id>
		<title>MediaWiki:Ws-navmenu</title>
		<link rel="alternate" type="text/html" href="https://open-csp.org/index.php?title=MediaWiki:Ws-navmenu&amp;diff=1739"/>
		<updated>2022-10-05T15:24:22Z</updated>

		<summary type="html">&lt;p&gt;E00a555c-1e5d-4eb3-b26b-5be8dc16c657: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{WSNavMenu | Input={{int:mainpage}}*{{Fa|home}} Home&lt;br /&gt;
&lt;br /&gt;
Questions-and-answers*Q &amp;amp; A&lt;br /&gt;
&lt;br /&gt;
Documentation&lt;br /&gt;
DevOps:Page/3*Search&lt;br /&gt;
DevOps:Doc/FlexForm*FlexForm&lt;br /&gt;
DevOps:Doc/PageSync*PageSync&lt;br /&gt;
{{fullurl:DevOps:Page/4 |subject={{#show: {{FULLPAGENAME}} |?Doc subject |link=none}}&amp;amp;version={{#show: {{FULLPAGENAME}} |?Subject version |link=none}} }}*New doc page*Href&lt;br /&gt;
{{fullurl:DevOps:Page/4 |subject={{#show: {{FULLPAGENAME}} |?Doc subject |link=none}}&amp;amp;page={{FULLPAGENAME}} }}*New version*Href&lt;br /&gt;
&lt;br /&gt;
{{#ifingroup:moderator,sysop |&lt;br /&gt;
{{Fa|cogs}} Spaces&lt;br /&gt;
Special:AddSpace*Add a Space&lt;br /&gt;
Special:ActiveSpaces*Manage Active Spaces&lt;br /&gt;
Special:ArchivedSpaces*Manage Archived Spaces&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{#ifingroup:moderator,sysop |&lt;br /&gt;
Pages&lt;br /&gt;
Pages*All pages&lt;br /&gt;
New page*New page&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{#ifingroup:sysop |{{Fa|lock}} Tools&lt;br /&gt;
MediaWiki:Ws-navmenu*NavMenu&lt;br /&gt;
MediaWiki:Ws-header*Header&lt;br /&gt;
MediaWiki:Ws-sub-header*Sub-header&lt;br /&gt;
MediaWiki:Ws-footer*Footer&lt;br /&gt;
Wiki:page-types*Page types&lt;br /&gt;
Wiki:Wiki pages*Wiki pages&lt;br /&gt;
{{fullurl:Wiki:Slots |page={{FULLPAGENAME}} }}*Slots*Href&lt;br /&gt;
File:Logo.png*Logo&lt;br /&gt;
Mediawiki:Common.css*Common.css&lt;br /&gt;
Mediawiki:Common.js*Common.js&lt;br /&gt;
}}&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>E00a555c-1e5d-4eb3-b26b-5be8dc16c657</name></author>
	</entry>
	<entry>
		<id>https://open-csp.org/index.php?title=MediaWiki:Ws-navmenu&amp;diff=1738</id>
		<title>MediaWiki:Ws-navmenu</title>
		<link rel="alternate" type="text/html" href="https://open-csp.org/index.php?title=MediaWiki:Ws-navmenu&amp;diff=1738"/>
		<updated>2022-10-05T15:23:50Z</updated>

		<summary type="html">&lt;p&gt;E00a555c-1e5d-4eb3-b26b-5be8dc16c657: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{WSNavMenu | Input={{int:mainpage}}*{{Fa|home}} Home&lt;br /&gt;
&lt;br /&gt;
Questions-and-answers*Q &amp;amp; A&lt;br /&gt;
&lt;br /&gt;
Documentation&lt;br /&gt;
DevOps:Page/3*Documentation&lt;br /&gt;
DevOps:Doc/FlexForm*FlexForm&lt;br /&gt;
DevOps:Doc/PageSync*PageSync&lt;br /&gt;
{{fullurl:DevOps:Page/4 |subject={{#show: {{FULLPAGENAME}} |?Doc subject |link=none}}&amp;amp;version={{#show: {{FULLPAGENAME}} |?Subject version |link=none}} }}*New doc page*Href&lt;br /&gt;
{{fullurl:DevOps:Page/4 |subject={{#show: {{FULLPAGENAME}} |?Doc subject |link=none}}&amp;amp;page={{FULLPAGENAME}} }}*New version*Href&lt;br /&gt;
&lt;br /&gt;
{{#ifingroup:moderator,sysop |&lt;br /&gt;
{{Fa|cogs}} Spaces&lt;br /&gt;
Special:AddSpace*Add a Space&lt;br /&gt;
Special:ActiveSpaces*Manage Active Spaces&lt;br /&gt;
Special:ArchivedSpaces*Manage Archived Spaces&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{#ifingroup:moderator,sysop |&lt;br /&gt;
Pages&lt;br /&gt;
Pages*All pages&lt;br /&gt;
New page*New page&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{#ifingroup:sysop |{{Fa|lock}} Tools&lt;br /&gt;
MediaWiki:Ws-navmenu*NavMenu&lt;br /&gt;
MediaWiki:Ws-header*Header&lt;br /&gt;
MediaWiki:Ws-sub-header*Sub-header&lt;br /&gt;
MediaWiki:Ws-footer*Footer&lt;br /&gt;
Wiki:page-types*Page types&lt;br /&gt;
Wiki:Wiki pages*Wiki pages&lt;br /&gt;
{{fullurl:Wiki:Slots |page={{FULLPAGENAME}} }}*Slots*Href&lt;br /&gt;
File:Logo.png*Logo&lt;br /&gt;
Mediawiki:Common.css*Common.css&lt;br /&gt;
Mediawiki:Common.js*Common.js&lt;br /&gt;
}}&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>E00a555c-1e5d-4eb3-b26b-5be8dc16c657</name></author>
	</entry>
	<entry>
		<id>https://open-csp.org/index.php?title=QandA/is-open-csp-a-good-alternative-for-confluence&amp;diff=1737</id>
		<title>QandA/is-open-csp-a-good-alternative-for-confluence</title>
		<link rel="alternate" type="text/html" href="https://open-csp.org/index.php?title=QandA/is-open-csp-a-good-alternative-for-confluence&amp;diff=1737"/>
		<updated>2022-10-05T09:12:25Z</updated>

		<summary type="html">&lt;p&gt;E00a555c-1e5d-4eb3-b26b-5be8dc16c657: User:E00a555c-1e5d-4eb3-b26b-5be8dc16c657&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== An Open CSP wiki can be an excellent alternative for Confluence ==&lt;br /&gt;
With Open CSP your lay the foundation for what can be the perfect collaboration and knowledge platform for your company.&lt;br /&gt;
&lt;br /&gt;
== An Open CSP wiki is clearer and more intuitive ==&lt;br /&gt;
Less can be more, also for a collaboration and knowledge platform. Clarity is important for good use of the platform.&lt;br /&gt;
&lt;br /&gt;
== An Open CSP wiki is better manageable than Confluence ==&lt;br /&gt;
With the tools an Open CSP wiki offers it is easier to keep the platform clear and intuitive. Managing and maintaining the platform is important and must be made easy.&lt;br /&gt;
&lt;br /&gt;
== Search capabilities are excellent ==&lt;br /&gt;
Baked in Open CSP you get search capabilities that are extremely flexible and powerful. Very different from the search capabilities Confluence has to offer.&lt;br /&gt;
&lt;br /&gt;
== Flexibility and extensibility are limitless ==&lt;br /&gt;
Open CSP provides incredible capabilities for moulding the platform to your needs and ambitions. This will not make your platform less clear and intuitive. On the contrary, these capabilities enable you to integrate the platform in your business and other systems and increase clarity and intuitiveness.&lt;/div&gt;</summary>
		<author><name>E00a555c-1e5d-4eb3-b26b-5be8dc16c657</name></author>
	</entry>
	<entry>
		<id>https://open-csp.org/index.php?title=QandA/is-open-csp-a-good-alternative-for-confluence&amp;diff=1736</id>
		<title>QandA/is-open-csp-a-good-alternative-for-confluence</title>
		<link rel="alternate" type="text/html" href="https://open-csp.org/index.php?title=QandA/is-open-csp-a-good-alternative-for-confluence&amp;diff=1736"/>
		<updated>2022-10-05T09:12:00Z</updated>

		<summary type="html">&lt;p&gt;E00a555c-1e5d-4eb3-b26b-5be8dc16c657: User:E00a555c-1e5d-4eb3-b26b-5be8dc16c657&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== An Open CSP wiki can be an excellent alternative for Confluence ==&lt;br /&gt;
With Open CSP your lay the foundation for what can be the perfect collaboration and knowledge platform for your company.&lt;br /&gt;
&lt;br /&gt;
== An Open CSP wiki is clearer and more intuitive ==&lt;br /&gt;
Less can be more, also for a collaboration and knowledge platform. Clarity is important for good use of the platform.&lt;br /&gt;
&lt;br /&gt;
== An Open CSP wiki is better manageable than Confluence ==&lt;br /&gt;
With the tools an Open CSP wiki offers it is easier to keep the platform clear and intuitive. Managing and maintaining the platform is important and must be made easy.&lt;br /&gt;
&lt;br /&gt;
== Search capabilities are excellent ==&lt;br /&gt;
Baked in Open CSP you get search capabilities that are extremely flexible and powerful. Very different from the search capabilities Confluence has to offer.&lt;br /&gt;
&lt;br /&gt;
== Flexibility and extensibility are limitless ==&lt;br /&gt;
Open CSP provides incredible capabilities for moulding the platform to your needs and ambitions. This will not make your platform less clear and intuitive. On the contrary, these capabilities enable you to integrate the platform in your business and other systems and increase clarity and intuitiveness.&lt;/div&gt;</summary>
		<author><name>E00a555c-1e5d-4eb3-b26b-5be8dc16c657</name></author>
	</entry>
	<entry>
		<id>https://open-csp.org/index.php?title=QandA/what-are-the-key-features-of-open-csp&amp;diff=1731</id>
		<title>QandA/what-are-the-key-features-of-open-csp</title>
		<link rel="alternate" type="text/html" href="https://open-csp.org/index.php?title=QandA/what-are-the-key-features-of-open-csp&amp;diff=1731"/>
		<updated>2022-10-05T09:04:52Z</updated>

		<summary type="html">&lt;p&gt;E00a555c-1e5d-4eb3-b26b-5be8dc16c657: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Classify and organize content ==&lt;br /&gt;
You get the tools you need to classify and organize all the content that is important for your company.&lt;br /&gt;
&lt;br /&gt;
== Manage and author content ==&lt;br /&gt;
High quality content requires perfect support for those who are responsible for their part of the content. Open CSP provides the building blocks to realize this.&lt;br /&gt;
&lt;br /&gt;
== Search ==&lt;br /&gt;
Open CSP search capabilities are state of the art.&lt;br /&gt;
&lt;br /&gt;
== Add functionality ==&lt;br /&gt;
Open CSP is an excellent basis for adding functionality to your enterprise platform.&lt;br /&gt;
&lt;br /&gt;
== Extensibility ==&lt;br /&gt;
Open CSP extensibility ensures a Content Services Platform that fits perfectly the needs of your organization.&lt;br /&gt;
&lt;br /&gt;
== No license fees ==&lt;br /&gt;
Open CSP has no license fees.&lt;/div&gt;</summary>
		<author><name>E00a555c-1e5d-4eb3-b26b-5be8dc16c657</name></author>
	</entry>
	<entry>
		<id>https://open-csp.org/index.php?title=Wiki:Setting/qanda-tags&amp;diff=1729</id>
		<title>Wiki:Setting/qanda-tags</title>
		<link rel="alternate" type="text/html" href="https://open-csp.org/index.php?title=Wiki:Setting/qanda-tags&amp;diff=1729"/>
		<updated>2022-10-05T09:01:04Z</updated>

		<summary type="html">&lt;p&gt;E00a555c-1e5d-4eb3-b26b-5be8dc16c657: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Installation,Compatibility,Enterprise,Feature,Flexibility,Security,Confluence,Content Services Platform&lt;/div&gt;</summary>
		<author><name>E00a555c-1e5d-4eb3-b26b-5be8dc16c657</name></author>
	</entry>
	<entry>
		<id>https://open-csp.org/index.php?title=QandA/is-open-csp-suitable-for-large-companies&amp;diff=1728</id>
		<title>QandA/is-open-csp-suitable-for-large-companies</title>
		<link rel="alternate" type="text/html" href="https://open-csp.org/index.php?title=QandA/is-open-csp-suitable-for-large-companies&amp;diff=1728"/>
		<updated>2022-10-05T08:54:01Z</updated>

		<summary type="html">&lt;p&gt;E00a555c-1e5d-4eb3-b26b-5be8dc16c657: User:E00a555c-1e5d-4eb3-b26b-5be8dc16c657&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>E00a555c-1e5d-4eb3-b26b-5be8dc16c657</name></author>
	</entry>
	<entry>
		<id>https://open-csp.org/index.php?title=QandA/is-open-csp-scalable&amp;diff=1727</id>
		<title>QandA/is-open-csp-scalable</title>
		<link rel="alternate" type="text/html" href="https://open-csp.org/index.php?title=QandA/is-open-csp-scalable&amp;diff=1727"/>
		<updated>2022-10-05T08:53:26Z</updated>

		<summary type="html">&lt;p&gt;E00a555c-1e5d-4eb3-b26b-5be8dc16c657: User:E00a555c-1e5d-4eb3-b26b-5be8dc16c657&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Yes, Open CSP is scalable ==&lt;br /&gt;
Open CSP is scalable because it builds in an efficient way on MediaWiki and Elasticsearch.&lt;br /&gt;
&lt;br /&gt;
== MediaWiki is scalable ==&lt;br /&gt;
MediaWiki has been designed with scalability in mind for high-usage, high-profile sites.&lt;br /&gt;
&lt;br /&gt;
== Elasticsearch is scalable ==&lt;br /&gt;
Elasticsearch is built to be always available and to scale with your needs. It does this by being distributed by nature. You can add servers (nodes) to a cluster to increase capacity and Elasticsearch automatically distributes your data and query load across all of the available nodes.&lt;/div&gt;</summary>
		<author><name>E00a555c-1e5d-4eb3-b26b-5be8dc16c657</name></author>
	</entry>
	<entry>
		<id>https://open-csp.org/index.php?title=QandA/what-are-the-key-features-of-open-csp&amp;diff=1726</id>
		<title>QandA/what-are-the-key-features-of-open-csp</title>
		<link rel="alternate" type="text/html" href="https://open-csp.org/index.php?title=QandA/what-are-the-key-features-of-open-csp&amp;diff=1726"/>
		<updated>2022-10-05T08:53:13Z</updated>

		<summary type="html">&lt;p&gt;E00a555c-1e5d-4eb3-b26b-5be8dc16c657: User:E00a555c-1e5d-4eb3-b26b-5be8dc16c657&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Classify and organize content ==&lt;br /&gt;
You get the tools you need to classify and organize all the content that is important for your company.&lt;br /&gt;
&lt;br /&gt;
== Manage and author content ==&lt;br /&gt;
High quality content requires perfect support for those who are responsible for their part of the content. Open CSP provides the building blocks to realize this.&lt;br /&gt;
&lt;br /&gt;
== Search ==&lt;br /&gt;
Open CSP search capabilities are state of the art.&lt;br /&gt;
&lt;br /&gt;
== Extensibility ==&lt;br /&gt;
Open CSP extensibility ensures a Content Services Platform that fits perfectly the needs of your organization.&lt;br /&gt;
&lt;br /&gt;
== No license fees ==&lt;br /&gt;
Open CSP has no license fees.&lt;/div&gt;</summary>
		<author><name>E00a555c-1e5d-4eb3-b26b-5be8dc16c657</name></author>
	</entry>
	<entry>
		<id>https://open-csp.org/index.php?title=QandA/what-is-role-of-wikibase-solutions-with-the-open-csp&amp;diff=1725</id>
		<title>QandA/what-is-role-of-wikibase-solutions-with-the-open-csp</title>
		<link rel="alternate" type="text/html" href="https://open-csp.org/index.php?title=QandA/what-is-role-of-wikibase-solutions-with-the-open-csp&amp;diff=1725"/>
		<updated>2022-10-05T08:52:53Z</updated>

		<summary type="html">&lt;p&gt;E00a555c-1e5d-4eb3-b26b-5be8dc16c657: User:E00a555c-1e5d-4eb3-b26b-5be8dc16c657&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Wikibase Solutions has been leading the initiative ==&lt;br /&gt;
On the [https://www.semantic-mediawiki.org/wiki/SMWCon_Fall_2020 Semantic MediaWiki conference in 2020] Ad Strack van Schijndel did a presentation on the subject. That can be regarded as the start of the initiative.&lt;br /&gt;
&lt;br /&gt;
Since then [https://www.wikibase-solutions.com/ Wikibase Solutions] has been promoting the Open CSP and developing extensions.&lt;br /&gt;
&lt;br /&gt;
== Wikibase Solutions is maintainer of the software ==&lt;br /&gt;
Open CSP is open source software that anybody can contribute to. The role of Wikibase Solutions is the maintainer of the software. This means that they review proposed changes, communicate about it and merge them in the software. The maintainer is responsible for the quality of the software.&lt;br /&gt;
&lt;br /&gt;
== Wikibase Solutions provides services for your Content Services Platform ==&lt;br /&gt;
Wikibase Solutions provides services that enable you to realize the full potential of a Content Services Platform in your organization.&lt;/div&gt;</summary>
		<author><name>E00a555c-1e5d-4eb3-b26b-5be8dc16c657</name></author>
	</entry>
	<entry>
		<id>https://open-csp.org/index.php?title=QandA/does-open-csp-have-an-api&amp;diff=1723</id>
		<title>QandA/does-open-csp-have-an-api</title>
		<link rel="alternate" type="text/html" href="https://open-csp.org/index.php?title=QandA/does-open-csp-have-an-api&amp;diff=1723"/>
		<updated>2022-10-05T08:51:53Z</updated>

		<summary type="html">&lt;p&gt;E00a555c-1e5d-4eb3-b26b-5be8dc16c657: User:E00a555c-1e5d-4eb3-b26b-5be8dc16c657&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== MediaWiki has an API ==&lt;br /&gt;
&lt;br /&gt;
== Open CSP features provide APIs ==&lt;/div&gt;</summary>
		<author><name>E00a555c-1e5d-4eb3-b26b-5be8dc16c657</name></author>
	</entry>
	<entry>
		<id>https://open-csp.org/index.php?title=QandA/where-does-name-open-csp-come-from&amp;diff=1722</id>
		<title>QandA/where-does-name-open-csp-come-from</title>
		<link rel="alternate" type="text/html" href="https://open-csp.org/index.php?title=QandA/where-does-name-open-csp-come-from&amp;diff=1722"/>
		<updated>2022-10-05T08:51:26Z</updated>

		<summary type="html">&lt;p&gt;E00a555c-1e5d-4eb3-b26b-5be8dc16c657: User:E00a555c-1e5d-4eb3-b26b-5be8dc16c657&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Ambition to be in a Magic Quadrant ==&lt;br /&gt;
When you start to think about a platform like we did, you have to define some dots on the horizon.&lt;br /&gt;
&lt;br /&gt;
One of those dots was to once be mentioned - preferebly in the top right corner - of one of Gartner&#039;s magic quadrants. The question that arises is which quadrant that then should be. &lt;br /&gt;
&lt;br /&gt;
== Gartner&#039;s definition of Content Services Platform matched with our ideas ==&lt;br /&gt;
The Content Services Platform Gartner envisions seems to match our ideas. &lt;br /&gt;
&lt;br /&gt;
== An open source Content Services Platform ==&lt;br /&gt;
The name Open CSP has been assembled from what we believe it should be: an open source Content Services Platform.&lt;/div&gt;</summary>
		<author><name>E00a555c-1e5d-4eb3-b26b-5be8dc16c657</name></author>
	</entry>
	<entry>
		<id>https://open-csp.org/index.php?title=Wiki:Setting/qanda-tags&amp;diff=1721</id>
		<title>Wiki:Setting/qanda-tags</title>
		<link rel="alternate" type="text/html" href="https://open-csp.org/index.php?title=Wiki:Setting/qanda-tags&amp;diff=1721"/>
		<updated>2022-10-05T08:50:26Z</updated>

		<summary type="html">&lt;p&gt;E00a555c-1e5d-4eb3-b26b-5be8dc16c657: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Installation,Compatibility,Enterprise,Confluence,Content Services Platform&lt;/div&gt;</summary>
		<author><name>E00a555c-1e5d-4eb3-b26b-5be8dc16c657</name></author>
	</entry>
	<entry>
		<id>https://open-csp.org/index.php?title=QandA/can-open-csp-be-used-with-page-forms&amp;diff=1720</id>
		<title>QandA/can-open-csp-be-used-with-page-forms</title>
		<link rel="alternate" type="text/html" href="https://open-csp.org/index.php?title=QandA/can-open-csp-be-used-with-page-forms&amp;diff=1720"/>
		<updated>2022-10-05T08:49:35Z</updated>

		<summary type="html">&lt;p&gt;E00a555c-1e5d-4eb3-b26b-5be8dc16c657: User:E00a555c-1e5d-4eb3-b26b-5be8dc16c657&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This question has two answers, depending on why you ask this question.&lt;br /&gt;
&lt;br /&gt;
==Yes, technically it can==&lt;br /&gt;
It is perfectly ok to install Page Forms in an Open CSP wiki and use it in the way you are used to. There may be valid reasons to do this and you won&#039;t be obstructed in doing that.&lt;br /&gt;
&lt;br /&gt;
==You cannot take advantage of important Open CSP features==&lt;br /&gt;
Due to limitations in Page Forms you will not be able to use Page Forms in an Open CSP wiki in the way that is intended with Open CSP. &lt;br /&gt;
&lt;br /&gt;
===Page Forms doesn&#039;t support multiple slots===&lt;br /&gt;
Page Forms acts on the main slot of a page, the slot that you can edit with &#039;edit source&#039;. However, with Page Forms you typically edit the structured data of a page, metadata or properties and in an Open CSP this structured dat is stored in a different slot than the &#039;main&#039; slot. Page forms doesn&#039;t allow to choose the slot to write to or read from.&lt;/div&gt;</summary>
		<author><name>E00a555c-1e5d-4eb3-b26b-5be8dc16c657</name></author>
	</entry>
	<entry>
		<id>https://open-csp.org/index.php?title=QandA/can-open-csp-be-used-with-cargo&amp;diff=1718</id>
		<title>QandA/can-open-csp-be-used-with-cargo</title>
		<link rel="alternate" type="text/html" href="https://open-csp.org/index.php?title=QandA/can-open-csp-be-used-with-cargo&amp;diff=1718"/>
		<updated>2022-10-05T08:48:53Z</updated>

		<summary type="html">&lt;p&gt;E00a555c-1e5d-4eb3-b26b-5be8dc16c657: User:E00a555c-1e5d-4eb3-b26b-5be8dc16c657&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This question has two answers, depending on why you ask this question.&lt;br /&gt;
&lt;br /&gt;
== Yes, technically it can ==&lt;br /&gt;
It is perfectly ok to install Cargo in an Open CSP wiki and use it in the way you are used to. There may be valid reasons to do this and you won&#039;t be obstructed in doing that.&lt;br /&gt;
&lt;br /&gt;
== You cannot take advantage of important Open CSP features ==&lt;br /&gt;
Due to limitations in Cargo you will not be able to use Cargo in an Open CSP wiki in the way that is intended with Open CSP. &lt;br /&gt;
&lt;br /&gt;
=== Cargo doesn&#039;t support multiple slots ===&lt;br /&gt;
Cargo parser functions only work in the main slot. That is the standard way of working with Cargo. But if you put the wikitext that stores or queries data from Cargo tables in other slots than the main slot, Cargo doesn&#039;t process them.&lt;br /&gt;
&lt;br /&gt;
=== Cargo doesn&#039;t use Elasticsearch ===&lt;br /&gt;
Cargo stores data in the Cargo tables and does the querying on those tables. On of the benefits of Open CSP is that the data is also stored in Elasticsearch so that the [[Mediawikiwiki:Extension:WikiSearch|WikiSearch extension]] can be used.&lt;br /&gt;
&lt;br /&gt;
[https://www.semantic-mediawiki.org/wiki/Semantic_MediaWiki SemanticMediaWiki] is included in Open CSP and the Elasticstore option is used. This way anything that is stored on a page is available for search automatically.&lt;/div&gt;</summary>
		<author><name>E00a555c-1e5d-4eb3-b26b-5be8dc16c657</name></author>
	</entry>
	<entry>
		<id>https://open-csp.org/index.php?title=QandA/how-can-i-install-open-csp&amp;diff=1717</id>
		<title>QandA/how-can-i-install-open-csp</title>
		<link rel="alternate" type="text/html" href="https://open-csp.org/index.php?title=QandA/how-can-i-install-open-csp&amp;diff=1717"/>
		<updated>2022-10-05T08:48:19Z</updated>

		<summary type="html">&lt;p&gt;E00a555c-1e5d-4eb3-b26b-5be8dc16c657: User:E00a555c-1e5d-4eb3-b26b-5be8dc16c657&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;At this moment there is one way to install Open CSP yourself.&lt;br /&gt;
&lt;br /&gt;
== Install MediaWiki ==&lt;br /&gt;
The first step is to [[Mediawikiwiki:Manual:Installing MediaWiki|install MediaWiki]]. If you have done this, go to the next step.&lt;br /&gt;
&lt;br /&gt;
== Install Elasticsearch ==&lt;br /&gt;
In Open CSP Elasticsearch is used as [https://www.semantic-mediawiki.org/wiki/Help:ElasticStore Elasticstore for Semantic MediaWiki]. Having the data in Elasticsearch is a prerequisite for the use of [[Mediawikiwiki:Extension:WikiSearch|WikiSearch]].&lt;br /&gt;
&lt;br /&gt;
How to install Elasticsearch is described here: https://www.mediawiki.org/wiki/Extension:CirrusSearch#Elasticsearch.&lt;br /&gt;
&lt;br /&gt;
== Download the Open CSP extensions ==&lt;br /&gt;
Go to [[Extensions-in-open-csp|Extensions in Open CSP]] and download all the extensions that are not included with MediaWiki.&lt;br /&gt;
&lt;br /&gt;
== Configuration of settings ==&lt;br /&gt;
Our approach is to have LocalSettings.php as it is and put settings in different files. This promotes clarity and upgradability.&lt;br /&gt;
&lt;br /&gt;
=== Change LocalSettings.php ===&lt;br /&gt;
Add this to the end of LocalSettings.php and create a &#039;settings&#039; folder in the public_html with these files.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
require_once( &#039;settings/ServerSettings.php&#039; );&lt;br /&gt;
require_once( &#039;settings/AdditionalSettings.php&#039; );&lt;br /&gt;
require_once( &#039;settings/ExtensionSettings.php&#039; );&lt;br /&gt;
require_once( &#039;settings/SkinSettings.php&#039; );&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Configure server settings ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
// Project namespace (choose your project namespace)&lt;br /&gt;
// $wgMetaNamespace = &amp;quot;Wiki&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
// Short URL (optional)&lt;br /&gt;
// $wgArticlePath = &amp;quot;/$1&amp;quot;;&lt;br /&gt;
// $wgUsePathInfo = true;&lt;br /&gt;
&lt;br /&gt;
// Elasticsearch (configure according your ES installation)&lt;br /&gt;
$GLOBALS[&#039;smwgElasticsearchEndpoints&#039;] = [ &#039;elasticsearch-master.helm.svc.cluster.local:9200&#039;, ];&lt;br /&gt;
$GLOBALS[&#039;smwgElasticsearchConfig&#039;][&#039;settings&#039;][&#039;data&#039;] = [ &#039;number_of_shards&#039; =&amp;gt; 2,&lt;br /&gt;
	&#039;number_of_replicas&#039; =&amp;gt; 0 ];&lt;br /&gt;
&lt;br /&gt;
// Disable jobqueue on webrequest (optional, if set to 0 create cronjob to run runJobs.php)&lt;br /&gt;
// $wgJobRunRate = 0;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Configure additional settings ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
// Uncomment to see Exception Details&lt;br /&gt;
//	$wgShowExceptionDetails = true;&lt;br /&gt;
&lt;br /&gt;
// Please fill in your page name here:&lt;br /&gt;
$wgSitename = &amp;quot;CSP Wiki&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
// Allow uploads&lt;br /&gt;
$wgEnableUploads = true;&lt;br /&gt;
// Under evaluation: Might no longer be required for FlexForm&lt;br /&gt;
$wgAllowCopyUploads = true;&lt;br /&gt;
$wgCopyUploadsFromSpecialUpload = true;&lt;br /&gt;
&lt;br /&gt;
// Use img_auth.php for all files served. (optional)&lt;br /&gt;
// $wgUploadPath = &amp;quot;/img_auth.php&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
// Switch off cache (optional)&lt;br /&gt;
// $wgCachePages = false;&lt;br /&gt;
// $wgMainCacheType = CACHE_NONE;&lt;br /&gt;
// $wgCacheDirectory = false;&lt;br /&gt;
// $wgParserCacheType = CACHE_NONE;&lt;br /&gt;
&lt;br /&gt;
// Enable ElasticSearch as the standard backend&lt;br /&gt;
$smwgDefaultStore = &#039;SMWElasticStore&#039;;&lt;br /&gt;
&lt;br /&gt;
// Explicitly set wgRawHtml to false, since it is unsafe.&lt;br /&gt;
$wgRawHtml = false;&lt;br /&gt;
&lt;br /&gt;
// Below are settings for a private wiki that all users can edit&lt;br /&gt;
// No need to patrol pages&lt;br /&gt;
$wgUseRCPatrol = false;&lt;br /&gt;
$wgUseNPPatrol = false;&lt;br /&gt;
&lt;br /&gt;
// Private wiki&lt;br /&gt;
$wgGroupPermissions[&#039;*&#039;][&#039;read&#039;] = false;&lt;br /&gt;
$wgGroupPermissions[&#039;*&#039;][&#039;edit&#039;] = false;&lt;br /&gt;
$wgGroupPermissions[&#039;*&#039;][&#039;createaccount&#039;] = false;&lt;br /&gt;
&lt;br /&gt;
// Give read and write rights to all registered users.&lt;br /&gt;
$wgGroupPermissions[&#039;user&#039;][&#039;read&#039;] = true;&lt;br /&gt;
$wgGroupPermissions[&#039;user&#039;][&#039;edit&#039;] = true;&lt;br /&gt;
// Give a faux permission to &#039;moderator&#039; so it will show up as a role.&lt;br /&gt;
$wgGroupPermissions[&#039;moderator&#039;][&#039;read&#039;] = true;&lt;br /&gt;
&lt;br /&gt;
// Allow moderators edit access to the Wiki namespace.&lt;br /&gt;
$wgNamespaceProtection[NS_PROJECT] = [ &#039;edit project&#039; ];&lt;br /&gt;
$wgGroupPermissions[&#039;sysop&#039;][&#039;edit project&#039;] = true;&lt;br /&gt;
$wgGroupPermissions[&#039;moderator&#039;][&#039;edit project&#039;] = true;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Configure extension settings ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
##### Admin Links&lt;br /&gt;
wfLoadExtension( &#039;AdminLinks&#039; );&lt;br /&gt;
&lt;br /&gt;
##### CodeMirror (optional&lt;br /&gt;
// Required for source editing with CodeMirror.&lt;br /&gt;
// wfLoadExtension( &#039;WikiEditor&#039; );&lt;br /&gt;
// wfLoadExtension( &#039;CodeMirror&#039; );&lt;br /&gt;
// $wgDefaultUserOptions[&#039;usecodemirror&#039;] = 1;&lt;br /&gt;
&lt;br /&gt;
##### CSPResources&lt;br /&gt;
wfLoadExtension( &#039;CSPResources&#039; );&lt;br /&gt;
$wgCSPShowSmwIndicator = false;&lt;br /&gt;
&lt;br /&gt;
##### DataTransfer&lt;br /&gt;
wfLoadExtension( &#039;DataTransfer&#039; );&lt;br /&gt;
&lt;br /&gt;
##### DeleteBatch&lt;br /&gt;
wfLoadExtension( &#039;DeleteBatch&#039; );&lt;br /&gt;
&lt;br /&gt;
##### DisplayTitle&lt;br /&gt;
wfLoadExtension( &#039;DisplayTitle&#039; );&lt;br /&gt;
// defaults to true&lt;br /&gt;
$wgAllowDisplayTitle = true;&lt;br /&gt;
// defaults to true&lt;br /&gt;
$wgRestrictDisplayTitle = false;&lt;br /&gt;
&lt;br /&gt;
##### Echo&lt;br /&gt;
wfLoadExtension( &#039;Echo&#039; );&lt;br /&gt;
$wgEchoWatchlistNotifications = true;&lt;br /&gt;
&lt;br /&gt;
$wgExtensionFunctions[] = static function () {&lt;br /&gt;
	global $wgEchoNotifications;&lt;br /&gt;
	unset( $wgEchoNotifications[&amp;quot;thank-you-edit&amp;quot;] );&lt;br /&gt;
&lt;br /&gt;
	global $wgEchoNotificationCategories;&lt;br /&gt;
	unset( $wgEchoNotificationCategories[&amp;quot;edit-user-talk&amp;quot;] );&lt;br /&gt;
	unset( $wgEchoNotificationCategories[&amp;quot;mention&amp;quot;] );&lt;br /&gt;
	unset( $wgEchoNotificationCategories[&amp;quot;emailuser&amp;quot;] );&lt;br /&gt;
	unset( $wgEchoNotificationCategories[&amp;quot;thank-you-edit&amp;quot;] );&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
##### FlexForm (formerly: WSForm)&lt;br /&gt;
wfLoadExtension( &#039;FlexForm&#039; );&lt;br /&gt;
$wgFlexFormConfig[&#039;sec_key&#039;] = getenv( &#039;GITLAB_ENVIRONMENT_URL&#039; ) . &amp;quot;salt&amp;quot;;&lt;br /&gt;
$wgFlexFormConfig[&#039;auto_save_btn_on&#039;] = &#039;Autosave on&#039;;&lt;br /&gt;
$wgFlexFormConfig[&#039;auto_save_btn_off&#039;] = &#039;Autosave off&#039;;&lt;br /&gt;
$wgFlexFormConfig[&#039;FlexFormDefaultTheme&#039;] = &amp;quot;plain&amp;quot;;&lt;br /&gt;
$wgFlexFormConfig[&#039;CreateAndEditForms&#039;][&#039;allowedGroups&#039;] = [&amp;quot;sysop&amp;quot;,&amp;quot;moderator&amp;quot;];&lt;br /&gt;
$wgFlexFormConfig[&#039;form_timeout_limit&#039;] = 7200;&lt;br /&gt;
&lt;br /&gt;
##### Lockdown&lt;br /&gt;
wfLoadExtension( &#039;Lockdown&#039; );&lt;br /&gt;
&lt;br /&gt;
##### MultimediaViewer&lt;br /&gt;
wfLoadExtension( &#039;MultimediaViewer&#039; );&lt;br /&gt;
$wgMediaViewerIsInBeta = true;&lt;br /&gt;
&lt;br /&gt;
##### MyVariables&lt;br /&gt;
wfLoadExtension( &#039;MyVariables&#039; );&lt;br /&gt;
&lt;br /&gt;
##### NumberFormat&lt;br /&gt;
require_once &amp;quot;$IP/extensions/NumberFormat/NumberFormat.php&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
##### ParserFunctions&lt;br /&gt;
wfLoadExtension( &#039;ParserFunctions&#039; );&lt;br /&gt;
$wgPFEnableStringFunctions = true;&lt;br /&gt;
$wgPFStringLengthLimit = 80000;&lt;br /&gt;
&lt;br /&gt;
##### Realnames&lt;br /&gt;
wfLoadExtension( &#039;Realnames&#039; );&lt;br /&gt;
$wgRealnamesLinkStyle = &amp;quot;replace&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
##### RegexFun&lt;br /&gt;
require_once $IP . &#039;/extensions/RegexFun/RegexFun.php&#039;;&lt;br /&gt;
&lt;br /&gt;
##### ReplaceText&lt;br /&gt;
wfLoadExtension( &#039;ReplaceText&#039; );&lt;br /&gt;
&lt;br /&gt;
##### SSO Stack&lt;br /&gt;
###		PluggableAuth&lt;br /&gt;
###		WSAzureAuth&lt;br /&gt;
###		WSOAuth&lt;br /&gt;
$wgGroupPermissions[&#039;*&#039;][&#039;autocreateaccount&#039;] = true;&lt;br /&gt;
wfLoadExtension( &#039;PluggableAuth&#039; );&lt;br /&gt;
wfLoadExtension( &#039;WSAzureAuth&#039; );&lt;br /&gt;
wfLoadExtension( &#039;WSOAuth&#039; );&lt;br /&gt;
$wgPluggableAuth_EnableLocalLogin = true;&lt;br /&gt;
$wgPluggableAuth_Config[&#039;WikibaseSolutionsAAD&#039;] = [&lt;br /&gt;
	&#039;plugin&#039; =&amp;gt; &#039;WSOAuth&#039;,&lt;br /&gt;
	&#039;data&#039; =&amp;gt; [&lt;br /&gt;
		&#039;type&#039; =&amp;gt; &#039;azure&#039;,&lt;br /&gt;
		&#039;clientId&#039; =&amp;gt; getenv( &#039;AAD_CLIENT_ID&#039; ),&lt;br /&gt;
		&#039;clientSecret&#039; =&amp;gt; getenv( &#039;AAD_CLIENT_SECRET&#039; ),&lt;br /&gt;
		&#039;redirectUri&#039; =&amp;gt; str_replace( &amp;quot;http&amp;quot;,&lt;br /&gt;
				&amp;quot;https&amp;quot;,&lt;br /&gt;
				getenv( &#039;GITLAB_ENVIRONMENT_URL&#039; ) ) . &#039;/Special:PluggableAuthLogin&#039;&lt;br /&gt;
	],&lt;br /&gt;
	&#039;buttonLabelMessage&#039; =&amp;gt; &#039;wikibase-solutions-oauth-button-label&#039;&lt;br /&gt;
];&lt;br /&gt;
$wgOAuthAzureTenant = getenv( &#039;AAD_TENANT_ID&#039; );&lt;br /&gt;
$wgOAuthAutoPopulateGroups = [ &#039;sysop&#039;,&lt;br /&gt;
	&#039;interface-admin&#039; ];&lt;br /&gt;
&lt;br /&gt;
##### SemanticMediaWiki&lt;br /&gt;
enableSemantics( &#039;wikibase.nl&#039; );&lt;br /&gt;
$smwgConfigFileDir = $IP . &#039;/cache&#039;;&lt;br /&gt;
# Default disabled (CSP Basis#13)&lt;br /&gt;
$smwgCheckForConstraintErrors = SMW_CONSTRAINT_ERR_CHECK_NONE;&lt;br /&gt;
const NS_WIDGET = 274;&lt;br /&gt;
const NS_WIDGET_TALK = 275;&lt;br /&gt;
$smwgNamespacesWithSemanticLinks[NS_TEMPLATE] = true;&lt;br /&gt;
$smwgNamespacesWithSemanticLinks[SMW_NS_PROPERTY] = true;&lt;br /&gt;
$smwgNamespacesWithSemanticLinks[SMW_NS_CONCEPT] = true;&lt;br /&gt;
$smwgNamespacesWithSemanticLinks[NS_WIDGET] = true;&lt;br /&gt;
$smwgNamespacesWithSemanticLinks[SMW_NS_PROPERTY_TALK] = false;&lt;br /&gt;
$smwgNamespacesWithSemanticLinks[SMW_NS_CONCEPT_TALK] = false;&lt;br /&gt;
$smwgNamespacesWithSemanticLinks[NS_WIDGET_TALK] = false;&lt;br /&gt;
$smwgPageSpecialProperties = [ &#039;_MDAT&#039;,&lt;br /&gt;
	&#039;_CDAT&#039; ];&lt;br /&gt;
&lt;br /&gt;
##### SemanticExtraSpecialProperties&lt;br /&gt;
wfLoadExtension( &#039;SemanticExtraSpecialProperties&#039; );&lt;br /&gt;
$sespgEnabledPropertyList = [ &#039;_EUSER&#039;,&lt;br /&gt;
	&#039;_CUSER&#039;,&lt;br /&gt;
	&#039;_PAGEID&#039;, ];&lt;br /&gt;
&lt;br /&gt;
##### SemanticResultFormats&lt;br /&gt;
wfLoadExtension( &#039;SemanticResultFormats&#039; );&lt;br /&gt;
&lt;br /&gt;
##### SyntaxHighlight_GeSHi&lt;br /&gt;
wfLoadExtension( &#039;SyntaxHighlight_GeSHi&#039; );&lt;br /&gt;
&lt;br /&gt;
##### TemplateData&lt;br /&gt;
wfLoadExtension( &#039;TemplateData&#039; );&lt;br /&gt;
&lt;br /&gt;
##### UrlGetParameters&lt;br /&gt;
require_once $IP . &#039;/extensions/UrlGetParameters/UrlGetParameters.php&#039;;&lt;br /&gt;
&lt;br /&gt;
##### UserFunctions&lt;br /&gt;
require_once &amp;quot;$IP/extensions/UserFunctions/UserFunctions.php&amp;quot;;&lt;br /&gt;
$wgUFAllowedNamespaces = array_fill( 0,&lt;br /&gt;
	4000,&lt;br /&gt;
	true );&lt;br /&gt;
$wgUFAllowedNamespaces += array_fill( 50000,&lt;br /&gt;
	5000,&lt;br /&gt;
	true );&lt;br /&gt;
&lt;br /&gt;
##### UserMerge&lt;br /&gt;
wfLoadExtension( &#039;UserMerge&#039; );&lt;br /&gt;
$wgGroupPermissions[&#039;bureaucrat&#039;][&#039;usermerge&#039;] = true;&lt;br /&gt;
&lt;br /&gt;
##### Variables&lt;br /&gt;
wfLoadExtension( &#039;Variables&#039; );&lt;br /&gt;
&lt;br /&gt;
##### VisualEditor&lt;br /&gt;
wfLoadExtension( &#039;VisualEditor&#039; );&lt;br /&gt;
$wgTmpDirectory = $IP . &#039;/images/temp/&#039;;&lt;br /&gt;
$wgExtraSignatureNamespaces = [ NS_MAIN ];&lt;br /&gt;
$wgVisualEditorEnableWikitext = true;&lt;br /&gt;
$wgVisualEditorEnableDiffPage = true;&lt;br /&gt;
for ( $i = 50000; $i &amp;lt; 55000; $i += 2 ) {&lt;br /&gt;
	$wgContentNamespaces[] = $i;&lt;br /&gt;
}&lt;br /&gt;
$wgVisualEditorNamespaces = array_merge( $wgContentNamespaces,&lt;br /&gt;
	[ NS_USER ] );&lt;br /&gt;
&lt;br /&gt;
##### Widgets&lt;br /&gt;
wfLoadExtension( &#039;Widgets&#039; );&lt;br /&gt;
&lt;br /&gt;
##### WSArrays&lt;br /&gt;
wfLoadExtension( &#039;WSArrays&#039; );&lt;br /&gt;
$wfEnableResultPrinter = true;&lt;br /&gt;
&lt;br /&gt;
##### WSImageVersion&lt;br /&gt;
wfLoadExtension( &#039;WSImageVersion&#039; );&lt;br /&gt;
$wgWSImageVersionVersionDescriptions = [ [ &amp;quot;product&amp;quot; =&amp;gt; &amp;quot;CSP&amp;quot;,&lt;br /&gt;
	&amp;quot;file&amp;quot; =&amp;gt; $IP . &amp;quot;/.version&amp;quot; ], ];&lt;br /&gt;
&lt;br /&gt;
##### WSPageSync&lt;br /&gt;
wfLoadExtension( &#039;WSPageSync&#039; );&lt;br /&gt;
$wgWSPageSync[&#039;filePath&#039;] = $IP . &#039;/wsps&#039;;&lt;br /&gt;
&lt;br /&gt;
##### WikiSearch (and WikiSearchFront)&lt;br /&gt;
wfLoadExtension( &#039;WikiSearch&#039; );&lt;br /&gt;
wfLoadExtension( &#039;WikiSearchFront&#039; );&lt;br /&gt;
&lt;br /&gt;
##### WSSemanticParsedText&lt;br /&gt;
wfLoadExtension( &#039;WSSemanticParsedText&#039; );&lt;br /&gt;
$smwgElasticsearchConfig[&amp;quot;indexer&amp;quot;][&amp;quot;raw.text&amp;quot;] = true;&lt;br /&gt;
&lt;br /&gt;
##### WSSlots&lt;br /&gt;
# Note: We still define and append the &#039;ws-page-props&#039; slot, because it is used on some wikis.&lt;br /&gt;
wfLoadExtension( &#039;WSSlots&#039; );&lt;br /&gt;
$wgWSSlotsDefaultSlotRoleLayout = [ &amp;quot;display&amp;quot; =&amp;gt; &amp;quot;none&amp;quot;,&lt;br /&gt;
	&amp;quot;region&amp;quot; =&amp;gt; &amp;quot;center&amp;quot;,&lt;br /&gt;
	&amp;quot;placement&amp;quot; =&amp;gt; &amp;quot;append&amp;quot;, ];&lt;br /&gt;
$wgWSSlotsDefaultContentModel = &amp;quot;wikitext&amp;quot;;&lt;br /&gt;
$wgWSSlotsDefinedSlots = [ &amp;quot;ws-base-props&amp;quot;, &amp;quot;ws-class-props&amp;quot; ];&lt;br /&gt;
$wgWSSlotsSemanticSlots = [ &amp;quot;ws-base-props&amp;quot;, &amp;quot;ws-class-props&amp;quot; ];&lt;br /&gt;
$wgWSSlotsDoPurge = true;&lt;br /&gt;
&lt;br /&gt;
##### WSSpaces&lt;br /&gt;
wfLoadExtension( &#039;WSSpaces&#039; );&lt;br /&gt;
for ( $i = 50000; $i &amp;lt; 55000; $i++ ) {&lt;br /&gt;
	$smwgNamespacesWithSemanticLinks[$i] = true;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
##### WSTools&lt;br /&gt;
wfLoadExtension( &#039;WSTools&#039; );&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Configure skin settings ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
wfLoadExtension( &#039;Bootstrap&#039; );&lt;br /&gt;
wfLoadSkin( &#039;chameleon&#039; );&lt;br /&gt;
$wgDefaultSkin = &amp;quot;chameleon&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
// Define the location of the css and the layout xml&lt;br /&gt;
$egChameleonLayoutFile = &amp;quot;$IP/skin/wikibaseLayout.xml&amp;quot;;&lt;br /&gt;
$egChameleonExternalStyleModules = glob( $IP . &#039;/skin/scss/[^_]*.scss&#039; );&lt;br /&gt;
$wgAllowSiteCSSOnRestrictedPages = true;&lt;br /&gt;
&lt;br /&gt;
// Replace &amp;quot;Powered by SMW&amp;quot; by &amp;quot;Powered by Wikibase&amp;quot;&lt;br /&gt;
$wgFooterIcons = [ &amp;quot;copyright&amp;quot; =&amp;gt; [ &amp;quot;copyright&amp;quot; =&amp;gt; [], ],&lt;br /&gt;
	&amp;quot;poweredby&amp;quot; =&amp;gt; [ &amp;quot;wikibase&amp;quot; =&amp;gt; [ &amp;quot;src&amp;quot; =&amp;gt; &amp;quot;/skin/PoweredByWikibase.png&amp;quot;,&lt;br /&gt;
		&amp;quot;url&amp;quot; =&amp;gt; &amp;quot;https://www.wikibase-solutions.com/&amp;quot;,&lt;br /&gt;
		&amp;quot;alt&amp;quot; =&amp;gt; &amp;quot;Powered by Wikibase&amp;quot;, ], ], ];&lt;br /&gt;
$wgRightsIcon = null;&lt;br /&gt;
&lt;br /&gt;
// Logo and favicon&lt;br /&gt;
$wgFavicon = &amp;quot;/skin/favicon.png&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
// Common message files&lt;br /&gt;
$wgMessagesDirs[&#039;WikibaseSolutions&#039;] = __DIR__ . &#039;/../skin/i18n&#039;;&lt;br /&gt;
&lt;br /&gt;
// Style settings&lt;br /&gt;
// If you want to use container-max-widths, take this step or it won&#039;t respond:&lt;br /&gt;
// -&amp;gt; Go to skin/wikibaseLayout.xml and from &amp;lt;grid&amp;gt;, remove: &#039;class=&amp;quot;flex-fill&amp;quot; mode=&amp;quot;fluid&amp;quot;&#039;&lt;br /&gt;
// Add this to the following array: &#039;container-max-widths&#039;	=&amp;gt; &#039;(sm: 100%, md: 100%, lg: 70vw, xl:&lt;br /&gt;
// 70vw)&#039;&lt;br /&gt;
$egChameleonExternalStyleVariables = [ &#039;primary&#039; =&amp;gt; &#039;#0576a8&#039; ];&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>E00a555c-1e5d-4eb3-b26b-5be8dc16c657</name></author>
	</entry>
	<entry>
		<id>https://open-csp.org/index.php?title=Template:QandA_sidebar&amp;diff=1716</id>
		<title>Template:QandA sidebar</title>
		<link rel="alternate" type="text/html" href="https://open-csp.org/index.php?title=Template:QandA_sidebar&amp;diff=1716"/>
		<updated>2022-10-05T08:46:20Z</updated>

		<summary type="html">&lt;p&gt;E00a555c-1e5d-4eb3-b26b-5be8dc16c657: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is the &#039;&#039;&#039;QandA sidebar&#039;&#039;&#039; template. It should be called in the following format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{{QandA sidebar}}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&amp;lt;includeonly&amp;gt;&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#vardefine:@allow sidebar edit |{{#ifingroup:user |{{#if:{{#urlget:veaction}}{{#urlget:action}}||yes}} }} }}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&amp;lt;div class=&amp;quot;tab-content&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;card tab-pane fade show active&amp;quot; id=&amp;quot;sidebar-view&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;card-header&amp;quot;&amp;gt;{{#ifeq:{{#var:@allow sidebar edit}} |yes |&amp;lt;span style=&amp;quot;float:right&amp;quot;&amp;gt;{{#widget:Button link  |class=btn btn-secondary |buttontext=Edit |onclick=ShowTab(&#039;#sidebar-edit&#039;) }}&amp;lt;/span&amp;gt;}}&lt;br /&gt;
&amp;lt;b class=&amp;quot;d-block&amp;quot;&amp;gt;{{#caprint:$base[Base properties][Class]}}&amp;lt;/b&amp;gt;&lt;br /&gt;
{{#caprint:$base[Base properties][Title]}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;!-- end of .card-header --&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;card-body&amp;quot;&amp;gt;&lt;br /&gt;
{{Sidebar item&lt;br /&gt;
|Label=Title&lt;br /&gt;
|Value={{#caprint:$base[Base properties][Title]}}&lt;br /&gt;
}}{{Sidebar item&lt;br /&gt;
|Label=Tag&lt;br /&gt;
|Value={{#caprint:$class[QandA properties][Tag]}}&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;!-- end of .card-body --&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;!-- end of .card &lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#ifeq:{{#var:@allow sidebar edit}} |yes |&amp;lt;wsform action=&amp;quot;addToWiki&amp;quot; class=&amp;quot;tab-pane fade&amp;quot; id=&amp;quot;sidebar-edit&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;card&amp;quot;&amp;gt;&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
// wsedits for base properties&lt;br /&gt;
--&amp;gt;{{#tag:wsedit ||target={{PAGEID}} |template=Base properties |formfield=Title |mwslot=ws-base-props}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
// wscreate or wsedits for page properties&lt;br /&gt;
// use casize to check if the slot already exists. Then wsedit, else wscreate.&lt;br /&gt;
--&amp;gt;{{#if:{{#casize:$class}}&lt;br /&gt;
|{{#tag:wsedit ||target={{PAGEID}} |template=QandA properties |formfield=Tag |mwslot=ws-class-props}}&lt;br /&gt;
|&amp;lt;wscreate mwwrite=&amp;quot;{{FULLPAGENAME}}&amp;quot; mwtemplate=&amp;quot;QandA properties&amp;quot; mwslot=&amp;quot;ws-class-props&amp;quot; mwfields=&amp;quot;Tag&amp;quot; /&amp;gt;&lt;br /&gt;
}}&amp;lt;!-- end of #if  --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;card-header&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;float:right&amp;quot;&amp;gt;{{#widget:Button link  |class=btn btn-secondary |buttontext=Close |onclick=ShowTab(&#039;#sidebar-view&#039;) }}&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;b class=&amp;quot;d-block&amp;quot;&amp;gt;{{#caprint:$base[Base properties][Class]}}&amp;lt;/b&amp;gt;&lt;br /&gt;
{{#caprint:$base[Base properties][Title]}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;!-- end of .card-header --&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;card-body&amp;quot;&amp;gt;&lt;br /&gt;
{{Sidebar item&lt;br /&gt;
|Label=Title&lt;br /&gt;
|Value={{#tag:wsfield ||type=text |name=Title |required=required |class=form-control |value={{#caprint:$base[Base properties][Title]}} }}&lt;br /&gt;
}}&lt;br /&gt;
{{Sidebar item&lt;br /&gt;
|Label=Tag&lt;br /&gt;
|Value={{#cadefine:$value settings | {{Wiki:Setting/qanda-tags}} }}&lt;br /&gt;
{{#cadefine:$values selected |{{#caprint:$class[QandA properties][Tag]}} }}&lt;br /&gt;
{{#camerge:$value options |$value settings |$values selected }}&lt;br /&gt;
{{#caunique:$value options}}&lt;br /&gt;
{{#tag:wstoken&lt;br /&gt;
  |{{#tag:wsfield|(none)|type=option|value=}}&lt;br /&gt;
{{#camap:$value options |__Value__|{{#tag:wsfield|__Value__|type=option|value=__Value__|selected={{#if:{{#casearch:$values selected|__Value__}}|selected}} }} |}}&lt;br /&gt;
  |name=Tag[] &lt;br /&gt;
  |class=form-control &lt;br /&gt;
  |id=tag-field &lt;br /&gt;
  |multiple=multiple&lt;br /&gt;
  |allowtags=allowtags&lt;br /&gt;
}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;text-right&amp;quot;&amp;gt;&lt;br /&gt;
{{#widget:Button link  |class=btn btn-secondary |buttontext=Close |onclick=ShowTab(&#039;#sidebar-view&#039;) }}&lt;br /&gt;
&amp;lt;wsfield type=&amp;quot;submit&amp;quot; value=&amp;quot;Save&amp;quot; class=&amp;quot;btn btn-primary&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;!-- end of .card-body --&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;!-- end of .card --&amp;gt;&lt;br /&gt;
&amp;lt;/wsform&amp;gt;|}}&amp;lt;!-- end of #ifeq @allow sidebar edit == yes --&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;!-- end of .tab-content &lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>E00a555c-1e5d-4eb3-b26b-5be8dc16c657</name></author>
	</entry>
	<entry>
		<id>https://open-csp.org/index.php?title=Wiki:Setting/qanda-tags&amp;diff=1715</id>
		<title>Wiki:Setting/qanda-tags</title>
		<link rel="alternate" type="text/html" href="https://open-csp.org/index.php?title=Wiki:Setting/qanda-tags&amp;diff=1715"/>
		<updated>2022-10-05T08:46:02Z</updated>

		<summary type="html">&lt;p&gt;E00a555c-1e5d-4eb3-b26b-5be8dc16c657: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Installation,Compatibility,Enterprise,Confluence&lt;/div&gt;</summary>
		<author><name>E00a555c-1e5d-4eb3-b26b-5be8dc16c657</name></author>
	</entry>
	<entry>
		<id>https://open-csp.org/index.php?title=Wiki:Setting/qanda-tags&amp;diff=1714</id>
		<title>Wiki:Setting/qanda-tags</title>
		<link rel="alternate" type="text/html" href="https://open-csp.org/index.php?title=Wiki:Setting/qanda-tags&amp;diff=1714"/>
		<updated>2022-10-05T08:45:29Z</updated>

		<summary type="html">&lt;p&gt;E00a555c-1e5d-4eb3-b26b-5be8dc16c657: User:E00a555c-1e5d-4eb3-b26b-5be8dc16c657&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>E00a555c-1e5d-4eb3-b26b-5be8dc16c657</name></author>
	</entry>
	<entry>
		<id>https://open-csp.org/index.php?title=Template:Create_page_form&amp;diff=1711</id>
		<title>Template:Create page form</title>
		<link rel="alternate" type="text/html" href="https://open-csp.org/index.php?title=Template:Create_page_form&amp;diff=1711"/>
		<updated>2022-10-05T08:35:38Z</updated>

		<summary type="html">&lt;p&gt;E00a555c-1e5d-4eb3-b26b-5be8dc16c657: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{Managed&lt;br /&gt;
|Version=1.2&lt;br /&gt;
|Version notes=1.2 - Added default options when there&#039;s only one thing to choose from.&lt;br /&gt;
1.1 - Added show-on-select for pagetitle formats and namespace settings.&lt;br /&gt;
1.0 - First managed version. Added margin below form fields.&lt;br /&gt;
|Short description=Form for creating a new page, for defined page types&lt;br /&gt;
}}&lt;br /&gt;
  &lt;br /&gt;
This is the &amp;quot;Create page form&amp;quot; template.&lt;br /&gt;
It should be called in the following format:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{{Create page form&lt;br /&gt;
|Class options= &amp;lt;text, can be multiple with sep &amp;quot;,&amp;quot;&amp;gt; classes that can be selected in the form. If only 1 class is entered, then no select field is shown. Example: &amp;quot;Article, Organization&amp;quot;&lt;br /&gt;
|Page= &amp;lt;optional: pagename&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Create page form&lt;br /&gt;
|Class options=Organization, Tag&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&amp;lt;includeonly&amp;gt;&amp;lt;!-- &lt;br /&gt;
 --&amp;gt;{{#if: {{{Class options|}}}&lt;br /&gt;
 		|{{#vardefine: @Class options &lt;br /&gt;
        	|{{{Class options|}}} &lt;br /&gt;
          }} &lt;br /&gt;
        |{{#vardefine: @Class options &lt;br /&gt;
           	|{{#ask: [[Defines class::+]] &lt;br /&gt;
              |mainlabel=- &lt;br /&gt;
              |headers=hide &lt;br /&gt;
              |?Defines class &lt;br /&gt;
              }} &lt;br /&gt;
          }} &lt;br /&gt;
    }}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#vardefine:@multiple class options check &lt;br /&gt;
		|{{#if:&lt;br /&gt;
        	{{#pos:{{#var: @Class options}}&lt;br /&gt;
            	|,&lt;br /&gt;
         	}} &lt;br /&gt;
        	|yes&lt;br /&gt;
        }} &lt;br /&gt;
    }}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#tag:_form &lt;br /&gt;
		|&amp;lt;wsfield name=&amp;quot;Title&amp;quot; &lt;br /&gt;
        		  type=&amp;quot;text&amp;quot; &lt;br /&gt;
                  placeholder=&amp;quot;Title&amp;quot; &lt;br /&gt;
                  type=&amp;quot;text&amp;quot; &lt;br /&gt;
                  value=&amp;quot;{{{Title|}}}&amp;quot; &lt;br /&gt;
                  class=&amp;quot;form-control mb-3&amp;quot; &lt;br /&gt;
                  required=&amp;quot;required&amp;quot; /&amp;gt;&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
// Class field: select when multiple, hidden when not multiple&lt;br /&gt;
	--&amp;gt;{{#ifeq: {{#var: @multiple class options check}} &lt;br /&gt;
    		|yes&lt;br /&gt;
			|&amp;lt;wsselect name=&amp;quot;Class&amp;quot; &lt;br /&gt;
             		   placeholder=&amp;quot;Select page type&amp;quot; &lt;br /&gt;
                       class=&amp;quot;form-control mb-3&amp;quot; &lt;br /&gt;
                       required=&amp;quot;required&amp;quot;&amp;gt;&amp;lt;!-- &lt;br /&gt;
			 --&amp;gt;{{#caamap:{{#var: @Class options}}&lt;br /&gt;
             		|,&lt;br /&gt;
                    |__Optie__&lt;br /&gt;
                    |{{#tag:wsfield&lt;br /&gt;
                    		|__Optie__&lt;br /&gt;
                            |type=option&lt;br /&gt;
                            |show-on-select=__Optie__-fields&lt;br /&gt;
                            |value=__Optie__&lt;br /&gt;
                            |&lt;br /&gt;
                      }} &lt;br /&gt;
                 }} &amp;lt;!-- &lt;br /&gt;
 			--&amp;gt;&amp;lt;/wsselect&amp;gt;&lt;br /&gt;
			|{{#tag:wsfield||type=hidden|name=Class|value={{#var:@Class options}}|show-on-select={{#var:@Class options}}-fields}}&lt;br /&gt;
		}}&amp;lt;!--&lt;br /&gt;
	--&amp;gt;{{#caamap:{{#var: @Class options}}&lt;br /&gt;
    		|,&lt;br /&gt;
            |__Class__&lt;br /&gt;
            |{{#vardefine:@pagetitle format &lt;br /&gt;
            		|{{#ask:[[Defines class::__Class__]] &lt;br /&gt;
                    		|?Pagetitle format= &lt;br /&gt;
                            |mainlabel=-&lt;br /&gt;
                      }} &lt;br /&gt;
             }}&amp;lt;!-- &lt;br /&gt;
 		--&amp;gt;{{#vardefine:@allowed namespaces setting &lt;br /&gt;
        		|{{#ask:[[Defines class::__Class__]] &lt;br /&gt;
                		|?Allowed namespaces= &lt;br /&gt;
                        |mainlabel=-&lt;br /&gt;
                 }} &lt;br /&gt;
            }}&amp;lt;!--&lt;br /&gt;
 // if no namespaces setting, then allow the main namespace and all namespaces defined through WSSpaces&lt;br /&gt;
 		--&amp;gt;{{#vardefine:@allowed namespaces &lt;br /&gt;
        		|{{#if:{{#var:@allowed namespaces setting}} &lt;br /&gt;
                		|{{#var:@allowed namespaces setting}} &lt;br /&gt;
                        |(Main){{#if:{{#spaces:}}&lt;br /&gt;
                        			|,{{#spaces:}} &lt;br /&gt;
                                }} &lt;br /&gt;
                 }} &lt;br /&gt;
            }}&amp;lt;!--&lt;br /&gt;
 		--&amp;gt;{{#vardefine:@mwwrite &lt;br /&gt;
        		|{{#switch:{{#var:@pagetitle format}} &lt;br /&gt;
  					|title=[Namespace]:__Class__/[Title]&lt;br /&gt;
  					|#default=[Namespace]:__Class__/&lt;br /&gt;
				}}&amp;lt;!-- end of #switch --&amp;gt;&lt;br /&gt;
           }}&amp;lt;!-- end of #vardefine @mwwrite&lt;br /&gt;
 		--&amp;gt;{{#vardefine:@mwoption &lt;br /&gt;
           		|{{#switch:{{#var:@pagetitle format}} &lt;br /&gt;
  						|title= &lt;br /&gt;
  						|#default=next_available&lt;br /&gt;
				}}&amp;lt;!-- end of #switch --&amp;gt;&lt;br /&gt;
           }}&amp;lt;!-- end of #vardefine @mwoption&lt;br /&gt;
&lt;br /&gt;
		--&amp;gt;&amp;lt;div show-on-select-trigger=&amp;quot;__Class__-fields&amp;quot;&amp;gt;&amp;lt;!-- &lt;br /&gt;
 			--&amp;gt;{{#if: {{#pos: {{#var:@allowed namespaces}}&lt;br /&gt;
            				|,&lt;br /&gt;
                            |&lt;br /&gt;
                       }}&lt;br /&gt;
                       |&amp;lt;wsselect name=&amp;quot;Namespace&amp;quot; class=&amp;quot;form-control mb-3&amp;quot; &amp;gt;&amp;lt;!-- &lt;br /&gt;
 						--&amp;gt;{{#if:{{#pos:{{#var:@allowed namespaces|(Main) }}&lt;br /&gt;
                        				|(Main)&lt;br /&gt;
                                        |&lt;br /&gt;
                                 }}&lt;br /&gt;
                                 |{{#tag:wsfield&lt;br /&gt;
                                 	|(none)&lt;br /&gt;
                                    |type=option&lt;br /&gt;
                                    |value=&lt;br /&gt;
                                  }} &lt;br /&gt;
                             }}&amp;lt;!-- &lt;br /&gt;
 						--&amp;gt;{{#caamap:{{#var:@allowed namespaces}} &lt;br /&gt;
                        			|,&lt;br /&gt;
                                    |__Namespace__&lt;br /&gt;
                                    |{{#switch:__Namespace__&lt;br /&gt;
                                    		|&lt;br /&gt;
                                            |(Main)=&lt;br /&gt;
                                            |#default={{#tag:wsfield&lt;br /&gt;
                                            				|__Namespace__&lt;br /&gt;
                                                            |type=option&lt;br /&gt;
                                                            |value=__Namespace__&lt;br /&gt;
                                                       }} &lt;br /&gt;
                                     }} &lt;br /&gt;
                            |}}&amp;lt;!-- &lt;br /&gt;
 					--&amp;gt;&amp;lt;/wsselect&amp;gt;&amp;lt;!-- &lt;br /&gt;
 					--&amp;gt;|{{#switch:{{#var:@allowed namespaces}}&lt;br /&gt;
                    			|&lt;br /&gt;
                                |(Main)=&lt;br /&gt;
                                |#default={{#tag:wsfield&lt;br /&gt;
                                				|&lt;br /&gt;
                                                |type=hidden&lt;br /&gt;
                                                |name=Namespace&lt;br /&gt;
                                                |value={{#var:@allowed namespaces}}&lt;br /&gt;
                                           }} &lt;br /&gt;
                         }}&lt;br /&gt;
			}}&amp;lt;!-- &lt;br /&gt;
 			--&amp;gt;&amp;lt;wscreate mwwrite=&amp;quot;{{#var:@mwwrite}}&amp;quot; &lt;br /&gt;
            			 mwoption=&amp;quot;{{#var:@mwoption}}&amp;quot; &lt;br /&gt;
                         mwtemplate=&amp;quot;Base properties&amp;quot; &lt;br /&gt;
                         mwslot=&amp;quot;ws-base-props&amp;quot; &lt;br /&gt;
                         mwfollow mwfields=&amp;quot;Title,Class&amp;quot; /&amp;gt;&amp;lt;!-- &lt;br /&gt;
		--&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
			|&lt;br /&gt;
     }}&amp;lt;!-- einde #caamap --&amp;gt;&amp;lt;!-- &lt;br /&gt;
 	--&amp;gt;&amp;lt;div class=&amp;quot;text-right&amp;quot;&amp;gt;&amp;lt;!-- &lt;br /&gt;
 		--&amp;gt;&amp;lt;wsfield type=&amp;quot;submit&amp;quot; &lt;br /&gt;
    				class=&amp;quot;btn btn-primary&amp;quot; &lt;br /&gt;
               	 	value=&amp;quot;Submit&amp;quot; /&amp;gt;&amp;lt;!-- &lt;br /&gt;
 	--&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
	|action=addToWiki&lt;br /&gt;
	|show-on-select={{#ifeq:{{#var: @multiple class options check}} &lt;br /&gt;
    						|yes &lt;br /&gt;
                            |show-on-select&lt;br /&gt;
                     }}&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>E00a555c-1e5d-4eb3-b26b-5be8dc16c657</name></author>
	</entry>
	<entry>
		<id>https://open-csp.org/index.php?title=Wiki:Wiki_pages&amp;diff=1710</id>
		<title>Wiki:Wiki pages</title>
		<link rel="alternate" type="text/html" href="https://open-csp.org/index.php?title=Wiki:Wiki_pages&amp;diff=1710"/>
		<updated>2022-10-05T08:34:58Z</updated>

		<summary type="html">&lt;p&gt;E00a555c-1e5d-4eb3-b26b-5be8dc16c657: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#widget:Button link |href=#new-page-modal |datatoggle=modal |class=btn btn-primary |buttontext={{Fa|plus}} New page}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{Modal&lt;br /&gt;
|Targetid=new-page-modal&lt;br /&gt;
|ModalHeading=New page&lt;br /&gt;
|BodyText={{Create page form&lt;br /&gt;
  |Class options=Wiki, Setting&lt;br /&gt;
  |Page=[Title]&amp;lt;!-- this is inserted in mwwrite in the wsform, so that the entered value of the Title form field will be used for the pagetitle --&amp;gt;&lt;br /&gt;
  }}&lt;br /&gt;
|FooterText={{#widget:Button link |type=a |href=#new-page-modal |datatoggle=modal |class=btn btn-default |buttontext=X}}&lt;br /&gt;
|Hide link=Yes&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#ask:[[Class::Wiki||Setting]] |?Modification date |mainlabel=Page |sort=Modification date |order=desc |default=No pages found |class=table table-striped sortable}}&lt;/div&gt;</summary>
		<author><name>E00a555c-1e5d-4eb3-b26b-5be8dc16c657</name></author>
	</entry>
	<entry>
		<id>https://open-csp.org/index.php?title=Wiki:Wiki_pages&amp;diff=1709</id>
		<title>Wiki:Wiki pages</title>
		<link rel="alternate" type="text/html" href="https://open-csp.org/index.php?title=Wiki:Wiki_pages&amp;diff=1709"/>
		<updated>2022-10-05T08:31:56Z</updated>

		<summary type="html">&lt;p&gt;E00a555c-1e5d-4eb3-b26b-5be8dc16c657: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#widget:Button link |href=#new-page-modal |datatoggle=modal |class=btn btn-primary |buttontext={{Fa|plus}} New page}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{Modal&lt;br /&gt;
|Targetid=new-page-modal&lt;br /&gt;
|ModalHeading=New page&lt;br /&gt;
|BodyText={{Create page form&lt;br /&gt;
  |Class options=Wiki,Setting&lt;br /&gt;
  |Page=[Title]&amp;lt;!-- this is inserted in mwwrite in the wsform, so that the entered value of the Title form field will be used for the pagetitle --&amp;gt;&lt;br /&gt;
  }}&lt;br /&gt;
|FooterText={{#widget:Button link |type=a |href=#new-page-modal |datatoggle=modal |class=btn btn-default |buttontext=X}}&lt;br /&gt;
|Hide link=Yes&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#ask:[[Class::Wiki||Setting]] |?Modification date |mainlabel=Page |sort=Modification date |order=desc |default=No pages found |class=table table-striped sortable}}&lt;/div&gt;</summary>
		<author><name>E00a555c-1e5d-4eb3-b26b-5be8dc16c657</name></author>
	</entry>
	<entry>
		<id>https://open-csp.org/index.php?title=Wiki:Wiki_pages&amp;diff=1708</id>
		<title>Wiki:Wiki pages</title>
		<link rel="alternate" type="text/html" href="https://open-csp.org/index.php?title=Wiki:Wiki_pages&amp;diff=1708"/>
		<updated>2022-10-05T08:31:18Z</updated>

		<summary type="html">&lt;p&gt;E00a555c-1e5d-4eb3-b26b-5be8dc16c657: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#widget:Button link |href=#new-page-modal |datatoggle=modal |class=btn btn-primary |buttontext={{Fa|plus}} New page}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{Modal&lt;br /&gt;
|Targetid=new-page-modal&lt;br /&gt;
|ModalHeading=New page&lt;br /&gt;
|BodyText={{Create page form&lt;br /&gt;
  |Class options=Wiki,Setting&lt;br /&gt;
  |Page=[Title]&amp;lt;!-- this is inserted in mwwrite in the wsform, so that the entered value of the Title form field will be used for the pagetitle --&amp;gt;&lt;br /&gt;
  }}&lt;br /&gt;
|FooterText={{#widget:Button link |type=a |href=#new-page-modal |datatoggle=modal |class=btn btn-default |buttontext=X}}&lt;br /&gt;
|Hide link=Yes&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#ask:[[Class::Wiki]] |?Modification date |mainlabel=Page |sort=Modification date |order=desc |default=No pages found |class=table table-striped sortable}}&lt;/div&gt;</summary>
		<author><name>E00a555c-1e5d-4eb3-b26b-5be8dc16c657</name></author>
	</entry>
	<entry>
		<id>https://open-csp.org/index.php?title=Template:Setting_sidebar&amp;diff=1707</id>
		<title>Template:Setting sidebar</title>
		<link rel="alternate" type="text/html" href="https://open-csp.org/index.php?title=Template:Setting_sidebar&amp;diff=1707"/>
		<updated>2022-10-05T08:30:45Z</updated>

		<summary type="html">&lt;p&gt;E00a555c-1e5d-4eb3-b26b-5be8dc16c657: Created page with &amp;quot;&amp;lt;noinclude&amp;gt;  This is the &amp;#039;&amp;#039;&amp;#039;Setting sidebar&amp;#039;&amp;#039;&amp;#039; template. It should be called in the following format:  &amp;lt;pre&amp;gt; {{Setting sidebar}} &amp;lt;/pre&amp;gt;  &amp;lt;/noinclude&amp;gt;&amp;lt;includeonly&amp;gt;&amp;lt;!--  --&amp;gt;{{#v...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is the &#039;&#039;&#039;Setting sidebar&#039;&#039;&#039; template. It should be called in the following format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{{Setting sidebar}}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&amp;lt;includeonly&amp;gt;&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#vardefine:@allow sidebar edit |{{#ifingroup:user |{{#if:{{#urlget:veaction}}{{#urlget:action}}||yes}} }} }}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&amp;lt;div class=&amp;quot;tab-content&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;card tab-pane fade show active&amp;quot; id=&amp;quot;sidebar-view&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;card-header&amp;quot;&amp;gt;{{#ifeq:{{#var:@allow sidebar edit}} |yes |&amp;lt;span style=&amp;quot;float:right&amp;quot;&amp;gt;{{#widget:Button link  |class=btn btn-secondary |buttontext=Edit |onclick=ShowTab(&#039;#sidebar-edit&#039;) }}&amp;lt;/span&amp;gt;}}&lt;br /&gt;
&amp;lt;b class=&amp;quot;d-block&amp;quot;&amp;gt;{{#caprint:$base[Base properties][Class]}}&amp;lt;/b&amp;gt;&lt;br /&gt;
{{#caprint:$base[Base properties][Title]}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;!-- end of .card-header --&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;card-body&amp;quot;&amp;gt;&lt;br /&gt;
{{Sidebar item&lt;br /&gt;
|Label=Module&lt;br /&gt;
|Value={{#caprint:$page[Setting properties][Module]}}&lt;br /&gt;
}}{{Sidebar item&lt;br /&gt;
|Label=Description&lt;br /&gt;
|Value={{#caprint:$page[Setting properties][Description]}}&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;!-- end of .card-body --&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;!-- end of .card &lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#ifeq:{{#var:@allow sidebar edit}} |yes |&amp;lt;wsform action=&amp;quot;addToWiki&amp;quot; class=&amp;quot;tab-pane fade&amp;quot; id=&amp;quot;sidebar-edit&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;card&amp;quot;&amp;gt;&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
// wsedits for base properties&lt;br /&gt;
--&amp;gt;&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
// wscreate or wsedits for page properties&lt;br /&gt;
// use casize to check if the slot already exists. Then wsedit, else wscreate.&lt;br /&gt;
--&amp;gt;{{#if:{{#casize:$class}}&lt;br /&gt;
|{{#tag:wsedit ||target={{PAGEID}} |template=Setting properties |formfield=Description |mwslot=ws-class-props}}&lt;br /&gt;
{{#tag:wsedit ||target={{PAGEID}} |template=Setting properties |formfield=Module |mwslot=ws-class-props}}&lt;br /&gt;
{{#tag:wsedit ||target={{PAGEID}} |template=Base properties |formfield=Title |mwslot=ws-base-props}}&lt;br /&gt;
|&amp;lt;wscreate mwwrite=&amp;quot;{{FULLPAGENAME}}&amp;quot; mwtemplate=&amp;quot;Setting properties&amp;quot; mwslot=&amp;quot;ws-class-props&amp;quot; mwfields=&amp;quot;Description,Module&amp;quot; /&amp;gt;&lt;br /&gt;
}}&amp;lt;!-- end of #if  --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;card-header&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;float:right&amp;quot;&amp;gt;{{#widget:Button link  |class=btn btn-secondary |buttontext=Close |onclick=ShowTab(&#039;#sidebar-view&#039;) }}&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;b class=&amp;quot;d-block&amp;quot;&amp;gt;{{#caprint:$base[Base properties][Class]}}&amp;lt;/b&amp;gt;&lt;br /&gt;
{{#caprint:$base[Base properties][Title]}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;!-- end of .card-header --&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;card-body&amp;quot;&amp;gt;&lt;br /&gt;
{{Sidebar item&lt;br /&gt;
|Label=Title&lt;br /&gt;
|Value={{#tag:wsfield ||type=text |name=Title |required=required |class=form-control |value={{#caprint:$base[Base properties][Title]}} }}&lt;br /&gt;
}}&lt;br /&gt;
{{Sidebar item&lt;br /&gt;
|Label=Module&lt;br /&gt;
|Value={{#tag:wsfield ||type=text |name=Module |required=required |class=form-control |value={{#caprint:$page[Setting properties][Module]}} }}&lt;br /&gt;
}}&lt;br /&gt;
{{Sidebar item&lt;br /&gt;
|Label=Description&lt;br /&gt;
|Value={{#tag:wsfield ||type=textarea |name=Description |required=required |class=form-control |value={{#caprint:$page[Setting properties][Description]}} }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;text-right&amp;quot;&amp;gt;&lt;br /&gt;
{{#widget:Button link  |class=btn btn-secondary |buttontext=Close |onclick=ShowTab(&#039;#sidebar-view&#039;) }}&lt;br /&gt;
&amp;lt;wsfield type=&amp;quot;submit&amp;quot; value=&amp;quot;Save&amp;quot; class=&amp;quot;btn btn-primary&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;!-- end of .card-body --&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;!-- end of .card --&amp;gt;&lt;br /&gt;
&amp;lt;/wsform&amp;gt;|}}&amp;lt;!-- end of #ifeq @allow sidebar edit == yes --&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;!-- end of .tab-content &lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>E00a555c-1e5d-4eb3-b26b-5be8dc16c657</name></author>
	</entry>
	<entry>
		<id>https://open-csp.org/index.php?title=Template:Setting_properties&amp;diff=1706</id>
		<title>Template:Setting properties</title>
		<link rel="alternate" type="text/html" href="https://open-csp.org/index.php?title=Template:Setting_properties&amp;diff=1706"/>
		<updated>2022-10-05T08:29:29Z</updated>

		<summary type="html">&lt;p&gt;E00a555c-1e5d-4eb3-b26b-5be8dc16c657: Created page with &amp;quot;&amp;lt;noinclude&amp;gt;  This is the &amp;#039;&amp;#039;&amp;#039;Setting properties&amp;#039;&amp;#039;&amp;#039; template. It should be called in the following format:  &amp;lt;pre&amp;gt; {{Setting properties |Description= (text)  }} &amp;lt;/pre&amp;gt;  &amp;lt;/noinclu...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is the &#039;&#039;&#039;Setting properties&#039;&#039;&#039; template. It should be called in the following format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{{Setting properties&lt;br /&gt;
|Description= (text) &lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&amp;lt;includeonly&amp;gt;{{#set:&lt;br /&gt;
|Description={{{Description|}}} &lt;br /&gt;
}}&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>E00a555c-1e5d-4eb3-b26b-5be8dc16c657</name></author>
	</entry>
	<entry>
		<id>https://open-csp.org/index.php?title=Questions-and-answers&amp;diff=1703</id>
		<title>Questions-and-answers</title>
		<link rel="alternate" type="text/html" href="https://open-csp.org/index.php?title=Questions-and-answers&amp;diff=1703"/>
		<updated>2022-10-05T08:26:23Z</updated>

		<summary type="html">&lt;p&gt;E00a555c-1e5d-4eb3-b26b-5be8dc16c657: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&amp;lt;div class=&amp;quot;main-search&amp;quot;&amp;gt;{{#WikiSearchConfig:&lt;br /&gt;
|base query=[[Class::QandA]]&lt;br /&gt;
|aggregation size=100&lt;br /&gt;
|Tag&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;div class=&amp;quot;control-search soa-search&amp;quot;&amp;gt;&lt;br /&gt;
{{#WikiSearchFrontend:&lt;br /&gt;
|size=100&lt;br /&gt;
|title=_DTITLE&lt;br /&gt;
|?$title&lt;br /&gt;
  #display=link&lt;br /&gt;
|?Tag&lt;br /&gt;
  #display=pill&lt;br /&gt;
|@Tag&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>E00a555c-1e5d-4eb3-b26b-5be8dc16c657</name></author>
	</entry>
	<entry>
		<id>https://open-csp.org/index.php?title=QandA/how-can-i-install-open-csp&amp;diff=1702</id>
		<title>QandA/how-can-i-install-open-csp</title>
		<link rel="alternate" type="text/html" href="https://open-csp.org/index.php?title=QandA/how-can-i-install-open-csp&amp;diff=1702"/>
		<updated>2022-10-05T08:11:48Z</updated>

		<summary type="html">&lt;p&gt;E00a555c-1e5d-4eb3-b26b-5be8dc16c657: User:E00a555c-1e5d-4eb3-b26b-5be8dc16c657&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;At this moment there is one way to install Open CSP yourself.&lt;br /&gt;
&lt;br /&gt;
== Install MediaWiki ==&lt;br /&gt;
The first step is to [[Mediawikiwiki:Manual:Installing MediaWiki|install MediaWiki]]. If you have done this, go to the next step.&lt;br /&gt;
&lt;br /&gt;
== Install Elasticsearch ==&lt;br /&gt;
In Open CSP Elasticsearch is used as [https://www.semantic-mediawiki.org/wiki/Help:ElasticStore Elasticstore for Semantic MediaWiki]. Having the data in Elasticsearch is a prerequisite for the use of [[Mediawikiwiki:Extension:WikiSearch|WikiSearch]].&lt;br /&gt;
&lt;br /&gt;
How to install Elasticsearch is described here: https://www.mediawiki.org/wiki/Extension:CirrusSearch#Elasticsearch.&lt;br /&gt;
&lt;br /&gt;
== Download the Open CSP extensions ==&lt;br /&gt;
Go to [[Extensions-in-open-csp|Extensions in Open CSP]] and download all the extensions that are not included with MediaWiki.&lt;br /&gt;
&lt;br /&gt;
== Configuration of settings ==&lt;br /&gt;
Our approach is to have LocalSettings.php as it is and put settings in different files. This promotes clarity and upgradability.&lt;br /&gt;
&lt;br /&gt;
=== Change LocalSettings.php ===&lt;br /&gt;
Add this to the end of LocalSettings.php and create a &#039;settings&#039; folder in the public_html with these files.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
require_once( &#039;settings/ServerSettings.php&#039; );&lt;br /&gt;
require_once( &#039;settings/AdditionalSettings.php&#039; );&lt;br /&gt;
require_once( &#039;settings/ExtensionSettings.php&#039; );&lt;br /&gt;
require_once( &#039;settings/SkinSettings.php&#039; );&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Configure server settings ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
// Project namespace (choose your project namespace)&lt;br /&gt;
// $wgMetaNamespace = &amp;quot;Wiki&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
// Short URL (optional)&lt;br /&gt;
// $wgArticlePath = &amp;quot;/$1&amp;quot;;&lt;br /&gt;
// $wgUsePathInfo = true;&lt;br /&gt;
&lt;br /&gt;
// Elasticsearch (configure according your ES installation)&lt;br /&gt;
$GLOBALS[&#039;smwgElasticsearchEndpoints&#039;] = [ &#039;elasticsearch-master.helm.svc.cluster.local:9200&#039;, ];&lt;br /&gt;
$GLOBALS[&#039;smwgElasticsearchConfig&#039;][&#039;settings&#039;][&#039;data&#039;] = [ &#039;number_of_shards&#039; =&amp;gt; 2,&lt;br /&gt;
	&#039;number_of_replicas&#039; =&amp;gt; 0 ];&lt;br /&gt;
&lt;br /&gt;
// Disable jobqueue on webrequest (optional, if set to 0 create cronjob to run runJobs.php)&lt;br /&gt;
// $wgJobRunRate = 0;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Configure additional settings ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
// Uncomment to see Exception Details&lt;br /&gt;
//	$wgShowExceptionDetails = true;&lt;br /&gt;
&lt;br /&gt;
// Please fill in your page name here:&lt;br /&gt;
$wgSitename = &amp;quot;CSP Wiki&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
// Allow uploads&lt;br /&gt;
$wgEnableUploads = true;&lt;br /&gt;
// Under evaluation: Might no longer be required for FlexForm&lt;br /&gt;
$wgAllowCopyUploads = true;&lt;br /&gt;
$wgCopyUploadsFromSpecialUpload = true;&lt;br /&gt;
&lt;br /&gt;
// Use img_auth.php for all files served. (optional)&lt;br /&gt;
// $wgUploadPath = &amp;quot;/img_auth.php&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
// Switch off cache (optional)&lt;br /&gt;
// $wgCachePages = false;&lt;br /&gt;
// $wgMainCacheType = CACHE_NONE;&lt;br /&gt;
// $wgCacheDirectory = false;&lt;br /&gt;
// $wgParserCacheType = CACHE_NONE;&lt;br /&gt;
&lt;br /&gt;
// Enable ElasticSearch as the standard backend&lt;br /&gt;
$smwgDefaultStore = &#039;SMWElasticStore&#039;;&lt;br /&gt;
&lt;br /&gt;
// Explicitly set wgRawHtml to false, since it is unsafe.&lt;br /&gt;
$wgRawHtml = false;&lt;br /&gt;
&lt;br /&gt;
// Below are settings for a private wiki that all users can edit&lt;br /&gt;
// No need to patrol pages&lt;br /&gt;
$wgUseRCPatrol = false;&lt;br /&gt;
$wgUseNPPatrol = false;&lt;br /&gt;
&lt;br /&gt;
// Private wiki&lt;br /&gt;
$wgGroupPermissions[&#039;*&#039;][&#039;read&#039;] = false;&lt;br /&gt;
$wgGroupPermissions[&#039;*&#039;][&#039;edit&#039;] = false;&lt;br /&gt;
$wgGroupPermissions[&#039;*&#039;][&#039;createaccount&#039;] = false;&lt;br /&gt;
&lt;br /&gt;
// Give read and write rights to all registered users.&lt;br /&gt;
$wgGroupPermissions[&#039;user&#039;][&#039;read&#039;] = true;&lt;br /&gt;
$wgGroupPermissions[&#039;user&#039;][&#039;edit&#039;] = true;&lt;br /&gt;
// Give a faux permission to &#039;moderator&#039; so it will show up as a role.&lt;br /&gt;
$wgGroupPermissions[&#039;moderator&#039;][&#039;read&#039;] = true;&lt;br /&gt;
&lt;br /&gt;
// Allow moderators edit access to the Wiki namespace.&lt;br /&gt;
$wgNamespaceProtection[NS_PROJECT] = [ &#039;edit project&#039; ];&lt;br /&gt;
$wgGroupPermissions[&#039;sysop&#039;][&#039;edit project&#039;] = true;&lt;br /&gt;
$wgGroupPermissions[&#039;moderator&#039;][&#039;edit project&#039;] = true;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Configure extension settings ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
##### Admin Links&lt;br /&gt;
wfLoadExtension( &#039;AdminLinks&#039; );&lt;br /&gt;
&lt;br /&gt;
##### CodeMirror (optional&lt;br /&gt;
// Required for source editing with CodeMirror.&lt;br /&gt;
// wfLoadExtension( &#039;WikiEditor&#039; );&lt;br /&gt;
// wfLoadExtension( &#039;CodeMirror&#039; );&lt;br /&gt;
// $wgDefaultUserOptions[&#039;usecodemirror&#039;] = 1;&lt;br /&gt;
&lt;br /&gt;
##### CSPResources&lt;br /&gt;
wfLoadExtension( &#039;CSPResources&#039; );&lt;br /&gt;
$wgCSPShowSmwIndicator = false;&lt;br /&gt;
&lt;br /&gt;
##### DataTransfer&lt;br /&gt;
wfLoadExtension( &#039;DataTransfer&#039; );&lt;br /&gt;
&lt;br /&gt;
##### DeleteBatch&lt;br /&gt;
wfLoadExtension( &#039;DeleteBatch&#039; );&lt;br /&gt;
&lt;br /&gt;
##### DisplayTitle&lt;br /&gt;
wfLoadExtension( &#039;DisplayTitle&#039; );&lt;br /&gt;
// defaults to true&lt;br /&gt;
$wgAllowDisplayTitle = true;&lt;br /&gt;
// defaults to true&lt;br /&gt;
$wgRestrictDisplayTitle = false;&lt;br /&gt;
&lt;br /&gt;
##### Echo&lt;br /&gt;
wfLoadExtension( &#039;Echo&#039; );&lt;br /&gt;
$wgEchoWatchlistNotifications = true;&lt;br /&gt;
&lt;br /&gt;
$wgExtensionFunctions[] = static function () {&lt;br /&gt;
	global $wgEchoNotifications;&lt;br /&gt;
	unset( $wgEchoNotifications[&amp;quot;thank-you-edit&amp;quot;] );&lt;br /&gt;
&lt;br /&gt;
	global $wgEchoNotificationCategories;&lt;br /&gt;
	unset( $wgEchoNotificationCategories[&amp;quot;edit-user-talk&amp;quot;] );&lt;br /&gt;
	unset( $wgEchoNotificationCategories[&amp;quot;mention&amp;quot;] );&lt;br /&gt;
	unset( $wgEchoNotificationCategories[&amp;quot;emailuser&amp;quot;] );&lt;br /&gt;
	unset( $wgEchoNotificationCategories[&amp;quot;thank-you-edit&amp;quot;] );&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
##### FlexForm (formerly: WSForm)&lt;br /&gt;
wfLoadExtension( &#039;FlexForm&#039; );&lt;br /&gt;
$wgFlexFormConfig[&#039;sec_key&#039;] = getenv( &#039;GITLAB_ENVIRONMENT_URL&#039; ) . &amp;quot;salt&amp;quot;;&lt;br /&gt;
$wgFlexFormConfig[&#039;auto_save_btn_on&#039;] = &#039;Autosave on&#039;;&lt;br /&gt;
$wgFlexFormConfig[&#039;auto_save_btn_off&#039;] = &#039;Autosave off&#039;;&lt;br /&gt;
$wgFlexFormConfig[&#039;FlexFormDefaultTheme&#039;] = &amp;quot;plain&amp;quot;;&lt;br /&gt;
$wgFlexFormConfig[&#039;CreateAndEditForms&#039;][&#039;allowedGroups&#039;] = [&amp;quot;sysop&amp;quot;,&amp;quot;moderator&amp;quot;];&lt;br /&gt;
$wgFlexFormConfig[&#039;form_timeout_limit&#039;] = 7200;&lt;br /&gt;
&lt;br /&gt;
##### Lockdown&lt;br /&gt;
wfLoadExtension( &#039;Lockdown&#039; );&lt;br /&gt;
&lt;br /&gt;
##### MultimediaViewer&lt;br /&gt;
wfLoadExtension( &#039;MultimediaViewer&#039; );&lt;br /&gt;
$wgMediaViewerIsInBeta = true;&lt;br /&gt;
&lt;br /&gt;
##### MyVariables&lt;br /&gt;
wfLoadExtension( &#039;MyVariables&#039; );&lt;br /&gt;
&lt;br /&gt;
##### NumberFormat&lt;br /&gt;
require_once &amp;quot;$IP/extensions/NumberFormat/NumberFormat.php&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
##### ParserFunctions&lt;br /&gt;
wfLoadExtension( &#039;ParserFunctions&#039; );&lt;br /&gt;
$wgPFEnableStringFunctions = true;&lt;br /&gt;
$wgPFStringLengthLimit = 80000;&lt;br /&gt;
&lt;br /&gt;
##### Realnames&lt;br /&gt;
wfLoadExtension( &#039;Realnames&#039; );&lt;br /&gt;
$wgRealnamesLinkStyle = &amp;quot;replace&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
##### RegexFun&lt;br /&gt;
require_once $IP . &#039;/extensions/RegexFun/RegexFun.php&#039;;&lt;br /&gt;
&lt;br /&gt;
##### ReplaceText&lt;br /&gt;
wfLoadExtension( &#039;ReplaceText&#039; );&lt;br /&gt;
&lt;br /&gt;
##### SSO Stack&lt;br /&gt;
###		PluggableAuth&lt;br /&gt;
###		WSAzureAuth&lt;br /&gt;
###		WSOAuth&lt;br /&gt;
$wgGroupPermissions[&#039;*&#039;][&#039;autocreateaccount&#039;] = true;&lt;br /&gt;
wfLoadExtension( &#039;PluggableAuth&#039; );&lt;br /&gt;
wfLoadExtension( &#039;WSAzureAuth&#039; );&lt;br /&gt;
wfLoadExtension( &#039;WSOAuth&#039; );&lt;br /&gt;
$wgPluggableAuth_EnableLocalLogin = true;&lt;br /&gt;
$wgPluggableAuth_Config[&#039;WikibaseSolutionsAAD&#039;] = [&lt;br /&gt;
	&#039;plugin&#039; =&amp;gt; &#039;WSOAuth&#039;,&lt;br /&gt;
	&#039;data&#039; =&amp;gt; [&lt;br /&gt;
		&#039;type&#039; =&amp;gt; &#039;azure&#039;,&lt;br /&gt;
		&#039;clientId&#039; =&amp;gt; getenv( &#039;AAD_CLIENT_ID&#039; ),&lt;br /&gt;
		&#039;clientSecret&#039; =&amp;gt; getenv( &#039;AAD_CLIENT_SECRET&#039; ),&lt;br /&gt;
		&#039;redirectUri&#039; =&amp;gt; str_replace( &amp;quot;http&amp;quot;,&lt;br /&gt;
				&amp;quot;https&amp;quot;,&lt;br /&gt;
				getenv( &#039;GITLAB_ENVIRONMENT_URL&#039; ) ) . &#039;/Special:PluggableAuthLogin&#039;&lt;br /&gt;
	],&lt;br /&gt;
	&#039;buttonLabelMessage&#039; =&amp;gt; &#039;wikibase-solutions-oauth-button-label&#039;&lt;br /&gt;
];&lt;br /&gt;
$wgOAuthAzureTenant = getenv( &#039;AAD_TENANT_ID&#039; );&lt;br /&gt;
$wgOAuthAutoPopulateGroups = [ &#039;sysop&#039;,&lt;br /&gt;
	&#039;interface-admin&#039; ];&lt;br /&gt;
&lt;br /&gt;
##### SemanticMediaWiki&lt;br /&gt;
enableSemantics( &#039;wikibase.nl&#039; );&lt;br /&gt;
$smwgConfigFileDir = $IP . &#039;/cache&#039;;&lt;br /&gt;
# Default disabled (CSP Basis#13)&lt;br /&gt;
$smwgCheckForConstraintErrors = SMW_CONSTRAINT_ERR_CHECK_NONE;&lt;br /&gt;
const NS_WIDGET = 274;&lt;br /&gt;
const NS_WIDGET_TALK = 275;&lt;br /&gt;
$smwgNamespacesWithSemanticLinks[NS_TEMPLATE] = true;&lt;br /&gt;
$smwgNamespacesWithSemanticLinks[SMW_NS_PROPERTY] = true;&lt;br /&gt;
$smwgNamespacesWithSemanticLinks[SMW_NS_CONCEPT] = true;&lt;br /&gt;
$smwgNamespacesWithSemanticLinks[NS_WIDGET] = true;&lt;br /&gt;
$smwgNamespacesWithSemanticLinks[SMW_NS_PROPERTY_TALK] = false;&lt;br /&gt;
$smwgNamespacesWithSemanticLinks[SMW_NS_CONCEPT_TALK] = false;&lt;br /&gt;
$smwgNamespacesWithSemanticLinks[NS_WIDGET_TALK] = false;&lt;br /&gt;
$smwgPageSpecialProperties = [ &#039;_MDAT&#039;,&lt;br /&gt;
	&#039;_CDAT&#039; ];&lt;br /&gt;
&lt;br /&gt;
##### SemanticExtraSpecialProperties&lt;br /&gt;
wfLoadExtension( &#039;SemanticExtraSpecialProperties&#039; );&lt;br /&gt;
$sespgEnabledPropertyList = [ &#039;_EUSER&#039;,&lt;br /&gt;
	&#039;_CUSER&#039;,&lt;br /&gt;
	&#039;_PAGEID&#039;, ];&lt;br /&gt;
&lt;br /&gt;
##### SemanticResultFormats&lt;br /&gt;
wfLoadExtension( &#039;SemanticResultFormats&#039; );&lt;br /&gt;
&lt;br /&gt;
##### SyntaxHighlight_GeSHi&lt;br /&gt;
wfLoadExtension( &#039;SyntaxHighlight_GeSHi&#039; );&lt;br /&gt;
&lt;br /&gt;
##### TemplateData&lt;br /&gt;
wfLoadExtension( &#039;TemplateData&#039; );&lt;br /&gt;
&lt;br /&gt;
##### UrlGetParameters&lt;br /&gt;
require_once $IP . &#039;/extensions/UrlGetParameters/UrlGetParameters.php&#039;;&lt;br /&gt;
&lt;br /&gt;
##### UserFunctions&lt;br /&gt;
require_once &amp;quot;$IP/extensions/UserFunctions/UserFunctions.php&amp;quot;;&lt;br /&gt;
$wgUFAllowedNamespaces = array_fill( 0,&lt;br /&gt;
	4000,&lt;br /&gt;
	true );&lt;br /&gt;
$wgUFAllowedNamespaces += array_fill( 50000,&lt;br /&gt;
	5000,&lt;br /&gt;
	true );&lt;br /&gt;
&lt;br /&gt;
##### UserMerge&lt;br /&gt;
wfLoadExtension( &#039;UserMerge&#039; );&lt;br /&gt;
$wgGroupPermissions[&#039;bureaucrat&#039;][&#039;usermerge&#039;] = true;&lt;br /&gt;
&lt;br /&gt;
##### Variables&lt;br /&gt;
wfLoadExtension( &#039;Variables&#039; );&lt;br /&gt;
&lt;br /&gt;
##### VisualEditor&lt;br /&gt;
wfLoadExtension( &#039;VisualEditor&#039; );&lt;br /&gt;
$wgTmpDirectory = $IP . &#039;/images/temp/&#039;;&lt;br /&gt;
$wgExtraSignatureNamespaces = [ NS_MAIN ];&lt;br /&gt;
$wgVisualEditorEnableWikitext = true;&lt;br /&gt;
$wgVisualEditorEnableDiffPage = true;&lt;br /&gt;
for ( $i = 50000; $i &amp;lt; 55000; $i += 2 ) {&lt;br /&gt;
	$wgContentNamespaces[] = $i;&lt;br /&gt;
}&lt;br /&gt;
$wgVisualEditorNamespaces = array_merge( $wgContentNamespaces,&lt;br /&gt;
	[ NS_USER ] );&lt;br /&gt;
&lt;br /&gt;
##### Widgets&lt;br /&gt;
wfLoadExtension( &#039;Widgets&#039; );&lt;br /&gt;
&lt;br /&gt;
##### WSArrays&lt;br /&gt;
wfLoadExtension( &#039;WSArrays&#039; );&lt;br /&gt;
$wfEnableResultPrinter = true;&lt;br /&gt;
&lt;br /&gt;
##### WSImageVersion&lt;br /&gt;
wfLoadExtension( &#039;WSImageVersion&#039; );&lt;br /&gt;
$wgWSImageVersionVersionDescriptions = [ [ &amp;quot;product&amp;quot; =&amp;gt; &amp;quot;CSP&amp;quot;,&lt;br /&gt;
	&amp;quot;file&amp;quot; =&amp;gt; $IP . &amp;quot;/.version&amp;quot; ], ];&lt;br /&gt;
&lt;br /&gt;
##### WSPageSync&lt;br /&gt;
wfLoadExtension( &#039;WSPageSync&#039; );&lt;br /&gt;
$wgWSPageSync[&#039;filePath&#039;] = $IP . &#039;/wsps&#039;;&lt;br /&gt;
&lt;br /&gt;
##### WikiSearch (and WikiSearchFront)&lt;br /&gt;
wfLoadExtension( &#039;WikiSearch&#039; );&lt;br /&gt;
wfLoadExtension( &#039;WikiSearchFront&#039; );&lt;br /&gt;
&lt;br /&gt;
##### WSSemanticParsedText&lt;br /&gt;
wfLoadExtension( &#039;WSSemanticParsedText&#039; );&lt;br /&gt;
$smwgElasticsearchConfig[&amp;quot;indexer&amp;quot;][&amp;quot;raw.text&amp;quot;] = true;&lt;br /&gt;
&lt;br /&gt;
##### WSSlots&lt;br /&gt;
# Note: We still define and append the &#039;ws-page-props&#039; slot, because it is used on some wikis.&lt;br /&gt;
wfLoadExtension( &#039;WSSlots&#039; );&lt;br /&gt;
$wgWSSlotsDefaultSlotRoleLayout = [ &amp;quot;display&amp;quot; =&amp;gt; &amp;quot;none&amp;quot;,&lt;br /&gt;
	&amp;quot;region&amp;quot; =&amp;gt; &amp;quot;center&amp;quot;,&lt;br /&gt;
	&amp;quot;placement&amp;quot; =&amp;gt; &amp;quot;append&amp;quot;, ];&lt;br /&gt;
$wgWSSlotsDefaultContentModel = &amp;quot;wikitext&amp;quot;;&lt;br /&gt;
$wgWSSlotsDefinedSlots = [ &amp;quot;ws-base-props&amp;quot;, &amp;quot;ws-class-props&amp;quot; ];&lt;br /&gt;
$wgWSSlotsSemanticSlots = [ &amp;quot;ws-base-props&amp;quot;, &amp;quot;ws-class-props&amp;quot; ];&lt;br /&gt;
$wgWSSlotsDoPurge = true;&lt;br /&gt;
&lt;br /&gt;
##### WSSpaces&lt;br /&gt;
wfLoadExtension( &#039;WSSpaces&#039; );&lt;br /&gt;
for ( $i = 50000; $i &amp;lt; 55000; $i++ ) {&lt;br /&gt;
	$smwgNamespacesWithSemanticLinks[$i] = true;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
##### WSTools&lt;br /&gt;
wfLoadExtension( &#039;WSTools&#039; );&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Configure skin settings ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
wfLoadExtension( &#039;Bootstrap&#039; );&lt;br /&gt;
wfLoadSkin( &#039;chameleon&#039; );&lt;br /&gt;
$wgDefaultSkin = &amp;quot;chameleon&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
// Define the location of the css and the layout xml&lt;br /&gt;
$egChameleonLayoutFile = &amp;quot;$IP/skin/wikibaseLayout.xml&amp;quot;;&lt;br /&gt;
$egChameleonExternalStyleModules = glob( $IP . &#039;/skin/scss/[^_]*.scss&#039; );&lt;br /&gt;
$wgAllowSiteCSSOnRestrictedPages = true;&lt;br /&gt;
&lt;br /&gt;
// Replace &amp;quot;Powered by SMW&amp;quot; by &amp;quot;Powered by Wikibase&amp;quot;&lt;br /&gt;
$wgFooterIcons = [ &amp;quot;copyright&amp;quot; =&amp;gt; [ &amp;quot;copyright&amp;quot; =&amp;gt; [], ],&lt;br /&gt;
	&amp;quot;poweredby&amp;quot; =&amp;gt; [ &amp;quot;wikibase&amp;quot; =&amp;gt; [ &amp;quot;src&amp;quot; =&amp;gt; &amp;quot;/skin/PoweredByWikibase.png&amp;quot;,&lt;br /&gt;
		&amp;quot;url&amp;quot; =&amp;gt; &amp;quot;https://www.wikibase-solutions.com/&amp;quot;,&lt;br /&gt;
		&amp;quot;alt&amp;quot; =&amp;gt; &amp;quot;Powered by Wikibase&amp;quot;, ], ], ];&lt;br /&gt;
$wgRightsIcon = null;&lt;br /&gt;
&lt;br /&gt;
// Logo and favicon&lt;br /&gt;
$wgFavicon = &amp;quot;/skin/favicon.png&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
// Common message files&lt;br /&gt;
$wgMessagesDirs[&#039;WikibaseSolutions&#039;] = __DIR__ . &#039;/../skin/i18n&#039;;&lt;br /&gt;
&lt;br /&gt;
// Style settings&lt;br /&gt;
// If you want to use container-max-widths, take this step or it won&#039;t respond:&lt;br /&gt;
// -&amp;gt; Go to skin/wikibaseLayout.xml and from &amp;lt;grid&amp;gt;, remove: &#039;class=&amp;quot;flex-fill&amp;quot; mode=&amp;quot;fluid&amp;quot;&#039;&lt;br /&gt;
// Add this to the following array: &#039;container-max-widths&#039;	=&amp;gt; &#039;(sm: 100%, md: 100%, lg: 70vw, xl:&lt;br /&gt;
// 70vw)&#039;&lt;br /&gt;
$egChameleonExternalStyleVariables = [ &#039;primary&#039; =&amp;gt; &#039;#0576a8&#039; ];&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>E00a555c-1e5d-4eb3-b26b-5be8dc16c657</name></author>
	</entry>
	<entry>
		<id>https://open-csp.org/index.php?title=Template:QandA_sidebar&amp;diff=1701</id>
		<title>Template:QandA sidebar</title>
		<link rel="alternate" type="text/html" href="https://open-csp.org/index.php?title=Template:QandA_sidebar&amp;diff=1701"/>
		<updated>2022-10-05T08:11:00Z</updated>

		<summary type="html">&lt;p&gt;E00a555c-1e5d-4eb3-b26b-5be8dc16c657: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is the &#039;&#039;&#039;QandA sidebar&#039;&#039;&#039; template. It should be called in the following format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{{QandA sidebar}}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&amp;lt;includeonly&amp;gt;&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#vardefine:@allow sidebar edit |{{#ifingroup:user |{{#if:{{#urlget:veaction}}{{#urlget:action}}||yes}} }} }}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&amp;lt;div class=&amp;quot;tab-content&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;card tab-pane fade show active&amp;quot; id=&amp;quot;sidebar-view&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;card-header&amp;quot;&amp;gt;{{#ifeq:{{#var:@allow sidebar edit}} |yes |&amp;lt;span style=&amp;quot;float:right&amp;quot;&amp;gt;{{#widget:Button link  |class=btn btn-secondary |buttontext=Edit |onclick=ShowTab(&#039;#sidebar-edit&#039;) }}&amp;lt;/span&amp;gt;}}&lt;br /&gt;
&amp;lt;b class=&amp;quot;d-block&amp;quot;&amp;gt;{{#caprint:$base[Base properties][Class]}}&amp;lt;/b&amp;gt;&lt;br /&gt;
{{#caprint:$base[Base properties][Title]}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;!-- end of .card-header --&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;card-body&amp;quot;&amp;gt;&lt;br /&gt;
{{Sidebar item&lt;br /&gt;
|Label=Title&lt;br /&gt;
|Value={{#caprint:$base[Base properties][Title]}}&lt;br /&gt;
}}{{Sidebar item&lt;br /&gt;
|Label=Tag&lt;br /&gt;
|Value={{#caprint:$class[QandA properties][Tag]}}&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;!-- end of .card-body --&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;!-- end of .card &lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#ifeq:{{#var:@allow sidebar edit}} |yes |&amp;lt;wsform action=&amp;quot;addToWiki&amp;quot; class=&amp;quot;tab-pane fade&amp;quot; id=&amp;quot;sidebar-edit&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;card&amp;quot;&amp;gt;&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
// wsedits for base properties&lt;br /&gt;
--&amp;gt;{{#tag:wsedit ||target={{PAGEID}} |template=Base properties |formfield=Title |mwslot=ws-base-props}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
// wscreate or wsedits for page properties&lt;br /&gt;
// use casize to check if the slot already exists. Then wsedit, else wscreate.&lt;br /&gt;
--&amp;gt;{{#if:{{#casize:$class}}&lt;br /&gt;
|{{#tag:wsedit ||target={{PAGEID}} |template=QandA properties |formfield=Tag |mwslot=ws-class-props}}&lt;br /&gt;
|&amp;lt;wscreate mwwrite=&amp;quot;{{FULLPAGENAME}}&amp;quot; mwtemplate=&amp;quot;QandA properties&amp;quot; mwslot=&amp;quot;ws-class-props&amp;quot; mwfields=&amp;quot;Tag&amp;quot; /&amp;gt;&lt;br /&gt;
}}&amp;lt;!-- end of #if  --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;card-header&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;float:right&amp;quot;&amp;gt;{{#widget:Button link  |class=btn btn-secondary |buttontext=Close |onclick=ShowTab(&#039;#sidebar-view&#039;) }}&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;b class=&amp;quot;d-block&amp;quot;&amp;gt;{{#caprint:$base[Base properties][Class]}}&amp;lt;/b&amp;gt;&lt;br /&gt;
{{#caprint:$base[Base properties][Title]}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;!-- end of .card-header --&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;card-body&amp;quot;&amp;gt;&lt;br /&gt;
{{Sidebar item&lt;br /&gt;
|Label=Title&lt;br /&gt;
|Value={{#tag:wsfield ||type=text |name=Title |required=required |class=form-control |value={{#caprint:$base[Base properties][Title]}} }}&lt;br /&gt;
}}&lt;br /&gt;
{{Sidebar item&lt;br /&gt;
|Label=Tag&lt;br /&gt;
|Value={{#cadefine:$value settings | }}&lt;br /&gt;
{{#cadefine:$values selected |{{#caprint:$class[QandA properties][Tag]}} }}&lt;br /&gt;
{{#camerge:$value options |$value settings |$values selected }}&lt;br /&gt;
{{#caunique:$value options}}&lt;br /&gt;
{{#tag:wstoken&lt;br /&gt;
  |{{#tag:wsfield|(none)|type=option|value=}}&lt;br /&gt;
{{#camap:$value options |__Value__|{{#tag:wsfield|__Value__|type=option|value=__Value__|selected={{#if:{{#casearch:$values selected|__Value__}}|selected}} }} |}}&lt;br /&gt;
  |name=Tag[] &lt;br /&gt;
  |class=form-control &lt;br /&gt;
  |id=tag-field &lt;br /&gt;
  |multiple=multiple&lt;br /&gt;
  |allowtags=allowtags&lt;br /&gt;
}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;text-right&amp;quot;&amp;gt;&lt;br /&gt;
{{#widget:Button link  |class=btn btn-secondary |buttontext=Close |onclick=ShowTab(&#039;#sidebar-view&#039;) }}&lt;br /&gt;
&amp;lt;wsfield type=&amp;quot;submit&amp;quot; value=&amp;quot;Save&amp;quot; class=&amp;quot;btn btn-primary&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;!-- end of .card-body --&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;!-- end of .card --&amp;gt;&lt;br /&gt;
&amp;lt;/wsform&amp;gt;|}}&amp;lt;!-- end of #ifeq @allow sidebar edit == yes --&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;!-- end of .tab-content &lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>E00a555c-1e5d-4eb3-b26b-5be8dc16c657</name></author>
	</entry>
	<entry>
		<id>https://open-csp.org/index.php?title=Template:QandA_sidebar&amp;diff=1700</id>
		<title>Template:QandA sidebar</title>
		<link rel="alternate" type="text/html" href="https://open-csp.org/index.php?title=Template:QandA_sidebar&amp;diff=1700"/>
		<updated>2022-10-05T08:00:45Z</updated>

		<summary type="html">&lt;p&gt;E00a555c-1e5d-4eb3-b26b-5be8dc16c657: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is the &#039;&#039;&#039;QandA sidebar&#039;&#039;&#039; template. It should be called in the following format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{{QandA sidebar}}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&amp;lt;includeonly&amp;gt;&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#vardefine:@allow sidebar edit |{{#ifingroup:user |{{#if:{{#urlget:veaction}}{{#urlget:action}}||yes}} }} }}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&amp;lt;div class=&amp;quot;tab-content&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;card tab-pane fade show active&amp;quot; id=&amp;quot;sidebar-view&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;card-header&amp;quot;&amp;gt;{{#ifeq:{{#var:@allow sidebar edit}} |yes |&amp;lt;span style=&amp;quot;float:right&amp;quot;&amp;gt;{{#widget:Button link  |class=btn btn-secondary |buttontext=Edit |onclick=ShowTab(&#039;#sidebar-edit&#039;) }}&amp;lt;/span&amp;gt;}}&lt;br /&gt;
&amp;lt;b class=&amp;quot;d-block&amp;quot;&amp;gt;{{#caprint:$base[Base properties][Class]}}&amp;lt;/b&amp;gt;&lt;br /&gt;
{{#caprint:$base[Base properties][Title]}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;!-- end of .card-header --&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;card-body&amp;quot;&amp;gt;&lt;br /&gt;
{{Sidebar item&lt;br /&gt;
|Label=Title&lt;br /&gt;
|Value={{#caprint:$base[Base properties][Title]}}&lt;br /&gt;
}}{{Sidebar item&lt;br /&gt;
|Label=Tag&lt;br /&gt;
|Value={{#caprint:$class[QandA properties][Tag]}}&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;!-- end of .card-body --&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;!-- end of .card &lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#ifeq:{{#var:@allow sidebar edit}} |yes |&amp;lt;wsform action=&amp;quot;addToWiki&amp;quot; class=&amp;quot;tab-pane fade&amp;quot; id=&amp;quot;sidebar-edit&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;card&amp;quot;&amp;gt;&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
// wsedits for base properties&lt;br /&gt;
--&amp;gt;{{#tag:wsedit ||target={{PAGEID}} |template=Base properties |formfield=Title |mwslot=ws-base-props}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
// wscreate or wsedits for page properties&lt;br /&gt;
// use casize to check if the slot already exists. Then wsedit, else wscreate.&lt;br /&gt;
--&amp;gt;{{#if:{{#casize:$class}}&lt;br /&gt;
|{{#tag:wsedit ||target={{PAGEID}} |template=QandA properties |formfield=Tag |mwslot=ws-class-props}}&lt;br /&gt;
|&amp;lt;wscreate mwwrite=&amp;quot;{{FULLPAGENAME}}&amp;quot; mwtemplate=&amp;quot;QandA properties&amp;quot; mwslot=&amp;quot;ws-class-props&amp;quot; mwfields=&amp;quot;Tag&amp;quot; /&amp;gt;&lt;br /&gt;
}}&amp;lt;!-- end of #if  --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;card-header&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;float:right&amp;quot;&amp;gt;{{#widget:Button link  |class=btn btn-secondary |buttontext=Close |onclick=ShowTab(&#039;#sidebar-view&#039;) }}&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;b class=&amp;quot;d-block&amp;quot;&amp;gt;{{#caprint:$base[Base properties][Class]}}&amp;lt;/b&amp;gt;&lt;br /&gt;
{{#caprint:$base[Base properties][Title]}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;!-- end of .card-header --&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;card-body&amp;quot;&amp;gt;&lt;br /&gt;
{{Sidebar item&lt;br /&gt;
|Label=Title&lt;br /&gt;
|Value={{#tag:wsfield ||type=text |name=Title |required=required |class=form-control |value={{#caprint:$base[Base properties][Title]}} }}&lt;br /&gt;
}}&lt;br /&gt;
{{Sidebar item&lt;br /&gt;
|Label=Tag&lt;br /&gt;
|Value={{#cadefine:$value settings | }}&lt;br /&gt;
{{#cadefine:$values selected |{{#caprint:$class[QandA properties][Tag]}} }}&lt;br /&gt;
{{#camerge:$value options |$value settings |$values selected }}&lt;br /&gt;
{{#caunique:$value options}}&lt;br /&gt;
{{#tag:wstoken&lt;br /&gt;
  |{{#tag:wsfield|(none)|type=option|value=}}&lt;br /&gt;
{{#camap:$value options |__Value__|{{#tag:wsfield|__Value__|type=option|value=__Value__|selected={{#if:{{#casearch:$values selected|__Value__}}|selected}} }} |}}&lt;br /&gt;
  |name=Tag[] &lt;br /&gt;
  |class=form-control &lt;br /&gt;
  |id=tag-field &lt;br /&gt;
  |multiple=multiple&lt;br /&gt;
  |allowtags&lt;br /&gt;
}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;text-right&amp;quot;&amp;gt;&lt;br /&gt;
{{#widget:Button link  |class=btn btn-secondary |buttontext=Close |onclick=ShowTab(&#039;#sidebar-view&#039;) }}&lt;br /&gt;
&amp;lt;wsfield type=&amp;quot;submit&amp;quot; value=&amp;quot;Save&amp;quot; class=&amp;quot;btn btn-primary&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;!-- end of .card-body --&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;!-- end of .card --&amp;gt;&lt;br /&gt;
&amp;lt;/wsform&amp;gt;|}}&amp;lt;!-- end of #ifeq @allow sidebar edit == yes --&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;!-- end of .tab-content &lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>E00a555c-1e5d-4eb3-b26b-5be8dc16c657</name></author>
	</entry>
	<entry>
		<id>https://open-csp.org/index.php?title=Template:Show_question_as_search_result&amp;diff=1699</id>
		<title>Template:Show question as search result</title>
		<link rel="alternate" type="text/html" href="https://open-csp.org/index.php?title=Template:Show_question_as_search_result&amp;diff=1699"/>
		<updated>2022-10-05T07:54:41Z</updated>

		<summary type="html">&lt;p&gt;E00a555c-1e5d-4eb3-b26b-5be8dc16c657: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is the &#039;&#039;&#039;Show question as search result&#039;&#039;&#039; template. It should be called in the following format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{{Show question as search result&lt;br /&gt;
|Page=&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&amp;lt;includeonly&amp;gt;&amp;lt;div&amp;gt;[[{{{$page|}}}|{{{$title|}}}]]&amp;lt;/div&amp;gt;&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>E00a555c-1e5d-4eb3-b26b-5be8dc16c657</name></author>
	</entry>
	<entry>
		<id>https://open-csp.org/index.php?title=Template:Show_question_as_search_result&amp;diff=1698</id>
		<title>Template:Show question as search result</title>
		<link rel="alternate" type="text/html" href="https://open-csp.org/index.php?title=Template:Show_question_as_search_result&amp;diff=1698"/>
		<updated>2022-10-05T07:54:18Z</updated>

		<summary type="html">&lt;p&gt;E00a555c-1e5d-4eb3-b26b-5be8dc16c657: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is the &#039;&#039;&#039;Show question as search result&#039;&#039;&#039; template. It should be called in the following format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{{Show question as search result&lt;br /&gt;
|Page=&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&amp;lt;includeonly&amp;gt;&amp;lt;div&amp;gt;[[{{{Page|}}}|{{{$title|}}}]]&amp;lt;/div&amp;gt;&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>E00a555c-1e5d-4eb3-b26b-5be8dc16c657</name></author>
	</entry>
	<entry>
		<id>https://open-csp.org/index.php?title=Template:Show_question_as_search_result&amp;diff=1697</id>
		<title>Template:Show question as search result</title>
		<link rel="alternate" type="text/html" href="https://open-csp.org/index.php?title=Template:Show_question_as_search_result&amp;diff=1697"/>
		<updated>2022-10-05T07:51:48Z</updated>

		<summary type="html">&lt;p&gt;E00a555c-1e5d-4eb3-b26b-5be8dc16c657: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is the &#039;&#039;&#039;Show question as search result&#039;&#039;&#039; template. It should be called in the following format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{{Show question as search result&lt;br /&gt;
|Page=&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&amp;lt;includeonly&amp;gt;&amp;lt;div&amp;gt;[[$page|{{{$title|}}}]]&amp;lt;/div&amp;gt;&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>E00a555c-1e5d-4eb3-b26b-5be8dc16c657</name></author>
	</entry>
	<entry>
		<id>https://open-csp.org/index.php?title=File:Share_pages.jpg&amp;diff=1381</id>
		<title>File:Share pages.jpg</title>
		<link rel="alternate" type="text/html" href="https://open-csp.org/index.php?title=File:Share_pages.jpg&amp;diff=1381"/>
		<updated>2022-09-13T09:32:46Z</updated>

		<summary type="html">&lt;p&gt;E00a555c-1e5d-4eb3-b26b-5be8dc16c657: Uploaded using FlexForm.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;testing&lt;/div&gt;</summary>
		<author><name>E00a555c-1e5d-4eb3-b26b-5be8dc16c657</name></author>
	</entry>
	<entry>
		<id>https://open-csp.org/index.php?title=Template:Show_question_as_search_result&amp;diff=1356</id>
		<title>Template:Show question as search result</title>
		<link rel="alternate" type="text/html" href="https://open-csp.org/index.php?title=Template:Show_question_as_search_result&amp;diff=1356"/>
		<updated>2022-09-09T07:51:28Z</updated>

		<summary type="html">&lt;p&gt;E00a555c-1e5d-4eb3-b26b-5be8dc16c657: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is the &#039;&#039;&#039;Show question as search result&#039;&#039;&#039; template. It should be called in the following format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{{Show question as search result&lt;br /&gt;
|Page=&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&amp;lt;includeonly&amp;gt;{{{1|}}}&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>E00a555c-1e5d-4eb3-b26b-5be8dc16c657</name></author>
	</entry>
	<entry>
		<id>https://open-csp.org/index.php?title=Template:Show_question_as_search_result&amp;diff=1355</id>
		<title>Template:Show question as search result</title>
		<link rel="alternate" type="text/html" href="https://open-csp.org/index.php?title=Template:Show_question_as_search_result&amp;diff=1355"/>
		<updated>2022-09-09T07:50:35Z</updated>

		<summary type="html">&lt;p&gt;E00a555c-1e5d-4eb3-b26b-5be8dc16c657: Created page with &amp;quot;&amp;lt;noinclude&amp;gt;  This is the &amp;#039;&amp;#039;&amp;#039;Show question as search result&amp;#039;&amp;#039;&amp;#039; template. It should be called in the following format:  &amp;lt;pre&amp;gt; {{Show question as search result |Page= }} &amp;lt;/pre&amp;gt;...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is the &#039;&#039;&#039;Show question as search result&#039;&#039;&#039; template. It should be called in the following format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{{Show question as search result&lt;br /&gt;
|Page=&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&amp;lt;includeonly&amp;gt;{{{Page|}}}&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>E00a555c-1e5d-4eb3-b26b-5be8dc16c657</name></author>
	</entry>
	<entry>
		<id>https://open-csp.org/index.php?title=Questions-and-answers&amp;diff=1354</id>
		<title>Questions-and-answers</title>
		<link rel="alternate" type="text/html" href="https://open-csp.org/index.php?title=Questions-and-answers&amp;diff=1354"/>
		<updated>2022-09-09T07:47:44Z</updated>

		<summary type="html">&lt;p&gt;E00a555c-1e5d-4eb3-b26b-5be8dc16c657: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&amp;lt;div class=&amp;quot;main-search&amp;quot;&amp;gt;{{#WikiSearchConfig:&lt;br /&gt;
|base query=[[Class::QandA]]&lt;br /&gt;
|aggregation size=100&lt;br /&gt;
|Tag&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;div class=&amp;quot;control-search soa-search&amp;quot;&amp;gt;&lt;br /&gt;
{{#WikiSearchFrontend:&lt;br /&gt;
|size=100&lt;br /&gt;
|title=_DTITLE&lt;br /&gt;
|layout=template&lt;br /&gt;
|template=Show question as search result&lt;br /&gt;
|?$title&lt;br /&gt;
   #display=link&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>E00a555c-1e5d-4eb3-b26b-5be8dc16c657</name></author>
	</entry>
	<entry>
		<id>https://open-csp.org/index.php?title=Questions-and-answers&amp;diff=1353</id>
		<title>Questions-and-answers</title>
		<link rel="alternate" type="text/html" href="https://open-csp.org/index.php?title=Questions-and-answers&amp;diff=1353"/>
		<updated>2022-09-09T07:29:24Z</updated>

		<summary type="html">&lt;p&gt;E00a555c-1e5d-4eb3-b26b-5be8dc16c657: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&amp;lt;div class=&amp;quot;main-search&amp;quot;&amp;gt;{{#WikiSearchConfig:&lt;br /&gt;
|base query=[[Class::QandA]]&lt;br /&gt;
|aggregation size=100&lt;br /&gt;
|Tag&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;div class=&amp;quot;control-search soa-search&amp;quot;&amp;gt;&lt;br /&gt;
{{#WikiSearchFrontend:&lt;br /&gt;
|size=100&lt;br /&gt;
|title=_DTITLE&lt;br /&gt;
|?$title&lt;br /&gt;
   #display=link&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>E00a555c-1e5d-4eb3-b26b-5be8dc16c657</name></author>
	</entry>
</feed>