<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://cm2.liecourt.com/index.php?action=history&amp;feed=atom&amp;title=Template%3AModule</id>
	<title>Template:Module - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://cm2.liecourt.com/index.php?action=history&amp;feed=atom&amp;title=Template%3AModule"/>
	<link rel="alternate" type="text/html" href="https://cm2.liecourt.com/index.php?title=Template:Module&amp;action=history"/>
	<updated>2026-04-11T14:17:24Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.31.14</generator>
	<entry>
		<id>https://cm2.liecourt.com/index.php?title=Template:Module&amp;diff=135&amp;oldid=prev</id>
		<title>Maintenance script: Fill database</title>
		<link rel="alternate" type="text/html" href="https://cm2.liecourt.com/index.php?title=Template:Module&amp;diff=135&amp;oldid=prev"/>
		<updated>2020-05-13T19:24:49Z</updated>

		<summary type="html">&lt;p&gt;Fill database&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;noinclude&amp;gt;{{Managed&lt;br /&gt;
|Version=1.8&lt;br /&gt;
|Version notes=1.8 - Added the &amp;quot;Module prefix&amp;quot; parameters, for modules that are not WS modules (because of issues on rvs.wikibase.nl with module settings template for the RVS module)&lt;br /&gt;
1.7 - Moved to WS/Basics module &amp;amp; only sets properties without showing page, if module management module is not present&lt;br /&gt;
1.6 - Added &amp;quot;Additional pages&amp;quot; parameter and some new properties (T4000)&lt;br /&gt;
1.5 - Added some divs and ids (like &amp;quot;ws-module-version-number&amp;quot;) for Charlot's module updating tool for document workbench (T3132, T3136)&lt;br /&gt;
1.4 - Added list of pages belonging to module and &amp;quot;Managed from wiki&amp;quot; parameter&lt;br /&gt;
1.3 - Module table now shows Name, because display title didn't always work when exporting to other wikis&lt;br /&gt;
1.2 - Added 'Add feature' button below module table, which automatically fills in the module&lt;br /&gt;
1.1 - Features in module table are now sorted by dependency.&lt;br /&gt;
|Short description=Template for displaying module information&lt;br /&gt;
|Feature=Wiki:Feature/1556028659&lt;br /&gt;
|Uses managed items=Template:Array add value&lt;br /&gt;
|Status=Live}}&lt;br /&gt;
&lt;br /&gt;
This is the '''Module''' template. It should be called in the following format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;{{Module&lt;br /&gt;
|Name= &amp;lt;text&amp;gt;&lt;br /&gt;
|Purpose = &amp;lt;Text describing the purpose of this module&amp;gt;&lt;br /&gt;
|Status = &amp;lt;Allowed values for property:Status of module&amp;gt;&lt;br /&gt;
|Module code = unique 2 or 3 character code to identify the module and to use in system messages, classes, js functions etc.&lt;br /&gt;
|Module prefix = OPTIONAL: defaults to ws&amp;lt;Module code&amp;gt;, i.e. when module code=&amp;quot;doc&amp;quot;, the prefix is &amp;quot;wsdoc&amp;quot;, unless this parameter is used. &lt;br /&gt;
|Version = &amp;lt;Version number&amp;gt;&lt;br /&gt;
|Version notes = &amp;lt;text&amp;gt; optional notes about the version&lt;br /&gt;
|Dependent on = &amp;lt;pages&amp;gt; Optional: Other modules this module is dependent on, e.g. Wiki:Module/00002, Wiki:Module/00003&lt;br /&gt;
|Custom pages= &amp;lt;pages, separated by &amp;quot;;&amp;quot;&amp;gt; Pages that should be customized per wiki. They are excluded from the export list and shown separately.&lt;br /&gt;
|Additional pages= &amp;lt;pages, separated by &amp;quot;;&amp;quot;&amp;gt; Additional pages belonging to the module (use this for pages where it's not possible to use &amp;quot;Template:Managed&amp;quot; e.g. in MediaWiki namespace)&lt;br /&gt;
|Features = &amp;lt;pages&amp;gt; Features that are part of this module&lt;br /&gt;
|Managed from wiki= {{SERVERNAME}} of the wiki from which the module is managed, e.g. &amp;quot;i.wikibase.nl&amp;quot;.&lt;br /&gt;
|Module folder= &amp;lt;text&amp;gt; e.g. &amp;quot;wsdocument&amp;quot;, &amp;quot;wsbasics&amp;quot; name of the folder containing files of the module&lt;br /&gt;
|Customized module= &amp;lt;optional: Yes&amp;gt; use this parameter to specify that a module on a wiki is a customized version of the standard module&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;!--&lt;br /&gt;
&lt;br /&gt;
DEFINE VARIABLES&lt;br /&gt;
--&amp;gt;{{#vardefine:@mm |{{#ifexist:Wiki:Module/00013 |Yes |No}} }}&amp;lt;!-- // Set to &amp;quot;Yes&amp;quot; if &amp;quot;Module management&amp;quot; module is present (in which case a more elaborate feature page will be shown)&lt;br /&gt;
--&amp;gt;{{#vardefine:@name|{{{Name| }}} }}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#vardefine:@purpose|{{{Purpose| }}} }}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#vardefine:@status|{{{Status| }}} }}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#vardefine:@version|{{{Version| }}} }}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#vardefine:@version notes|&amp;lt;ul&amp;gt;{{#arraymap:{{{Version notes| }}} |\n|__NOTE__|&amp;lt;li&amp;gt;__NOTE__&amp;lt;/li&amp;gt;|}}&amp;lt;/ul&amp;gt;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#vardefine:@features|{{{Features| }}} }}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#vardefine:@cols|2-10| }}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#vardefine:@soon|&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;''coming soon''&amp;lt;/span&amp;gt;| }}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
SET PROPERTIES&lt;br /&gt;
--&amp;gt;{{#set:&lt;br /&gt;
|Class=Module&lt;br /&gt;
|Name={{#var:@name }}&lt;br /&gt;
|Module code={{{Module code|}}}&lt;br /&gt;
|Module prefix={{#if:{{{Module prefix|}}} |{{{Module prefix|}}} |ws{{{Module code|}}} }}&lt;br /&gt;
|Description={{#var:@purpose }}&lt;br /&gt;
|Status of module={{#var:@status }}&lt;br /&gt;
|Managed from wiki={{{Managed from wiki|}}}&lt;br /&gt;
|Custom managed items={{{Custom pages|}}} |+sep=;&lt;br /&gt;
|Additional managed items={{{Additional pages|}}} |+sep=;&lt;br /&gt;
|Module folder={{{Module folder|}}}&lt;br /&gt;
|Customized module={{#ifeq:{{{Customized module|}}} |Yes |true |false}}&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
// START: Only if mm==Yes&lt;br /&gt;
--&amp;gt;{{#ifeq:{{#var:@mm}} |Yes |{{Page title&lt;br /&gt;
|Overview=[[Module]] &lt;br /&gt;
|Title={{#var:@name}}&lt;br /&gt;
|Formlink={{#formlink:form=Module |target={{FULLPAGENAME}}  |link text={{Fa|pencil-square-o fa-fw}} Edit |link type=button}}&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;div class=&amp;quot;row mb-4&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class =&amp;quot;col-md-8&amp;quot;&amp;gt;&lt;br /&gt;
{{Item responsive&lt;br /&gt;
|1 = '''Purpose'''&lt;br /&gt;
|2 = {{#var:@purpose }}&lt;br /&gt;
|Cols = {{#var:@cols }}&lt;br /&gt;
}}&lt;br /&gt;
{{Item responsive&lt;br /&gt;
|1 = '''Managed from wiki'''&lt;br /&gt;
|2 = {{{Managed from wiki|}}}&lt;br /&gt;
|Cols = {{#var:@cols }}&lt;br /&gt;
}}&lt;br /&gt;
{{Item responsive&lt;br /&gt;
|1='''Module folder'''&lt;br /&gt;
|2={{{Module folder|}}}&lt;br /&gt;
|Cols={{#var:@cols }}&lt;br /&gt;
}}&lt;br /&gt;
{{Item responsive&lt;br /&gt;
|1 = '''Version'''&lt;br /&gt;
|2 = &amp;lt;div id=&amp;quot;ws-module-version-number&amp;quot;&amp;gt;{{#var:@version }}&amp;lt;/div&amp;gt;&lt;br /&gt;
|Cols = {{#var:@cols }}&lt;br /&gt;
}}&lt;br /&gt;
{{Item responsive&lt;br /&gt;
|1 = '''Version notes'''&lt;br /&gt;
|2 = &amp;lt;div id=&amp;quot;ws-module-version-notes&amp;quot;&amp;gt;{{#var:@version notes }}&amp;lt;/div&amp;gt;&lt;br /&gt;
|Cols = {{#var:@cols }}&lt;br /&gt;
}}&lt;br /&gt;
{{Item responsive&lt;br /&gt;
|1 = '''Status'''&lt;br /&gt;
|2 = {{#var:@status }}&lt;br /&gt;
|Cols = {{#var:@cols }}&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class =&amp;quot;col-md-4&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!-- SHOW MODULE TABLE--&amp;gt;&lt;br /&gt;
&amp;lt;div&amp;gt;{{Show module as table&lt;br /&gt;
|Module={{FULLPAGENAME}}&lt;br /&gt;
}}&amp;lt;/div&amp;gt;&lt;br /&gt;
{{#formlink:form=Feature |link text={{Fa|plus fa-fw}} Add a feature |link type=button |Feature[Module]={{FULLPAGENAME}} }}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{Hr}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#ask:[[Class::Managed item]]&lt;br /&gt;
[[Belongs to feature::&amp;lt;q&amp;gt;[[Is part of module::{{FULLPAGENAME}}]]&amp;lt;/q&amp;gt;]]&lt;br /&gt;
[[Status of managed item::Live]]&lt;br /&gt;
|format=array&lt;br /&gt;
|name=$featurepages&lt;br /&gt;
|link=none&lt;br /&gt;
|limit=999&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{Array add value |1=$featurepages |2={{FULLPAGENAME}} }}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{Array add value |1=$featurepages |2={{#replace:{{{Additional pages|}}}|;|,}} }}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
// Exclude custom pages from export list&lt;br /&gt;
--&amp;gt;{{#arraydefine:$custom pages |{{{Custom pages|}}} |;}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#arraydiff:$export pages |$featurepages |$custom pages}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
// Show custom pages&lt;br /&gt;
--&amp;gt;{{#ifeq: {{#expr:{{#arraysize:$custom pages}} &amp;gt; 0}} |1 |{{#arraysort:$custom pages|asc}}&lt;br /&gt;
&amp;lt;h4 class=&amp;quot;mb-0&amp;quot;&amp;gt;Custom pages for this module&amp;lt;/h4&amp;gt;&lt;br /&gt;
{{Alert |Type=warning |Text=These pages should be customized per wiki}}&lt;br /&gt;
{{#arrayprint:$custom pages|&amp;lt;br&amp;gt; |@@@ |{{#widget:Link|type=a|href={{fullurl:@@@}}|text=@@@}} }}&lt;br /&gt;
&amp;lt;div class=&amp;quot;hidden&amp;quot; id=&amp;quot;ws-module-install-once&amp;quot; &amp;gt;{{#arrayprint:$custom pages|{{!}}|@@@ |@@@ }}&amp;lt;/div&amp;gt;&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
// Show export list&lt;br /&gt;
--&amp;gt;{{#ifeq: {{#expr:{{#arraysize:$export pages}} &amp;gt; 0}} |1 |{{#arraysort:$export pages|asc}}&lt;br /&gt;
&amp;lt;h4 class=&amp;quot;mb-0&amp;quot;&amp;gt;List of pages belonging to this module (Query results, only managed items with Status=Live)&amp;lt;/h4&amp;gt;&lt;br /&gt;
{{#widget:Button link|href=#export-list|datatoggle=tab|buttontext=Export-list|class=btn btn-default}}&lt;br /&gt;
{{#widget:Button link|href=#export-list-modification-date|datatoggle=tab|buttontext=Table|class=btn btn-default}}&lt;br /&gt;
&amp;lt;div class=&amp;quot;tab-content&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;tab-pane fade {{int:bs-in}} active&amp;quot; id=&amp;quot;export-list&amp;quot;&amp;gt;{{#arrayprint:$export pages|&amp;lt;br&amp;gt; |@@@ |{{#widget:Link|type=a|href={{fullurl:@@@}}|text=@@@}} }}&lt;br /&gt;
}}&amp;lt;/div&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;div class=&amp;quot;hidden&amp;quot; id=&amp;quot;ws-module-update&amp;quot; &amp;gt;{{#arrayprint:$export pages|{{!}}|@@@ |@@@ }}&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;tab-pane fade&amp;quot; id=&amp;quot;export-list-modification-date&amp;quot;&amp;gt;&lt;br /&gt;
{{{!}}class=&amp;quot;table sortable&amp;quot;&lt;br /&gt;
! Page&lt;br /&gt;
! Version&lt;br /&gt;
! Last modified (Y-m-d)&lt;br /&gt;
! Latest version note&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{#arraymap:{{#arrayprint:$export pages |;@;}} |;@; |@@@ |&lt;br /&gt;
{{!}} {{#widget:Link|type=a|href={{fullurl:@@@}}|text=@@@}}&lt;br /&gt;
{{!}} {{#show:@@@ |?Version}}&lt;br /&gt;
{{!}} {{#time:Y-m-d |{{#show:@@@ |?Modification date}} }}&lt;br /&gt;
{{!}} {{#show:@@@ |?Latest version note }}&lt;br /&gt;
{{!}}- &lt;br /&gt;
|\n}}&lt;br /&gt;
{{!}}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;!-- end of .tab-content --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt; Dependencies within ''{{#var:@name}}:''&amp;lt;/h4&amp;gt;&lt;br /&gt;
{{#arraydefine: $internal dependencies |&lt;br /&gt;
{{#arraymap:{{#arrayprint:$features}}| , | @@@ &lt;br /&gt;
&amp;lt;!-- ARRAYMAP FORMULA --&amp;gt;&lt;br /&gt;
| {{#arraydefine:$dependencies | {{#ask: [[@@@]] | ?Is dependent on= |format=array |link=none |mainlabel=-}} }}&lt;br /&gt;
{{#arraymap: {{#arrayprint:$dependencies}} | , | $$$ | {{#if: {{#arraysearch:$features | $$$ }} | [[@@@]] &amp;amp;rarr; [[$$$]] | }}&lt;br /&gt;
| ,&lt;br /&gt;
}} &amp;lt;!-- end of arraymap within arraymap --&amp;gt;&lt;br /&gt;
&amp;lt;!-- END OF ARRAYMAP FORMULA --&amp;gt;&lt;br /&gt;
| , }}&amp;lt;!-- end of arraymap --&amp;gt;&lt;br /&gt;
}}&amp;lt;!-- end of arraydefine --&amp;gt;&lt;br /&gt;
{{#arrayprint:$internal dependencies | &amp;lt;br /&amp;gt;}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#if:{{#arrayprint:$remaining features}} &lt;br /&gt;
|&amp;lt;!-- if there are remaining features, some features could not be sorted, display warning and the unsorted features --&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;The following features could not be sorted in the module table because they have dependencies on each other: &amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#arrayprint:$remaining features | &amp;lt;br&amp;gt; | @*@ | [[@*@]] }}&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;h4&amp;gt; Dependencies of ''{{#var:@name}}'' to other modules: &amp;lt;/h4&amp;gt;&lt;br /&gt;
{{#arraydefine:$dependent modules prop}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#arraydefine: $external dependencies |&lt;br /&gt;
{{#arraymap:{{#arrayprint:$features}}| , | @@@ &lt;br /&gt;
&amp;lt;!-- ARRAYMAP FORMULA --&amp;gt;&lt;br /&gt;
| {{#arraydefine:$dependencies | {{#ask: [[@@@]] | ?Is dependent on= |format=array |link=none |mainlabel=- }} }}&lt;br /&gt;
{{#arraymap: {{#arrayprint:$dependencies}} | , | $$$ | {{#if: {{#arraysearch:$features | $$$ }} | | '''[[ {{PAGENAME}} ]]: '''[[@@@]] &amp;amp;rarr; '''{{#show: $$$ | ?Is part of module }}''': [[$$$]]  &lt;br /&gt;
{{#arraydefine:$dependent modules prop | {{#arrayprint:$dependent modules prop}}, {{#ask: [[$$$]] |?Is part of module |format=array |mainlabel=- }} }}&lt;br /&gt;
}}&amp;lt;!-- end if --&amp;gt;&lt;br /&gt;
| ,&lt;br /&gt;
}} &amp;lt;!-- end of arraymap within arraymap --&amp;gt;&lt;br /&gt;
&amp;lt;!-- END OF ARRAYMAP FORMULA --&amp;gt;&lt;br /&gt;
| , }}&amp;lt;!-- end of arraymap --&amp;gt;&lt;br /&gt;
}}&amp;lt;!-- end of arraydefine&lt;br /&gt;
--&amp;gt;{{#arrayprint:$external dependencies | &amp;lt;br /&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt; Other modules dependent on ''{{#var:@name}}'': &amp;lt;/h4&amp;gt;&lt;br /&gt;
{{#arraydefine:$dependent modules}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#arraymap:{{#arrayprint:$features}} | , | @@@ |&amp;lt;!--&lt;br /&gt;
    &lt;br /&gt;
ARRAYMAP FORMULA&lt;br /&gt;
--&amp;gt;{{#arraydefine:$dependent features |&lt;br /&gt;
{{#ask: [[Class::Feature]]&lt;br /&gt;
[[Is dependent on::@@@]]&lt;br /&gt;
| format = array&lt;br /&gt;
}} }}&amp;lt;!-- end of arraydefine&lt;br /&gt;
--&amp;gt;{{#arraymap: {{#arrayprint:$dependent features}} | , | $$$ |&lt;br /&gt;
{{#if:{{#arraysearch:$features | $$$}} | &lt;br /&gt;
|{{#vardefine:@dependency | '''{{#show: $$$ | ?Is part of module}}: ''' [[$$$]] &amp;amp;rarr; '''[[ {{PAGENAME}} ]]: '''  [[@@@]] }}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#arraydefine:$dependent modules | {{#arrayprint:$dependent modules}}, {{#var:@dependency}} }}&lt;br /&gt;
}}&amp;lt;!-- end if&lt;br /&gt;
--&amp;gt;| }}&amp;lt;!-- end of arraymap in arraymap&lt;br /&gt;
END OF ARRAYMAP FORMULA &lt;br /&gt;
--&amp;gt;| }}&amp;lt;!-- end of arraymap&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#arraysort:$dependent modules | asc}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#arrayprint:$dependent modules | &amp;lt;br /&amp;gt;}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
Add unique array of dependent modules to properties&lt;br /&gt;
--&amp;gt;{{#arrayunique:$dependent modules prop}}&lt;br /&gt;
}}&amp;lt;!-- END: Only if mm==Yes&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{Managed&lt;br /&gt;
|Version={{{Version|}}}&lt;br /&gt;
|Version notes={{{Version notes|}}}&lt;br /&gt;
|Short description=Module documentation page&lt;br /&gt;
|Name={{{Name|}}}&lt;br /&gt;
|Status={{#switch:{{{Status|}}} |Live=Live |Archived=Deprecated |#default=}}&lt;br /&gt;
|Hide=Yes&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>Maintenance script</name></author>
		
	</entry>
</feed>