<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://wiki.augmensys.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=DEH</id>
		<title>UBIK Wiki / Augmensys - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.augmensys.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=DEH"/>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=Special:Contributions/DEH"/>
		<updated>2026-08-24T14:10:17Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.24.2</generator>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=Version_5.2.0_(Server)&amp;diff=30367</id>
		<title>Version 5.2.0 (Server)</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=Version_5.2.0_(Server)&amp;diff=30367"/>
				<updated>2026-07-30T09:51:55Z</updated>
		
		<summary type="html">&lt;p&gt;DEH: /* Features */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&lt;br /&gt;
= 5.2.0.??? - 2026-??-?? (Initial Release) =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:100%; overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-weight:bold;line-height:1.6;&amp;quot;&amp;gt;&amp;lt;h2 style=&amp;quot;text-decoration:none;border-style:none&amp;quot;&amp;gt;UBIK.Studio&amp;lt;/h2&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
=== Features ===&lt;br /&gt;
* It is now possible to load code from external files in WhoBert.&lt;br /&gt;
* A possibility to [[HowTo:Inject_UI_into_UBIK_Studio|inject custom controls and windows into UBIK Studio]] is available now.&lt;br /&gt;
* UBIK Studio's [[Bulk Editor]] now supports a Query mode, allowing content to be pre-filtered for more efficient loading and finding relevant objects faster.&lt;br /&gt;
* It is now possible to [[Injection_Management#Version_5.2.0.2B|install Plugins in UBIK Studio]].&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
=== Bug Fixes ===&lt;br /&gt;
=== Enhancements ===&lt;br /&gt;
=== Known Issues ===&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:100%; overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-weight:bold;line-height:1.6;&amp;quot;&amp;gt;&amp;lt;h2 style=&amp;quot;text-decoration:none;border-style:none&amp;quot;&amp;gt;Kernel&amp;lt;/h2&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Features ===&lt;br /&gt;
* The [[Injection_Management#Version_5.2.0.2B|injection of standard Plugins]] is now maintained automatically.&lt;br /&gt;
&amp;lt;!-- === Bug Fixes === --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Enhancements ===&lt;br /&gt;
* The Plugin initialization and upgrade mechanism has been improved and stabilized.&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
=== Known Issues === &lt;br /&gt;
* Due to Configurable Unique Constraints not being implemented yet, Exclusive Access is not guaranteed on database level currently.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:100%; overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-weight:bold;line-height:1.6;&amp;quot;&amp;gt;&amp;lt;h2 style=&amp;quot;text-decoration:none;border-style:none&amp;quot;&amp;gt;MATAP&amp;lt;/h2&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
=== Features ===&lt;br /&gt;
=== Bug Fixes ===&lt;br /&gt;
=== Enhancements ===&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:100%; overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-weight:bold;line-height:1.6;&amp;quot;&amp;gt;&amp;lt;h2 style=&amp;quot;text-decoration:none;border-style:none&amp;quot;&amp;gt;MRO&amp;lt;/h2&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
=== Features ===&lt;br /&gt;
=== Bug Fixes ===&lt;br /&gt;
=== Enhancements ===&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:100%; overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-weight:bold;line-height:1.6;&amp;quot;&amp;gt;&amp;lt;h2 style=&amp;quot;text-decoration:none;border-style:none&amp;quot;&amp;gt;SmartStudio&amp;lt;/h2&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
=== Features ===&lt;br /&gt;
=== Bug Fixes ===&lt;br /&gt;
=== Enhancements ===&lt;br /&gt;
=== Known Issues ===&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:100%; overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-weight:bold;line-height:1.6;&amp;quot;&amp;gt;&amp;lt;h2 style=&amp;quot;text-decoration:none;border-style:none&amp;quot;&amp;gt;Archon&amp;lt;/h2&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
=== Features ===&lt;br /&gt;
=== Bug Fixes ===&lt;br /&gt;
=== Enhancements ===&lt;br /&gt;
=== Known Issues ===&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:100%; overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-weight:bold;line-height:1.6;&amp;quot;&amp;gt;&amp;lt;h2 style=&amp;quot;text-decoration:none;border-style:none&amp;quot;&amp;gt;Plugins&amp;lt;/h2&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Features ===&lt;br /&gt;
* The [[Intelligent_Atelier_(Plugin)|Intelligent Atelier plugin]] is now available.&lt;br /&gt;
* The Plugin Design now supports Contexts and Views.&lt;br /&gt;
&lt;br /&gt;
[[Category:Release notes|Version 5.2.0 (Server)]]&lt;br /&gt;
[[Category:Server|Version 5.2.0 (Server)]]&lt;br /&gt;
[[Category:Version 5.2|Version 5.2.0 (Server)]]&lt;br /&gt;
&lt;br /&gt;
=== Bug Fixes ===&lt;br /&gt;
* PluginDesign: The TargetType of MetaProxies is now correctly applied in the generated plugin code.&lt;br /&gt;
* PluginDesign: The reference IDs for MetaProxyProperties are now correctly managed in the generated plugin code.&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
=== Enhancements ===&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
=== Known Issues ===&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Release notes|Version 5.2.0 (Server)]]&lt;br /&gt;
[[Category:Server|Version 5.2.0 (Server)]]&lt;br /&gt;
[[Category:Version 5.2|Version 5.2.0 (Server)]]&lt;/div&gt;</summary>
		<author><name>DEH</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=Version_5.2.0_(Server)&amp;diff=30331</id>
		<title>Version 5.2.0 (Server)</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=Version_5.2.0_(Server)&amp;diff=30331"/>
				<updated>2026-07-22T12:44:40Z</updated>
		
		<summary type="html">&lt;p&gt;DEH: /* Bug Fixes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&lt;br /&gt;
= 5.2.0.??? - 2026-??-?? (Initial Release) =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:100%; overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-weight:bold;line-height:1.6;&amp;quot;&amp;gt;&amp;lt;h2 style=&amp;quot;text-decoration:none;border-style:none&amp;quot;&amp;gt;UBIK.Studio&amp;lt;/h2&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
=== Features ===&lt;br /&gt;
* It is now possible to load code from external files in WhoBert.&lt;br /&gt;
* A possibility to [[HowTo:Inject_UI_into_UBIK_Studio|inject custom controls and windows into UBIK Studio]] is available now.&lt;br /&gt;
* The [[Intelligent_Atelier_(Plugin)|Intelligent Atelier plugin]] is now available.&lt;br /&gt;
* UBIK Studio's [[Bulk Editor]] now supports a Query mode, allowing content to be pre-filtered for more efficient loading and finding relevant objects faster.&lt;br /&gt;
* It is now possible to [[Injection_Management#Version_5.2.0.2B|install Plugins in UBIK Studio]].&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
=== Bug Fixes ===&lt;br /&gt;
=== Enhancements ===&lt;br /&gt;
=== Known Issues ===&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:100%; overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-weight:bold;line-height:1.6;&amp;quot;&amp;gt;&amp;lt;h2 style=&amp;quot;text-decoration:none;border-style:none&amp;quot;&amp;gt;Kernel&amp;lt;/h2&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Features ===&lt;br /&gt;
* The [[Injection_Management#Version_5.2.0.2B|injection of standard Plugins]] is now maintained automatically.&lt;br /&gt;
&amp;lt;!-- === Bug Fixes === --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Enhancements ===&lt;br /&gt;
* The Plugin initialization and upgrade mechanism has been improved and stabilized.&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
=== Known Issues === &lt;br /&gt;
* Due to Configurable Unique Constraints not being implemented yet, Exclusive Access is not guaranteed on database level currently.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:100%; overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-weight:bold;line-height:1.6;&amp;quot;&amp;gt;&amp;lt;h2 style=&amp;quot;text-decoration:none;border-style:none&amp;quot;&amp;gt;MATAP&amp;lt;/h2&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
=== Features ===&lt;br /&gt;
=== Bug Fixes ===&lt;br /&gt;
=== Enhancements ===&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:100%; overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-weight:bold;line-height:1.6;&amp;quot;&amp;gt;&amp;lt;h2 style=&amp;quot;text-decoration:none;border-style:none&amp;quot;&amp;gt;MRO&amp;lt;/h2&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
=== Features ===&lt;br /&gt;
=== Bug Fixes ===&lt;br /&gt;
=== Enhancements ===&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:100%; overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-weight:bold;line-height:1.6;&amp;quot;&amp;gt;&amp;lt;h2 style=&amp;quot;text-decoration:none;border-style:none&amp;quot;&amp;gt;SmartStudio&amp;lt;/h2&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
=== Features ===&lt;br /&gt;
=== Bug Fixes ===&lt;br /&gt;
=== Enhancements ===&lt;br /&gt;
=== Known Issues ===&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:100%; overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-weight:bold;line-height:1.6;&amp;quot;&amp;gt;&amp;lt;h2 style=&amp;quot;text-decoration:none;border-style:none&amp;quot;&amp;gt;Archon&amp;lt;/h2&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
=== Features ===&lt;br /&gt;
=== Bug Fixes ===&lt;br /&gt;
=== Enhancements ===&lt;br /&gt;
=== Known Issues ===&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:100%; overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-weight:bold;line-height:1.6;&amp;quot;&amp;gt;&amp;lt;h2 style=&amp;quot;text-decoration:none;border-style:none&amp;quot;&amp;gt;Plugins&amp;lt;/h2&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
=== Features ===&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
=== Bug Fixes ===&lt;br /&gt;
* PluginDesign: The TargetType of MetaProxies is now correctly applied in the generated plugin code.&lt;br /&gt;
* PluginDesign: The reference IDs for MetaProxyProperties are now correctly managed in the generated plugin code.&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
=== Enhancements ===&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
=== Known Issues ===&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Release notes|Version 5.2.0 (Server)]]&lt;br /&gt;
[[Category:Server|Version 5.2.0 (Server)]]&lt;br /&gt;
[[Category:Version 5.2|Version 5.2.0 (Server)]]&lt;/div&gt;</summary>
		<author><name>DEH</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=Version_5.2.0_(Server)&amp;diff=30330</id>
		<title>Version 5.2.0 (Server)</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=Version_5.2.0_(Server)&amp;diff=30330"/>
				<updated>2026-07-22T12:38:44Z</updated>
		
		<summary type="html">&lt;p&gt;DEH: /* Bug Fixes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&lt;br /&gt;
= 5.2.0.??? - 2026-??-?? (Initial Release) =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:100%; overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-weight:bold;line-height:1.6;&amp;quot;&amp;gt;&amp;lt;h2 style=&amp;quot;text-decoration:none;border-style:none&amp;quot;&amp;gt;UBIK.Studio&amp;lt;/h2&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
=== Features ===&lt;br /&gt;
* It is now possible to load code from external files in WhoBert.&lt;br /&gt;
* A possibility to [[HowTo:Inject_UI_into_UBIK_Studio|inject custom controls and windows into UBIK Studio]] is available now.&lt;br /&gt;
* The [[Intelligent_Atelier_(Plugin)|Intelligent Atelier plugin]] is now available.&lt;br /&gt;
* UBIK Studio's [[Bulk Editor]] now supports a Query mode, allowing content to be pre-filtered for more efficient loading and finding relevant objects faster.&lt;br /&gt;
* It is now possible to [[Injection_Management#Version_5.2.0.2B|install Plugins in UBIK Studio]].&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
=== Bug Fixes ===&lt;br /&gt;
=== Enhancements ===&lt;br /&gt;
=== Known Issues ===&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:100%; overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-weight:bold;line-height:1.6;&amp;quot;&amp;gt;&amp;lt;h2 style=&amp;quot;text-decoration:none;border-style:none&amp;quot;&amp;gt;Kernel&amp;lt;/h2&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Features ===&lt;br /&gt;
* The [[Injection_Management#Version_5.2.0.2B|injection of standard Plugins]] is now maintained automatically.&lt;br /&gt;
&amp;lt;!-- === Bug Fixes === --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Enhancements ===&lt;br /&gt;
* The Plugin initialization and upgrade mechanism has been improved and stabilized.&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
=== Known Issues === &lt;br /&gt;
* Due to Configurable Unique Constraints not being implemented yet, Exclusive Access is not guaranteed on database level currently.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:100%; overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-weight:bold;line-height:1.6;&amp;quot;&amp;gt;&amp;lt;h2 style=&amp;quot;text-decoration:none;border-style:none&amp;quot;&amp;gt;MATAP&amp;lt;/h2&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
=== Features ===&lt;br /&gt;
=== Bug Fixes ===&lt;br /&gt;
=== Enhancements ===&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:100%; overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-weight:bold;line-height:1.6;&amp;quot;&amp;gt;&amp;lt;h2 style=&amp;quot;text-decoration:none;border-style:none&amp;quot;&amp;gt;MRO&amp;lt;/h2&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
=== Features ===&lt;br /&gt;
=== Bug Fixes ===&lt;br /&gt;
=== Enhancements ===&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:100%; overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-weight:bold;line-height:1.6;&amp;quot;&amp;gt;&amp;lt;h2 style=&amp;quot;text-decoration:none;border-style:none&amp;quot;&amp;gt;SmartStudio&amp;lt;/h2&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
=== Features ===&lt;br /&gt;
=== Bug Fixes ===&lt;br /&gt;
=== Enhancements ===&lt;br /&gt;
=== Known Issues ===&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:100%; overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-weight:bold;line-height:1.6;&amp;quot;&amp;gt;&amp;lt;h2 style=&amp;quot;text-decoration:none;border-style:none&amp;quot;&amp;gt;Archon&amp;lt;/h2&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
=== Features ===&lt;br /&gt;
=== Bug Fixes ===&lt;br /&gt;
=== Enhancements ===&lt;br /&gt;
=== Known Issues ===&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:100%; overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-weight:bold;line-height:1.6;&amp;quot;&amp;gt;&amp;lt;h2 style=&amp;quot;text-decoration:none;border-style:none&amp;quot;&amp;gt;Plugins&amp;lt;/h2&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
=== Features ===&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
=== Bug Fixes ===&lt;br /&gt;
* PluginDesign: The TargetType of MetaProxies is now correctly applied in the generated plugin code.&lt;br /&gt;
* PluginDesign: The relation IDs for MetaProxyProperties are now correctly managed in the generated plugin code.&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
=== Enhancements ===&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
=== Known Issues ===&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Release notes|Version 5.2.0 (Server)]]&lt;br /&gt;
[[Category:Server|Version 5.2.0 (Server)]]&lt;br /&gt;
[[Category:Version 5.2|Version 5.2.0 (Server)]]&lt;/div&gt;</summary>
		<author><name>DEH</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=Version_5.2.0_(Server)&amp;diff=30315</id>
		<title>Version 5.2.0 (Server)</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=Version_5.2.0_(Server)&amp;diff=30315"/>
				<updated>2026-07-20T13:11:14Z</updated>
		
		<summary type="html">&lt;p&gt;DEH: /* 5.2.0.??? - 2026-??-?? (Initial Release) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&lt;br /&gt;
= 5.2.0.??? - 2026-??-?? (Initial Release) =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:100%; overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-weight:bold;line-height:1.6;&amp;quot;&amp;gt;&amp;lt;h2 style=&amp;quot;text-decoration:none;border-style:none&amp;quot;&amp;gt;UBIK.Studio&amp;lt;/h2&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
=== Features ===&lt;br /&gt;
* It is now possible to load code from external files in WhoBert.&lt;br /&gt;
* A possibility to [[HowTo:Inject_UI_into_UBIK_Studio|inject custom controls and windows into UBIK Studio]] is available now.&lt;br /&gt;
* The [[Intelligent_Atelier_(Plugin)|Intelligent Atelier plugin]] is now available.&lt;br /&gt;
* UBIK Studio's [[Bulk Editor]] now supports a Query mode, allowing content to be pre-filtered for more efficient loading and finding relevant objects faster.&lt;br /&gt;
* It is now possible to [[Injection_Management#Version_5.2.0.2B|install Plugins in UBIK Studio]].&lt;br /&gt;
* MetaProxy TargetType is now correctly generated in plugin code.&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
=== Bug Fixes ===&lt;br /&gt;
=== Enhancements ===&lt;br /&gt;
=== Known Issues ===&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:100%; overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-weight:bold;line-height:1.6;&amp;quot;&amp;gt;&amp;lt;h2 style=&amp;quot;text-decoration:none;border-style:none&amp;quot;&amp;gt;Kernel&amp;lt;/h2&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
=== Features ===&lt;br /&gt;
* The [[Injection_Management#Version_5.2.0.2B|injection of standard Plugins]] is now maintained automatically.&lt;br /&gt;
&amp;lt;!-- === Bug Fixes === --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Enhancements ===&lt;br /&gt;
* The Plugin initialization and upgrade mechanism has been improved and stabilized.&lt;br /&gt;
&amp;lt;!-- === Known Issues === &lt;br /&gt;
* Due to Configurable Unique Constraints not being implemented yet, Exclusive Access is not guaranteed on database level currently.&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:100%; overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-weight:bold;line-height:1.6;&amp;quot;&amp;gt;&amp;lt;h2 style=&amp;quot;text-decoration:none;border-style:none&amp;quot;&amp;gt;MATAP&amp;lt;/h2&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
=== Features ===&lt;br /&gt;
=== Bug Fixes ===&lt;br /&gt;
=== Enhancements ===&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:100%; overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-weight:bold;line-height:1.6;&amp;quot;&amp;gt;&amp;lt;h2 style=&amp;quot;text-decoration:none;border-style:none&amp;quot;&amp;gt;MRO&amp;lt;/h2&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
=== Features ===&lt;br /&gt;
=== Bug Fixes ===&lt;br /&gt;
=== Enhancements ===&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:100%; overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-weight:bold;line-height:1.6;&amp;quot;&amp;gt;&amp;lt;h2 style=&amp;quot;text-decoration:none;border-style:none&amp;quot;&amp;gt;SmartStudio&amp;lt;/h2&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
=== Features ===&lt;br /&gt;
=== Bug Fixes ===&lt;br /&gt;
=== Enhancements ===&lt;br /&gt;
=== Known Issues ===&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:100%; overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-weight:bold;line-height:1.6;&amp;quot;&amp;gt;&amp;lt;h2 style=&amp;quot;text-decoration:none;border-style:none&amp;quot;&amp;gt;Archon&amp;lt;/h2&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
=== Features ===&lt;br /&gt;
=== Bug Fixes ===&lt;br /&gt;
=== Enhancements ===&lt;br /&gt;
=== Known Issues ===&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:100%; overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-weight:bold;line-height:1.6;&amp;quot;&amp;gt;&amp;lt;h2 style=&amp;quot;text-decoration:none;border-style:none&amp;quot;&amp;gt;Plugins&amp;lt;/h2&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
=== Features ===&lt;br /&gt;
=== Bug Fixes ===&lt;br /&gt;
=== Enhancements ===&lt;br /&gt;
=== Known Issues ===&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Release notes|Version 5.2.0 (Server)]]&lt;br /&gt;
[[Category:Server|Version 5.2.0 (Server)]]&lt;br /&gt;
[[Category:Version 5.2|Version 5.2.0 (Server)]]&lt;/div&gt;</summary>
		<author><name>DEH</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=Bulk_Editor&amp;diff=30247</id>
		<title>Bulk Editor</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=Bulk_Editor&amp;diff=30247"/>
				<updated>2026-07-16T05:41:41Z</updated>
		
		<summary type="html">&lt;p&gt;DEH: /* Search Criteria */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Bulk Editor is designed to display and edit the [[BaseProperty|properties]] of a multiple {{UBIK}} objects. Technically, it reads the [[MetaProperty]] definition of each [[Instance|instance]] of the context object (directly from the context object if it is of type [[MetaClass]], otherwise it gets the MetaClass of the context object and reads the definition from its instances.&lt;br /&gt;
&lt;br /&gt;
{{ControlInfoBox&lt;br /&gt;
| title = Bulk Editor&lt;br /&gt;
| name = Bulk Editor&lt;br /&gt;
| internalname = CtrlBulkEditor&lt;br /&gt;
| image = [[File:UI_BulkEditor.png|220px]]&lt;br /&gt;
| imagecaption = Bulk Editor control&lt;br /&gt;
| purpose = Display and edit multiple objects&lt;br /&gt;
| context = MetaClass&lt;br /&gt;
| version = 2+&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Basics==&lt;br /&gt;
&lt;br /&gt;
===Appearance===&lt;br /&gt;
====Rows and columns====&lt;br /&gt;
The control reads the current context object and displays a row for each instance of it and a column for each found property (since 3.7.0 a set of preconfigured columns are hidden by default and the instances are sorted by default by CreationTimeStamp), its appearance depending on the respective data type of the [[MetaProperty]]. The following data types and thus different columns and editing controls are currently supported:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; | width = &amp;quot;50%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Data type!! Example !! Comment &lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Bool || [[File:UI_BulkEditor_Bool.png|300px]] || A [[MetaProperty#Boolean|boolean]] value to be read/set via a Checkbox&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| DateTime || [[File:UI_BulkEditor_DateTime.png|300px]] || A [[MetaProperty#Date Time|Date/Time]] value where the format is according to regional settings; a double click opens a dialog to pick a date from a calendar&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Double || - || A [[MetaProperty#Floating Point|floating point]] value, optionally with [[Unit|unit of measurement]]&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| FileReference|| [[File:UI_BulkEditor_File.png|300px]] || A [[MetaProperty#File Reference|path to a physical file]]; a double click opens a dialog to pick a file from the file system&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| GeoData || [[File:UI_BulkEditor_GEO.png|300px]] || A [[MetaProperty#Geographical Coordinate|geographical coordinate]]; a double click opens a dialog to enter the values separately&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Guid|| [[File:UI_BulkEditor_GUID.png|300px]] || A [[MetaProperty#Guid|pointer]] to another object&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Reference|| [[File:UI_BulkEditor_Reference.png|300px]] || A [[MetaProperty#Reference|reference]] to another object; a double click opens a picker to select the target object &lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Int|| - || A [[MetaProperty#Integer|discrete]] number&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| String|| - || A [[MetaProperty#Text|text]] value&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Selective lists====&lt;br /&gt;
If a certain property has a [[SELECTIVELIST|selective list]] defined, the respective column will display a Combobox with all items of the list instead of the value field. The value can then only be selected from the list, but not be edited manually anymore.&lt;br /&gt;
&lt;br /&gt;
====Index values====&lt;br /&gt;
If a certain property has [[Index value|index values]] defined, the respective column will be colored &amp;lt;span style=&amp;quot;background:LightSalmon;&amp;quot;&amp;gt;LightSalmon&amp;lt;/span&amp;gt; and become expandable. Expanding/collapsing can be done by either right clicking the column header or using the expand/collapse button in the Toolbar. When expanding, the editing column will multiply itself by the number of index values and present an own &amp;lt;span style=&amp;quot;background:LightYellow;&amp;quot;&amp;gt;LightYellow&amp;lt;/span&amp;gt; column for each index value.&lt;br /&gt;
&lt;br /&gt;
{{Hint|A multilanguage MetaProperty is actually a string property with index values defined for each system language!}}&lt;br /&gt;
&lt;br /&gt;
====Captions====&lt;br /&gt;
* each column shows the string representation of the respective MetaProperty as its header text&lt;br /&gt;
* the first column of each row is always titled ''_RowObject'' and shows the string representation of the corresponding instance&lt;br /&gt;
&lt;br /&gt;
====Tooltips====&lt;br /&gt;
There are two kinds of Tooltips used in this control:&lt;br /&gt;
* when hovering over the header of column, a Tooltip will show the type of the column&lt;br /&gt;
* when hovering over a cell which's text is deprecated, a Tooltip will show the full text&lt;br /&gt;
&lt;br /&gt;
===Editing===&lt;br /&gt;
When editing a value, it will only be written back to the respective property when you leave the cell. At that very point in time, the Bulk Editor also runs an integrity check against the [[Rule|rules]] and tests if the value you've entered can be stored on the property. If this fails, the row and cell will show a red exclamation mark with a Tooltip telling which rule was violated. The exclamation mark on the cell disappears once you've entered a valid value for this property, the exclamation mark on the row only disappears if all properties of the respective {{UBIK}} object have a valid value. If a warning range is defined in the validation, an exclamation mark on yellow background will be shown to inform the user about a value that has to be paid special attention to. However, values showing the warning sign are accepted as a valid input.&lt;br /&gt;
&lt;br /&gt;
{{Hint| While editing a value, you can use {{key press|ESC}} to undo your editing!}}&lt;br /&gt;
{{Hint| To improve performance, cells containing huge XML data are shortened by only showing the starting characters of the code. When the XML cell is marked or clicked for editing, the full text will be loaded. Please be aware that this can be a time consuming task!}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Drag &amp;amp; Drop===&lt;br /&gt;
The Object Editor control is a source and a target for Drag&amp;amp;Drop operations:&lt;br /&gt;
&lt;br /&gt;
* Any object can be dropped on a cell if the dragged object matches the data type of the respective property &lt;br /&gt;
* A single instance object can be dragged from the Bulk Edito by dragging the header of the row&lt;br /&gt;
* Objects stored in a cell can be dragged using the right mouse button&lt;br /&gt;
&lt;br /&gt;
==Toolbar==&lt;br /&gt;
&lt;br /&gt;
[[File:Toolbar_QBE.png|thumb|350px|Bulk Editor Toolbar]]&lt;br /&gt;
The Bulk Editor features a Toolbar with the following items from left to right:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; | width = &amp;quot;50%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Item !! Purpose &lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| View Style || Indicates or changes the [[#View Style|View Style]] of the control; changing it will result in reloading of the control &lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Navigate to context object || Attempts to [[Navigation|navigate]] to the current context object&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Save || Saves all instances currently shown in the control&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Filter namespace || Filters all current instances by the [[Namespace|namespace]] of the set context object&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Select columns|| Opens a sub menu with all displayed columns and allows to show/hide them explicitly&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Expand/Collapse index columns|| Allows to show or hide the [[Bulk Editor#Index values|index columns]] if the currently selected column has index values &lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| UID || Shows or hides the UID column &lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Print || No functionality yet&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Cut || Cuts the value of the current cell into the clipboard&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Copy || Copies the value of the current cell into the clipboard&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Paste || Pastes the value from the clipboard into the current cell&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Move to first object|| Selects the first row&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Move to previous object|| Selects the previous row&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Current object|| Shows or sets the current row; enter a value and press {{key press|Enter}} to select a specific row&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Move to next object|| Selects the next row&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Move to last object|| Selects the last row&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Delete || Allows to delete all selected rows&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Search Criteria|| Allows to enter search criteria&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Play Button ▶|| Loads all instances without criteria&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Studio controls|Bulk Editor]]&lt;br /&gt;
&lt;br /&gt;
==Search Criteria==&lt;br /&gt;
[[File:FilterPanel_QBE.png|thumb|right|350px|]]&lt;br /&gt;
Only available if QueryBulkEditor is selected on the start page. {{Version/ServerSince|5.2.0}}&lt;br /&gt;
&lt;br /&gt;
Opening the &amp;quot;Search Criteria&amp;quot; panel allows a criterion to be added, consisting of a property, an operator and a value. Multiple criteria can be added, and rows can be deleted separately. Additionally, the logic combining criteria can be set to AND or OR. The Reset button clears all entered criteria. Apply filters the instances; if no criteria are entered, all available instances are loaded. By default, 500 rows are displayed, but this value can be changed. If max. rows is set to 0 or -1, all instances are loaded. If no criteria are added, clicking the play button loads instances up to the configured row limit.&lt;br /&gt;
&lt;br /&gt;
[[Category:Studio controls|Bulk Editor]]&lt;br /&gt;
&lt;br /&gt;
==Context menu==&lt;br /&gt;
Right clicking on a cell that stores a {{UBIK}} object will bring up the standard [[Navigation|navigation]] context menu. In addition, cells of type GUID or Reference will show a Remove menu item, where clicking it will set the value of the cell to null.&lt;br /&gt;
&lt;br /&gt;
==View Styles==&lt;br /&gt;
The Object Editor has only one view style at the moment.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[Object Editor]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Studio controls|Bulk Editor]]&lt;/div&gt;</summary>
		<author><name>DEH</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=File:Toolbar_QueryBulkEditor.png&amp;diff=30239</id>
		<title>File:Toolbar QueryBulkEditor.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=File:Toolbar_QueryBulkEditor.png&amp;diff=30239"/>
				<updated>2026-07-15T14:15:38Z</updated>
		
		<summary type="html">&lt;p&gt;DEH: DEH uploaded a new version of File:Toolbar QueryBulkEditor.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;File uploaded with MsUpload&lt;/div&gt;</summary>
		<author><name>DEH</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=File:FilterPanel.png&amp;diff=30234</id>
		<title>File:FilterPanel.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=File:FilterPanel.png&amp;diff=30234"/>
				<updated>2026-07-15T14:09:13Z</updated>
		
		<summary type="html">&lt;p&gt;DEH: DEH uploaded a new version of File:FilterPanel.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;File uploaded with MsUpload&lt;/div&gt;</summary>
		<author><name>DEH</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=Bulk_Editor&amp;diff=30233</id>
		<title>Bulk Editor</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=Bulk_Editor&amp;diff=30233"/>
				<updated>2026-07-15T14:07:38Z</updated>
		
		<summary type="html">&lt;p&gt;DEH: /* Toolbar */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Bulk Editor is designed to display and edit the [[BaseProperty|properties]] of a multiple {{UBIK}} objects. Technically, it reads the [[MetaProperty]] definition of each [[Instance|instance]] of the context object (directly from the context object if it is of type [[MetaClass]], otherwise it gets the MetaClass of the context object and reads the definition from its instances.&lt;br /&gt;
&lt;br /&gt;
{{ControlInfoBox&lt;br /&gt;
| title = Bulk Editor&lt;br /&gt;
| name = Bulk Editor&lt;br /&gt;
| internalname = CtrlBulkEditor&lt;br /&gt;
| image = [[File:UI_BulkEditor.png|220px]]&lt;br /&gt;
| imagecaption = Bulk Editor control&lt;br /&gt;
| purpose = Display and edit multiple objects&lt;br /&gt;
| context = MetaClass&lt;br /&gt;
| version = 2+&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Basics==&lt;br /&gt;
&lt;br /&gt;
===Appearance===&lt;br /&gt;
====Rows and columns====&lt;br /&gt;
The control reads the current context object and displays a row for each instance of it and a column for each found property (since 3.7.0 a set of preconfigured columns are hidden by default and the instances are sorted by default by CreationTimeStamp), its appearance depending on the respective data type of the [[MetaProperty]]. The following data types and thus different columns and editing controls are currently supported:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; | width = &amp;quot;50%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Data type!! Example !! Comment &lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Bool || [[File:UI_BulkEditor_Bool.png|300px]] || A [[MetaProperty#Boolean|boolean]] value to be read/set via a Checkbox&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| DateTime || [[File:UI_BulkEditor_DateTime.png|300px]] || A [[MetaProperty#Date Time|Date/Time]] value where the format is according to regional settings; a double click opens a dialog to pick a date from a calendar&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Double || - || A [[MetaProperty#Floating Point|floating point]] value, optionally with [[Unit|unit of measurement]]&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| FileReference|| [[File:UI_BulkEditor_File.png|300px]] || A [[MetaProperty#File Reference|path to a physical file]]; a double click opens a dialog to pick a file from the file system&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| GeoData || [[File:UI_BulkEditor_GEO.png|300px]] || A [[MetaProperty#Geographical Coordinate|geographical coordinate]]; a double click opens a dialog to enter the values separately&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Guid|| [[File:UI_BulkEditor_GUID.png|300px]] || A [[MetaProperty#Guid|pointer]] to another object&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Reference|| [[File:UI_BulkEditor_Reference.png|300px]] || A [[MetaProperty#Reference|reference]] to another object; a double click opens a picker to select the target object &lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Int|| - || A [[MetaProperty#Integer|discrete]] number&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| String|| - || A [[MetaProperty#Text|text]] value&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Selective lists====&lt;br /&gt;
If a certain property has a [[SELECTIVELIST|selective list]] defined, the respective column will display a Combobox with all items of the list instead of the value field. The value can then only be selected from the list, but not be edited manually anymore.&lt;br /&gt;
&lt;br /&gt;
====Index values====&lt;br /&gt;
If a certain property has [[Index value|index values]] defined, the respective column will be colored &amp;lt;span style=&amp;quot;background:LightSalmon;&amp;quot;&amp;gt;LightSalmon&amp;lt;/span&amp;gt; and become expandable. Expanding/collapsing can be done by either right clicking the column header or using the expand/collapse button in the Toolbar. When expanding, the editing column will multiply itself by the number of index values and present an own &amp;lt;span style=&amp;quot;background:LightYellow;&amp;quot;&amp;gt;LightYellow&amp;lt;/span&amp;gt; column for each index value.&lt;br /&gt;
&lt;br /&gt;
{{Hint|A multilanguage MetaProperty is actually a string property with index values defined for each system language!}}&lt;br /&gt;
&lt;br /&gt;
====Captions====&lt;br /&gt;
* each column shows the string representation of the respective MetaProperty as its header text&lt;br /&gt;
* the first column of each row is always titled ''_RowObject'' and shows the string representation of the corresponding instance&lt;br /&gt;
&lt;br /&gt;
====Tooltips====&lt;br /&gt;
There are two kinds of Tooltips used in this control:&lt;br /&gt;
* when hovering over the header of column, a Tooltip will show the type of the column&lt;br /&gt;
* when hovering over a cell which's text is deprecated, a Tooltip will show the full text&lt;br /&gt;
&lt;br /&gt;
===Editing===&lt;br /&gt;
When editing a value, it will only be written back to the respective property when you leave the cell. At that very point in time, the Bulk Editor also runs an integrity check against the [[Rule|rules]] and tests if the value you've entered can be stored on the property. If this fails, the row and cell will show a red exclamation mark with a Tooltip telling which rule was violated. The exclamation mark on the cell disappears once you've entered a valid value for this property, the exclamation mark on the row only disappears if all properties of the respective {{UBIK}} object have a valid value. If a warning range is defined in the validation, an exclamation mark on yellow background will be shown to inform the user about a value that has to be paid special attention to. However, values showing the warning sign are accepted as a valid input.&lt;br /&gt;
&lt;br /&gt;
{{Hint| While editing a value, you can use {{key press|ESC}} to undo your editing!}}&lt;br /&gt;
{{Hint| To improve performance, cells containing huge XML data are shortened by only showing the starting characters of the code. When the XML cell is marked or clicked for editing, the full text will be loaded. Please be aware that this can be a time consuming task!}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Drag &amp;amp; Drop===&lt;br /&gt;
The Object Editor control is a source and a target for Drag&amp;amp;Drop operations:&lt;br /&gt;
&lt;br /&gt;
* Any object can be dropped on a cell if the dragged object matches the data type of the respective property &lt;br /&gt;
* A single instance object can be dragged from the Bulk Edito by dragging the header of the row&lt;br /&gt;
* Objects stored in a cell can be dragged using the right mouse button&lt;br /&gt;
&lt;br /&gt;
==Toolbar==&lt;br /&gt;
[[File:Toolbar_QueryBulkEditor.png|thumb|350px|Bulk Editor Toolbar]]&lt;br /&gt;
The Bulk Editor features a Toolbar with the following items from left to right:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; | width = &amp;quot;50%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Item !! Purpose &lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| View Style || Indicates or changes the [[#View Style|View Style]] of the control; changing it will result in reloading of the control &lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Navigate to context object || Attempts to [[Navigation|navigate]] to the current context object&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Save || Saves all instances currently shown in the control&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Filter namespace || Filters all current instances by the [[Namespace|namespace]] of the set context object&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Select columns|| Opens a sub menu with all displayed columns and allows to show/hide them explicitly&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Expand/Collapse index columns|| Allows to show or hide the [[Bulk Editor#Index values|index columns]] if the currently selected column has index values &lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| UID || Shows or hides the UID column &lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Print || No functionality yet&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Cut || Cuts the value of the current cell into the clipboard&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Copy || Copies the value of the current cell into the clipboard&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Paste || Pastes the value from the clipboard into the current cell&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Move to first object|| Selects the first row&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Move to previous object|| Selects the previous row&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Current object|| Shows or sets the current row; enter a value and press {{key press|Enter}} to select a specific row&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Move to next object|| Selects the next row&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Move to last object|| Selects the last row&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Delete || Allows to delete all selected rows&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Search Criteria|| Allows to enter search criteria&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Play Button ▶|| Loads all instances without criteria&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Pages with broken file links|Bulk Editor]]&lt;br /&gt;
[[Category:Studio controls|Bulk Editor]]&lt;br /&gt;
&lt;br /&gt;
==Search Criteria==&lt;br /&gt;
[[File:FilterPanel.png|thumb|right|350px|]]&lt;br /&gt;
Only available if QueryBulkEditor is selected on the start page. {{Version/ServerSince|5.2.0}}&lt;br /&gt;
&lt;br /&gt;
Opening the &amp;quot;Search Criteria&amp;quot; panel allows a criterion to be added, consisting of a property, an operator and a value. Multiple criteria can be added, and rows can be deleted separately. The Reset button clears all entered criteria. Apply filters the instances; if no criteria are entered, all available instances are loaded. By default, 500 rows are displayed, but this value can be changed. If max. rows is set to 0 or -1, all instances are loaded. If no criteria are added, clicking the play button loads instances up to the configured row limit.&lt;br /&gt;
&lt;br /&gt;
[[Category:Studio controls|Bulk Editor]]&lt;br /&gt;
&lt;br /&gt;
==Context menu==&lt;br /&gt;
Right clicking on a cell that stores a {{UBIK}} object will bring up the standard [[Navigation|navigation]] context menu. In addition, cells of type GUID or Reference will show a Remove menu item, where clicking it will set the value of the cell to null.&lt;br /&gt;
&lt;br /&gt;
==View Styles==&lt;br /&gt;
The Object Editor has only one view style at the moment.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[Object Editor]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Studio controls|Bulk Editor]]&lt;/div&gt;</summary>
		<author><name>DEH</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=File:Toolbar_QueryBulkEditor.png&amp;diff=30232</id>
		<title>File:Toolbar QueryBulkEditor.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=File:Toolbar_QueryBulkEditor.png&amp;diff=30232"/>
				<updated>2026-07-15T14:01:13Z</updated>
		
		<summary type="html">&lt;p&gt;DEH: DEH uploaded a new version of File:Toolbar QueryBulkEditor.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;File uploaded with MsUpload&lt;/div&gt;</summary>
		<author><name>DEH</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=Bulk_Editor&amp;diff=30231</id>
		<title>Bulk Editor</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=Bulk_Editor&amp;diff=30231"/>
				<updated>2026-07-15T13:58:35Z</updated>
		
		<summary type="html">&lt;p&gt;DEH: /* Toolbar */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Bulk Editor is designed to display and edit the [[BaseProperty|properties]] of a multiple {{UBIK}} objects. Technically, it reads the [[MetaProperty]] definition of each [[Instance|instance]] of the context object (directly from the context object if it is of type [[MetaClass]], otherwise it gets the MetaClass of the context object and reads the definition from its instances.&lt;br /&gt;
&lt;br /&gt;
{{ControlInfoBox&lt;br /&gt;
| title = Bulk Editor&lt;br /&gt;
| name = Bulk Editor&lt;br /&gt;
| internalname = CtrlBulkEditor&lt;br /&gt;
| image = [[File:UI_BulkEditor.png|220px]]&lt;br /&gt;
| imagecaption = Bulk Editor control&lt;br /&gt;
| purpose = Display and edit multiple objects&lt;br /&gt;
| context = MetaClass&lt;br /&gt;
| version = 2+&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Basics==&lt;br /&gt;
&lt;br /&gt;
===Appearance===&lt;br /&gt;
====Rows and columns====&lt;br /&gt;
The control reads the current context object and displays a row for each instance of it and a column for each found property (since 3.7.0 a set of preconfigured columns are hidden by default and the instances are sorted by default by CreationTimeStamp), its appearance depending on the respective data type of the [[MetaProperty]]. The following data types and thus different columns and editing controls are currently supported:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; | width = &amp;quot;50%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Data type!! Example !! Comment &lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Bool || [[File:UI_BulkEditor_Bool.png|300px]] || A [[MetaProperty#Boolean|boolean]] value to be read/set via a Checkbox&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| DateTime || [[File:UI_BulkEditor_DateTime.png|300px]] || A [[MetaProperty#Date Time|Date/Time]] value where the format is according to regional settings; a double click opens a dialog to pick a date from a calendar&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Double || - || A [[MetaProperty#Floating Point|floating point]] value, optionally with [[Unit|unit of measurement]]&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| FileReference|| [[File:UI_BulkEditor_File.png|300px]] || A [[MetaProperty#File Reference|path to a physical file]]; a double click opens a dialog to pick a file from the file system&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| GeoData || [[File:UI_BulkEditor_GEO.png|300px]] || A [[MetaProperty#Geographical Coordinate|geographical coordinate]]; a double click opens a dialog to enter the values separately&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Guid|| [[File:UI_BulkEditor_GUID.png|300px]] || A [[MetaProperty#Guid|pointer]] to another object&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Reference|| [[File:UI_BulkEditor_Reference.png|300px]] || A [[MetaProperty#Reference|reference]] to another object; a double click opens a picker to select the target object &lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Int|| - || A [[MetaProperty#Integer|discrete]] number&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| String|| - || A [[MetaProperty#Text|text]] value&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Selective lists====&lt;br /&gt;
If a certain property has a [[SELECTIVELIST|selective list]] defined, the respective column will display a Combobox with all items of the list instead of the value field. The value can then only be selected from the list, but not be edited manually anymore.&lt;br /&gt;
&lt;br /&gt;
====Index values====&lt;br /&gt;
If a certain property has [[Index value|index values]] defined, the respective column will be colored &amp;lt;span style=&amp;quot;background:LightSalmon;&amp;quot;&amp;gt;LightSalmon&amp;lt;/span&amp;gt; and become expandable. Expanding/collapsing can be done by either right clicking the column header or using the expand/collapse button in the Toolbar. When expanding, the editing column will multiply itself by the number of index values and present an own &amp;lt;span style=&amp;quot;background:LightYellow;&amp;quot;&amp;gt;LightYellow&amp;lt;/span&amp;gt; column for each index value.&lt;br /&gt;
&lt;br /&gt;
{{Hint|A multilanguage MetaProperty is actually a string property with index values defined for each system language!}}&lt;br /&gt;
&lt;br /&gt;
====Captions====&lt;br /&gt;
* each column shows the string representation of the respective MetaProperty as its header text&lt;br /&gt;
* the first column of each row is always titled ''_RowObject'' and shows the string representation of the corresponding instance&lt;br /&gt;
&lt;br /&gt;
====Tooltips====&lt;br /&gt;
There are two kinds of Tooltips used in this control:&lt;br /&gt;
* when hovering over the header of column, a Tooltip will show the type of the column&lt;br /&gt;
* when hovering over a cell which's text is deprecated, a Tooltip will show the full text&lt;br /&gt;
&lt;br /&gt;
===Editing===&lt;br /&gt;
When editing a value, it will only be written back to the respective property when you leave the cell. At that very point in time, the Bulk Editor also runs an integrity check against the [[Rule|rules]] and tests if the value you've entered can be stored on the property. If this fails, the row and cell will show a red exclamation mark with a Tooltip telling which rule was violated. The exclamation mark on the cell disappears once you've entered a valid value for this property, the exclamation mark on the row only disappears if all properties of the respective {{UBIK}} object have a valid value. If a warning range is defined in the validation, an exclamation mark on yellow background will be shown to inform the user about a value that has to be paid special attention to. However, values showing the warning sign are accepted as a valid input.&lt;br /&gt;
&lt;br /&gt;
{{Hint| While editing a value, you can use {{key press|ESC}} to undo your editing!}}&lt;br /&gt;
{{Hint| To improve performance, cells containing huge XML data are shortened by only showing the starting characters of the code. When the XML cell is marked or clicked for editing, the full text will be loaded. Please be aware that this can be a time consuming task!}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Drag &amp;amp; Drop===&lt;br /&gt;
The Object Editor control is a source and a target for Drag&amp;amp;Drop operations:&lt;br /&gt;
&lt;br /&gt;
* Any object can be dropped on a cell if the dragged object matches the data type of the respective property &lt;br /&gt;
* A single instance object can be dragged from the Bulk Edito by dragging the header of the row&lt;br /&gt;
* Objects stored in a cell can be dragged using the right mouse button&lt;br /&gt;
&lt;br /&gt;
==Toolbar==&lt;br /&gt;
&amp;lt;!-- Comment --&amp;gt;&lt;br /&gt;
[[File:Toolbar_QueryBulkEditor.png|thumb|350px|Bulk Editor Toolbar]]&lt;br /&gt;
The Bulk Editor features a Toolbar with the following items from left to right:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; | width = &amp;quot;50%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Item !! Purpose &lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| View Style || Indicates or changes the [[#View Style|View Style]] of the control; changing it will result in reloading of the control &lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Navigate to context object || Attempts to [[Navigation|navigate]] to the current context object&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Save || Saves all instances currently shown in the control&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Filter namespace || Filters all current instances by the [[Namespace|namespace]] of the set context object&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Select columns|| Opens a sub menu with all displayed columns and allows to show/hide them explicitly&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Expand/Collapse index columns|| Allows to show or hide the [[Bulk Editor#Index values|index columns]] if the currently selected column has index values &lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| UID || Shows or hides the UID column &lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Print || No functionality yet&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Cut || Cuts the value of the current cell into the clipboard&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Copy || Copies the value of the current cell into the clipboard&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Paste || Pastes the value from the clipboard into the current cell&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Move to first object|| Selects the first row&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Move to previous object|| Selects the previous row&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Current object|| Shows or sets the current row; enter a value and press {{key press|Enter}} to select a specific row&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Move to next object|| Selects the next row&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Move to last object|| Selects the last row&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Delete || Allows to delete all selected rows&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Search Criteria|| Allows to enter search criteria&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Play Button ▶|| Loads all instances without criteria&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Pages with broken file links|Bulk Editor]]&lt;br /&gt;
[[Category:Studio controls|Bulk Editor]]&lt;br /&gt;
&lt;br /&gt;
==Search Criteria==&lt;br /&gt;
[[File:FilterPanel.png|thumb|right|350px|]]&lt;br /&gt;
Only available if QueryBulkEditor is selected on the start page. {{Version/ServerSince|5.2.0}}&lt;br /&gt;
&lt;br /&gt;
Opening the &amp;quot;Search Criteria&amp;quot; panel allows a criterion to be added, consisting of a property, an operator and a value. Multiple criteria can be added, and rows can be deleted separately. The Reset button clears all entered criteria. Apply filters the instances; if no criteria are entered, all available instances are loaded. By default, 500 rows are displayed, but this value can be changed. If max. rows is set to 0 or -1, all instances are loaded. If no criteria are added, clicking the play button loads instances up to the configured row limit.&lt;br /&gt;
&lt;br /&gt;
[[Category:Studio controls|Bulk Editor]]&lt;br /&gt;
&lt;br /&gt;
==Context menu==&lt;br /&gt;
Right clicking on a cell that stores a {{UBIK}} object will bring up the standard [[Navigation|navigation]] context menu. In addition, cells of type GUID or Reference will show a Remove menu item, where clicking it will set the value of the cell to null.&lt;br /&gt;
&lt;br /&gt;
==View Styles==&lt;br /&gt;
The Object Editor has only one view style at the moment.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[Object Editor]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Studio controls|Bulk Editor]]&lt;/div&gt;</summary>
		<author><name>DEH</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=File:Toolbar_QueryBulkEditor.png&amp;diff=30230</id>
		<title>File:Toolbar QueryBulkEditor.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=File:Toolbar_QueryBulkEditor.png&amp;diff=30230"/>
				<updated>2026-07-15T13:54:08Z</updated>
		
		<summary type="html">&lt;p&gt;DEH: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;File uploaded with MsUpload&lt;/div&gt;</summary>
		<author><name>DEH</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=File:Toolbar_QueryBulkEditor.png&amp;diff=30229</id>
		<title>File:Toolbar QueryBulkEditor.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=File:Toolbar_QueryBulkEditor.png&amp;diff=30229"/>
				<updated>2026-07-15T13:53:56Z</updated>
		
		<summary type="html">&lt;p&gt;DEH: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;File uploaded with MsUpload&lt;br /&gt;
&amp;lt;!-- Comment --&amp;gt;&lt;/div&gt;</summary>
		<author><name>DEH</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=Bulk_Editor&amp;diff=30228</id>
		<title>Bulk Editor</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=Bulk_Editor&amp;diff=30228"/>
				<updated>2026-07-15T13:53:28Z</updated>
		
		<summary type="html">&lt;p&gt;DEH: /* Toolbar */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Bulk Editor is designed to display and edit the [[BaseProperty|properties]] of a multiple {{UBIK}} objects. Technically, it reads the [[MetaProperty]] definition of each [[Instance|instance]] of the context object (directly from the context object if it is of type [[MetaClass]], otherwise it gets the MetaClass of the context object and reads the definition from its instances.&lt;br /&gt;
&lt;br /&gt;
{{ControlInfoBox&lt;br /&gt;
| title = Bulk Editor&lt;br /&gt;
| name = Bulk Editor&lt;br /&gt;
| internalname = CtrlBulkEditor&lt;br /&gt;
| image = [[File:UI_BulkEditor.png|220px]]&lt;br /&gt;
| imagecaption = Bulk Editor control&lt;br /&gt;
| purpose = Display and edit multiple objects&lt;br /&gt;
| context = MetaClass&lt;br /&gt;
| version = 2+&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Basics==&lt;br /&gt;
&lt;br /&gt;
===Appearance===&lt;br /&gt;
====Rows and columns====&lt;br /&gt;
The control reads the current context object and displays a row for each instance of it and a column for each found property (since 3.7.0 a set of preconfigured columns are hidden by default and the instances are sorted by default by CreationTimeStamp), its appearance depending on the respective data type of the [[MetaProperty]]. The following data types and thus different columns and editing controls are currently supported:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; | width = &amp;quot;50%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Data type!! Example !! Comment &lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Bool || [[File:UI_BulkEditor_Bool.png|300px]] || A [[MetaProperty#Boolean|boolean]] value to be read/set via a Checkbox&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| DateTime || [[File:UI_BulkEditor_DateTime.png|300px]] || A [[MetaProperty#Date Time|Date/Time]] value where the format is according to regional settings; a double click opens a dialog to pick a date from a calendar&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Double || - || A [[MetaProperty#Floating Point|floating point]] value, optionally with [[Unit|unit of measurement]]&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| FileReference|| [[File:UI_BulkEditor_File.png|300px]] || A [[MetaProperty#File Reference|path to a physical file]]; a double click opens a dialog to pick a file from the file system&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| GeoData || [[File:UI_BulkEditor_GEO.png|300px]] || A [[MetaProperty#Geographical Coordinate|geographical coordinate]]; a double click opens a dialog to enter the values separately&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Guid|| [[File:UI_BulkEditor_GUID.png|300px]] || A [[MetaProperty#Guid|pointer]] to another object&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Reference|| [[File:UI_BulkEditor_Reference.png|300px]] || A [[MetaProperty#Reference|reference]] to another object; a double click opens a picker to select the target object &lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Int|| - || A [[MetaProperty#Integer|discrete]] number&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| String|| - || A [[MetaProperty#Text|text]] value&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Selective lists====&lt;br /&gt;
If a certain property has a [[SELECTIVELIST|selective list]] defined, the respective column will display a Combobox with all items of the list instead of the value field. The value can then only be selected from the list, but not be edited manually anymore.&lt;br /&gt;
&lt;br /&gt;
====Index values====&lt;br /&gt;
If a certain property has [[Index value|index values]] defined, the respective column will be colored &amp;lt;span style=&amp;quot;background:LightSalmon;&amp;quot;&amp;gt;LightSalmon&amp;lt;/span&amp;gt; and become expandable. Expanding/collapsing can be done by either right clicking the column header or using the expand/collapse button in the Toolbar. When expanding, the editing column will multiply itself by the number of index values and present an own &amp;lt;span style=&amp;quot;background:LightYellow;&amp;quot;&amp;gt;LightYellow&amp;lt;/span&amp;gt; column for each index value.&lt;br /&gt;
&lt;br /&gt;
{{Hint|A multilanguage MetaProperty is actually a string property with index values defined for each system language!}}&lt;br /&gt;
&lt;br /&gt;
====Captions====&lt;br /&gt;
* each column shows the string representation of the respective MetaProperty as its header text&lt;br /&gt;
* the first column of each row is always titled ''_RowObject'' and shows the string representation of the corresponding instance&lt;br /&gt;
&lt;br /&gt;
====Tooltips====&lt;br /&gt;
There are two kinds of Tooltips used in this control:&lt;br /&gt;
* when hovering over the header of column, a Tooltip will show the type of the column&lt;br /&gt;
* when hovering over a cell which's text is deprecated, a Tooltip will show the full text&lt;br /&gt;
&lt;br /&gt;
===Editing===&lt;br /&gt;
When editing a value, it will only be written back to the respective property when you leave the cell. At that very point in time, the Bulk Editor also runs an integrity check against the [[Rule|rules]] and tests if the value you've entered can be stored on the property. If this fails, the row and cell will show a red exclamation mark with a Tooltip telling which rule was violated. The exclamation mark on the cell disappears once you've entered a valid value for this property, the exclamation mark on the row only disappears if all properties of the respective {{UBIK}} object have a valid value. If a warning range is defined in the validation, an exclamation mark on yellow background will be shown to inform the user about a value that has to be paid special attention to. However, values showing the warning sign are accepted as a valid input.&lt;br /&gt;
&lt;br /&gt;
{{Hint| While editing a value, you can use {{key press|ESC}} to undo your editing!}}&lt;br /&gt;
{{Hint| To improve performance, cells containing huge XML data are shortened by only showing the starting characters of the code. When the XML cell is marked or clicked for editing, the full text will be loaded. Please be aware that this can be a time consuming task!}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Drag &amp;amp; Drop===&lt;br /&gt;
The Object Editor control is a source and a target for Drag&amp;amp;Drop operations:&lt;br /&gt;
&lt;br /&gt;
* Any object can be dropped on a cell if the dragged object matches the data type of the respective property &lt;br /&gt;
* A single instance object can be dragged from the Bulk Edito by dragging the header of the row&lt;br /&gt;
* Objects stored in a cell can be dragged using the right mouse button&lt;br /&gt;
&lt;br /&gt;
==Toolbar==&lt;br /&gt;
&amp;lt;!-- Comment --&amp;gt;&lt;br /&gt;
[[File:QueryBulkEditor_Toolbar.png|thumb|350px|Bulk Editor Toolbar]]&lt;br /&gt;
The Bulk Editor features a Toolbar with the following items from left to right:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; | width = &amp;quot;50%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Item !! Purpose &lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| View Style || Indicates or changes the [[#View Style|View Style]] of the control; changing it will result in reloading of the control &lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Navigate to context object || Attempts to [[Navigation|navigate]] to the current context object&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Save || Saves all instances currently shown in the control&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Filter namespace || Filters all current instances by the [[Namespace|namespace]] of the set context object&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Select columns|| Opens a sub menu with all displayed columns and allows to show/hide them explicitly&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Expand/Collapse index columns|| Allows to show or hide the [[Bulk Editor#Index values|index columns]] if the currently selected column has index values &lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| UID || Shows or hides the UID column &lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Print || No functionality yet&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Cut || Cuts the value of the current cell into the clipboard&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Copy || Copies the value of the current cell into the clipboard&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Paste || Pastes the value from the clipboard into the current cell&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Move to first object|| Selects the first row&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Move to previous object|| Selects the previous row&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Current object|| Shows or sets the current row; enter a value and press {{key press|Enter}} to select a specific row&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Move to next object|| Selects the next row&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Move to last object|| Selects the last row&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Delete || Allows to delete all selected rows&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Search Criteria|| Allows to enter search criteria&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Play Button ▶|| Loads all instances without criteria&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Studio controls|Bulk Editor]]&lt;br /&gt;
&lt;br /&gt;
==Search Criteria==&lt;br /&gt;
[[File:FilterPanel.png|thumb|right|350px|]]&lt;br /&gt;
Only available if QueryBulkEditor is selected on the start page. {{Version/ServerSince|5.2.0}}&lt;br /&gt;
&lt;br /&gt;
Opening the &amp;quot;Search Criteria&amp;quot; panel allows a criterion to be added, consisting of a property, an operator and a value. Multiple criteria can be added, and rows can be deleted separately. The Reset button clears all entered criteria. Apply filters the instances; if no criteria are entered, all available instances are loaded. By default, 500 rows are displayed, but this value can be changed. If max. rows is set to 0 or -1, all instances are loaded. If no criteria are added, clicking the play button loads instances up to the configured row limit.&lt;br /&gt;
&lt;br /&gt;
[[Category:Studio controls|Bulk Editor]]&lt;br /&gt;
&lt;br /&gt;
==Context menu==&lt;br /&gt;
Right clicking on a cell that stores a {{UBIK}} object will bring up the standard [[Navigation|navigation]] context menu. In addition, cells of type GUID or Reference will show a Remove menu item, where clicking it will set the value of the cell to null.&lt;br /&gt;
&lt;br /&gt;
==View Styles==&lt;br /&gt;
The Object Editor has only one view style at the moment.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[Object Editor]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Studio controls|Bulk Editor]]&lt;/div&gt;</summary>
		<author><name>DEH</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=File:Toolbar_QueryBulkEditor.png&amp;diff=30227</id>
		<title>File:Toolbar QueryBulkEditor.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=File:Toolbar_QueryBulkEditor.png&amp;diff=30227"/>
				<updated>2026-07-15T13:48:42Z</updated>
		
		<summary type="html">&lt;p&gt;DEH: DEH uploaded a new version of File:Toolbar QueryBulkEditor.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;File uploaded with MsUpload&lt;/div&gt;</summary>
		<author><name>DEH</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=File:Toolbar_QueryBulkEditor.png&amp;diff=30226</id>
		<title>File:Toolbar QueryBulkEditor.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=File:Toolbar_QueryBulkEditor.png&amp;diff=30226"/>
				<updated>2026-07-15T13:43:41Z</updated>
		
		<summary type="html">&lt;p&gt;DEH: DEH uploaded a new version of File:Toolbar QueryBulkEditor.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;File uploaded with MsUpload&lt;/div&gt;</summary>
		<author><name>DEH</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=File:Toolbar_QueryBulkEditor.png&amp;diff=30225</id>
		<title>File:Toolbar QueryBulkEditor.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=File:Toolbar_QueryBulkEditor.png&amp;diff=30225"/>
				<updated>2026-07-15T13:41:32Z</updated>
		
		<summary type="html">&lt;p&gt;DEH: DEH uploaded a new version of File:Toolbar QueryBulkEditor.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;File uploaded with MsUpload&lt;/div&gt;</summary>
		<author><name>DEH</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=File:Toolbar_QueryBulkEditor.png&amp;diff=30224</id>
		<title>File:Toolbar QueryBulkEditor.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=File:Toolbar_QueryBulkEditor.png&amp;diff=30224"/>
				<updated>2026-07-15T13:40:58Z</updated>
		
		<summary type="html">&lt;p&gt;DEH: DEH uploaded a new version of File:Toolbar QueryBulkEditor.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;File uploaded with MsUpload&lt;/div&gt;</summary>
		<author><name>DEH</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=Bulk_Editor&amp;diff=30219</id>
		<title>Bulk Editor</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=Bulk_Editor&amp;diff=30219"/>
				<updated>2026-07-15T12:56:36Z</updated>
		
		<summary type="html">&lt;p&gt;DEH: /* Search Criteria */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Bulk Editor is designed to display and edit the [[BaseProperty|properties]] of a multiple {{UBIK}} objects. Technically, it reads the [[MetaProperty]] definition of each [[Instance|instance]] of the context object (directly from the context object if it is of type [[MetaClass]], otherwise it gets the MetaClass of the context object and reads the definition from its instances.&lt;br /&gt;
&lt;br /&gt;
{{ControlInfoBox&lt;br /&gt;
| title = Bulk Editor&lt;br /&gt;
| name = Bulk Editor&lt;br /&gt;
| internalname = CtrlBulkEditor&lt;br /&gt;
| image = [[File:UI_BulkEditor.png|220px]]&lt;br /&gt;
| imagecaption = Bulk Editor control&lt;br /&gt;
| purpose = Display and edit multiple objects&lt;br /&gt;
| context = MetaClass&lt;br /&gt;
| version = 2+&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Basics==&lt;br /&gt;
&lt;br /&gt;
===Appearance===&lt;br /&gt;
====Rows and columns====&lt;br /&gt;
The control reads the current context object and displays a row for each instance of it and a column for each found property (since 3.7.0 a set of preconfigured columns are hidden by default and the instances are sorted by default by CreationTimeStamp), its appearance depending on the respective data type of the [[MetaProperty]]. The following data types and thus different columns and editing controls are currently supported:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; | width = &amp;quot;50%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Data type!! Example !! Comment &lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Bool || [[File:UI_BulkEditor_Bool.png|300px]] || A [[MetaProperty#Boolean|boolean]] value to be read/set via a Checkbox&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| DateTime || [[File:UI_BulkEditor_DateTime.png|300px]] || A [[MetaProperty#Date Time|Date/Time]] value where the format is according to regional settings; a double click opens a dialog to pick a date from a calendar&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Double || - || A [[MetaProperty#Floating Point|floating point]] value, optionally with [[Unit|unit of measurement]]&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| FileReference|| [[File:UI_BulkEditor_File.png|300px]] || A [[MetaProperty#File Reference|path to a physical file]]; a double click opens a dialog to pick a file from the file system&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| GeoData || [[File:UI_BulkEditor_GEO.png|300px]] || A [[MetaProperty#Geographical Coordinate|geographical coordinate]]; a double click opens a dialog to enter the values separately&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Guid|| [[File:UI_BulkEditor_GUID.png|300px]] || A [[MetaProperty#Guid|pointer]] to another object&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Reference|| [[File:UI_BulkEditor_Reference.png|300px]] || A [[MetaProperty#Reference|reference]] to another object; a double click opens a picker to select the target object &lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Int|| - || A [[MetaProperty#Integer|discrete]] number&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| String|| - || A [[MetaProperty#Text|text]] value&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Selective lists====&lt;br /&gt;
If a certain property has a [[SELECTIVELIST|selective list]] defined, the respective column will display a Combobox with all items of the list instead of the value field. The value can then only be selected from the list, but not be edited manually anymore.&lt;br /&gt;
&lt;br /&gt;
====Index values====&lt;br /&gt;
If a certain property has [[Index value|index values]] defined, the respective column will be colored &amp;lt;span style=&amp;quot;background:LightSalmon;&amp;quot;&amp;gt;LightSalmon&amp;lt;/span&amp;gt; and become expandable. Expanding/collapsing can be done by either right clicking the column header or using the expand/collapse button in the Toolbar. When expanding, the editing column will multiply itself by the number of index values and present an own &amp;lt;span style=&amp;quot;background:LightYellow;&amp;quot;&amp;gt;LightYellow&amp;lt;/span&amp;gt; column for each index value.&lt;br /&gt;
&lt;br /&gt;
{{Hint|A multilanguage MetaProperty is actually a string property with index values defined for each system language!}}&lt;br /&gt;
&lt;br /&gt;
====Captions====&lt;br /&gt;
* each column shows the string representation of the respective MetaProperty as its header text&lt;br /&gt;
* the first column of each row is always titled ''_RowObject'' and shows the string representation of the corresponding instance&lt;br /&gt;
&lt;br /&gt;
====Tooltips====&lt;br /&gt;
There are two kinds of Tooltips used in this control:&lt;br /&gt;
* when hovering over the header of column, a Tooltip will show the type of the column&lt;br /&gt;
* when hovering over a cell which's text is deprecated, a Tooltip will show the full text&lt;br /&gt;
&lt;br /&gt;
===Editing===&lt;br /&gt;
When editing a value, it will only be written back to the respective property when you leave the cell. At that very point in time, the Bulk Editor also runs an integrity check against the [[Rule|rules]] and tests if the value you've entered can be stored on the property. If this fails, the row and cell will show a red exclamation mark with a Tooltip telling which rule was violated. The exclamation mark on the cell disappears once you've entered a valid value for this property, the exclamation mark on the row only disappears if all properties of the respective {{UBIK}} object have a valid value. If a warning range is defined in the validation, an exclamation mark on yellow background will be shown to inform the user about a value that has to be paid special attention to. However, values showing the warning sign are accepted as a valid input.&lt;br /&gt;
&lt;br /&gt;
{{Hint| While editing a value, you can use {{key press|ESC}} to undo your editing!}}&lt;br /&gt;
{{Hint| To improve performance, cells containing huge XML data are shortened by only showing the starting characters of the code. When the XML cell is marked or clicked for editing, the full text will be loaded. Please be aware that this can be a time consuming task!}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Drag &amp;amp; Drop===&lt;br /&gt;
The Object Editor control is a source and a target for Drag&amp;amp;Drop operations:&lt;br /&gt;
&lt;br /&gt;
* Any object can be dropped on a cell if the dragged object matches the data type of the respective property &lt;br /&gt;
* A single instance object can be dragged from the Bulk Edito by dragging the header of the row&lt;br /&gt;
* Objects stored in a cell can be dragged using the right mouse button&lt;br /&gt;
&lt;br /&gt;
==Toolbar==&lt;br /&gt;
[[File:Toolbar_QueryBulkEditor.png|thumb|350px|Bulk Editor Toolbar]]&lt;br /&gt;
The Bulk Editor features a Toolbar with the following items from left to right:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; | width = &amp;quot;50%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Item !! Purpose &lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| View Style || Indicates or changes the [[#View Style|View Style]] of the control; changing it will result in reloading of the control &lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Navigate to context object || Attempts to [[Navigation|navigate]] to the current context object&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Save || Saves all instances currently shown in the control&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Filter namespace || Filters all current instances by the [[Namespace|namespace]] of the set context object&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Select columns|| Opens a sub menu with all displayed columns and allows to show/hide them explicitly&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Expand/Collapse index columns|| Allows to show or hide the [[Bulk Editor#Index values|index columns]] if the currently selected column has index values &lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| UID || Shows or hides the UID column &lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Print || No functionality yet&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Cut || Cuts the value of the current cell into the clipboard&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Copy || Copies the value of the current cell into the clipboard&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Paste || Pastes the value from the clipboard into the current cell&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Move to first object|| Selects the first row&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Move to previous object|| Selects the previous row&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Current object|| Shows or sets the current row; enter a value and press {{key press|Enter}} to select a specific row&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Move to next object|| Selects the next row&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Move to last object|| Selects the last row&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Delete || Allows to delete all selected rows&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Search Criteria|| Allows to enter search criteria&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Play Button ▶|| Loads all instances without criteria&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Studio controls|Bulk Editor]]&lt;br /&gt;
&lt;br /&gt;
==Search Criteria==&lt;br /&gt;
[[File:FilterPanel.png|thumb|right|350px|]]&lt;br /&gt;
Only available if QueryBulkEditor is selected on the start page. {{Version/ServerSince|5.2.0}}&lt;br /&gt;
&lt;br /&gt;
Opening the &amp;quot;Search Criteria&amp;quot; panel allows a criterion to be added, consisting of a property, an operator and a value. Multiple criteria can be added, and rows can be deleted separately. The Reset button clears all entered criteria. Apply filters the instances; if no criteria are entered, all available instances are loaded. By default, 500 rows are displayed, but this value can be changed. If max. rows is set to 0 or -1, all instances are loaded. If no criteria are added, clicking the play button loads instances up to the configured row limit.&lt;br /&gt;
&lt;br /&gt;
[[Category:Studio controls|Bulk Editor]]&lt;br /&gt;
&lt;br /&gt;
==Context menu==&lt;br /&gt;
Right clicking on a cell that stores a {{UBIK}} object will bring up the standard [[Navigation|navigation]] context menu. In addition, cells of type GUID or Reference will show a Remove menu item, where clicking it will set the value of the cell to null.&lt;br /&gt;
&lt;br /&gt;
==View Styles==&lt;br /&gt;
The Object Editor has only one view style at the moment.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[Object Editor]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Studio controls|Bulk Editor]]&lt;/div&gt;</summary>
		<author><name>DEH</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=File:FilterPanel.png&amp;diff=30218</id>
		<title>File:FilterPanel.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=File:FilterPanel.png&amp;diff=30218"/>
				<updated>2026-07-15T12:51:47Z</updated>
		
		<summary type="html">&lt;p&gt;DEH: File uploaded with MsUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;File uploaded with MsUpload&lt;/div&gt;</summary>
		<author><name>DEH</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=Bulk_Editor&amp;diff=30217</id>
		<title>Bulk Editor</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=Bulk_Editor&amp;diff=30217"/>
				<updated>2026-07-15T12:51:08Z</updated>
		
		<summary type="html">&lt;p&gt;DEH: /* Toolbar */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Bulk Editor is designed to display and edit the [[BaseProperty|properties]] of a multiple {{UBIK}} objects. Technically, it reads the [[MetaProperty]] definition of each [[Instance|instance]] of the context object (directly from the context object if it is of type [[MetaClass]], otherwise it gets the MetaClass of the context object and reads the definition from its instances.&lt;br /&gt;
&lt;br /&gt;
{{ControlInfoBox&lt;br /&gt;
| title = Bulk Editor&lt;br /&gt;
| name = Bulk Editor&lt;br /&gt;
| internalname = CtrlBulkEditor&lt;br /&gt;
| image = [[File:UI_BulkEditor.png|220px]]&lt;br /&gt;
| imagecaption = Bulk Editor control&lt;br /&gt;
| purpose = Display and edit multiple objects&lt;br /&gt;
| context = MetaClass&lt;br /&gt;
| version = 2+&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Basics==&lt;br /&gt;
&lt;br /&gt;
===Appearance===&lt;br /&gt;
====Rows and columns====&lt;br /&gt;
The control reads the current context object and displays a row for each instance of it and a column for each found property (since 3.7.0 a set of preconfigured columns are hidden by default and the instances are sorted by default by CreationTimeStamp), its appearance depending on the respective data type of the [[MetaProperty]]. The following data types and thus different columns and editing controls are currently supported:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; | width = &amp;quot;50%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Data type!! Example !! Comment &lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Bool || [[File:UI_BulkEditor_Bool.png|300px]] || A [[MetaProperty#Boolean|boolean]] value to be read/set via a Checkbox&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| DateTime || [[File:UI_BulkEditor_DateTime.png|300px]] || A [[MetaProperty#Date Time|Date/Time]] value where the format is according to regional settings; a double click opens a dialog to pick a date from a calendar&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Double || - || A [[MetaProperty#Floating Point|floating point]] value, optionally with [[Unit|unit of measurement]]&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| FileReference|| [[File:UI_BulkEditor_File.png|300px]] || A [[MetaProperty#File Reference|path to a physical file]]; a double click opens a dialog to pick a file from the file system&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| GeoData || [[File:UI_BulkEditor_GEO.png|300px]] || A [[MetaProperty#Geographical Coordinate|geographical coordinate]]; a double click opens a dialog to enter the values separately&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Guid|| [[File:UI_BulkEditor_GUID.png|300px]] || A [[MetaProperty#Guid|pointer]] to another object&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Reference|| [[File:UI_BulkEditor_Reference.png|300px]] || A [[MetaProperty#Reference|reference]] to another object; a double click opens a picker to select the target object &lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Int|| - || A [[MetaProperty#Integer|discrete]] number&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| String|| - || A [[MetaProperty#Text|text]] value&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Selective lists====&lt;br /&gt;
If a certain property has a [[SELECTIVELIST|selective list]] defined, the respective column will display a Combobox with all items of the list instead of the value field. The value can then only be selected from the list, but not be edited manually anymore.&lt;br /&gt;
&lt;br /&gt;
====Index values====&lt;br /&gt;
If a certain property has [[Index value|index values]] defined, the respective column will be colored &amp;lt;span style=&amp;quot;background:LightSalmon;&amp;quot;&amp;gt;LightSalmon&amp;lt;/span&amp;gt; and become expandable. Expanding/collapsing can be done by either right clicking the column header or using the expand/collapse button in the Toolbar. When expanding, the editing column will multiply itself by the number of index values and present an own &amp;lt;span style=&amp;quot;background:LightYellow;&amp;quot;&amp;gt;LightYellow&amp;lt;/span&amp;gt; column for each index value.&lt;br /&gt;
&lt;br /&gt;
{{Hint|A multilanguage MetaProperty is actually a string property with index values defined for each system language!}}&lt;br /&gt;
&lt;br /&gt;
====Captions====&lt;br /&gt;
* each column shows the string representation of the respective MetaProperty as its header text&lt;br /&gt;
* the first column of each row is always titled ''_RowObject'' and shows the string representation of the corresponding instance&lt;br /&gt;
&lt;br /&gt;
====Tooltips====&lt;br /&gt;
There are two kinds of Tooltips used in this control:&lt;br /&gt;
* when hovering over the header of column, a Tooltip will show the type of the column&lt;br /&gt;
* when hovering over a cell which's text is deprecated, a Tooltip will show the full text&lt;br /&gt;
&lt;br /&gt;
===Editing===&lt;br /&gt;
When editing a value, it will only be written back to the respective property when you leave the cell. At that very point in time, the Bulk Editor also runs an integrity check against the [[Rule|rules]] and tests if the value you've entered can be stored on the property. If this fails, the row and cell will show a red exclamation mark with a Tooltip telling which rule was violated. The exclamation mark on the cell disappears once you've entered a valid value for this property, the exclamation mark on the row only disappears if all properties of the respective {{UBIK}} object have a valid value. If a warning range is defined in the validation, an exclamation mark on yellow background will be shown to inform the user about a value that has to be paid special attention to. However, values showing the warning sign are accepted as a valid input.&lt;br /&gt;
&lt;br /&gt;
{{Hint| While editing a value, you can use {{key press|ESC}} to undo your editing!}}&lt;br /&gt;
{{Hint| To improve performance, cells containing huge XML data are shortened by only showing the starting characters of the code. When the XML cell is marked or clicked for editing, the full text will be loaded. Please be aware that this can be a time consuming task!}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Drag &amp;amp; Drop===&lt;br /&gt;
The Object Editor control is a source and a target for Drag&amp;amp;Drop operations:&lt;br /&gt;
&lt;br /&gt;
* Any object can be dropped on a cell if the dragged object matches the data type of the respective property &lt;br /&gt;
* A single instance object can be dragged from the Bulk Edito by dragging the header of the row&lt;br /&gt;
* Objects stored in a cell can be dragged using the right mouse button&lt;br /&gt;
&lt;br /&gt;
==Toolbar==&lt;br /&gt;
[[File:Toolbar_QueryBulkEditor.png|thumb|350px|Bulk Editor Toolbar]]&lt;br /&gt;
The Bulk Editor features a Toolbar with the following items from left to right:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; | width = &amp;quot;50%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Item !! Purpose &lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| View Style || Indicates or changes the [[#View Style|View Style]] of the control; changing it will result in reloading of the control &lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Navigate to context object || Attempts to [[Navigation|navigate]] to the current context object&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Save || Saves all instances currently shown in the control&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Filter namespace || Filters all current instances by the [[Namespace|namespace]] of the set context object&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Select columns|| Opens a sub menu with all displayed columns and allows to show/hide them explicitly&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Expand/Collapse index columns|| Allows to show or hide the [[Bulk Editor#Index values|index columns]] if the currently selected column has index values &lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| UID || Shows or hides the UID column &lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Print || No functionality yet&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Cut || Cuts the value of the current cell into the clipboard&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Copy || Copies the value of the current cell into the clipboard&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Paste || Pastes the value from the clipboard into the current cell&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Move to first object|| Selects the first row&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Move to previous object|| Selects the previous row&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Current object|| Shows or sets the current row; enter a value and press {{key press|Enter}} to select a specific row&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Move to next object|| Selects the next row&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Move to last object|| Selects the last row&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Delete || Allows to delete all selected rows&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Search Criteria|| Allows to enter search criteria&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Play Button ▶|| Loads all instances without criteria&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Studio controls|Bulk Editor]]&lt;br /&gt;
&lt;br /&gt;
==Search Criteria==&lt;br /&gt;
Only available if QueryBulkEditor is selected on the start page. {{Version/ServerSince|5.2.0}}&lt;br /&gt;
&lt;br /&gt;
Opening the &amp;quot;Search Criteria&amp;quot; panel allows a criterion to be added, consisting of a property, an operator and a value. Multiple criteria can be added, and rows can be deleted separately. The Reset button clears all entered criteria. Apply filters the instances; if no criteria are entered, all available instances are loaded. By default, 500 rows are displayed, but this value can be changed. If max. rows is set to 0 or -1, all instances are loaded. If no criteria are added, clicking the play button loads instances up to the configured row limit.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Context menu==&lt;br /&gt;
Right clicking on a cell that stores a {{UBIK}} object will bring up the standard [[Navigation|navigation]] context menu. In addition, cells of type GUID or Reference will show a Remove menu item, where clicking it will set the value of the cell to null.&lt;br /&gt;
&lt;br /&gt;
==View Styles==&lt;br /&gt;
The Object Editor has only one view style at the moment.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[Object Editor]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Studio controls|Bulk Editor]]&lt;/div&gt;</summary>
		<author><name>DEH</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=File:Toolbar_QueryBulkEditor.png&amp;diff=30216</id>
		<title>File:Toolbar QueryBulkEditor.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=File:Toolbar_QueryBulkEditor.png&amp;diff=30216"/>
				<updated>2026-07-15T12:48:47Z</updated>
		
		<summary type="html">&lt;p&gt;DEH: File uploaded with MsUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;File uploaded with MsUpload&lt;/div&gt;</summary>
		<author><name>DEH</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=Bulk_Editor&amp;diff=30215</id>
		<title>Bulk Editor</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=Bulk_Editor&amp;diff=30215"/>
				<updated>2026-07-15T12:47:02Z</updated>
		
		<summary type="html">&lt;p&gt;DEH: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Bulk Editor is designed to display and edit the [[BaseProperty|properties]] of a multiple {{UBIK}} objects. Technically, it reads the [[MetaProperty]] definition of each [[Instance|instance]] of the context object (directly from the context object if it is of type [[MetaClass]], otherwise it gets the MetaClass of the context object and reads the definition from its instances.&lt;br /&gt;
&lt;br /&gt;
{{ControlInfoBox&lt;br /&gt;
| title = Bulk Editor&lt;br /&gt;
| name = Bulk Editor&lt;br /&gt;
| internalname = CtrlBulkEditor&lt;br /&gt;
| image = [[File:UI_BulkEditor.png|220px]]&lt;br /&gt;
| imagecaption = Bulk Editor control&lt;br /&gt;
| purpose = Display and edit multiple objects&lt;br /&gt;
| context = MetaClass&lt;br /&gt;
| version = 2+&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Basics==&lt;br /&gt;
&lt;br /&gt;
===Appearance===&lt;br /&gt;
====Rows and columns====&lt;br /&gt;
The control reads the current context object and displays a row for each instance of it and a column for each found property (since 3.7.0 a set of preconfigured columns are hidden by default and the instances are sorted by default by CreationTimeStamp), its appearance depending on the respective data type of the [[MetaProperty]]. The following data types and thus different columns and editing controls are currently supported:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; | width = &amp;quot;50%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Data type!! Example !! Comment &lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Bool || [[File:UI_BulkEditor_Bool.png|300px]] || A [[MetaProperty#Boolean|boolean]] value to be read/set via a Checkbox&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| DateTime || [[File:UI_BulkEditor_DateTime.png|300px]] || A [[MetaProperty#Date Time|Date/Time]] value where the format is according to regional settings; a double click opens a dialog to pick a date from a calendar&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Double || - || A [[MetaProperty#Floating Point|floating point]] value, optionally with [[Unit|unit of measurement]]&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| FileReference|| [[File:UI_BulkEditor_File.png|300px]] || A [[MetaProperty#File Reference|path to a physical file]]; a double click opens a dialog to pick a file from the file system&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| GeoData || [[File:UI_BulkEditor_GEO.png|300px]] || A [[MetaProperty#Geographical Coordinate|geographical coordinate]]; a double click opens a dialog to enter the values separately&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Guid|| [[File:UI_BulkEditor_GUID.png|300px]] || A [[MetaProperty#Guid|pointer]] to another object&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Reference|| [[File:UI_BulkEditor_Reference.png|300px]] || A [[MetaProperty#Reference|reference]] to another object; a double click opens a picker to select the target object &lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Int|| - || A [[MetaProperty#Integer|discrete]] number&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| String|| - || A [[MetaProperty#Text|text]] value&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Selective lists====&lt;br /&gt;
If a certain property has a [[SELECTIVELIST|selective list]] defined, the respective column will display a Combobox with all items of the list instead of the value field. The value can then only be selected from the list, but not be edited manually anymore.&lt;br /&gt;
&lt;br /&gt;
====Index values====&lt;br /&gt;
If a certain property has [[Index value|index values]] defined, the respective column will be colored &amp;lt;span style=&amp;quot;background:LightSalmon;&amp;quot;&amp;gt;LightSalmon&amp;lt;/span&amp;gt; and become expandable. Expanding/collapsing can be done by either right clicking the column header or using the expand/collapse button in the Toolbar. When expanding, the editing column will multiply itself by the number of index values and present an own &amp;lt;span style=&amp;quot;background:LightYellow;&amp;quot;&amp;gt;LightYellow&amp;lt;/span&amp;gt; column for each index value.&lt;br /&gt;
&lt;br /&gt;
{{Hint|A multilanguage MetaProperty is actually a string property with index values defined for each system language!}}&lt;br /&gt;
&lt;br /&gt;
====Captions====&lt;br /&gt;
* each column shows the string representation of the respective MetaProperty as its header text&lt;br /&gt;
* the first column of each row is always titled ''_RowObject'' and shows the string representation of the corresponding instance&lt;br /&gt;
&lt;br /&gt;
====Tooltips====&lt;br /&gt;
There are two kinds of Tooltips used in this control:&lt;br /&gt;
* when hovering over the header of column, a Tooltip will show the type of the column&lt;br /&gt;
* when hovering over a cell which's text is deprecated, a Tooltip will show the full text&lt;br /&gt;
&lt;br /&gt;
===Editing===&lt;br /&gt;
When editing a value, it will only be written back to the respective property when you leave the cell. At that very point in time, the Bulk Editor also runs an integrity check against the [[Rule|rules]] and tests if the value you've entered can be stored on the property. If this fails, the row and cell will show a red exclamation mark with a Tooltip telling which rule was violated. The exclamation mark on the cell disappears once you've entered a valid value for this property, the exclamation mark on the row only disappears if all properties of the respective {{UBIK}} object have a valid value. If a warning range is defined in the validation, an exclamation mark on yellow background will be shown to inform the user about a value that has to be paid special attention to. However, values showing the warning sign are accepted as a valid input.&lt;br /&gt;
&lt;br /&gt;
{{Hint| While editing a value, you can use {{key press|ESC}} to undo your editing!}}&lt;br /&gt;
{{Hint| To improve performance, cells containing huge XML data are shortened by only showing the starting characters of the code. When the XML cell is marked or clicked for editing, the full text will be loaded. Please be aware that this can be a time consuming task!}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Drag &amp;amp; Drop===&lt;br /&gt;
The Object Editor control is a source and a target for Drag&amp;amp;Drop operations:&lt;br /&gt;
&lt;br /&gt;
* Any object can be dropped on a cell if the dragged object matches the data type of the respective property &lt;br /&gt;
* A single instance object can be dragged from the Bulk Edito by dragging the header of the row&lt;br /&gt;
* Objects stored in a cell can be dragged using the right mouse button&lt;br /&gt;
&lt;br /&gt;
==Toolbar==&lt;br /&gt;
[[File:UI_BulkEditor_Toolbar_With_UID.png|thumb|350px|Bulk Editor Toolbar]]&lt;br /&gt;
The Bulk Editor features a Toolbar with the following items from left to right:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; | width = &amp;quot;50%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Item !! Purpose &lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| View Style || Indicates or changes the [[#View Style|View Style]] of the control; changing it will result in reloading of the control &lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Navigate to context object || Attempts to [[Navigation|navigate]] to the current context object&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Save || Saves all instances currently shown in the control&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Filter namespace || Filters all current instances by the [[Namespace|namespace]] of the set context object&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Select columns|| Opens a sub menu with all displayed columns and allows to show/hide them explicitly&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Expand/Collapse index columns|| Allows to show or hide the [[Bulk Editor#Index values|index columns]] if the currently selected column has index values &lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| UID || Shows or hides the UID column &lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Print || No functionality yet&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Cut || Cuts the value of the current cell into the clipboard&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Copy || Copies the value of the current cell into the clipboard&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Paste || Pastes the value from the clipboard into the current cell&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Move to first object|| Selects the first row&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Move to previous object|| Selects the previous row&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Current object|| Shows or sets the current row; enter a value and press {{key press|Enter}} to select a specific row&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Move to next object|| Selects the next row&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Move to last object|| Selects the last row&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Delete || Allows to delete all selected rows&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Search Criteria|| Allows to enter search criteria&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Play Button ▶|| Loads all instances without criteria&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Search Criteria==&lt;br /&gt;
Only available if QueryBulkEditor is selected on the start page. {{Version/ServerSince|5.2.0}}&lt;br /&gt;
&lt;br /&gt;
Opening the &amp;quot;Search Criteria&amp;quot; panel allows a criterion to be added, consisting of a property, an operator and a value. Multiple criteria can be added, and rows can be deleted separately. The Reset button clears all entered criteria. Apply filters the instances; if no criteria are entered, all available instances are loaded. By default, 500 rows are displayed, but this value can be changed. If max. rows is set to 0 or -1, all instances are loaded. If no criteria are added, clicking the play button loads instances up to the configured row limit.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Context menu==&lt;br /&gt;
Right clicking on a cell that stores a {{UBIK}} object will bring up the standard [[Navigation|navigation]] context menu. In addition, cells of type GUID or Reference will show a Remove menu item, where clicking it will set the value of the cell to null.&lt;br /&gt;
&lt;br /&gt;
==View Styles==&lt;br /&gt;
The Object Editor has only one view style at the moment.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[Object Editor]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Studio controls|Bulk Editor]]&lt;/div&gt;</summary>
		<author><name>DEH</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=Bulk_Editor&amp;diff=30210</id>
		<title>Bulk Editor</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=Bulk_Editor&amp;diff=30210"/>
				<updated>2026-07-15T12:22:52Z</updated>
		
		<summary type="html">&lt;p&gt;DEH: /* Search Criteria */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Bulk Editor is designed to display and edit the [[BaseProperty|properties]] of a multiple {{UBIK}} objects. Technically, it reads the [[MetaProperty]] definition of each [[Instance|instance]] of the context object (directly from the context object if it is of type [[MetaClass]], otherwise it gets the MetaClass of the context object and reads the definition from its instances.&lt;br /&gt;
&lt;br /&gt;
{{ControlInfoBox&lt;br /&gt;
| title = Bulk Editor&lt;br /&gt;
| name = Bulk Editor&lt;br /&gt;
| internalname = CtrlBulkEditor&lt;br /&gt;
| image = [[File:UI_BulkEditor.png|220px]]&lt;br /&gt;
| imagecaption = Bulk Editor control&lt;br /&gt;
| purpose = Display and edit multiple objects&lt;br /&gt;
| context = MetaClass&lt;br /&gt;
| version = 2+&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Basics==&lt;br /&gt;
&lt;br /&gt;
===Appearance===&lt;br /&gt;
====Rows and columns====&lt;br /&gt;
The control reads the current context object and displays a row for each instance of it and a column for each found property (since 3.7.0 a set of preconfigured columns are hidden by default and the instances are sorted by default by CreationTimeStamp), its appearance depending on the respective data type of the [[MetaProperty]]. The following data types and thus different columns and editing controls are currently supported:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; | width = &amp;quot;50%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Data type!! Example !! Comment &lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Bool || [[File:UI_BulkEditor_Bool.png|300px]] || A [[MetaProperty#Boolean|boolean]] value to be read/set via a Checkbox&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| DateTime || [[File:UI_BulkEditor_DateTime.png|300px]] || A [[MetaProperty#Date Time|Date/Time]] value where the format is according to regional settings; a double click opens a dialog to pick a date from a calendar&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Double || - || A [[MetaProperty#Floating Point|floating point]] value, optionally with [[Unit|unit of measurement]]&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| FileReference|| [[File:UI_BulkEditor_File.png|300px]] || A [[MetaProperty#File Reference|path to a physical file]]; a double click opens a dialog to pick a file from the file system&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| GeoData || [[File:UI_BulkEditor_GEO.png|300px]] || A [[MetaProperty#Geographical Coordinate|geographical coordinate]]; a double click opens a dialog to enter the values separately&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Guid|| [[File:UI_BulkEditor_GUID.png|300px]] || A [[MetaProperty#Guid|pointer]] to another object&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Reference|| [[File:UI_BulkEditor_Reference.png|300px]] || A [[MetaProperty#Reference|reference]] to another object; a double click opens a picker to select the target object &lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Int|| - || A [[MetaProperty#Integer|discrete]] number&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| String|| - || A [[MetaProperty#Text|text]] value&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Selective lists====&lt;br /&gt;
If a certain property has a [[SELECTIVELIST|selective list]] defined, the respective column will display a Combobox with all items of the list instead of the value field. The value can then only be selected from the list, but not be edited manually anymore.&lt;br /&gt;
&lt;br /&gt;
====Index values====&lt;br /&gt;
If a certain property has [[Index value|index values]] defined, the respective column will be colored &amp;lt;span style=&amp;quot;background:LightSalmon;&amp;quot;&amp;gt;LightSalmon&amp;lt;/span&amp;gt; and become expandable. Expanding/collapsing can be done by either right clicking the column header or using the expand/collapse button in the Toolbar. When expanding, the editing column will multiply itself by the number of index values and present an own &amp;lt;span style=&amp;quot;background:LightYellow;&amp;quot;&amp;gt;LightYellow&amp;lt;/span&amp;gt; column for each index value.&lt;br /&gt;
&lt;br /&gt;
{{Hint|A multilanguage MetaProperty is actually a string property with index values defined for each system language!}}&lt;br /&gt;
&lt;br /&gt;
====Captions====&lt;br /&gt;
* each column shows the string representation of the respective MetaProperty as its header text&lt;br /&gt;
* the first column of each row is always titled ''_RowObject'' and shows the string representation of the corresponding instance&lt;br /&gt;
&lt;br /&gt;
====Tooltips====&lt;br /&gt;
There are two kinds of Tooltips used in this control:&lt;br /&gt;
* when hovering over the header of column, a Tooltip will show the type of the column&lt;br /&gt;
* when hovering over a cell which's text is deprecated, a Tooltip will show the full text&lt;br /&gt;
&lt;br /&gt;
===Editing===&lt;br /&gt;
When editing a value, it will only be written back to the respective property when you leave the cell. At that very point in time, the Bulk Editor also runs an integrity check against the [[Rule|rules]] and tests if the value you've entered can be stored on the property. If this fails, the row and cell will show a red exclamation mark with a Tooltip telling which rule was violated. The exclamation mark on the cell disappears once you've entered a valid value for this property, the exclamation mark on the row only disappears if all properties of the respective {{UBIK}} object have a valid value. If a warning range is defined in the validation, an exclamation mark on yellow background will be shown to inform the user about a value that has to be paid special attention to. However, values showing the warning sign are accepted as a valid input.&lt;br /&gt;
&lt;br /&gt;
{{Hint| While editing a value, you can use {{key press|ESC}} to undo your editing!}}&lt;br /&gt;
{{Hint| To improve performance, cells containing huge XML data are shortened by only showing the starting characters of the code. When the XML cell is marked or clicked for editing, the full text will be loaded. Please be aware that this can be a time consuming task!}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Drag &amp;amp; Drop===&lt;br /&gt;
The Object Editor control is a source and a target for Drag&amp;amp;Drop operations:&lt;br /&gt;
&lt;br /&gt;
* Any object can be dropped on a cell if the dragged object matches the data type of the respective property &lt;br /&gt;
* A single instance object can be dragged from the Bulk Edito by dragging the header of the row&lt;br /&gt;
* Objects stored in a cell can be dragged using the right mouse button&lt;br /&gt;
&lt;br /&gt;
==Toolbar==&lt;br /&gt;
[[File:UI_BulkEditor_Toolbar_With_UID.png|thumb|350px|Bulk Editor Toolbar]]&lt;br /&gt;
The Bulk Editor features a Toolbar with the following items from left to right:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; | width = &amp;quot;50%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Item !! Purpose &lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| View Style || Indicates or changes the [[#View Style|View Style]] of the control; changing it will result in reloading of the control &lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Navigate to context object || Attempts to [[Navigation|navigate]] to the current context object&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Save || Saves all instances currently shown in the control&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Filter namespace || Filters all current instances by the [[Namespace|namespace]] of the set context object&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Select columns|| Opens a sub menu with all displayed columns and allows to show/hide them explicitly&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Expand/Collapse index columns|| Allows to show or hide the [[Bulk Editor#Index values|index columns]] if the currently selected column has index values &lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| UID || Shows or hides the UID column &lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Print || No functionality yet&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Cut || Cuts the value of the current cell into the clipboard&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Copy || Copies the value of the current cell into the clipboard&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Paste || Pastes the value from the clipboard into the current cell&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Move to first object|| Selects the first row&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Move to previous object|| Selects the previous row&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Current object|| Shows or sets the current row; enter a value and press {{key press|Enter}} to select a specific row&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Move to next object|| Selects the next row&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Move to last object|| Selects the last row&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Delete || Allows to delete all selected rows&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Search Criteria|| Allows to enter search criteria&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Play Button ▶|| Loads all instances without criteria&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Studio controls|Bulk Editor]]&lt;br /&gt;
&lt;br /&gt;
==Search Criteria==&lt;br /&gt;
Only available if QueryBulkEditor is selected on the start page. {{Version/ServerSince|5.2.0}}&lt;br /&gt;
&lt;br /&gt;
Opening the &amp;quot;Search Criteria&amp;quot; panel allows a criterion to be added, consisting of a property, an operator and a value. Multiple criteria can be added, and rows can be deleted separately. The Reset button clears all entered criteria. Apply filters the instances; if no criteria are entered, all available instances are loaded. By default, 500 rows are displayed, but this value can be changed. If max. rows is set to 0 or -1, all instances are loaded. If no criteria are added, clicking the play button loads instances up to the configured row limit.&lt;br /&gt;
&lt;br /&gt;
[[Category:Studio controls|Bulk Editor]]&lt;br /&gt;
&lt;br /&gt;
==Context menu==&lt;br /&gt;
Right clicking on a cell that stores a {{UBIK}} object will bring up the standard [[Navigation|navigation]] context menu. In addition, cells of type GUID or Reference will show a Remove menu item, where clicking it will set the value of the cell to null.&lt;br /&gt;
&lt;br /&gt;
==View Styles==&lt;br /&gt;
The Object Editor has only one view style at the moment.&lt;br /&gt;
&lt;br /&gt;
==Other functionality==&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[Object Editor]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Studio controls|Bulk Editor]]&lt;/div&gt;</summary>
		<author><name>DEH</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=Bulk_Editor&amp;diff=30208</id>
		<title>Bulk Editor</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=Bulk_Editor&amp;diff=30208"/>
				<updated>2026-07-15T12:22:26Z</updated>
		
		<summary type="html">&lt;p&gt;DEH: /* Toolbar */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Bulk Editor is designed to display and edit the [[BaseProperty|properties]] of a multiple {{UBIK}} objects. Technically, it reads the [[MetaProperty]] definition of each [[Instance|instance]] of the context object (directly from the context object if it is of type [[MetaClass]], otherwise it gets the MetaClass of the context object and reads the definition from its instances.&lt;br /&gt;
&lt;br /&gt;
{{ControlInfoBox&lt;br /&gt;
| title = Bulk Editor&lt;br /&gt;
| name = Bulk Editor&lt;br /&gt;
| internalname = CtrlBulkEditor&lt;br /&gt;
| image = [[File:UI_BulkEditor.png|220px]]&lt;br /&gt;
| imagecaption = Bulk Editor control&lt;br /&gt;
| purpose = Display and edit multiple objects&lt;br /&gt;
| context = MetaClass&lt;br /&gt;
| version = 2+&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Basics==&lt;br /&gt;
&lt;br /&gt;
===Appearance===&lt;br /&gt;
====Rows and columns====&lt;br /&gt;
The control reads the current context object and displays a row for each instance of it and a column for each found property (since 3.7.0 a set of preconfigured columns are hidden by default and the instances are sorted by default by CreationTimeStamp), its appearance depending on the respective data type of the [[MetaProperty]]. The following data types and thus different columns and editing controls are currently supported:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; | width = &amp;quot;50%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Data type!! Example !! Comment &lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Bool || [[File:UI_BulkEditor_Bool.png|300px]] || A [[MetaProperty#Boolean|boolean]] value to be read/set via a Checkbox&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| DateTime || [[File:UI_BulkEditor_DateTime.png|300px]] || A [[MetaProperty#Date Time|Date/Time]] value where the format is according to regional settings; a double click opens a dialog to pick a date from a calendar&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Double || - || A [[MetaProperty#Floating Point|floating point]] value, optionally with [[Unit|unit of measurement]]&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| FileReference|| [[File:UI_BulkEditor_File.png|300px]] || A [[MetaProperty#File Reference|path to a physical file]]; a double click opens a dialog to pick a file from the file system&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| GeoData || [[File:UI_BulkEditor_GEO.png|300px]] || A [[MetaProperty#Geographical Coordinate|geographical coordinate]]; a double click opens a dialog to enter the values separately&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Guid|| [[File:UI_BulkEditor_GUID.png|300px]] || A [[MetaProperty#Guid|pointer]] to another object&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Reference|| [[File:UI_BulkEditor_Reference.png|300px]] || A [[MetaProperty#Reference|reference]] to another object; a double click opens a picker to select the target object &lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Int|| - || A [[MetaProperty#Integer|discrete]] number&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| String|| - || A [[MetaProperty#Text|text]] value&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Selective lists====&lt;br /&gt;
If a certain property has a [[SELECTIVELIST|selective list]] defined, the respective column will display a Combobox with all items of the list instead of the value field. The value can then only be selected from the list, but not be edited manually anymore.&lt;br /&gt;
&lt;br /&gt;
====Index values====&lt;br /&gt;
If a certain property has [[Index value|index values]] defined, the respective column will be colored &amp;lt;span style=&amp;quot;background:LightSalmon;&amp;quot;&amp;gt;LightSalmon&amp;lt;/span&amp;gt; and become expandable. Expanding/collapsing can be done by either right clicking the column header or using the expand/collapse button in the Toolbar. When expanding, the editing column will multiply itself by the number of index values and present an own &amp;lt;span style=&amp;quot;background:LightYellow;&amp;quot;&amp;gt;LightYellow&amp;lt;/span&amp;gt; column for each index value.&lt;br /&gt;
&lt;br /&gt;
{{Hint|A multilanguage MetaProperty is actually a string property with index values defined for each system language!}}&lt;br /&gt;
&lt;br /&gt;
====Captions====&lt;br /&gt;
* each column shows the string representation of the respective MetaProperty as its header text&lt;br /&gt;
* the first column of each row is always titled ''_RowObject'' and shows the string representation of the corresponding instance&lt;br /&gt;
&lt;br /&gt;
====Tooltips====&lt;br /&gt;
There are two kinds of Tooltips used in this control:&lt;br /&gt;
* when hovering over the header of column, a Tooltip will show the type of the column&lt;br /&gt;
* when hovering over a cell which's text is deprecated, a Tooltip will show the full text&lt;br /&gt;
&lt;br /&gt;
===Editing===&lt;br /&gt;
When editing a value, it will only be written back to the respective property when you leave the cell. At that very point in time, the Bulk Editor also runs an integrity check against the [[Rule|rules]] and tests if the value you've entered can be stored on the property. If this fails, the row and cell will show a red exclamation mark with a Tooltip telling which rule was violated. The exclamation mark on the cell disappears once you've entered a valid value for this property, the exclamation mark on the row only disappears if all properties of the respective {{UBIK}} object have a valid value. If a warning range is defined in the validation, an exclamation mark on yellow background will be shown to inform the user about a value that has to be paid special attention to. However, values showing the warning sign are accepted as a valid input.&lt;br /&gt;
&lt;br /&gt;
{{Hint| While editing a value, you can use {{key press|ESC}} to undo your editing!}}&lt;br /&gt;
{{Hint| To improve performance, cells containing huge XML data are shortened by only showing the starting characters of the code. When the XML cell is marked or clicked for editing, the full text will be loaded. Please be aware that this can be a time consuming task!}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Drag &amp;amp; Drop===&lt;br /&gt;
The Object Editor control is a source and a target for Drag&amp;amp;Drop operations:&lt;br /&gt;
&lt;br /&gt;
* Any object can be dropped on a cell if the dragged object matches the data type of the respective property &lt;br /&gt;
* A single instance object can be dragged from the Bulk Edito by dragging the header of the row&lt;br /&gt;
* Objects stored in a cell can be dragged using the right mouse button&lt;br /&gt;
&lt;br /&gt;
==Toolbar==&lt;br /&gt;
[[File:UI_BulkEditor_Toolbar_With_UID.png|thumb|350px|Bulk Editor Toolbar]]&lt;br /&gt;
The Bulk Editor features a Toolbar with the following items from left to right:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; | width = &amp;quot;50%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Item !! Purpose &lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| View Style || Indicates or changes the [[#View Style|View Style]] of the control; changing it will result in reloading of the control &lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Navigate to context object || Attempts to [[Navigation|navigate]] to the current context object&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Save || Saves all instances currently shown in the control&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Filter namespace || Filters all current instances by the [[Namespace|namespace]] of the set context object&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Select columns|| Opens a sub menu with all displayed columns and allows to show/hide them explicitly&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Expand/Collapse index columns|| Allows to show or hide the [[Bulk Editor#Index values|index columns]] if the currently selected column has index values &lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| UID || Shows or hides the UID column &lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Print || No functionality yet&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Cut || Cuts the value of the current cell into the clipboard&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Copy || Copies the value of the current cell into the clipboard&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Paste || Pastes the value from the clipboard into the current cell&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Move to first object|| Selects the first row&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Move to previous object|| Selects the previous row&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Current object|| Shows or sets the current row; enter a value and press {{key press|Enter}} to select a specific row&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Move to next object|| Selects the next row&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Move to last object|| Selects the last row&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Delete || Allows to delete all selected rows&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Search Criteria|| Allows to enter search criteria&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Play Button ▶|| Loads all instances without criteria&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Studio controls|Bulk Editor]]&lt;br /&gt;
&lt;br /&gt;
==Search Criteria==&lt;br /&gt;
Only available if QueryBulkEditor is selected on the start page {{Version/ServerSince|5.2.0}}&lt;br /&gt;
&lt;br /&gt;
Opening the &amp;quot;Search Criteria&amp;quot; panel allows a criterion to be added, consisting of a property, an operator and a value. Multiple criteria can be added, and rows can be deleted separately. The Reset button clears all entered criteria. Apply filters the instances; if no criteria are entered, all available instances are loaded. By default, 500 rows are displayed, but this value can be changed. If max. rows is set to 0 or -1, all instances are loaded. If no criteria are added, clicking the play button loads instances up to the configured row limit.&lt;br /&gt;
&lt;br /&gt;
==Context menu==&lt;br /&gt;
Right clicking on a cell that stores a {{UBIK}} object will bring up the standard [[Navigation|navigation]] context menu. In addition, cells of type GUID or Reference will show a Remove menu item, where clicking it will set the value of the cell to null.&lt;br /&gt;
&lt;br /&gt;
==View Styles==&lt;br /&gt;
The Object Editor has only one view style at the moment.&lt;br /&gt;
&lt;br /&gt;
==Other functionality==&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[Object Editor]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Studio controls|Bulk Editor]]&lt;/div&gt;</summary>
		<author><name>DEH</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=Bulk_Editor&amp;diff=30200</id>
		<title>Bulk Editor</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=Bulk_Editor&amp;diff=30200"/>
				<updated>2026-07-15T12:15:31Z</updated>
		
		<summary type="html">&lt;p&gt;DEH: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Bulk Editor is designed to display and edit the [[BaseProperty|properties]] of a multiple {{UBIK}} objects. Technically, it reads the [[MetaProperty]] definition of each [[Instance|instance]] of the context object (directly from the context object if it is of type [[MetaClass]], otherwise it gets the MetaClass of the context object and reads the definition from its instances.&lt;br /&gt;
&lt;br /&gt;
{{ControlInfoBox&lt;br /&gt;
| title = Bulk Editor&lt;br /&gt;
| name = Bulk Editor&lt;br /&gt;
| internalname = CtrlBulkEditor&lt;br /&gt;
| image = [[File:UI_BulkEditor.png|220px]]&lt;br /&gt;
| imagecaption = Bulk Editor control&lt;br /&gt;
| purpose = Display and edit multiple objects&lt;br /&gt;
| context = MetaClass&lt;br /&gt;
| version = 2+&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Basics==&lt;br /&gt;
&lt;br /&gt;
===Appearance===&lt;br /&gt;
====Rows and columns====&lt;br /&gt;
The control reads the current context object and displays a row for each instance of it and a column for each found property (since 3.7.0 a set of preconfigured columns are hidden by default and the instances are sorted by default by CreationTimeStamp), its appearance depending on the respective data type of the [[MetaProperty]]. The following data types and thus different columns and editing controls are currently supported:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; | width = &amp;quot;50%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Data type!! Example !! Comment &lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Bool || [[File:UI_BulkEditor_Bool.png|300px]] || A [[MetaProperty#Boolean|boolean]] value to be read/set via a Checkbox&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| DateTime || [[File:UI_BulkEditor_DateTime.png|300px]] || A [[MetaProperty#Date Time|Date/Time]] value where the format is according to regional settings; a double click opens a dialog to pick a date from a calendar&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Double || - || A [[MetaProperty#Floating Point|floating point]] value, optionally with [[Unit|unit of measurement]]&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| FileReference|| [[File:UI_BulkEditor_File.png|300px]] || A [[MetaProperty#File Reference|path to a physical file]]; a double click opens a dialog to pick a file from the file system&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| GeoData || [[File:UI_BulkEditor_GEO.png|300px]] || A [[MetaProperty#Geographical Coordinate|geographical coordinate]]; a double click opens a dialog to enter the values separately&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Guid|| [[File:UI_BulkEditor_GUID.png|300px]] || A [[MetaProperty#Guid|pointer]] to another object&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Reference|| [[File:UI_BulkEditor_Reference.png|300px]] || A [[MetaProperty#Reference|reference]] to another object; a double click opens a picker to select the target object &lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Int|| - || A [[MetaProperty#Integer|discrete]] number&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| String|| - || A [[MetaProperty#Text|text]] value&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Selective lists====&lt;br /&gt;
If a certain property has a [[SELECTIVELIST|selective list]] defined, the respective column will display a Combobox with all items of the list instead of the value field. The value can then only be selected from the list, but not be edited manually anymore.&lt;br /&gt;
&lt;br /&gt;
====Index values====&lt;br /&gt;
If a certain property has [[Index value|index values]] defined, the respective column will be colored &amp;lt;span style=&amp;quot;background:LightSalmon;&amp;quot;&amp;gt;LightSalmon&amp;lt;/span&amp;gt; and become expandable. Expanding/collapsing can be done by either right clicking the column header or using the expand/collapse button in the Toolbar. When expanding, the editing column will multiply itself by the number of index values and present an own &amp;lt;span style=&amp;quot;background:LightYellow;&amp;quot;&amp;gt;LightYellow&amp;lt;/span&amp;gt; column for each index value.&lt;br /&gt;
&lt;br /&gt;
{{Hint|A multilanguage MetaProperty is actually a string property with index values defined for each system language!}}&lt;br /&gt;
&lt;br /&gt;
====Captions====&lt;br /&gt;
* each column shows the string representation of the respective MetaProperty as its header text&lt;br /&gt;
* the first column of each row is always titled ''_RowObject'' and shows the string representation of the corresponding instance&lt;br /&gt;
&lt;br /&gt;
====Tooltips====&lt;br /&gt;
There are two kinds of Tooltips used in this control:&lt;br /&gt;
* when hovering over the header of column, a Tooltip will show the type of the column&lt;br /&gt;
* when hovering over a cell which's text is deprecated, a Tooltip will show the full text&lt;br /&gt;
&lt;br /&gt;
===Editing===&lt;br /&gt;
When editing a value, it will only be written back to the respective property when you leave the cell. At that very point in time, the Bulk Editor also runs an integrity check against the [[Rule|rules]] and tests if the value you've entered can be stored on the property. If this fails, the row and cell will show a red exclamation mark with a Tooltip telling which rule was violated. The exclamation mark on the cell disappears once you've entered a valid value for this property, the exclamation mark on the row only disappears if all properties of the respective {{UBIK}} object have a valid value. If a warning range is defined in the validation, an exclamation mark on yellow background will be shown to inform the user about a value that has to be paid special attention to. However, values showing the warning sign are accepted as a valid input.&lt;br /&gt;
&lt;br /&gt;
{{Hint| While editing a value, you can use {{key press|ESC}} to undo your editing!}}&lt;br /&gt;
{{Hint| To improve performance, cells containing huge XML data are shortened by only showing the starting characters of the code. When the XML cell is marked or clicked for editing, the full text will be loaded. Please be aware that this can be a time consuming task!}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Drag &amp;amp; Drop===&lt;br /&gt;
The Object Editor control is a source and a target for Drag&amp;amp;Drop operations:&lt;br /&gt;
&lt;br /&gt;
* Any object can be dropped on a cell if the dragged object matches the data type of the respective property &lt;br /&gt;
* A single instance object can be dragged from the Bulk Edito by dragging the header of the row&lt;br /&gt;
* Objects stored in a cell can be dragged using the right mouse button&lt;br /&gt;
&lt;br /&gt;
==Toolbar==&lt;br /&gt;
[[File:UI_BulkEditor_Toolbar_With_UID.png|thumb|350px|Bulk Editor Toolbar]]&lt;br /&gt;
The Bulk Editor features a Toolbar with the following items from left to right:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; | width = &amp;quot;50%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Item !! Purpose &lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| View Style || Indicates or changes the [[#View Style|View Style]] of the control; changing it will result in reloading of the control &lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Navigate to context object || Attempts to [[Navigation|navigate]] to the current context object&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Save || Saves all instances currently shown in the control&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Filter namespace || Filters all current instances by the [[Namespace|namespace]] of the set context object&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Select columns|| Opens a sub menu with all displayed columns and allows to show/hide them explicitly&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Expand/Collapse index columns|| Allows to show or hide the [[Bulk Editor#Index values|index columns]] if the currently selected column has index values &lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| UID || Shows or hides the UID column &lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Print || No functionality yet&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Cut || Cuts the value of the current cell into the clipboard&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Copy || Copies the value of the current cell into the clipboard&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Paste || Pastes the value from the clipboard into the current cell&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Move to first object|| Selects the first row&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Move to previous object|| Selects the previous row&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Current object|| Shows or sets the current row; enter a value and press {{key press|Enter}} to select a specific row&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Move to next object|| Selects the next row&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Move to last object|| Selects the last row&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Delete || Allows to delete all selected rows&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Search Criteria|| Allows to enter search criteria&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Search Criteria==&lt;br /&gt;
Only available if QueryBulkEditor is selected on the start page {{Version/ServerSince|5.2.0}}&lt;br /&gt;
&lt;br /&gt;
Opening the &amp;quot;Search Criteria&amp;quot; panel allows a criterion to be added, consisting of a property, an operator and a value. Multiple criteria can be added, and rows can be deleted separately. The Reset button clears all entered criteria. Apply filters the instances; if no criteria are entered, all available instances are loaded. By default, 500 rows are displayed, but this value can be changed. If max. rows is set to 0 or -1, all instances are loaded. If no criteria are added, clicking the play button loads instances up to the configured row limit.&lt;br /&gt;
&lt;br /&gt;
==Context menu==&lt;br /&gt;
Right clicking on a cell that stores a {{UBIK}} object will bring up the standard [[Navigation|navigation]] context menu. In addition, cells of type GUID or Reference will show a Remove menu item, where clicking it will set the value of the cell to null.&lt;br /&gt;
&lt;br /&gt;
==View Styles==&lt;br /&gt;
The Object Editor has only one view style at the moment.&lt;br /&gt;
&lt;br /&gt;
==Other functionality==&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[Object Editor]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Studio controls|Bulk Editor]]&lt;/div&gt;</summary>
		<author><name>DEH</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=HowTo:Provide_system_definitions_with_a_custom_plugin&amp;diff=29800</id>
		<title>HowTo:Provide system definitions with a custom plugin</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=HowTo:Provide_system_definitions_with_a_custom_plugin&amp;diff=29800"/>
				<updated>2026-05-06T07:15:31Z</updated>
		
		<summary type="html">&lt;p&gt;DEH: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This tutorial explains how to provide any kind of preconfigured {{UBIK}} system definitions using a custom plugin (or more specific: module).&lt;br /&gt;
&lt;br /&gt;
{{Hint|It is now possible to [[UBIK_Plugin_Design|generate a {{UBIK}} Plugin C# Solution]] from a custom data model configured in {{UBIK}} Studio.{{Version/ServerSince|5.0.0}}}}&lt;br /&gt;
&lt;br /&gt;
== General concept ==&lt;br /&gt;
&lt;br /&gt;
When rolling out a {{UBIK}} customizing into a (productive) environment, there is always the challenge regarding the transportation of the data model and basic data.&lt;br /&gt;
The sustainable solution is to deliver versioned packages of system definitions in plugins, because that allows for easy deployment and upgrade, and for the direct application of state-of-the-art software development strategies for plugin development.&lt;br /&gt;
&lt;br /&gt;
{{UBIK}} plugins are detected when an Environment is initialized, and the user is prompted with a database upgrade if necessary. The technical maintenance of the database is automatic and allows for arbitrary adaptations.&lt;br /&gt;
The plugin developer can decide whether to make meta definitions immutable (as system design objects in the System namespace) or further customizable by the user (as regular content). Custom scripts can be executed every time the Environment is connected or just during an upgrade.&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
To understand the code, knowledge about the {{UBIK}} [[Entity_Data_Model|ER-model]] and the [[Injection_Management|plugin injection mechanism]] is required.&lt;br /&gt;
&lt;br /&gt;
== Instructions ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- DO NOT REMOVE THIS --&amp;gt;{{Template:HowTo/Begin}}&amp;lt;!-- DO NOT REMOVE THIS --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Big Picture =&lt;br /&gt;
&lt;br /&gt;
The Module implementation hosts a System Definition Provider, which in turn gives access to a set of versioned System Definitions. The latter can contain any kind of {{UBIK}} data like MetaClasses, MetaProperties, instances of any type and scripts to execute when the package is installed or initialized.&lt;br /&gt;
&lt;br /&gt;
[[File:Systemdefinitions2.drawio.png]]&lt;br /&gt;
&lt;br /&gt;
= Create a new plugin =&lt;br /&gt;
&lt;br /&gt;
The plugin class is the central access point for your definitions. It must implement the IUbikModule interface for the system definitions to be applied.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:100%; overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-weight:bold;line-height:1.6;&amp;quot;&amp;gt;Plugin template code&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
namespace UBIK.MyPlugin&lt;br /&gt;
{&lt;br /&gt;
    [Export(typeof(UBIK.Injection.IUbikPlugin))]&lt;br /&gt;
    [ExportMetadata(&amp;quot;ID&amp;quot;, &amp;quot;e9395ebd-4e41-40a3-9ac6-01bce6fb7e68&amp;quot;)]&lt;br /&gt;
    [ExportMetadata(&amp;quot;Type&amp;quot;, typeof(MyPlugin))]&lt;br /&gt;
    [ExportMetadata(&amp;quot;Name&amp;quot;, &amp;quot;MyPlugin&amp;quot;)]&lt;br /&gt;
    [ExportMetadata(&amp;quot;Description&amp;quot;, &amp;quot;My custom plugin&amp;quot;)]&lt;br /&gt;
    [ExportMetadata(&amp;quot;Version&amp;quot;, 1)]&lt;br /&gt;
    [ExportMetadata(&amp;quot;Company&amp;quot;, &amp;quot;Augmensys GmbH&amp;quot;)]&lt;br /&gt;
    [ExportMetadata(&amp;quot;MinimumKernelVersion&amp;quot;, &amp;quot;4.0.0.0&amp;quot;)]&lt;br /&gt;
    public class MyPlugin: IUbikModule&lt;br /&gt;
    {&lt;br /&gt;
        public static Guid ID&lt;br /&gt;
        {&lt;br /&gt;
            get&lt;br /&gt;
            {&lt;br /&gt;
                return Guid.Parse(&amp;quot;e9395ebd-4e41-40a3-9ac6-01bce6fb7e68&amp;quot;);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        public UBIKEnvironment Environment { get; private set; }&lt;br /&gt;
&lt;br /&gt;
        public ISystemDefinitionProvider SystemDefinitionsProvider&lt;br /&gt;
        {&lt;br /&gt;
            get&lt;br /&gt;
            {&lt;br /&gt;
                return MySystemDefinitionProvider.Instance;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        public virtual void Initialize(UBIKEnvironment environment)&lt;br /&gt;
        {&lt;br /&gt;
            this.Environment = environment;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        public virtual void Terminate()&lt;br /&gt;
        {&lt;br /&gt;
            this.Environment = null;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        public virtual bool Initialized()&lt;br /&gt;
        {&lt;br /&gt;
            return this.Environment != null;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        public List&amp;lt;ModuleInfo&amp;gt; DependencyModules&lt;br /&gt;
        {&lt;br /&gt;
            get;&lt;br /&gt;
        } = new List&amp;lt;ModuleInfo&amp;gt;();&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Create a new SystemDefinitionProvider =&lt;br /&gt;
&lt;br /&gt;
The SystemDefinitionProvider has a list of all supported system definitions packages. &lt;br /&gt;
The base implementation uses the version information from the packages to handle the upgrading.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:100%; overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-weight:bold;line-height:1.6;&amp;quot;&amp;gt;SystemDefinitionsProvider template code&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
namespace UBIK.MyPlugin&lt;br /&gt;
{&lt;br /&gt;
    public class MySystemDefinitionProvider : SystemDefinitionProviderBase&lt;br /&gt;
    {&lt;br /&gt;
        public override Guid ModuleID =&amp;gt; MyPlugin.ID;&lt;br /&gt;
&lt;br /&gt;
        private static MySystemDefinitionProvider instance = null;&lt;br /&gt;
&lt;br /&gt;
        public static MySystemDefinitionProvider Instance&lt;br /&gt;
        {&lt;br /&gt;
            get&lt;br /&gt;
            {&lt;br /&gt;
                return instance ?? (instance = new MySystemDefinitionProvider());&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        private MySystemDefinitionProvider() : &lt;br /&gt;
            base(&lt;br /&gt;
                new MySystemDefinitions_V100(),&lt;br /&gt;
                new MySystemDefinitions_V110())&lt;br /&gt;
        { }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Create a new SystemDefinitions package =&lt;br /&gt;
&lt;br /&gt;
The SystemDefinitions contain any data you may want to deliver with your plugin.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:100%; overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-weight:bold;line-height:1.6;&amp;quot;&amp;gt;SystemDefinitions package template code&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
namespace UBIK.MyPlugin&lt;br /&gt;
{&lt;br /&gt;
    public class MySystemDefinitions_V100 : SystemDefinitionsBase&lt;br /&gt;
    {&lt;br /&gt;
        #region Constants&lt;br /&gt;
&lt;br /&gt;
        public static readonly Version VERSION = new Version(1, 0, 0, 0);&lt;br /&gt;
&lt;br /&gt;
        #endregion Constants&lt;br /&gt;
&lt;br /&gt;
        #region Version&lt;br /&gt;
&lt;br /&gt;
        public override Version Version&lt;br /&gt;
        {&lt;br /&gt;
            get&lt;br /&gt;
            {&lt;br /&gt;
                return VERSION;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        #endregion Version&lt;br /&gt;
&lt;br /&gt;
        #region System Classifications&lt;br /&gt;
&lt;br /&gt;
        public override UBIKClassList&amp;lt;MetaClass&amp;gt; DefineSystemClassifications(UBIKEnvironment environment)&lt;br /&gt;
        {&lt;br /&gt;
            return new UBIKClassList&amp;lt;MetaClass&amp;gt;();&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        #endregion System Classifications&lt;br /&gt;
&lt;br /&gt;
        #region System Meta Classes&lt;br /&gt;
&lt;br /&gt;
        public override UBIKClassList&amp;lt;MetaClass&amp;gt; DefineSystemMetaClasses(UBIKEnvironment environment)&lt;br /&gt;
        {&lt;br /&gt;
            UBIKClassList&amp;lt;MetaClass&amp;gt; metaClasses = new UBIKClassList&amp;lt;MetaClass&amp;gt;();&lt;br /&gt;
            return metaClasses;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        #endregion System Meta Classes&lt;br /&gt;
&lt;br /&gt;
        #region System Meta Properties&lt;br /&gt;
&lt;br /&gt;
        public override UBIKClassList&amp;lt;MetaProperty&amp;gt; DefineSystemMetaProperties(UBIKEnvironment environment)&lt;br /&gt;
        {&lt;br /&gt;
            UBIKClassList&amp;lt;MetaProperty&amp;gt; result = new UBIKClassList&amp;lt;MetaProperty&amp;gt;();&lt;br /&gt;
            return result;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        #endregion System Meta Properties&lt;br /&gt;
&lt;br /&gt;
        #region System Selective Lists&lt;br /&gt;
&lt;br /&gt;
        public override UBIKClassList&amp;lt;SelectiveList&amp;gt; DefineSystemSelectiveLists(UBIKEnvironment environment)&lt;br /&gt;
        {&lt;br /&gt;
            UBIKClassList&amp;lt;SelectiveList&amp;gt; result = new UBIKClassList&amp;lt;SelectiveList&amp;gt;();&lt;br /&gt;
            return result;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        #endregion System Selective Lists&lt;br /&gt;
&lt;br /&gt;
        #region Module Definition &lt;br /&gt;
        &lt;br /&gt;
        public override void UpdateSystemContent(UBIKEnvironment environment)&lt;br /&gt;
        {&lt;br /&gt;
            UpdateModuleDefinition(environment);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        protected void UpdateModuleDefinition(UBIKEnvironment environment)&lt;br /&gt;
        {&lt;br /&gt;
            MetaClass moduleMc = environment.GetSystemMetaClass(SystemObjects.MODULE);&lt;br /&gt;
            BaseClass module = moduleMc.GetOrCreateInstance(MyPlugin.ID);&lt;br /&gt;
            module.Name = &amp;quot;MyPlugin&amp;quot;;&lt;br /&gt;
            module.Namespace = &amp;quot;MyPlugin&amp;quot;;&lt;br /&gt;
            if (environment.LanguageManager.TryGetLanguageIndex(&amp;quot;de&amp;quot;, out int idxDe))&lt;br /&gt;
            {&lt;br /&gt;
                module.SetInternationalDescription(idxDe, &amp;quot;UBIK Plugin Vorlage. (C) Augmensys GmbH&amp;quot;);&lt;br /&gt;
            }&lt;br /&gt;
            if (environment.LanguageManager.TryGetLanguageIndex(&amp;quot;en&amp;quot;, out int idxEn))&lt;br /&gt;
            {&lt;br /&gt;
                module.SetInternationalDescription(idxEn, &amp;quot;UBIK template plugin. (C) Augmensys GmbH&amp;quot;);&lt;br /&gt;
            }&lt;br /&gt;
            module.Save();&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        #endregion Module Definition &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Add a new basic MetaClass =&lt;br /&gt;
&lt;br /&gt;
Here's how you can add a new MetaClass (and MetaProperty) to be shipped with your plugin.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:100%; overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-weight:bold;line-height:1.6;&amp;quot;&amp;gt;SystemDesignMetaClass template code&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
namespace UBIK.MyPlugin&lt;br /&gt;
{&lt;br /&gt;
    public class MyBaseMetaClass : SystemDesignMetaClass&lt;br /&gt;
    {&lt;br /&gt;
        public static readonly Guid UID = Guid.Parse(&amp;quot;30ed406b-a5f1-498b-ad34-2db1bd786b13&amp;quot;);&lt;br /&gt;
    &lt;br /&gt;
        private const string NAME = &amp;quot;MY_BASECLASS&amp;quot;;&lt;br /&gt;
        private const string NAMESPACE = &amp;quot;System.MyPlugin&amp;quot;;&lt;br /&gt;
        private const string DESCRIPTION = &amp;quot;My Baseclass&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
        public MyBaseMetaClass(UBIKEnvironment environment)&lt;br /&gt;
        {&lt;br /&gt;
            InitUidAndEnvironment(UID, environment);&lt;br /&gt;
            InitStrings(NAME, NAMESPACE, DESCRIPTION);&lt;br /&gt;
&lt;br /&gt;
            SetModuleId(MyPlugin.ID);&lt;br /&gt;
&lt;br /&gt;
            DefineMetaProperties(new List&amp;lt;Guid&amp;gt;() {&lt;br /&gt;
                MyMetaProperties.PROPERTY_UID_MYPROPERTY&lt;br /&gt;
            });&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        public override MetaClass Inheritance&lt;br /&gt;
        {&lt;br /&gt;
            get&lt;br /&gt;
            {&lt;br /&gt;
                return this.Environment.GetSystemMetaClass(SystemObjects.NAMEDBASECLASS);&lt;br /&gt;
            }&lt;br /&gt;
            set&lt;br /&gt;
            {&lt;br /&gt;
                // do nothing&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        public override MetaClassTypes ClassType&lt;br /&gt;
        {&lt;br /&gt;
            get&lt;br /&gt;
            {&lt;br /&gt;
                return MetaClassTypes.Inherited;&lt;br /&gt;
            }&lt;br /&gt;
            set&lt;br /&gt;
            {&lt;br /&gt;
                // do nothing&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:100%; overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-weight:bold;line-height:1.6;&amp;quot;&amp;gt;SystemDesignMetaProperty template code&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
namespace UBIK.MyPlugin&lt;br /&gt;
{&lt;br /&gt;
    public class MyMetaProperties&lt;br /&gt;
    {&lt;br /&gt;
        public const string NS_MY_PLUGIN = &amp;quot;System.MyPlugin&amp;quot;;&lt;br /&gt;
        &lt;br /&gt;
        public static readonly Guid PROPERTY_UID_MYPROPERTY = Guid.Parse(&amp;quot;d90b50e0-17d9-40ac-b89d-18f4a01cd5cb&amp;quot;);&lt;br /&gt;
        public const string PROPERTY_NAME_MYPROPERTY = &amp;quot;LK_LOCATION&amp;quot;;&lt;br /&gt;
        &lt;br /&gt;
        public static UBIKClassList&amp;lt;MetaProperty&amp;gt; DefineSystemMetaProperties(UBIKEnvironment environment)&lt;br /&gt;
        {&lt;br /&gt;
            MetaProperty myProperty = SystemDesignMetaProperty.CreateStringSystemDesignMetaProperty&lt;br /&gt;
                (environment, PROPERTY_NAME_MYPROPERTY, NS_MY_PLUGIN, PROPERTY_UID_MYPROPERTY, multiLang: false, orderID: 0, stringLen: 0);&lt;br /&gt;
            myProperty.Description = &amp;quot;MyProperty&amp;quot;;&lt;br /&gt;
            &lt;br /&gt;
            UBIKClassList&amp;lt;MetaProperty&amp;gt; metaProperties = new UBIKClassList&amp;lt;MetaProperty&amp;gt;() {&lt;br /&gt;
                myProperty&lt;br /&gt;
            };&lt;br /&gt;
            &lt;br /&gt;
            return metaProperties;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:100%; overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-weight:bold;line-height:1.6;&amp;quot;&amp;gt;SystemDefinitions adaptations&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
namespace UBIK.MyPlugin&lt;br /&gt;
{&lt;br /&gt;
    public class MySystemDefinitions_V100 : SystemDefinitionsBase&lt;br /&gt;
    {&lt;br /&gt;
        // ...&lt;br /&gt;
&lt;br /&gt;
        #region System Meta Classes&lt;br /&gt;
&lt;br /&gt;
        public override UBIKClassList&amp;lt;MetaClass&amp;gt; DefineSystemMetaClasses(UBIKEnvironment environment)&lt;br /&gt;
        {&lt;br /&gt;
            UBIKClassList&amp;lt;MetaClass&amp;gt; metaClasses = new UBIKClassList&amp;lt;MetaClass&amp;gt;();&lt;br /&gt;
            &lt;br /&gt;
            MyBaseMetaClass myBaseClass = new MyBaseMetaClass(environment);&lt;br /&gt;
            metaClasses.Add(myBaseClass);&lt;br /&gt;
            &lt;br /&gt;
            return metaClasses;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        #endregion System Meta Classes&lt;br /&gt;
&lt;br /&gt;
        #region System Meta Properties&lt;br /&gt;
&lt;br /&gt;
        public override UBIKClassList&amp;lt;MetaProperty&amp;gt; DefineSystemMetaProperties(UBIKEnvironment environment)&lt;br /&gt;
        {&lt;br /&gt;
            UBIKClassList&amp;lt;MetaProperty&amp;gt; result = new UBIKClassList&amp;lt;MetaProperty&amp;gt;();&lt;br /&gt;
            result.AddRangeUnique(MyMetaProperties.DefineSystemMetaProperties(environment));&lt;br /&gt;
            return result;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        #endregion System Meta Properties&lt;br /&gt;
&lt;br /&gt;
        // ...&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Add a new special MetaClass =&lt;br /&gt;
&lt;br /&gt;
In some cases you need to defined something more elaborate, e.g., a MetaClass with custom code deriving from another MetaClass you defined.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:100%; overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-weight:bold;line-height:1.6;&amp;quot;&amp;gt;SystemDesignMetaClass template code&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
namespace UBIK.MyPlugin&lt;br /&gt;
{&lt;br /&gt;
    public class MySpecialMetaClass : SystemDesignMetaClass&lt;br /&gt;
    {&lt;br /&gt;
        public static readonly Guid UID = Guid.Parse(&amp;quot;0925ad66-7199-4e70-871c-cdd799f8d8e7&amp;quot;);&lt;br /&gt;
    &lt;br /&gt;
        private const string NAME = &amp;quot;MY_SEPCIALCLASS&amp;quot;;&lt;br /&gt;
        private const string NAMESPACE = &amp;quot;System.MyPlugin&amp;quot;;&lt;br /&gt;
        private const string DESCRIPTION = &amp;quot;My special class&amp;quot;;&lt;br /&gt;
        &lt;br /&gt;
        private MyBaseMetaClass parent = null;&lt;br /&gt;
&lt;br /&gt;
        public MySpecialMetaClass(UBIKEnvironment environment, MyBaseMetaClass parent)&lt;br /&gt;
        {&lt;br /&gt;
            InitUidAndEnvironment(UID, environment);&lt;br /&gt;
            InitStrings(NAME, NAMESPACE, DESCRIPTION);&lt;br /&gt;
&lt;br /&gt;
            SetModuleId(MyPlugin.ID);&lt;br /&gt;
            &lt;br /&gt;
            this.parent = parent;&lt;br /&gt;
&lt;br /&gt;
            DefineMetaProperties(new List&amp;lt;Guid&amp;gt;() {&lt;br /&gt;
                // ...&lt;br /&gt;
            });&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        public override MetaClass Inheritance&lt;br /&gt;
        {&lt;br /&gt;
            get&lt;br /&gt;
            {&lt;br /&gt;
                return this.parent;&lt;br /&gt;
            }&lt;br /&gt;
            set&lt;br /&gt;
            {&lt;br /&gt;
                // do nothing&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        public override MetaClassTypes ClassType&lt;br /&gt;
        {&lt;br /&gt;
            get&lt;br /&gt;
            {&lt;br /&gt;
                return MetaClassTypes.DEFINED_IN_PLUGIN;&lt;br /&gt;
            }&lt;br /&gt;
            set&lt;br /&gt;
            {&lt;br /&gt;
                // do nothing&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        public override Type GetRuntimeType()&lt;br /&gt;
        {&lt;br /&gt;
            return typeof(MySpecialType);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        public override Type GetSystemRuntimeType()&lt;br /&gt;
        {&lt;br /&gt;
            return typeof(MySpecialType);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:100%; overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-weight:bold;line-height:1.6;&amp;quot;&amp;gt;Special runtime type template code&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
namespace UBIK.MyPlugin&lt;br /&gt;
{&lt;br /&gt;
    public class MySpecialType : ContentClass&lt;br /&gt;
    {&lt;br /&gt;
        // This implementation will be used to instantiate respective instances in UBIK during runtime.&lt;br /&gt;
        // Here you can override anything that can be overridden in UBIK.Studio's code editor, and more.&lt;br /&gt;
        // Additional code may be added, too.&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:100%; overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-weight:bold;line-height:1.6;&amp;quot;&amp;gt;SystemDefinitions adaptations&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
namespace UBIK.MyPlugin&lt;br /&gt;
{&lt;br /&gt;
    public class MySystemDefinitions_V100 : SystemDefinitionsBase&lt;br /&gt;
    {&lt;br /&gt;
        // ...&lt;br /&gt;
&lt;br /&gt;
        #region System Meta Classes&lt;br /&gt;
        &lt;br /&gt;
        protected MyBaseMetaClass MyBaseMetaClass { get; set; }&lt;br /&gt;
        protected MySpecialMetaClass MySpecialMetaClass { get; set; }&lt;br /&gt;
&lt;br /&gt;
        public override UBIKClassList&amp;lt;MetaClass&amp;gt; DefineSystemMetaClasses(UBIKEnvironment environment)&lt;br /&gt;
        {&lt;br /&gt;
            UBIKClassList&amp;lt;MetaClass&amp;gt; metaClasses = new UBIKClassList&amp;lt;MetaClass&amp;gt;();&lt;br /&gt;
            &lt;br /&gt;
            MyBaseMetaClass = new MyBaseMetaClass(environment);&lt;br /&gt;
            metaClasses.Add(MyBaseMetaClass);&lt;br /&gt;
            &lt;br /&gt;
            MySpecialMetaClass = new MySpecialMetaClass(environment, MyBaseMetaClass);&lt;br /&gt;
            metaClasses.Add(MySpecialMetaClass);&lt;br /&gt;
            &lt;br /&gt;
            return metaClasses;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        #endregion System Meta Classes&lt;br /&gt;
&lt;br /&gt;
        // ...&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Add new arbitrary instances =&lt;br /&gt;
&lt;br /&gt;
In some cases you may want to deliver instances of an arbitrary type the user can change to their liking.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:100%; overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-weight:bold;line-height:1.6;&amp;quot;&amp;gt;SystemDefinitions adaptations&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
namespace UBIK.MyPlugin&lt;br /&gt;
{&lt;br /&gt;
    public class MySystemDefinitions_V100 : SystemDefinitionsBase&lt;br /&gt;
    {&lt;br /&gt;
        public static readonly Guid DEFAULT_INSTANCE_UID = Guid.Parse(&amp;quot;a71c2c7e-a7b7-4462-b1c8-61ea9cba0dcd&amp;quot;);&lt;br /&gt;
        &lt;br /&gt;
        // ...&lt;br /&gt;
&lt;br /&gt;
        #region System Content&lt;br /&gt;
&lt;br /&gt;
        public override void UpdateSystemContent(UBIKEnvironment environment)&lt;br /&gt;
        {&lt;br /&gt;
            MySpecialType defaultInstance = MySpecialMetaClass.GetOrCreateInstance(DEFAULT_INSTANCE_UID) as MySpecialType;&lt;br /&gt;
            if (defaultInstance.IsNewInstance)&lt;br /&gt;
            {&lt;br /&gt;
                defaultInstance.Namespace = &amp;quot;MyPlugin.Default&amp;quot;;&lt;br /&gt;
                defaultInstance.Name = &amp;quot;MySpecialInstance&amp;quot;;&lt;br /&gt;
                defaultInstance.Description = &amp;quot;Default instance&amp;quot;;&lt;br /&gt;
                defaultInstance.Save();&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        #endregion System Content&lt;br /&gt;
&lt;br /&gt;
        // ...&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Provide a version upgrade =&lt;br /&gt;
&lt;br /&gt;
If you released system definitions previously, which are already used productively, how do you deliver changes?&lt;br /&gt;
The solution is to not change the older version, but create a newer version instead.&lt;br /&gt;
We always want to stay downward compatible.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:100%; overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-weight:bold;line-height:1.6;&amp;quot;&amp;gt;SystemDefinitions adaptations&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
namespace UBIK.MyPlugin&lt;br /&gt;
{&lt;br /&gt;
    public class MySystemDefinitions_V110 : MySystemDefinitions_V100&lt;br /&gt;
    {&lt;br /&gt;
        #region Constants&lt;br /&gt;
&lt;br /&gt;
        public static readonly Version VERSION = new Version(1, 1, 0, 0);&lt;br /&gt;
&lt;br /&gt;
        #endregion Constants&lt;br /&gt;
&lt;br /&gt;
        #region Version&lt;br /&gt;
&lt;br /&gt;
        public override Version Version&lt;br /&gt;
        {&lt;br /&gt;
            get&lt;br /&gt;
            {&lt;br /&gt;
                return VERSION;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        #endregion Version&lt;br /&gt;
        &lt;br /&gt;
        // ...&lt;br /&gt;
&lt;br /&gt;
        #region System Meta Classes&lt;br /&gt;
        &lt;br /&gt;
        // Refactor MySystemDefinitions_V100 so the &amp;quot;MyBaseMetaClass&amp;quot; is defined in a separate method, so we can override it!&lt;br /&gt;
        public override MyBaseMetaClass DefineMyBaseMetaClass(UBIKEnvironment environment)&lt;br /&gt;
        {&lt;br /&gt;
            MyBaseMetaClass mc = new MyBaseMetaClass_V110(environment); &lt;br /&gt;
            // MyBaseMetaClass_V110 should derive from the original MyBaseMetaClass, adapting it to the new version&lt;br /&gt;
            return mc;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        #endregion System Meta Classes&lt;br /&gt;
&lt;br /&gt;
        // ...&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Create a new MetaProxy =&lt;br /&gt;
&lt;br /&gt;
MetaProxies are managed very similarly to MetaClasses, but the MetaProxyProperties are slightly more complex because they require additional information like the UIDs for the import and export versions of itself, the target property in {{UBIK}}, etc.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:100%; overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-weight:bold;line-height:1.6;&amp;quot;&amp;gt;SystemDesignMetaProxy template code&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
namespace UBIK.MyPlugin&lt;br /&gt;
{&lt;br /&gt;
    public class MyProxyMetaClass : SystemDesignMetaProxy&lt;br /&gt;
    {&lt;br /&gt;
        public static Guid UID = GuidUtility.MY_PROXY;&lt;br /&gt;
        private const string NAME = &amp;quot;MYPROXY&amp;quot;;&lt;br /&gt;
        private const string NAMESPACE = &amp;quot;System.MyPlugin&amp;quot;;&lt;br /&gt;
        private const string DESCRIPTION = &amp;quot;My meta proxy&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
        public MyProxyMetaClass(UBIKEnvironment environment)&lt;br /&gt;
        {&lt;br /&gt;
            InitUidAndEnvironment(UID, environment);&lt;br /&gt;
            InitStrings(NAME, NAMESPACE, DESCRIPTION);&lt;br /&gt;
&lt;br /&gt;
            SetModuleId(MyPlugin.ID);&lt;br /&gt;
&lt;br /&gt;
            List&amp;lt;Guid&amp;gt; metaProperties = new List&amp;lt;Guid&amp;gt;();&lt;br /&gt;
            // regular meta properties          &lt;br /&gt;
            DefineMetaProperties(metaProperties);&lt;br /&gt;
&lt;br /&gt;
            List&amp;lt;MetaProxyPropertyInfo&amp;gt; metaProxyPropertyInfos = new List&amp;lt;MetaProxyPropertyInfo&amp;gt;();&lt;br /&gt;
            metaProxyPropertyInfos.Add(new MetaProxyPropertyInfo(environment, MyProxyMetaProperties.PROXY_PROPERTY_UID_MYPROPERTY, true, -1, ProxyUpdateModes.BiDirectional, MyMetaProperties.PROPERTY_UID_MYPROPERTY, &amp;quot;My property&amp;quot;));&lt;br /&gt;
            &lt;br /&gt;
            DefineMetaProxyProperties(metaProxyPropertyInfos);&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        public override MetaClass MetaClass&lt;br /&gt;
        {&lt;br /&gt;
            get&lt;br /&gt;
            {&lt;br /&gt;
                return this.Environment.GetSystemMetaClass(SystemObjects.METAPROXY);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        public override MetaClass Inheritance&lt;br /&gt;
        {&lt;br /&gt;
            get&lt;br /&gt;
            {&lt;br /&gt;
                return this.Environment.GetSystemMetaClass(SystemObjects.PROXY_ROOT);&lt;br /&gt;
            }&lt;br /&gt;
            set&lt;br /&gt;
            {&lt;br /&gt;
                // do nothing&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        public override MetaClassTypes ClassType&lt;br /&gt;
        {&lt;br /&gt;
            get&lt;br /&gt;
            {&lt;br /&gt;
                return MetaClassTypes.Proxy;&lt;br /&gt;
            }&lt;br /&gt;
            set&lt;br /&gt;
            {&lt;br /&gt;
                // do nothing&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:100%; overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-weight:bold;line-height:1.6;&amp;quot;&amp;gt;SystemDesignMetaProxyProperty template code&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
namespace UBIK.MyPlugin&lt;br /&gt;
{&lt;br /&gt;
    public class MyMetaProxyProperties&lt;br /&gt;
    {&lt;br /&gt;
        public const string NS_MY_PLUGIN = &amp;quot;System.MyPlugin&amp;quot;;&lt;br /&gt;
        public const int STR_LEN_MED = 255;&lt;br /&gt;
        &lt;br /&gt;
        public static UBIKClassList&amp;lt;MetaProperty&amp;gt; DefineSystemMetaProperties(UBIKEnvironment environment)&lt;br /&gt;
        {&lt;br /&gt;
            UBIKClassList&amp;lt;MetaProperty&amp;gt; metaProperties = new UBIKClassList&amp;lt;MetaProperty&amp;gt;();&lt;br /&gt;
            &lt;br /&gt;
            SystemDesignMetaProxyProperty myMetaProxyProperty = new SystemDesignMetaProxyProperty(environment,&lt;br /&gt;
                GuidUtility.MPP_MYPROPERTY, // assuming the ids are documented in a class GuidUtility&lt;br /&gt;
                MyMetaProperties.PROPERTY_NAME_MYPROPERTY,&lt;br /&gt;
                NAMESPACE,&lt;br /&gt;
                PropertyTypes.String,&lt;br /&gt;
                GuidUtility.MPP_MYPROPERTY_VIRTUAL_PROPERTIES[0],&lt;br /&gt;
                GuidUtility.MPP_MYPROPERTY_VIRTUAL_PROPERTIES[1]);&lt;br /&gt;
            myMetaProxyProperty.MetaAttribute = environment.GetSystemMetaClass(SystemObjects.PROXYATTRIBUTE);            &lt;br /&gt;
            myMetaProxyProperty.SetStringLen(STR_LEN_MED);&lt;br /&gt;
            proxyProperties.Add(myMetaProxyProperty);&lt;br /&gt;
            &lt;br /&gt;
            return metaProperties;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:100%; overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-weight:bold;line-height:1.6;&amp;quot;&amp;gt;SystemDefinitions adaptations&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
namespace UBIK.MyPlugin&lt;br /&gt;
{&lt;br /&gt;
    public class MySystemDefinitions_V100 : SystemDefinitionsBase&lt;br /&gt;
    {&lt;br /&gt;
        // ...&lt;br /&gt;
&lt;br /&gt;
        #region System Meta Classes&lt;br /&gt;
&lt;br /&gt;
        public override UBIKClassList&amp;lt;MetaClass&amp;gt; DefineSystemMetaClasses(UBIKEnvironment environment)&lt;br /&gt;
        {&lt;br /&gt;
            UBIKClassList&amp;lt;MetaClass&amp;gt; metaClasses = new UBIKClassList&amp;lt;MetaClass&amp;gt;();&lt;br /&gt;
            &lt;br /&gt;
            MyProxyMetaClass myBaseClass = new MyProxyMetaClass(environment);&lt;br /&gt;
            metaClasses.Add(myBaseClass);&lt;br /&gt;
            &lt;br /&gt;
            return metaClasses;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        #endregion System Meta Classes&lt;br /&gt;
&lt;br /&gt;
        #region System Meta Properties&lt;br /&gt;
&lt;br /&gt;
        public override UBIKClassList&amp;lt;MetaProperty&amp;gt; DefineSystemMetaProperties(UBIKEnvironment environment)&lt;br /&gt;
        {&lt;br /&gt;
            UBIKClassList&amp;lt;MetaProperty&amp;gt; result = new UBIKClassList&amp;lt;MetaProperty&amp;gt;();&lt;br /&gt;
            result.AddRangeUnique(MyMetaProxyProperties.DefineSystemMetaProperties(environment));&lt;br /&gt;
            return result;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        #endregion System Meta Properties&lt;br /&gt;
&lt;br /&gt;
        // ...&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Create a system classification =&lt;br /&gt;
&lt;br /&gt;
Here's an example for the definition of a system classification.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:100%; overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-weight:bold;line-height:1.6;&amp;quot;&amp;gt;SystemClassification template code&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
namespace UBIK.MyPlugin&lt;br /&gt;
{&lt;br /&gt;
    public class MyClassification : SystemClassification&lt;br /&gt;
    {&lt;br /&gt;
        public static Guid GUID = new Guid(&amp;quot;aa9cc5cb-f676-4b60-b39d-eab7a8bcc66e&amp;quot;);&lt;br /&gt;
        &lt;br /&gt;
        public MyClassification(UBIKEnvironment environment)&lt;br /&gt;
            : base(GUID, environment)&lt;br /&gt;
        {&lt;br /&gt;
            this.CodedName = &amp;quot;MYCLS&amp;quot;;&lt;br /&gt;
            this.CodedNamespace = &amp;quot;System.MyPlugin&amp;quot;;&lt;br /&gt;
            this.CodedDescription = &amp;quot;My classification&amp;quot;;&lt;br /&gt;
            &lt;br /&gt;
            // Derives from SystemDesignMetaClass, see above for metaproperty definition&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:100%; overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-weight:bold;line-height:1.6;&amp;quot;&amp;gt;SystemDefinitions adaptations&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
namespace UBIK.MyPlugin&lt;br /&gt;
{&lt;br /&gt;
    public class MySystemDefinitions_V100 : SystemDefinitionsBase&lt;br /&gt;
    {&lt;br /&gt;
        // ...&lt;br /&gt;
&lt;br /&gt;
        #region System Classifications&lt;br /&gt;
&lt;br /&gt;
        public override UBIKClassList&amp;lt;MetaClass&amp;gt; DefineSystemClassifications(UBIKEnvironment environment)&lt;br /&gt;
        {&lt;br /&gt;
            return new UBIKClassList&amp;lt;MetaClass&amp;gt;()&lt;br /&gt;
            {&lt;br /&gt;
                new MyClassification(environment)&lt;br /&gt;
            };&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        #endregion System Classifications&lt;br /&gt;
        &lt;br /&gt;
        // ...&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Create a system SelectiveList =&lt;br /&gt;
&lt;br /&gt;
Here's an example for the definition of a system selective list.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:100%; overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-weight:bold;line-height:1.6;&amp;quot;&amp;gt;SystemDefinitions adaptations&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
namespace UBIK.MyPlugin&lt;br /&gt;
{&lt;br /&gt;
    public class MySystemDefinitions_V100 : SystemDefinitionsBase&lt;br /&gt;
    {&lt;br /&gt;
        // ...&lt;br /&gt;
&lt;br /&gt;
        #region System Selective Lists&lt;br /&gt;
&lt;br /&gt;
        public override UBIKClassList&amp;lt;SelectiveList&amp;gt; DefineSystemSelectiveLists(UBIKEnvironment environment)&lt;br /&gt;
        {&lt;br /&gt;
            UBIKClassList&amp;lt;SelectiveList&amp;gt; selectiveLists = new UBIKClassList&amp;lt;SelectiveList&amp;gt;();&lt;br /&gt;
            &lt;br /&gt;
            // MyEnumType should be an integer enum&lt;br /&gt;
            SystemSelectiveList fromEnum = new SystemSelectiveList(environment, typeof(MyEnumType)); &lt;br /&gt;
            fromEnum.SetUID(GuidUtility.SLFROMENUM);&lt;br /&gt;
            selectiveLists.Add(fromEnum);&lt;br /&gt;
            &lt;br /&gt;
            SystemSelectiveList customList = new SystemSelectiveList(environment);&lt;br /&gt;
            customList.SetItemValueType(PropertyTypes.String);&lt;br /&gt;
            customList.AddSelectiveItem(&amp;quot;any object of supported type&amp;quot;, &amp;quot;description&amp;quot;);&lt;br /&gt;
            customList.Name = &amp;quot;SL_STR&amp;quot;;&lt;br /&gt;
            customList.SetUID(GuidUtility.SLSTR);&lt;br /&gt;
            selectiveLists.Add(customList);&lt;br /&gt;
            &lt;br /&gt;
            return selectiveLists;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        #endregion System Selective Lists&lt;br /&gt;
        &lt;br /&gt;
        // ...&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Perform pre- or postprocessing scripts =&lt;br /&gt;
&lt;br /&gt;
In some cases, one has to perform an action before the database is adjusted, or postprocess the upgrade.&lt;br /&gt;
It is also possible to execute code whenever the environment is initialized, even if no upgrade was necessary.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:100%; overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-weight:bold;line-height:1.6;&amp;quot;&amp;gt;Scripting template code&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
namespace UBIK.MyPlugin&lt;br /&gt;
{&lt;br /&gt;
    public class MySystemDefinitions_V100 : SystemDefinitionsBase&lt;br /&gt;
    {&lt;br /&gt;
        // ...&lt;br /&gt;
        &lt;br /&gt;
        public override void PreProcessDatabaseUpdate(Version previousVersion, UBIKEnvironment environment)&lt;br /&gt;
        {&lt;br /&gt;
            base.PreProcessDatabaseUpdate(previousVersion, environment);&lt;br /&gt;
            &lt;br /&gt;
            // This code will be executed whenever the system is upgraded, &lt;br /&gt;
            // before a schema upgrade for this SystemDefinitions package&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        public override void PostProcessDatabaseUpdate(Version previousVersion, UBIKEnvironment environment)&lt;br /&gt;
        {&lt;br /&gt;
            base.PostProcessDatabaseUpdate(previousVersion, environment);&lt;br /&gt;
            &lt;br /&gt;
            // This code will be executed whenever the system is upgraded, &lt;br /&gt;
            // after a schema upgrade and before content initialization and upgrade&lt;br /&gt;
            // for this SystemDefinitions package&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        public override void InitializeSystemContent(UBIKEnvironment env)&lt;br /&gt;
        {&lt;br /&gt;
            base.InitializeSystemContent(env);&lt;br /&gt;
            &lt;br /&gt;
            // This code will be executed whenever the system is initialized, &lt;br /&gt;
            // after an optional schema upgrade and before an optional content adaptation&lt;br /&gt;
            // for this SystemDefinitions package&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        public override void UpdateSystemContent(UBIKEnvironment env)&lt;br /&gt;
        {&lt;br /&gt;
            base.UpdateSystemContent(env);&lt;br /&gt;
        &lt;br /&gt;
            // This code will be executed whenever the system is upgraded, &lt;br /&gt;
            // after all other steps for this SystemDefinitions package&lt;br /&gt;
        }&lt;br /&gt;
            &lt;br /&gt;
        // ...&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Create a custom InterfaceAdmin =&lt;br /&gt;
&lt;br /&gt;
This is one of the most complex things you can do in this topic. &lt;br /&gt;
That's because an InterfaceAdmin object has the following interesting aspects:&lt;br /&gt;
* It is an instance of the INTERFACE_ADMIN (Meta)MetaClass&lt;br /&gt;
* It is a MetaClass itself&lt;br /&gt;
* A custom implementation must derive from the INTERFACE_ADMIN_ROOT &lt;br /&gt;
* It produces special instances called InterfaceExecution&lt;br /&gt;
* Any functional InterfaceAdmin runtime object must be an instance of InterfaceAdministration&lt;br /&gt;
&lt;br /&gt;
The last point is crucial, because this makes our task difficult.&lt;br /&gt;
After all, we use SystemDesignMetaClass to define MetaClasses, and this directly conflicts with the last requirement.&lt;br /&gt;
The way to solve this is to deliver a non-functional class we only use as a basis, and then derive a regular object from it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:100%; overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-weight:bold;line-height:1.6;&amp;quot;&amp;gt;InterfaceAdmin template code&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
namespace UBIK.MyPlugin&lt;br /&gt;
{&lt;br /&gt;
    public class MyInterfaceAdminBase : SystemDesignMetaClass&lt;br /&gt;
    {&lt;br /&gt;
        public static new Guid UID = GuidUtility.INTERFACE_ADMIN_UID_BASE;&lt;br /&gt;
        private const string NAME = &amp;quot;BASE_IFA&amp;quot;;&lt;br /&gt;
        private const string NAMESPACE = &amp;quot;System.MyPlugin.Interface.Administration&amp;quot;;&lt;br /&gt;
        private const string DESCRIPTION = &amp;quot;Base Class of Custom Interface Admin&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        public MyInterfaceAdminBase(UBIKEnvironment environment)&lt;br /&gt;
        {&lt;br /&gt;
            InitUidAndEnvironment(UID, environment);&lt;br /&gt;
            InitStrings(NAME, NAMESPACE, DESCRIPTION);&lt;br /&gt;
&lt;br /&gt;
            SetModuleId(MyPlugin.ID);&lt;br /&gt;
&lt;br /&gt;
            List&amp;lt;Guid&amp;gt; metaProperties = new List&amp;lt;Guid&amp;gt;();&lt;br /&gt;
            DefineMetaProperties(metaProperties);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        public override MetaClass MetaClass&lt;br /&gt;
        {&lt;br /&gt;
            get&lt;br /&gt;
            {&lt;br /&gt;
                // The current class is an instance of the Interface Admin MetaClass; an individual Interface Administration object.&lt;br /&gt;
                return this.Environment.GetSystemMetaClass(SystemObjects.INTERFACE_ADMINISTRATION);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        public override MetaClass Inheritance&lt;br /&gt;
        {&lt;br /&gt;
            get&lt;br /&gt;
            {&lt;br /&gt;
                // The current class derives from the default Interface Admin, which is also the MetaClass of all Interface Execution objects.&lt;br /&gt;
                // Likewise, the current class is a MetaClass for Interface Execution objects.&lt;br /&gt;
                return this.Environment.GetSystemMetaClass(SystemObjects.INTERFACE_EXECUTION);&lt;br /&gt;
            }&lt;br /&gt;
            set&lt;br /&gt;
            {&lt;br /&gt;
                throw new NotImplementedException();&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        public override MetaClassTypes ClassType&lt;br /&gt;
        {&lt;br /&gt;
            get&lt;br /&gt;
            {&lt;br /&gt;
                return MetaClassTypes.DEFINED_IN_PLUGIN;&lt;br /&gt;
            }&lt;br /&gt;
            set&lt;br /&gt;
            {&lt;br /&gt;
                // do nothing&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        public override string RuntimeTypeName =&amp;gt; GetRuntimeType().FullName;&lt;br /&gt;
&lt;br /&gt;
        public override string SystemRuntimeTypeName =&amp;gt; GetSystemRuntimeType().FullName;&lt;br /&gt;
&lt;br /&gt;
        public override Type GetSystemRuntimeType()&lt;br /&gt;
        {&lt;br /&gt;
            return typeof(MyInterfaceExecution);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        public override Type GetRuntimeType()&lt;br /&gt;
        {&lt;br /&gt;
            return typeof(MyInterfaceExecution);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        // Required for MetaClasses that have a very special MetaClass themselves&lt;br /&gt;
        protected override MetaClass DeliverMetaMetaClassInstance()&lt;br /&gt;
        {&lt;br /&gt;
            return MetaClass;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:100%; overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-weight:bold;line-height:1.6;&amp;quot;&amp;gt;InterfaceExecution runtime type template code&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
namespace UBIK.MyPlugin.InterfaceExecutors&lt;br /&gt;
{&lt;br /&gt;
    public class MyInterfaceExecution : InterfaceExecution&lt;br /&gt;
    {&lt;br /&gt;
        protected override IInterfaceExecutor GetExternalDataReader()&lt;br /&gt;
        {&lt;br /&gt;
            return new ThirdPartySystemWebAPIClientReader(Environment);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        protected override IInterfaceExecutor GetExternalDataWriter()&lt;br /&gt;
        {&lt;br /&gt;
            return new ThirdPartySystemWebAPIClientWriter(Environment);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        protected override IInterfaceExecutor GetExternalPollingExecutor()&lt;br /&gt;
        {&lt;br /&gt;
            return new ThirdPartySystemWebAPIClientPoller(Environment);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        protected override IInterfaceExecutor GetExportExecutor()&lt;br /&gt;
        {&lt;br /&gt;
            return new MyExportExecutor(Environment);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        protected override IInterfaceExecutor GetImportExecutor()&lt;br /&gt;
        {&lt;br /&gt;
            return new MyImportExecutor(Environment);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:100%; overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-weight:bold;line-height:1.6;&amp;quot;&amp;gt;SystemDefinitions adaptations&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
namespace UBIK.MyPlugin&lt;br /&gt;
{&lt;br /&gt;
    public class MySystemDefinitions_V100 : SystemDefinitionsBase&lt;br /&gt;
    {&lt;br /&gt;
        // ...&lt;br /&gt;
&lt;br /&gt;
        #region System Content&lt;br /&gt;
&lt;br /&gt;
        public override void UpdateSystemContent(UBIKEnvironment environment)&lt;br /&gt;
        {&lt;br /&gt;
            base.UpdateSystemContent(environment);&lt;br /&gt;
&lt;br /&gt;
            // Create our own custom interface admin from the base class we described.&lt;br /&gt;
            MetaClass mc = environment.GetSystemMetaClass(SystemObjects.INTERFACE_ADMINISTRATION);&lt;br /&gt;
            InterfaceAdministration ifa = environment.UBIKDataFactory().GetBaseObject(mc, GuidUtility.INTERFACE_ADMIN_UID_CUSTOM) as InterfaceAdministration;&lt;br /&gt;
            if (ifa == null)&lt;br /&gt;
            {&lt;br /&gt;
                ifa = (InterfaceAdministration)environment.UBIKDataFactory().MetaClass(GuidUtility.INTERFACE_ADMIN_UID_BASE).CreateNewDerivate(GuidUtility.INTERFACE_ADMIN_UID_CUSTOM);&lt;br /&gt;
                ifa.Name = &amp;quot;MY_IFA&amp;quot;;&lt;br /&gt;
                ifa.Description = &amp;quot;Custom Interface Admin&amp;quot;;&lt;br /&gt;
                ifa.Namespace = &amp;quot;Custom.MyPlugin.Interface.Administration&amp;quot;;&lt;br /&gt;
                ifa.ClassType = MetaClassTypes.Inherited;&lt;br /&gt;
                ifa.Save();&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            Relationship relation = environment.GetSystemRelation(SystemObjects.RELATION_INTERFACE_ADMIN_METAPROXY);&lt;br /&gt;
            MetaProxy target = (MetaProxy)environment.UBIKDataFactory().MetaClass(GuidUtility.MY_PROXY);&lt;br /&gt;
            if(ifa.IsAddRelationAllowed(relation, target))&lt;br /&gt;
            {&lt;br /&gt;
                ifa.AddRelation(relation, target);&lt;br /&gt;
                ifa.Save();&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        #endregion System Content&lt;br /&gt;
&lt;br /&gt;
        // ...&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- DO NOT REMOVE THIS --&amp;gt;{{Template:HowTo/End}}&amp;lt;!-- DO NOT REMOVE THIS --&amp;gt;&lt;br /&gt;
==Plugin Initialization Timing==&lt;br /&gt;
The Plugin initialization and upgrade mechanism has been improved and stabilized.{{Version/ServerSince|5.2.0}}&lt;br /&gt;
&lt;br /&gt;
Previously, each plugin was fully initialized one after another — meaning all initialization steps (system definitions, database schema update, content initialization) were completed for plugin A before plugin B was started.&lt;br /&gt;
As of this change, the initialization follows a phase-based approach: each phase is executed for all plugins before the next phase begins. The phases are:&lt;br /&gt;
&lt;br /&gt;
* System Definitions – All MetaClasses, MetaProperties, Classifications, and SelectiveLists for all plugins are registered first. This ensures that all system meta definitions are known before any database or content work begins.&lt;br /&gt;
* Preprocess DB Update – Pre-processing of the database update runs for all plugins.&lt;br /&gt;
* Update DB Schema – The database schema is adapted for all plugins.&lt;br /&gt;
* Postprocess DB Update – Post-processing runs for all plugins.&lt;br /&gt;
* Initialize Content – System content is initialized and updated for all plugins.&lt;br /&gt;
&lt;br /&gt;
Plugins are processed in dependency order — if Plugin A depends on Plugin B, Plugin B is always initialized first within each phase.&lt;br /&gt;
This approach prevents issues that previously occurred when a plugin tried to access MetaClasses or MetaProperties from another plugin that had not yet been initialized.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
* [[HowTo:Create_UBIK_Module|Create your own module]]&lt;br /&gt;
* [[Injection_Management]]&lt;br /&gt;
* [[Plugins]]&lt;br /&gt;
* [[UBIK_Plugin_Design]]&lt;br /&gt;
&lt;br /&gt;
[[Category:How-To|Provide system definitions with a custom plugin]]&lt;br /&gt;
[[Category:Injecting|Provide system definitions with a custom plugin]]&lt;br /&gt;
[[Category:Module|Provide system definitions with a custom plugin]]&lt;br /&gt;
[[Category:Plugin|Provide system definitions with a custom plugin]]&lt;/div&gt;</summary>
		<author><name>DEH</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=Version_5.2.0_(Server)&amp;diff=29799</id>
		<title>Version 5.2.0 (Server)</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=Version_5.2.0_(Server)&amp;diff=29799"/>
				<updated>2026-05-05T12:53:37Z</updated>
		
		<summary type="html">&lt;p&gt;DEH: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&lt;br /&gt;
= 5.2.0.??? - 2026-??-?? (Initial Release) =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:100%; overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-weight:bold;line-height:1.6;&amp;quot;&amp;gt;&amp;lt;h2 style=&amp;quot;text-decoration:none;border-style:none&amp;quot;&amp;gt;UBIK.Studio&amp;lt;/h2&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
=== Features ===&lt;br /&gt;
* It is now possible to load code from external files in WhoBert.&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
=== Bug Fixes ===&lt;br /&gt;
=== Enhancements ===&lt;br /&gt;
=== Known Issues ===&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:100%; overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-weight:bold;line-height:1.6;&amp;quot;&amp;gt;&amp;lt;h2 style=&amp;quot;text-decoration:none;border-style:none&amp;quot;&amp;gt;Kernel&amp;lt;/h2&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!-- === Features === --&amp;gt;&lt;br /&gt;
&amp;lt;!-- === Bug Fixes === --&amp;gt;&lt;br /&gt;
=== Enhancements ===&lt;br /&gt;
* The Plugin initialization and upgrade mechanism has been improved and stabilized.&lt;br /&gt;
&amp;lt;!-- === Known Issues === &lt;br /&gt;
* Due to Configurable Unique Constraints not being implemented yet, Exclusive Access is not guaranteed on database level currently.&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:100%; overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-weight:bold;line-height:1.6;&amp;quot;&amp;gt;&amp;lt;h2 style=&amp;quot;text-decoration:none;border-style:none&amp;quot;&amp;gt;MATAP&amp;lt;/h2&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
=== Features ===&lt;br /&gt;
=== Bug Fixes ===&lt;br /&gt;
=== Enhancements ===&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:100%; overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-weight:bold;line-height:1.6;&amp;quot;&amp;gt;&amp;lt;h2 style=&amp;quot;text-decoration:none;border-style:none&amp;quot;&amp;gt;MRO&amp;lt;/h2&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
=== Features ===&lt;br /&gt;
=== Bug Fixes ===&lt;br /&gt;
=== Enhancements ===&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:100%; overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-weight:bold;line-height:1.6;&amp;quot;&amp;gt;&amp;lt;h2 style=&amp;quot;text-decoration:none;border-style:none&amp;quot;&amp;gt;SmartStudio&amp;lt;/h2&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
=== Features ===&lt;br /&gt;
=== Bug Fixes ===&lt;br /&gt;
=== Enhancements ===&lt;br /&gt;
=== Known Issues ===&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:100%; overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-weight:bold;line-height:1.6;&amp;quot;&amp;gt;&amp;lt;h2 style=&amp;quot;text-decoration:none;border-style:none&amp;quot;&amp;gt;Archon&amp;lt;/h2&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
=== Features ===&lt;br /&gt;
=== Bug Fixes ===&lt;br /&gt;
=== Enhancements ===&lt;br /&gt;
=== Known Issues ===&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:100%; overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-weight:bold;line-height:1.6;&amp;quot;&amp;gt;&amp;lt;h2 style=&amp;quot;text-decoration:none;border-style:none&amp;quot;&amp;gt;Plugins&amp;lt;/h2&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
=== Features ===&lt;br /&gt;
=== Bug Fixes ===&lt;br /&gt;
=== Enhancements ===&lt;br /&gt;
=== Known Issues ===&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Release notes|Version 5.2.0 (Server)]]&lt;br /&gt;
[[Category:Server|Version 5.2.0 (Server)]]&lt;br /&gt;
[[Category:Version 5.2|Version 5.2.0 (Server)]]&lt;/div&gt;</summary>
		<author><name>DEH</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=Main_Page&amp;diff=29492</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=Main_Page&amp;diff=29492"/>
				<updated>2026-03-10T13:07:49Z</updated>
		
		<summary type="html">&lt;p&gt;DEH: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- MAIN DESKTOP DIV --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Change this comment to force updates --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;nomobile&amp;quot;&amp;gt; &lt;br /&gt;
&amp;lt;!-- Hide Desktop content from Mobile view --&amp;gt;&lt;br /&gt;
&amp;lt;!-- BOX 1 --&amp;gt;&lt;br /&gt;
&amp;lt;!-- SEARCH BOX --&amp;gt;&lt;br /&gt;
&amp;lt;!-- DIV: TABLE --&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;table&amp;quot; style=&amp;quot;width:100%; border: solid #D3D3D3 1px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!-- DIV: ROW --&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;tableRow&amp;quot; style=&amp;quot;background: #D3D3D3;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!-- DIV: DATA CELL --&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;tableCell&amp;quot; style=&amp;quot;border:none;padding:10px;text-align:center;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: inline-block;padding-right:20px&amp;quot;&amp;gt;[[File:IC_MainPage-32.png|30px]]&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;display: inline-block;&amp;quot;&amp;gt;&amp;lt;inputbox&amp;gt;&lt;br /&gt;
inline=true&lt;br /&gt;
type=fulltext&lt;br /&gt;
width=400&lt;br /&gt;
namespaces=&lt;br /&gt;
searchbuttonlabel=Search&lt;br /&gt;
buttonlabel=Search&lt;br /&gt;
bgcolor=&lt;br /&gt;
break=no&lt;br /&gt;
placeholder=What can we help you with?&lt;br /&gt;
&amp;lt;/inputbox&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!-- DIV: CELL --&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!-- DIV: ROW --&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!-- DIV: TABLE --&amp;gt;&lt;br /&gt;
&amp;lt;!-- SEARCH BOX --&amp;gt;&lt;br /&gt;
&amp;lt;!-- BEGINNER ITEMS --&amp;gt;&lt;br /&gt;
&amp;lt;!-- DIV: TABLE --&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;table&amp;quot; style=&amp;quot;width:100%;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!-- DIV: ROW --&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;tableRow&amp;quot; style=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!-- DIV: CELL --&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;tableCell&amp;quot; style=&amp;quot;border:none;padding:10px;background:none;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!-- INLINE TABLE --&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;table style=&amp;quot;width:70%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;text-align:center;width:10%;background:#ffffff;border-radius:5px&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;mp-beginnersLink&amp;quot;&amp;gt;[[What_is_UBIK|What is {{UBIK}}?]]&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:IC_MainPage-06a.png|link=What_is_UBIK|What is UBIK|x50px]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;width:5%&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;text-align:center;width:10%;background:#ffffff;border-radius:5px&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;mp-beginnersLink&amp;quot;&amp;gt;[[Getting Started|Getting started]]&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:IC_MainPage-05a.png|link=Getting_Started|alt=Getting Started|Getting Started|x50px]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;width:5%&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;text-align:center;width:10%;background:#ffffff;border-radius:5px&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;mp-beginnersLink&amp;quot;&amp;gt;[[Contact|Contact]]&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:IC_MainPage-04a.png|link=Contact|x50px]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;width:5%&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;text-align:center;width:10%;background:#ffffff;border-radius:5px&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;mp-beginnersLink&amp;quot;&amp;gt;[[:Category:FAQ|FAQ]]&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:IC_MainPage-02a.png|link=:Category:FAQ|alt=FAQ|FAQ|x50px]]&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;width:5%&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;text-align:center;width:10%;background:#ffffff;border-radius:5px&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;mp-beginnersLink&amp;quot;&amp;gt;[[Hardware Page|Hardware]]&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:IC_Hardware03.png|link=Hardware Page|alt=Hardware Page|Hardware Page|x50px]]&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;!-- INLINE TABLE --&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!-- DIV: CELL --&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!-- DIV: ROW --&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!-- DIV: TABLE --&amp;gt;&lt;br /&gt;
&amp;lt;!-- BEGINNER ITEMS --&amp;gt;&lt;br /&gt;
&amp;lt;!-- DIV: TABLE --&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;table&amp;quot; style=&amp;quot;width:100%; border: solid #D3D3D3 1px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!-- DIV: ROW --&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;tableRow&amp;quot; style=&amp;quot;background: #D3D3D3;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!-- DIV: ICON CELL --&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;tableCell&amp;quot; style=&amp;quot;border:none;padding:10px;&amp;quot;&amp;gt;[[File:IC_UBIK_IconPack-06.png|20px]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!-- DIV: DATA CELL --&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;tableCell bgAUGMENSYSa&amp;quot; style=&amp;quot;width:100%; padding:0px; margin:auto 0px;border:none;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!-- PRODUCTS TABLE --&amp;gt;&lt;br /&gt;
&amp;lt;table style=&amp;quot;width:100%;border:none;padding:2px;margin:0px&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;width:100%;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;table style=&amp;quot;width:100%;border:1px;padding:0px;margin-top:20px&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;text-align:center;width:25%&amp;quot;&amp;gt;&lt;br /&gt;
[[File:App-Ubik_g.png|link=UBIK_Studio_Basics|130px]]&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;mp-productsLink2&amp;quot;&amp;gt;[[UBIK_Studio_Basics|Studio]]&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;text-align:center;width:25%&amp;quot;&amp;gt;&lt;br /&gt;
[[File:App-Ubik_go.png|link=SmartStudio|130px]]&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;mp-productsLink2&amp;quot;&amp;gt;[[SmartStudio|Smart Studio]]&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;text-align:center;width:25%&amp;quot;&amp;gt;&lt;br /&gt;
[[File:App-Ubik_Grey.png|link=UBIK_Client_Getting_Started|130px]]&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;mp-productsLink2&amp;quot;&amp;gt;[[UBIK_Client_Getting_Started|Client]]&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;text-align:center;width:25%&amp;quot;&amp;gt;&lt;br /&gt;
[[File:App-Ubik_Grey.png|link=MaTaP|130px]]&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;mp-productsLink2&amp;quot;&amp;gt;[[MaTaP|MaTaP]]&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- PRODUCTS TABLE --&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!-- DIV: DATA CELL --&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!-- DIV: ROW --&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!-- DIV: TABLE --&amp;gt;&lt;br /&gt;
&amp;lt;!-- BOX 1 --&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;!-- DIV: SPACER ROW --&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;height:20px&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!-- DIV: SPACER ROW --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{:RoadmapOverview}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- DIV: BOX 1 --&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;table&amp;quot; style=&amp;quot;width:100%;border: none;background: #fff;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!-- DIV: BOX 1 TABLE ROW --&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;tableRow&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!-- DIV: LEFT CELL --&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;tableCell&amp;quot; style=&amp;quot;width:30%;border:none;background: #fff;&amp;quot; &amp;gt;&lt;br /&gt;
&amp;lt;!-- DIV: VERSION BOX TABLE --&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;table&amp;quot; style=&amp;quot;border: solid #D3D3D3 1px;background: #fff;margin-right:10px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!-- DIV: VERSION BOX TABLE ROW --&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;tableRow&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!-- DIV: ICON CELL --&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;tableCell&amp;quot; style=&amp;quot;border:none;padding:5px&amp;quot;&amp;gt;[[File:IC_MainPage-31.png|30px]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!-- DIV: ICON CELL --&amp;gt;&lt;br /&gt;
&amp;lt;!-- DIV: DATA CELL --&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;tableCell&amp;quot; style=&amp;quot;width:100%; padding-left:20px;border:none;background: #fff&amp;quot;&amp;gt;&lt;br /&gt;
{{:List_of_Versions}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!-- DIV: DATA CELL --&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!-- DIV: VERSION BOX TABLE ROW --&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!-- DIV: VERSION BOX TABLE --&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!-- DIV: LEFT CELL --&amp;gt;&lt;br /&gt;
&amp;lt;!-- DIV: RIGHT CELL --&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;tableCell&amp;quot; style=&amp;quot;width:30%;border:none;background: #fff;margin:0 auto;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!-- DIV: TABLE --&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;table&amp;quot; style=&amp;quot;border: none;background: #fff;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!-- DIV: ROW --&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;tableRow&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!-- DIV: CELL --&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;tableCell&amp;quot; style=&amp;quot;width:100%; padding-left:20px;border:none;background: #fff;margin: 0 auto&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!-- DIV: NEWS BOX TABLE --&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;table&amp;quot; style=&amp;quot;border: solid #D3D3D3 1px;background: #fff;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!-- DIV: NEWS BOX TABLE ROW --&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;tableRow&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!-- DIV: ICON CELL --&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;tableCell&amp;quot; style=&amp;quot;border:none;padding-left:5px;padding-right:5px;padding-top:10px;&amp;quot;&amp;gt;[[File:IC_MainPage-30.png|30px]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!-- DIV: ICON CELL --&amp;gt;&lt;br /&gt;
&amp;lt;!-- DIV: DATA CELL --&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;tableCell&amp;quot; style=&amp;quot;width:100%; padding-left:20px;border:none;background: #fff;margin: 0 auto&amp;quot;&amp;gt;&lt;br /&gt;
{{:News_and_Announcements}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!-- DIV: DATA CELL --&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!-- DIV: NEWS BOX TABLE ROW --&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!-- DIV: NEWS BOX TABLE --&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!-- DIV: CELL --&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!-- DIV: ROW --&amp;gt;&lt;br /&gt;
&amp;lt;!-- DIV: TAGCLOUD ROW --&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;tableRow&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!-- DIV: TAGCLOUD CELL --&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;tableCell&amp;quot; style=&amp;quot;width:100%; padding-left:20px;border:none;background: #fff;margin: 0 auto&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!-- TAG CLOUD --&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin:auto;width:80%;text-align:center;padding-top:50px;&amp;quot;&amp;gt;{{TagCloud|include=Built-in_objects,Client,How-To,FAQ,Document,Installing,POI,Server,Session_management|depth=3}}&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!-- TAG CLOUD --&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!-- DIV: TAGCLOUD CELL --&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!-- DIV: TAGCLOUD ROW --&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!-- DIV: TABLE --&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!-- DIV: RIGHT CELL --&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!-- DIV: BOX 1 TABLE ROW --&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!-- DIV: BOX 1 --&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ROW FOOTER --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Impressium --&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;UBIK&amp;quot; class=&amp;quot;mainpage-bottom&amp;quot; align=&amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Augmensys_Logo_2019_small.png|center|link=Augmensys GmbH]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;user&amp;quot; style=&amp;quot;font-size:85%;&amp;quot;&amp;gt;[[Special:Statistics|{{NUMBEROFUSERS}}]] users registered&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;online&amp;quot; style=&amp;quot;font-size:85%;&amp;quot;&amp;gt;[[Special:Statistics|{{NUMBEROFACTIVEUSERS}}]] users active in the last 30 days&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div id=&amp;quot;articlecount&amp;quot; style=&amp;quot;font-size:85%;&amp;quot;&amp;gt;[[Special:Statistics|{{NUMBEROFARTICLES}}]] articles currently added&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!-- ROW FOOTER --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Hide Desktop content from Mobile view --&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!-- MAIN DESKTOP DIV --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- MAIN MOBILE DIV --&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;nodesktop&amp;quot;&amp;gt;&lt;br /&gt;
  {{:Main_Page_Mobile}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!-- MAIN MOBILE DIV --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__NOTOC____NOEDITSECTION__&lt;br /&gt;
{{DISPLAYTITLE:&amp;lt;span style=&amp;quot;display:none&amp;quot;&amp;gt;{{FULLPAGENAME}}&amp;lt;/span&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Release notes|RoadmapOverview]]&lt;br /&gt;
[[Category:Roadmap|RoadmapOverview]]&lt;br /&gt;
[[Category:Version|List of Versions]]&lt;/div&gt;</summary>
		<author><name>DEH</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=RoadmapOverview&amp;diff=29491</id>
		<title>RoadmapOverview</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=RoadmapOverview&amp;diff=29491"/>
				<updated>2026-03-10T13:06:13Z</updated>
		
		<summary type="html">&lt;p&gt;DEH: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{RoadmapOverview&lt;br /&gt;
| versionReleases=[[Version_4|View All v4 Releases]]&lt;br /&gt;
| content=&lt;br /&gt;
&amp;lt;!-- Begin Content (Items) --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| last= &lt;br /&gt;
{{RoadmapOverviewItem &lt;br /&gt;
| version=4.6 &lt;br /&gt;
| date={{RoadmapChip-Released|February 2024}} &lt;br /&gt;
| content=&lt;br /&gt;
* Prefilter Objects with the same QR code.&lt;br /&gt;
* Access To An Arbitrary Object in UI.&lt;br /&gt;
* Indicator for Uncommitted Changes. &lt;br /&gt;
* {{RoadmapChip-Xamarin}} Customizable Visibility of appbar Menu Button.&lt;br /&gt;
* SSO: Automatic JWKS renewal for OIDC.&lt;br /&gt;
* {{RoadmapChip-WinX}} SSO Login.&lt;br /&gt;
* {{RoadmapChip-WinX}} Various improvements to PDF Annotations.&lt;br /&gt;
* Better UI Performance when Accessing Single Properties.&lt;br /&gt;
* Productization of MaTaP Features.&lt;br /&gt;
* Improvements in CUI Orchestration.&lt;br /&gt;
* Hide unconfigured Live Value Properties.&lt;br /&gt;
* DB concurrency stabilized, deadlock prevention.&lt;br /&gt;
* DB performance improvement, adding indexes.&lt;br /&gt;
* Improvements in the Comos MetaData SmartImport.&lt;br /&gt;
* {{RoadmapChip-Server}} The {{UBIK}} reporting module for creating HTML or PDF reports from custom code is available again.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| {{RoadmapOverviewItem | version=4.7 | date={{RoadmapChip-Released| May 2024}} | content=&lt;br /&gt;
* {{RoadmapChip-MaTaP}}  Productization of MaTaP Features.&lt;br /&gt;
* {{RoadmapChip-WinX}} Support Bing Maps Road for UWP.&lt;br /&gt;
* {{RoadmapChip-Mobile}} Online Results for OCR Scan.&lt;br /&gt;
* {{RoadmapChip-Mobile}} Command to Update An Arbitrary Object.&lt;br /&gt;
* {{RoadmapChip-CUI}} Comos Min / Max values available in UBIK Clients.&lt;br /&gt;
* {{RoadmapChip-Studio}} UI for the Automatic View Adaptation to Model Changes (Views)&lt;br /&gt;
* {{RoadmapChip-CUI}} Improve Import Export Orchestration&lt;br /&gt;
* {{RoadmapChip-CUI}} Prevent JIT Exports when processing imports&lt;br /&gt;
* {{RoadmapChip-CUI}} Configurable object amount for processing notifications.&lt;br /&gt;
* SmartModels know their MetaClass now&lt;br /&gt;
* {{RoadmapChip-Server}} Enterprise Server: Enable json task configuration to contain multiple task definitions&lt;br /&gt;
* {{RoadmapChip-Server}} Attributes on MRO classification MetaProperties&lt;br /&gt;
* {{RoadmapChip-CUI}}CUI: Enable the possibility to configure the amount of Exported Proxies&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
| last= {{RoadmapOverviewItem | version=4.8 | date={{RoadmapChip-Released| September 2024}} | content=&lt;br /&gt;
*  {{RoadmapChip-MaTaP}} Productization of MaTaP Features (Server / Desktop Client).&lt;br /&gt;
*  {{RoadmapChip-iOS}} OIDC for iOS &lt;br /&gt;
* {{RoadmapChip-CUI}} Improvements of the CUI Interface&lt;br /&gt;
* {{RoadmapChip-Studio}}Automatic ReferenceViewItem creation&lt;br /&gt;
* {{RoadmapChip-Xamarin}}  Improved customizability of the Document Page&lt;br /&gt;
* {{RoadmapChip-Xamarin}} Customizable Charts.&lt;br /&gt;
* Recycle of App Pool.&lt;br /&gt;
* UBIK license control&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
| last= {{RoadmapOverviewItem | version=4.8.1 | date={{RoadmapChip-Released| October 2024}} | content=&lt;br /&gt;
* Native Push Service&lt;br /&gt;
*  {{RoadmapChip-iOS}} Managed App configuration for iOS&lt;br /&gt;
*  NFC 4-eyes acceptance feature&lt;br /&gt;
*  Improved Upload Document Handling &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
| last= {{RoadmapOverviewItem | version=4.9 | date={{RoadmapChip-Released| January 2025}} | content=&lt;br /&gt;
*  {{RoadmapChip-Server}} Optimized RAM consumption: Prevent caching for specific objects&lt;br /&gt;
*  {{RoadmapChip-Studio}} Local DB Views: Human readable DB views on the UBIK DB&lt;br /&gt;
*  {{RoadmapChip-MaTaP}} MaTaP provides the feature of the Commissioning Wallpaper.&lt;br /&gt;
*  {{RoadmapChip-MaTaP}} MaTaP Admin Tool is now available.&lt;br /&gt;
*  {{RoadmapChip-MaTaP}} The communication feature is now available in MaTaP.&lt;br /&gt;
*  {{RoadmapChip-Studio}} Plugins are now initialized in the correct order of their dependency&lt;br /&gt;
* {{RoadmapChip-WinX}} Context filtering for template queries and Clientside Replication&lt;br /&gt;
*  {{RoadmapChip-Studio}} MetaProxy Properties are now modelled more consistently in SmartStudio&lt;br /&gt;
*  {{RoadmapChip-Studio}} Custom code for MetaProxies can now be edited and transported using SmartStudio&lt;br /&gt;
* {{RoadmapChip-Mobile}} It is now possible to customize the freetext search&lt;br /&gt;
* {{RoadmapChip-Mobile}} It is possible to preserve the settings from the PDFViewer&lt;br /&gt;
* {{RoadmapChip-CUI}} Auto - reset proxies for &amp;quot;undeleted&amp;quot; Comos Objects &lt;br /&gt;
* {{RoadmapChip-CUI}} It is now possible to configure the Reset of Property Values During Import&lt;br /&gt;
* {{RoadmapChip-Studio}} The Auto-Create Scope drag &amp;amp; drop action was enhanced greatly&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| current= {{RoadmapOverviewItem | version=5.0 | date={{RoadmapChip-Released| Client: December 2025 }} {{RoadmapChip-Released| Server: February 2026 }}| content=&lt;br /&gt;
* {{RoadmapChip-Studio}} [[UBIK_Plugin_Design|Plugin C# solution generation]]&lt;br /&gt;
* {{RoadmapChip-Studio}} Text-Markup Annotations support opacity now&lt;br /&gt;
* {{RoadmapChip-Studio}} Iterative Instance Data Transfer in SmartStudio&lt;br /&gt;
* {{RoadmapChip-Studio}} Bulk Editor UID Column&lt;br /&gt;
* {{RoadmapChip-Studio}} WhoBert now provides a rich &amp;quot;Load &amp;amp; Save Code&amp;quot; feature.&lt;br /&gt;
* {{RoadmapChip-Studio}} Bulk editor context actions&lt;br /&gt;
* {{RoadmapChip-Server}} UBIK Traits&lt;br /&gt;
* {{RoadmapChip-Server}} MRO Procedures&lt;br /&gt;
* {{RoadmapChip-Server}} UBIK supports the Exclusive Checkout Query now.&lt;br /&gt;
* {{RoadmapChip-Server}} Extended Archon License Information&lt;br /&gt;
* {{RoadmapChip-Mobile}} Mobile UBIK .NET MAUI Client&lt;br /&gt;
* {{RoadmapChip-Client}} Improved branch download performance&lt;br /&gt;
* {{RoadmapChip-CUI}} Log CUI Web Request V2&lt;br /&gt;
* {{RoadmapChip-MaTaP}} Blind List Management&lt;br /&gt;
* {{RoadmapChip-MaTaP}} Joint Integrity Management&lt;br /&gt;
----------&lt;br /&gt;
Service Pack:&lt;br /&gt;
* {{RoadmapChip-CUI}} Retry Comos API call in case the service is not available&lt;br /&gt;
* {{RoadmapChip-Server}} [[Auto-Delete_Dead_Links]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
| next= {{RoadmapOverviewItem | version=5.1 | date={{RoadmapChip-Released| Client: February 2026}} {{RoadmapChip-Announced| Server: March 2026}}  | content=&lt;br /&gt;
* {{RoadmapChip-Client}} Improved save button design&lt;br /&gt;
* {{RoadmapChip-Client}} Harder-to-miss branch download summary&lt;br /&gt;
* {{RoadmapChip-Client}} Better control over file upload size&lt;br /&gt;
* {{RoadmapChip-Mobile}} Map view in mobile MAUI client&lt;br /&gt;
* {{RoadmapChip-Mobile}} Charts in mobile MAUI client&lt;br /&gt;
* {{RoadmapChip-Mobile}} Native push in mobile MAUI client&lt;br /&gt;
* {{RoadmapChip-Mobile}} POI view in mobile MAUI client&lt;br /&gt;
* {{RoadmapChip-Mobile}} Location service in mobile MAUI client&lt;br /&gt;
* {{RoadmapChip-MaTaP}} Multi language support for MaTaP&lt;br /&gt;
* {{RoadmapChip-Studio}} MetaProperty assignment details for plugin generation feature&lt;br /&gt;
----------&lt;br /&gt;
Service Pack:&lt;br /&gt;
* {{RoadmapChip-CUI}} Better Comos API call logging&lt;br /&gt;
* {{RoadmapChip-Mobile}} Option to toggle camera flash in MAUI&lt;br /&gt;
* {{RoadmapChip-Mobile}} {{UBIK}} Traits: instance-specific properties &lt;br /&gt;
* {{RoadmapChip-Mobile}} MRO Switch Task: Conditional procedure junction task&lt;br /&gt;
* {{RoadmapChip-Mobile}} MRO Signature Task&lt;br /&gt;
* {{RoadmapChip-Mobile}} MRO Picture Task&lt;br /&gt;
* {{RoadmapChip-Mobile}} MRO Numeric Task&lt;br /&gt;
* {{RoadmapChip-Mobile}} MRO Pick List Task: instance-specific selective lists &lt;br /&gt;
* {{RoadmapChip-Studio}} Multi-language descriptions for plugin generation feature&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- end Content --&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Roadmap|RoadmapOverview]]&lt;/div&gt;</summary>
		<author><name>DEH</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=Version_5.1.0_(Server)&amp;diff=29490</id>
		<title>Version 5.1.0 (Server)</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=Version_5.1.0_(Server)&amp;diff=29490"/>
				<updated>2026-03-10T13:04:38Z</updated>
		
		<summary type="html">&lt;p&gt;DEH: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&lt;br /&gt;
= 5.1.0.?? - 2026-??-?? (Initial Release) =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:100%; overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-weight:bold;line-height:1.6;&amp;quot;&amp;gt;&amp;lt;h2 style=&amp;quot;text-decoration:none;border-style:none&amp;quot;&amp;gt;UBIK.Studio&amp;lt;/h2&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
=== Features ===&lt;br /&gt;
=== Bug Fixes ===&lt;br /&gt;
=== Enhancements ===&lt;br /&gt;
=== Known Issues ===&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:100%; overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-weight:bold;line-height:1.6;&amp;quot;&amp;gt;&amp;lt;h2 style=&amp;quot;text-decoration:none;border-style:none&amp;quot;&amp;gt;Kernel&amp;lt;/h2&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
=== Features ===&lt;br /&gt;
* &lt;br /&gt;
--&amp;gt;&lt;br /&gt;
=== Bug Fixes ===&lt;br /&gt;
* An issue where changelogs couldn't be activated for system design MetaClasses was fixed.&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
=== Enhancements ===&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
=== Known Issues ===&lt;br /&gt;
* Due to Configurable Unique Constraints not being implemented yet, Exclusive Access is not guaranteed on database level currently.&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:100%; overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-weight:bold;line-height:1.6;&amp;quot;&amp;gt;&amp;lt;h2 style=&amp;quot;text-decoration:none;border-style:none&amp;quot;&amp;gt;MATAP&amp;lt;/h2&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
=== Features ===&lt;br /&gt;
=== Bug Fixes ===&lt;br /&gt;
=== Enhancements ===&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:100%; overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-weight:bold;line-height:1.6;&amp;quot;&amp;gt;&amp;lt;h2 style=&amp;quot;text-decoration:none;border-style:none&amp;quot;&amp;gt;MRO&amp;lt;/h2&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
=== Features ===&lt;br /&gt;
=== Bug Fixes ===&lt;br /&gt;
=== Enhancements ===&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:100%; overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-weight:bold;line-height:1.6;&amp;quot;&amp;gt;&amp;lt;h2 style=&amp;quot;text-decoration:none;border-style:none&amp;quot;&amp;gt;SmartStudio&amp;lt;/h2&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
=== Features ===&lt;br /&gt;
=== Bug Fixes ===&lt;br /&gt;
=== Enhancements ===&lt;br /&gt;
=== Known Issues ===&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:100%; overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-weight:bold;line-height:1.6;&amp;quot;&amp;gt;&amp;lt;h2 style=&amp;quot;text-decoration:none;border-style:none&amp;quot;&amp;gt;Archon&amp;lt;/h2&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
=== Features ===&lt;br /&gt;
=== Bug Fixes ===&lt;br /&gt;
=== Enhancements ===&lt;br /&gt;
=== Known Issues ===&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;width:100%; overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-weight:bold;line-height:1.6;&amp;quot;&amp;gt;&amp;lt;h2 style=&amp;quot;text-decoration:none;border-style:none&amp;quot;&amp;gt;Plugins&amp;lt;/h2&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
=== Features ===&lt;br /&gt;
* The Plugin Design feature now takes relation property values into account for MetaProperties assigned to a MetaClass.&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
=== Bug Fixes ===&lt;br /&gt;
* &lt;br /&gt;
=== Enhancements ===&lt;br /&gt;
=== Known Issues ===&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Release notes|Version 5.1.0 (Server)]]&lt;br /&gt;
[[Category:Server|Version 5.1.0 (Server)]]&lt;br /&gt;
[[Category:Version 5.1|Version 5.1.0 (Server)]]&lt;/div&gt;</summary>
		<author><name>DEH</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=UBIK_Plugin_Design&amp;diff=29489</id>
		<title>UBIK Plugin Design</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=UBIK_Plugin_Design&amp;diff=29489"/>
				<updated>2026-03-10T13:01:54Z</updated>
		
		<summary type="html">&lt;p&gt;DEH: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The {{UBIK}} Plugin Design feature allows users to create a {{UBIK}} Plugin C# solution, including system definitions purely from customizing in {{UBIK}} Studio.{{Version/ServerSince|5.0.0}}&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
=== Creation of a new Plugin Design Configuration ===&lt;br /&gt;
[[File:Plugin_Design_Configuration_instance.png|300px|thumb|Creating a plugin design configuration instance]]&lt;br /&gt;
The feature is accessible through the &amp;quot;System.PluginDesign.PLUGIN_DESIGN_CONFIGURATION&amp;quot; MetaClass in UBIK Studio.&lt;br /&gt;
A new Plugin Design Configuration instance can be created in the Bulk Editor to define a custom plugin context.&lt;br /&gt;
&lt;br /&gt;
=== Adding MetaClasses to the configuration ===&lt;br /&gt;
[[File:Metaclass_Added.png|300px|thumb|Adding a MetaClass to the configuration]]&lt;br /&gt;
Custom MetaClasses can be added to the plugin configuration using the &amp;quot;SYSREL_PLUGINDESIGNCONFIG_METACLASS&amp;quot; relation in the Relation Editor.&lt;br /&gt;
&lt;br /&gt;
=== Adding other objects to the configuration ===&lt;br /&gt;
In the initial version of this feature, we're assuming that your MetaClasses are the center of your customizing; everything else will be detected as a dependency of those. E.g., if you're using a MetaProperty in a MetaClass you related to the Plugin Design Configuration instance, it will also be contained in the generated C# solution. The same is true for all other (supported) kinds of objects. The Plugin Design feature is subject of active development, so most likely there will be more detailed control about the things contained in the designated Plugin in the next versions.&lt;br /&gt;
&lt;br /&gt;
=== Exporting a C# solution for the plugin ===&lt;br /&gt;
[[File:Plugin_Generation_Trigger.png|220px|thumb|right|Trigger the C# solution generation]]&lt;br /&gt;
A C# solution can be generated for the plugin via context menu action in the Class Browser (content view style):&lt;br /&gt;
Right-click the Plugin Configuration instance, 'Start Action → &amp;quot;&amp;quot; → Create a C# solution for a custom UBIK plugin'.&lt;br /&gt;
This will increase the plugin version (revision), generate the C# solution and prompt the user with a save dialog for a respective .zip archive.&lt;br /&gt;
[[File:PluginResult.png|300px|thumb|Resulting C# solution in Visual Studio]]&lt;br /&gt;
&lt;br /&gt;
== Supported capabilities ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:600px&amp;quot;&lt;br /&gt;
! Feature&lt;br /&gt;
! Version&lt;br /&gt;
|-&lt;br /&gt;
| Generation of a basic Plugin project,&amp;lt;br/&amp;gt;including the Module and a SystemDefinitions stub&lt;br /&gt;
| 5.0 Initial Release&lt;br /&gt;
|-&lt;br /&gt;
| MetaClasses&lt;br /&gt;
| 5.0 Initial Release&lt;br /&gt;
|-&lt;br /&gt;
| MetaProperties&lt;br /&gt;
| 5.0 Initial Release&lt;br /&gt;
|-&lt;br /&gt;
| Custom Class Code&lt;br /&gt;
| 5.0 Initial Release&lt;br /&gt;
|-&lt;br /&gt;
| Custom Code Library&lt;br /&gt;
| 5.0 Initial Release&lt;br /&gt;
|-&lt;br /&gt;
| Classifications&lt;br /&gt;
| 5.0 Initial Release&lt;br /&gt;
|-&lt;br /&gt;
| Relations&lt;br /&gt;
| 5.0 Initial Release&lt;br /&gt;
|-&lt;br /&gt;
| Selective Lists and Selective Items&lt;br /&gt;
| 5.0 Initial Release&lt;br /&gt;
|-&lt;br /&gt;
| References&lt;br /&gt;
| 5.0 Initial Release&lt;br /&gt;
|-&lt;br /&gt;
| MetaProxies and MetaProxyProperties&lt;br /&gt;
| 5.0 Initial Release&lt;br /&gt;
|-&lt;br /&gt;
| Units and Unit Items&lt;br /&gt;
| 5.0 Initial Release&lt;br /&gt;
|-&lt;br /&gt;
| MetaProperty assignment properties (RelationData)&lt;br /&gt;
| 5.1 Initial Release&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
*[[UBIK_Studio_Basics]]&lt;br /&gt;
*[[Bulk_Editor]]&lt;br /&gt;
*[[Relation_Editor]]&lt;br /&gt;
*[[UBIK_Actions]]&lt;br /&gt;
*[[HowTo:Provide_system_definitions_with_a_custom_plugin]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Actions|UBIK Plugin Design]]&lt;br /&gt;
[[Category:Coding|UBIK Plugin Design]]&lt;br /&gt;
[[Category:How-To|UBIK Plugin Design]]&lt;br /&gt;
[[Category:Module|UBIK Plugin Design]]&lt;br /&gt;
[[Category:Plugin|UBIK Plugin Design]]&lt;br /&gt;
[[Category:Studio tools|UBIK Plugin Design]]&lt;br /&gt;
[[Category:Version 5.0|UBIK Plugin Design]]&lt;/div&gt;</summary>
		<author><name>DEH</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=MaTaP&amp;diff=28559</id>
		<title>MaTaP</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=MaTaP&amp;diff=28559"/>
				<updated>2025-08-21T13:16:47Z</updated>
		
		<summary type="html">&lt;p&gt;DEH: /*  MaTaP Desktop (UWP) Client */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= MaTaP: Management Tool for Turnaround and Project Management =&lt;br /&gt;
MaTaP is a management tool for Turnaround and Project management, applicable across various industries.&lt;br /&gt;
&lt;br /&gt;
The front-end user can access MaTaP on Desktop (UWP), as well as iOS and Android mobile platforms. Projects are administrated using the desktop Admin Tool.&lt;br /&gt;
&lt;br /&gt;
=== Key Features ===&lt;br /&gt;
* '''Wallpaper Task Overview''' &lt;br /&gt;
* '''Reports'''&lt;br /&gt;
* '''Daily HSE updates, and Plant Layouts.'''&lt;br /&gt;
* ''' Scope Changes'''&lt;br /&gt;
&lt;br /&gt;
=== Products ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|'''Desktop (UWP) Client'''&lt;br /&gt;
|A comprehensive desktop application that provides full access to all MaTaP features for in-office use.&lt;br /&gt;
|-&lt;br /&gt;
|'''Mobile Client'''&lt;br /&gt;
|Offers on-the-go access to critical project information, ensuring managers and team members can stay updated anywhere, anytime.&lt;br /&gt;
|-&lt;br /&gt;
|'''AdminTool'''&lt;br /&gt;
|A specialized tool designed for system administrators to manage user accounts, configure system settings, and perform maintenance tasks.&lt;br /&gt;
|}&lt;br /&gt;
= [[MaTaP Admin Tool | MaTaP Admin Tool]] =&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
= [[MaTaP_UWP_App | MaTaP Desktop (UWP) Client]] =&lt;br /&gt;
{{:MaTaP_UWP_App}} &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:MaTaP|MaTaP]]&lt;br /&gt;
[[Category:MaTaP UWP|MaTaP UWP App]]&lt;br /&gt;
&lt;br /&gt;
= [[MaTaP_Mobile_App | MaTaP Mobile Client]] =&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
= [[MaTaP_Server | MaTaP Server]] =&lt;br /&gt;
{{:MaTaP_Server}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:MaTaP|MaTaP]]&lt;br /&gt;
[[Category:MaTaP UWP|MaTaP UWP App]]&lt;/div&gt;</summary>
		<author><name>DEH</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=Bulk_Editor&amp;diff=28465</id>
		<title>Bulk Editor</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=Bulk_Editor&amp;diff=28465"/>
				<updated>2025-08-05T13:10:00Z</updated>
		
		<summary type="html">&lt;p&gt;DEH: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Bulk Editor is designed to display and edit the [[BaseProperty|properties]] of a multiple {{UBIK}} objects. Technically, it reads the [[MetaProperty]] definition of each [[Instance|instance]] of the context object (directly from the context object if it is of type [[MetaClass]], otherwise it gets the MetaClass of the context object and reads the definition from its instances.&lt;br /&gt;
&lt;br /&gt;
{{ControlInfoBox&lt;br /&gt;
| title = Bulk Editor&lt;br /&gt;
| name = Bulk Editor&lt;br /&gt;
| internalname = CtrlBulkEditor&lt;br /&gt;
| image = [[File:UI_BulkEditor.png|220px]]&lt;br /&gt;
| imagecaption = Bulk Editor control&lt;br /&gt;
| purpose = Display and edit multiple objects&lt;br /&gt;
| context = MetaClass&lt;br /&gt;
| version = 2+&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Basics==&lt;br /&gt;
&lt;br /&gt;
===Appearance===&lt;br /&gt;
====Rows and columns====&lt;br /&gt;
The control reads the current context object and displays a row for each instance of it and a column for each found property (since 3.7.0 a set of preconfigured columns are hidden by default and the instances are sorted by default by CreationTimeStamp), its appearance depending on the respective data type of the [[MetaProperty]]. The following data types and thus different columns and editing controls are currently supported:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; | width = &amp;quot;50%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Data type!! Example !! Comment &lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Bool || [[File:UI_BulkEditor_Bool.png|300px]] || A [[MetaProperty#Boolean|boolean]] value to be read/set via a Checkbox&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| DateTime || [[File:UI_BulkEditor_DateTime.png|300px]] || A [[MetaProperty#Date Time|Date/Time]] value where the format is according to regional settings; a double click opens a dialog to pick a date from a calendar&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Double || - || A [[MetaProperty#Floating Point|floating point]] value, optionally with [[Unit|unit of measurement]]&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| FileReference|| [[File:UI_BulkEditor_File.png|300px]] || A [[MetaProperty#File Reference|path to a physical file]]; a double click opens a dialog to pick a file from the file system&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| GeoData || [[File:UI_BulkEditor_GEO.png|300px]] || A [[MetaProperty#Geographical Coordinate|geographical coordinate]]; a double click opens a dialog to enter the values separately&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Guid|| [[File:UI_BulkEditor_GUID.png|300px]] || A [[MetaProperty#Guid|pointer]] to another object&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Reference|| [[File:UI_BulkEditor_Reference.png|300px]] || A [[MetaProperty#Reference|reference]] to another object; a double click opens a picker to select the target object &lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Int|| - || A [[MetaProperty#Integer|discrete]] number&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| String|| - || A [[MetaProperty#Text|text]] value&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Selective lists====&lt;br /&gt;
If a certain property has a [[SELECTIVELIST|selective list]] defined, the respective column will display a Combobox with all items of the list instead of the value field. The value can then only be selected from the list, but not be edited manually anymore.&lt;br /&gt;
&lt;br /&gt;
====Index values====&lt;br /&gt;
If a certain property has [[Index value|index values]] defined, the respective column will be colored &amp;lt;span style=&amp;quot;background:LightSalmon;&amp;quot;&amp;gt;LightSalmon&amp;lt;/span&amp;gt; and become expandable. Expanding/collapsing can be done by either right clicking the column header or using the expand/collapse button in the Toolbar. When expanding, the editing column will multiply itself by the number of index values and present an own &amp;lt;span style=&amp;quot;background:LightYellow;&amp;quot;&amp;gt;LightYellow&amp;lt;/span&amp;gt; column for each index value.&lt;br /&gt;
&lt;br /&gt;
{{Hint|A multilanguage MetaProperty is actually a string property with index values defined for each system language!}}&lt;br /&gt;
&lt;br /&gt;
====Captions====&lt;br /&gt;
* each column shows the string representation of the respective MetaProperty as its header text&lt;br /&gt;
* the first column of each row is always titled ''_RowObject'' and shows the string representation of the corresponding instance&lt;br /&gt;
&lt;br /&gt;
====Tooltips====&lt;br /&gt;
There are two kinds of Tooltips used in this control:&lt;br /&gt;
* when hovering over the header of column, a Tooltip will show the type of the column&lt;br /&gt;
* when hovering over a cell which's text is deprecated, a Tooltip will show the full text&lt;br /&gt;
&lt;br /&gt;
===Editing===&lt;br /&gt;
When editing a value, it will only be written back to the respective property when you leave the cell. At that very point in time, the Bulk Editor also runs an integrity check against the [[Rule|rules]] and tests if the value you've entered can be stored on the property. If this fails, the row and cell will show a red exclamation mark with a Tooltip telling which rule was violated. The exclamation mark on the cell disappears once you've entered a valid value for this property, the exclamation mark on the row only disappears if all properties of the respective {{UBIK}} object have a valid value. If a warning range is defined in the validation, an exclamation mark on yellow background will be shown to inform the user about a value that has to be paid special attention to. However, values showing the warning sign are accepted as a valid input.&lt;br /&gt;
&lt;br /&gt;
{{Hint| While editing a value, you can use {{key press|ESC}} to undo your editing!}}&lt;br /&gt;
{{Hint| To improve performance, cells containing huge XML data are shortened by only showing the starting characters of the code. When the XML cell is marked or clicked for editing, the full text will be loaded. Please be aware that this can be a time consuming task!}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Drag &amp;amp; Drop===&lt;br /&gt;
The Object Editor control is a source and a target for Drag&amp;amp;Drop operations:&lt;br /&gt;
&lt;br /&gt;
* Any object can be dropped on a cell if the dragged object matches the data type of the respective property &lt;br /&gt;
* A single instance object can be dragged from the Bulk Edito by dragging the header of the row&lt;br /&gt;
* Objects stored in a cell can be dragged using the right mouse button&lt;br /&gt;
&lt;br /&gt;
==Toolbar==&lt;br /&gt;
[[File:UI_BulkEditor_Toolbar_With_UID.png|thumb|350px|Bulk Editor Toolbar]]&lt;br /&gt;
The Bulk Editor features a Toolbar with the following items from left to right:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; | width = &amp;quot;50%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Item !! Purpose &lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| View Style || Indicates or changes the [[#View Style|View Style]] of the control; changing it will result in reloading of the control &lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Navigate to context object || Attempts to [[Navigation|navigate]] to the current context object&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Save || Saves all instances currently shown in the control&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Filter namespace || Filters all current instances by the [[Namespace|namespace]] of the set context object&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Select columns|| Opens a sub menu with all displayed columns and allows to show/hide them explicitly&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Expand/Collapse index columns|| Allows to show or hide the [[Bulk Editor#Index values|index columns]] if the currently selected column has index values &lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| UID || Shows or hides the UID column &lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Print || No functionality yet&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Cut || Cuts the value of the current cell into the clipboard&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Copy || Copies the value of the current cell into the clipboard&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Paste || Pastes the value from the clipboard into the current cell&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Move to first object|| Selects the first row&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Move to previous object|| Selects the previous row&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Current object|| Shows or sets the current row; enter a value and press {{key press|Enter}} to select a specific row&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Move to next object|| Selects the next row&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Move to last object|| Selects the last row&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Delete || Allows to delete all selected rows&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Context menu==&lt;br /&gt;
Right clicking on a cell that stores a {{UBIK}} object will bring up the standard [[Navigation|navigation]] context menu. In addition, cells of type GUID or Reference will show a Remove menu item, where clicking it will set the value of the cell to null.&lt;br /&gt;
&lt;br /&gt;
==View Styles==&lt;br /&gt;
The Object Editor has only one view style at the moment.&lt;br /&gt;
&lt;br /&gt;
==Other functionality==&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[Object Editor]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Studio controls|Bulk Editor]]&lt;/div&gt;</summary>
		<author><name>DEH</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=Bulk_Editor&amp;diff=28461</id>
		<title>Bulk Editor</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=Bulk_Editor&amp;diff=28461"/>
				<updated>2025-08-05T11:12:37Z</updated>
		
		<summary type="html">&lt;p&gt;DEH: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Bulk Editor is designed to display and edit the [[BaseProperty|properties]] of a multiple {{UBIK}} objects. Technically, it reads the [[MetaProperty]] definition of each [[Instance|instance]] of the context object (directly from the context object if it is of type [[MetaClass]], otherwise it gets the MetaClass of the context object and reads the definition from its instances.&lt;br /&gt;
&lt;br /&gt;
{{ControlInfoBox&lt;br /&gt;
| title = Bulk Editor&lt;br /&gt;
| name = Bulk Editor&lt;br /&gt;
| internalname = CtrlBulkEditor&lt;br /&gt;
| image = [[File:UI_BulkEditor.png|220px]]&lt;br /&gt;
| imagecaption = Bulk Editor control&lt;br /&gt;
| purpose = Display and edit multiple objects&lt;br /&gt;
| context = MetaClass&lt;br /&gt;
| version = 2+&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Basics==&lt;br /&gt;
&lt;br /&gt;
===Appearance===&lt;br /&gt;
====Rows and columns====&lt;br /&gt;
The control reads the current context object and displays a row for each instance of it and a column for each found property (since 3.7.0 a set of preconfigured columns are hidden by default and the instances are sorted by default by CreationTimeStamp), its appearance depending on the respective data type of the [[MetaProperty]]. The following data types and thus different columns and editing controls are currently supported:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; | width = &amp;quot;50%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Data type!! Example !! Comment &lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Bool || [[File:UI_BulkEditor_Bool.png|300px]] || A [[MetaProperty#Boolean|boolean]] value to be read/set via a Checkbox&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| DateTime || [[File:UI_BulkEditor_DateTime.png|300px]] || A [[MetaProperty#Date Time|Date/Time]] value where the format is according to regional settings; a double click opens a dialog to pick a date from a calendar&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Double || - || A [[MetaProperty#Floating Point|floating point]] value, optionally with [[Unit|unit of measurement]]&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| FileReference|| [[File:UI_BulkEditor_File.png|300px]] || A [[MetaProperty#File Reference|path to a physical file]]; a double click opens a dialog to pick a file from the file system&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| GeoData || [[File:UI_BulkEditor_GEO.png|300px]] || A [[MetaProperty#Geographical Coordinate|geographical coordinate]]; a double click opens a dialog to enter the values separately&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Guid|| [[File:UI_BulkEditor_GUID.png|300px]] || A [[MetaProperty#Guid|pointer]] to another object&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Reference|| [[File:UI_BulkEditor_Reference.png|300px]] || A [[MetaProperty#Reference|reference]] to another object; a double click opens a picker to select the target object &lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Int|| - || A [[MetaProperty#Integer|discrete]] number&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| String|| - || A [[MetaProperty#Text|text]] value&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Selective lists====&lt;br /&gt;
If a certain property has a [[SELECTIVELIST|selective list]] defined, the respective column will display a Combobox with all items of the list instead of the value field. The value can then only be selected from the list, but not be edited manually anymore.&lt;br /&gt;
&lt;br /&gt;
====Index values====&lt;br /&gt;
If a certain property has [[Index value|index values]] defined, the respective column will be colored &amp;lt;span style=&amp;quot;background:LightSalmon;&amp;quot;&amp;gt;LightSalmon&amp;lt;/span&amp;gt; and become expandable. Expanding/collapsing can be done by either right clicking the column header or using the expand/collapse button in the Toolbar. When expanding, the editing column will multiply itself by the number of index values and present an own &amp;lt;span style=&amp;quot;background:LightYellow;&amp;quot;&amp;gt;LightYellow&amp;lt;/span&amp;gt; column for each index value.&lt;br /&gt;
&lt;br /&gt;
{{Hint|A multilanguage MetaProperty is actually a string property with index values defined for each system language!}}&lt;br /&gt;
&lt;br /&gt;
====Captions====&lt;br /&gt;
* each column shows the string representation of the respective MetaProperty as its header text&lt;br /&gt;
* the first column of each row is always titled ''_RowObject'' and shows the string representation of the corresponding instance&lt;br /&gt;
&lt;br /&gt;
====Tooltips====&lt;br /&gt;
There are two kinds of Tooltips used in this control:&lt;br /&gt;
* when hovering over the header of column, a Tooltip will show the type of the column&lt;br /&gt;
* when hovering over a cell which's text is deprecated, a Tooltip will show the full text&lt;br /&gt;
&lt;br /&gt;
===Editing===&lt;br /&gt;
When editing a value, it will only be written back to the respective property when you leave the cell. At that very point in time, the Bulk Editor also runs an integrity check against the [[Rule|rules]] and tests if the value you've entered can be stored on the property. If this fails, the row and cell will show a red exclamation mark with a Tooltip telling which rule was violated. The exclamation mark on the cell disappears once you've entered a valid value for this property, the exclamation mark on the row only disappears if all properties of the respective {{UBIK}} object have a valid value. If a warning range is defined in the validation, an exclamation mark on yellow background will be shown to inform the user about a value that has to be paid special attention to. However, values showing the warning sign are accepted as a valid input.&lt;br /&gt;
&lt;br /&gt;
{{Hint| While editing a value, you can use {{key press|ESC}} to undo your editing!}}&lt;br /&gt;
{{Hint| To improve performance, cells containing huge XML data are shortened by only showing the starting characters of the code. When the XML cell is marked or clicked for editing, the full text will be loaded. Please be aware that this can be a time consuming task!}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Drag &amp;amp; Drop===&lt;br /&gt;
The Object Editor control is a source and a target for Drag&amp;amp;Drop operations:&lt;br /&gt;
&lt;br /&gt;
* Any object can be dropped on a cell if the dragged object matches the data type of the respective property &lt;br /&gt;
* A single instance object can be dragged from the Bulk Edito by dragging the header of the row&lt;br /&gt;
* Objects stored in a cell can be dragged using the right mouse button&lt;br /&gt;
&lt;br /&gt;
{{UnderConstructionStart}}&lt;br /&gt;
==Toolbar==&lt;br /&gt;
[[File:UI_BulkEditor_Toolbar_With_UID.png|thumb|350px|Bulk Editor Toolbar]]&lt;br /&gt;
The Bulk Editor features a Toolbar with the following items from left to right:&lt;br /&gt;
{{UnderConstructionEnd}}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; | width = &amp;quot;50%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Item !! Purpose &lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| View Style || Indicates or changes the [[#View Style|View Style]] of the control; changing it will result in reloading of the control &lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Navigate to context object || Attempts to [[Navigation|navigate]] to the current context object&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Save || Saves all instances currently shown in the control&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Filter namespace || Filters all current instances by the [[Namespace|namespace]] of the set context object&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Select columns|| Opens a sub menu with all displayed columns and allows to show/hide them explicitly&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Expand/Collapse index columns|| Allows to show or hide the [[Bulk Editor#Index values|index columns]] if the currently selected column has index values &lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| UID || Shows or hides the UID column &lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Print || No functionality yet&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Cut || Cuts the value of the current cell into the clipboard&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Copy || Copies the value of the current cell into the clipboard&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Paste || Pastes the value from the clipboard into the current cell&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Move to first object|| Selects the first row&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Move to previous object|| Selects the previous row&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Current object|| Shows or sets the current row; enter a value and press {{key press|Enter}} to select a specific row&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Move to next object|| Selects the next row&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Move to last object|| Selects the last row&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Delete || Allows to delete all selected rows&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Context menu==&lt;br /&gt;
Right clicking on a cell that stores a {{UBIK}} object will bring up the standard [[Navigation|navigation]] context menu. In addition, cells of type GUID or Reference will show a Remove menu item, where clicking it will set the value of the cell to null.&lt;br /&gt;
&lt;br /&gt;
==View Styles==&lt;br /&gt;
The Object Editor has only one view style at the moment.&lt;br /&gt;
&lt;br /&gt;
==Other functionality==&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[Object Editor]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Studio controls|Bulk Editor]]&lt;/div&gt;</summary>
		<author><name>DEH</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=File:UI_BulkEditor_Toolbar_With_UID.png&amp;diff=28460</id>
		<title>File:UI BulkEditor Toolbar With UID.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=File:UI_BulkEditor_Toolbar_With_UID.png&amp;diff=28460"/>
				<updated>2025-08-05T11:08:08Z</updated>
		
		<summary type="html">&lt;p&gt;DEH: File uploaded with MsUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;File uploaded with MsUpload&lt;/div&gt;</summary>
		<author><name>DEH</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=File:UI_BulkEditor_Toolba_With_UID.png&amp;diff=28459</id>
		<title>File:UI BulkEditor Toolba With UID.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=File:UI_BulkEditor_Toolba_With_UID.png&amp;diff=28459"/>
				<updated>2025-08-05T11:06:39Z</updated>
		
		<summary type="html">&lt;p&gt;DEH: File uploaded with MsUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;File uploaded with MsUpload&lt;/div&gt;</summary>
		<author><name>DEH</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=File:UI_BulkEditor_Toolbar.png&amp;diff=28458</id>
		<title>File:UI BulkEditor Toolbar.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=File:UI_BulkEditor_Toolbar.png&amp;diff=28458"/>
				<updated>2025-08-05T11:04:54Z</updated>
		
		<summary type="html">&lt;p&gt;DEH: DEH uploaded a new version of File:UI BulkEditor Toolbar.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>DEH</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=File:UI_BulkEditor_Toolbar.png&amp;diff=28457</id>
		<title>File:UI BulkEditor Toolbar.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=File:UI_BulkEditor_Toolbar.png&amp;diff=28457"/>
				<updated>2025-08-05T11:03:36Z</updated>
		
		<summary type="html">&lt;p&gt;DEH: DEH uploaded a new version of File:UI BulkEditor Toolbar.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>DEH</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=File:UI_BulkEditor_Toolbar.png&amp;diff=28456</id>
		<title>File:UI BulkEditor Toolbar.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=File:UI_BulkEditor_Toolbar.png&amp;diff=28456"/>
				<updated>2025-08-05T10:58:50Z</updated>
		
		<summary type="html">&lt;p&gt;DEH: DEH uploaded a new version of File:UI BulkEditor Toolbar.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>DEH</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=File:UI_BulkEditor_Toolbar.png&amp;diff=28455</id>
		<title>File:UI BulkEditor Toolbar.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=File:UI_BulkEditor_Toolbar.png&amp;diff=28455"/>
				<updated>2025-08-05T10:57:47Z</updated>
		
		<summary type="html">&lt;p&gt;DEH: DEH uploaded a new version of File:UI BulkEditor Toolbar.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>DEH</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=File:UI_BulkEditor_Toolbar.png&amp;diff=28454</id>
		<title>File:UI BulkEditor Toolbar.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=File:UI_BulkEditor_Toolbar.png&amp;diff=28454"/>
				<updated>2025-08-05T10:54:02Z</updated>
		
		<summary type="html">&lt;p&gt;DEH: DEH uploaded a new version of File:UI BulkEditor Toolbar.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>DEH</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=Bulk_Editor&amp;diff=28445</id>
		<title>Bulk Editor</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=Bulk_Editor&amp;diff=28445"/>
				<updated>2025-08-01T09:38:29Z</updated>
		
		<summary type="html">&lt;p&gt;DEH: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Bulk Editor is designed to display and edit the [[BaseProperty|properties]] of a multiple {{UBIK}} objects. Technically, it reads the [[MetaProperty]] definition of each [[Instance|instance]] of the context object (directly from the context object if it is of type [[MetaClass]], otherwise it gets the MetaClass of the context object and reads the definition from its instances.&lt;br /&gt;
&lt;br /&gt;
{{ControlInfoBox&lt;br /&gt;
| title = Bulk Editor&lt;br /&gt;
| name = Bulk Editor&lt;br /&gt;
| internalname = CtrlBulkEditor&lt;br /&gt;
| image = [[File:UI_BulkEditor.png|220px]]&lt;br /&gt;
| imagecaption = Bulk Editor control&lt;br /&gt;
| purpose = Display and edit multiple objects&lt;br /&gt;
| context = MetaClass&lt;br /&gt;
| version = 2+&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Basics==&lt;br /&gt;
&lt;br /&gt;
===Appearance===&lt;br /&gt;
====Rows and columns====&lt;br /&gt;
The control reads the current context object and displays a row for each instance of it and a column for each found property (since 3.7.0 a set of preconfigured columns are hidden by default and the instances are sorted by default by CreationTimeStamp), its appearance depending on the respective data type of the [[MetaProperty]]. The following data types and thus different columns and editing controls are currently supported:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; | width = &amp;quot;50%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Data type!! Example !! Comment &lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Bool || [[File:UI_BulkEditor_Bool.png|300px]] || A [[MetaProperty#Boolean|boolean]] value to be read/set via a Checkbox&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| DateTime || [[File:UI_BulkEditor_DateTime.png|300px]] || A [[MetaProperty#Date Time|Date/Time]] value where the format is according to regional settings; a double click opens a dialog to pick a date from a calendar&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Double || - || A [[MetaProperty#Floating Point|floating point]] value, optionally with [[Unit|unit of measurement]]&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| FileReference|| [[File:UI_BulkEditor_File.png|300px]] || A [[MetaProperty#File Reference|path to a physical file]]; a double click opens a dialog to pick a file from the file system&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| GeoData || [[File:UI_BulkEditor_GEO.png|300px]] || A [[MetaProperty#Geographical Coordinate|geographical coordinate]]; a double click opens a dialog to enter the values separately&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Guid|| [[File:UI_BulkEditor_GUID.png|300px]] || A [[MetaProperty#Guid|pointer]] to another object&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Reference|| [[File:UI_BulkEditor_Reference.png|300px]] || A [[MetaProperty#Reference|reference]] to another object; a double click opens a picker to select the target object &lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Int|| - || A [[MetaProperty#Integer|discrete]] number&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| String|| - || A [[MetaProperty#Text|text]] value&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Selective lists====&lt;br /&gt;
If a certain property has a [[SELECTIVELIST|selective list]] defined, the respective column will display a Combobox with all items of the list instead of the value field. The value can then only be selected from the list, but not be edited manually anymore.&lt;br /&gt;
&lt;br /&gt;
====Index values====&lt;br /&gt;
If a certain property has [[Index value|index values]] defined, the respective column will be colored &amp;lt;span style=&amp;quot;background:LightSalmon;&amp;quot;&amp;gt;LightSalmon&amp;lt;/span&amp;gt; and become expandable. Expanding/collapsing can be done by either right clicking the column header or using the expand/collapse button in the Toolbar. When expanding, the editing column will multiply itself by the number of index values and present an own &amp;lt;span style=&amp;quot;background:LightYellow;&amp;quot;&amp;gt;LightYellow&amp;lt;/span&amp;gt; column for each index value.&lt;br /&gt;
&lt;br /&gt;
{{Hint|A multilanguage MetaProperty is actually a string property with index values defined for each system language!}}&lt;br /&gt;
&lt;br /&gt;
====Captions====&lt;br /&gt;
* each column shows the string representation of the respective MetaProperty as its header text&lt;br /&gt;
* the first column of each row is always titled ''_RowObject'' and shows the string representation of the corresponding instance&lt;br /&gt;
&lt;br /&gt;
====Tooltips====&lt;br /&gt;
There are two kinds of Tooltips used in this control:&lt;br /&gt;
* when hovering over the header of column, a Tooltip will show the type of the column&lt;br /&gt;
* when hovering over a cell which's text is deprecated, a Tooltip will show the full text&lt;br /&gt;
&lt;br /&gt;
===Editing===&lt;br /&gt;
When editing a value, it will only be written back to the respective property when you leave the cell. At that very point in time, the Bulk Editor also runs an integrity check against the [[Rule|rules]] and tests if the value you've entered can be stored on the property. If this fails, the row and cell will show a red exclamation mark with a Tooltip telling which rule was violated. The exclamation mark on the cell disappears once you've entered a valid value for this property, the exclamation mark on the row only disappears if all properties of the respective {{UBIK}} object have a valid value. If a warning range is defined in the validation, an exclamation mark on yellow background will be shown to inform the user about a value that has to be paid special attention to. However, values showing the warning sign are accepted as a valid input.&lt;br /&gt;
&lt;br /&gt;
{{Hint| While editing a value, you can use {{key press|ESC}} to undo your editing!}}&lt;br /&gt;
{{Hint| To improve performance, cells containing huge XML data are shortened by only showing the starting characters of the code. When the XML cell is marked or clicked for editing, the full text will be loaded. Please be aware that this can be a time consuming task!}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Drag &amp;amp; Drop===&lt;br /&gt;
The Object Editor control is a source and a target for Drag&amp;amp;Drop operations:&lt;br /&gt;
&lt;br /&gt;
* Any object can be dropped on a cell if the dragged object matches the data type of the respective property &lt;br /&gt;
* A single instance object can be dragged from the Bulk Edito by dragging the header of the row&lt;br /&gt;
* Objects stored in a cell can be dragged using the right mouse button&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Toolbar==&lt;br /&gt;
[[File:UI_BulkEditor_Toolbar.png|thumb|200px|Bulk Editor Toolbar]]&lt;br /&gt;
The Bulk Editor features a Toolbar with the following items from left to right:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; | width = &amp;quot;50%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Item !! Purpose &lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| View Style || Indicates or changes the [[#View Style|View Style]] of the control; changing it will result in reloading of the control &lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Navigate to context object || Attempts to [[Navigation|navigate]] to the current context object&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Save || Saves all instances currently shown in the control&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Filter namespace || Filters all current instances by the [[Namespace|namespace]] of the set context object&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Select columns|| Opens a sub menu with all displayed columns and allows to show/hide them explicitly&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Expand/Collapse index columns|| Allows to show or hide the [[Bulk Editor#Index values|index columns]] if the currently selected column has index values &lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| UID || Shows or hides the UID column &lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Print || No functionality yet&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Cut || Cuts the value of the current cell into the clipboard&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Copy || Copies the value of the current cell into the clipboard&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Paste || Pastes the value from the clipboard into the current cell&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Move to first object|| Selects the first row&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Move to previous object|| Selects the previous row&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Current object|| Shows or sets the current row; enter a value and press {{key press|Enter}} to select a specific row&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Move to next object|| Selects the next row&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Move to last object|| Selects the last row&lt;br /&gt;
|- align=&amp;quot;left&amp;quot;&lt;br /&gt;
| Delete || Allows to delete all selected rows&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Context menu==&lt;br /&gt;
Right clicking on a cell that stores a {{UBIK}} object will bring up the standard [[Navigation|navigation]] context menu. In addition, cells of type GUID or Reference will show a Remove menu item, where clicking it will set the value of the cell to null.&lt;br /&gt;
&lt;br /&gt;
==View Styles==&lt;br /&gt;
The Object Editor has only one view style at the moment.&lt;br /&gt;
&lt;br /&gt;
==Other functionality==&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[Object Editor]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Studio controls|Bulk Editor]]&lt;/div&gt;</summary>
		<author><name>DEH</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=SYSCLS_PREVENT_CACHING&amp;diff=27449</id>
		<title>SYSCLS PREVENT CACHING</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=SYSCLS_PREVENT_CACHING&amp;diff=27449"/>
				<updated>2024-10-30T14:30:36Z</updated>
		
		<summary type="html">&lt;p&gt;DEH: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ClassificationInfoBox&lt;br /&gt;
| title = Prevent caching classification&lt;br /&gt;
| name = {{PAGENAMEE}}&lt;br /&gt;
| inheritance = -&lt;br /&gt;
| namespace = System.Classification.Caching&lt;br /&gt;
| purpose = Prevents the caching for instances of MetaClasses classified with this.&lt;br /&gt;
| version = 4.9&lt;br /&gt;
| id = {3189c933-646c-442a-9e5f-09533e34535a}&lt;br /&gt;
}}&lt;br /&gt;
This classification is used to check whether objects should be cached or not.&lt;br /&gt;
&lt;br /&gt;
The following things are checked:&lt;br /&gt;
* the environment is not currently being initialized&lt;br /&gt;
* it is not a SystemObject&lt;br /&gt;
* the MetaClass of the object is not a SystemObject&lt;br /&gt;
* the classification is not on the object&lt;/div&gt;</summary>
		<author><name>DEH</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=SYSCLS_PREVENT_CACHING&amp;diff=27448</id>
		<title>SYSCLS PREVENT CACHING</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=SYSCLS_PREVENT_CACHING&amp;diff=27448"/>
				<updated>2024-10-30T14:27:43Z</updated>
		
		<summary type="html">&lt;p&gt;DEH: Created page with &amp;quot;{{ClassificationInfoBox | title = Prevent caching classification | name = {{PAGENAMEE}} | inheritance = - | namespace = System.Classification.Caching | purpose = Prevents the...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ClassificationInfoBox&lt;br /&gt;
| title = Prevent caching classification&lt;br /&gt;
| name = {{PAGENAMEE}}&lt;br /&gt;
| inheritance = -&lt;br /&gt;
| namespace = System.Classification.Caching&lt;br /&gt;
| purpose = Prevents the caching for instances of MetaClasses classified with this.&lt;br /&gt;
| version = ?&lt;br /&gt;
| id = {3189c933-646c-442a-9e5f-09533e34535a}&lt;br /&gt;
}}&lt;br /&gt;
This classification is used to check whether objects should be cached or not.&lt;br /&gt;
&lt;br /&gt;
The following things are checked:&lt;br /&gt;
* the environment is not currently being initialized&lt;br /&gt;
* it is not a SystemObject&lt;br /&gt;
* the MetaClass of the object is not a SystemObject&lt;br /&gt;
* the classification is not on the object&lt;/div&gt;</summary>
		<author><name>DEH</name></author>	</entry>

	</feed>