<?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=BMA</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=BMA"/>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=Special:Contributions/BMA"/>
		<updated>2026-04-25T00:50:19Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.24.2</generator>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=SYSCLS_DOCUMENT_FITMODE&amp;diff=21178</id>
		<title>SYSCLS DOCUMENT FITMODE</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=SYSCLS_DOCUMENT_FITMODE&amp;diff=21178"/>
				<updated>2019-03-06T08:55:38Z</updated>
		
		<summary type="html">&lt;p&gt;BMA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ClassificationInfoBox&lt;br /&gt;
| title = SYSCLS_DOCUMENT_FITMODE&lt;br /&gt;
| name = {{PAGENAMEE}}&lt;br /&gt;
| inheritance = SYSCLS_DOCUMENT&lt;br /&gt;
| namespace = System.Classification.Presentation&lt;br /&gt;
| purpose = Document &amp;quot;Fit to&amp;quot; mode classification object&lt;br /&gt;
| version = 2.6.3+&lt;br /&gt;
| id = {5ac5aa58-d59e-dc68-645d-0206ee75e688}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The DOCUMENT FITMODE is a classification that allows a ubik data designer do pre-define how a document will be initially presented on the client, before any pan-zoom user interaction was done. This gives the possibility to optimize the user experience when quickly browsing through documents.  For multi-page documents, the setting applies to the first page only. The needed parameter can be provided individually for each document by defining a value the property &amp;quot;FIT_MODE&amp;quot; (see table below):&lt;br /&gt;
&lt;br /&gt;
* 0 ... Unspecified (default): The document will be shown as it is (100%). If the document is larger than the presentation area it will be cropped randomly.&lt;br /&gt;
* 1 ... Fit to container: The document will be fitted to the presentation area in the UI. This will ensure that the document will not be cropped.&lt;br /&gt;
* 2 ... Fit to width: The document scaling will be adapted to use the full presentation area width. If the document height is larger than the presentation area height, it will be cropped.&lt;br /&gt;
* 3 ... Fit to height: The document scaling will be adapted to use the full presentation area height. If the document widthis larger than the presentation area width, it will be cropped.&lt;br /&gt;
&lt;br /&gt;
== MetaProperties ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=50%&lt;br /&gt;
|-&lt;br /&gt;
! width=30% | Name !! width=30% | Data type !! Comment&lt;br /&gt;
|-&lt;br /&gt;
| FIT_MODE|| {{int}} || Document &amp;quot;Fit to&amp;quot; mode;&amp;lt;br/&amp;gt;0 - &amp;quot;Unspecified&amp;quot;&amp;lt;br/&amp;gt;1 - &amp;quot;Fit to container&amp;quot;&amp;lt;br/&amp;gt;2 - &amp;quot;Fit to width&amp;quot;&amp;lt;br/&amp;gt;3 - &amp;quot;Fit to height&amp;quot;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[HowTo:Create_a_new_Classification]]&lt;br /&gt;
* [[HowTo:Assign a Classification to a MetaClass]]&lt;br /&gt;
&lt;br /&gt;
{{Category/Version|3.0.0}}&lt;br /&gt;
&lt;br /&gt;
[[Category:3.0.0|SYSCLS DOCUMENT FITMODE]]&lt;br /&gt;
[[Category:Classifications|SYSCLS DOCUMENT FITMODE]]&lt;/div&gt;</summary>
		<author><name>BMA</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=SYSCLS_DOCUMENT_FITMODE&amp;diff=21177</id>
		<title>SYSCLS DOCUMENT FITMODE</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=SYSCLS_DOCUMENT_FITMODE&amp;diff=21177"/>
				<updated>2019-03-06T08:55:09Z</updated>
		
		<summary type="html">&lt;p&gt;BMA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ClassificationInfoBox&lt;br /&gt;
| title = SYSCLS_DOCUMENT_FITMODE&lt;br /&gt;
| name = {{PAGENAMEE}}&lt;br /&gt;
| inheritance = SYSCLS_DOCUMENT&lt;br /&gt;
| namespace = System.Classification.Presentation&lt;br /&gt;
| purpose = Document &amp;quot;Fit to&amp;quot; mode classification object&lt;br /&gt;
| version = 2.6.3+&lt;br /&gt;
| id = {5ac5aa58-d59e-dc68-645d-0206ee75e688}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The DOCUMENT FITMODE is a classification that allows a ubik data designer do pre-define how a document will be initially presented on the client, before any pan-zoom user interaction was done. This gives the possibility to optimize the user experience when quickly browsing through documents.  For multi-page documents, the setting applies to the first page only. The needed parameter can be provided individually for each document by defining a value the property &amp;quot;FIT_TYPE&amp;quot; (see table below):&lt;br /&gt;
&lt;br /&gt;
* 0 ... Unspecified (default): The document will be shown as it is (100%). If the document is larger than the presentation area it will be cropped randomly.&lt;br /&gt;
* 1 ... Fit to container: The document will be fitted to the presentation area in the UI. This will ensure that the document will not be cropped.&lt;br /&gt;
* 2 ... Fit to width: The document scaling will be adapted to use the full presentation area width. If the document height is larger than the presentation area height, it will be cropped.&lt;br /&gt;
* 3 ... Fit to height: The document scaling will be adapted to use the full presentation area height. If the document widthis larger than the presentation area width, it will be cropped.&lt;br /&gt;
&lt;br /&gt;
== MetaProperties ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=50%&lt;br /&gt;
|-&lt;br /&gt;
! width=30% | Name !! width=30% | Data type !! Comment&lt;br /&gt;
|-&lt;br /&gt;
| FIT_MODE|| {{int}} || Document &amp;quot;Fit to&amp;quot; mode;&amp;lt;br/&amp;gt;0 - &amp;quot;Unspecified&amp;quot;&amp;lt;br/&amp;gt;1 - &amp;quot;Fit to container&amp;quot;&amp;lt;br/&amp;gt;2 - &amp;quot;Fit to width&amp;quot;&amp;lt;br/&amp;gt;3 - &amp;quot;Fit to height&amp;quot;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[HowTo:Create_a_new_Classification]]&lt;br /&gt;
* [[HowTo:Assign a Classification to a MetaClass]]&lt;br /&gt;
&lt;br /&gt;
{{Category/Version|3.0.0}}&lt;br /&gt;
&lt;br /&gt;
[[Category:3.0.0|SYSCLS DOCUMENT FITMODE]]&lt;br /&gt;
[[Category:Classifications|SYSCLS DOCUMENT FITMODE]]&lt;/div&gt;</summary>
		<author><name>BMA</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=SYSCLS_DOCUMENT_FITMODE&amp;diff=21176</id>
		<title>SYSCLS DOCUMENT FITMODE</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=SYSCLS_DOCUMENT_FITMODE&amp;diff=21176"/>
				<updated>2019-03-06T08:52:22Z</updated>
		
		<summary type="html">&lt;p&gt;BMA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ClassificationInfoBox&lt;br /&gt;
| title = SYSCLS_DOCUMENT_FITMODE&lt;br /&gt;
| name = {{PAGENAMEE}}&lt;br /&gt;
| inheritance = SYSCLS_DOCUMENT&lt;br /&gt;
| namespace = System.Classification.Presentation&lt;br /&gt;
| purpose = Document &amp;quot;Fit to&amp;quot; mode classification object&lt;br /&gt;
| version = 2.6.3+&lt;br /&gt;
| id = {5ac5aa58-d59e-dc68-645d-0206ee75e688}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The DOCUMENT FITMODE is a classification that allows a ubik data designer do pre-define how a document will be initially presented on the client, before any pan-zoom user interaction was done. This gives the possibility to optimize the user experience when quickly browsing through documents.  For multi-page documents, the setting applies to the first page only. The needed parameter can be provided individually for each document by defining a value the property &amp;quot;FIT_TYPE&amp;quot; (see table below):&lt;br /&gt;
&lt;br /&gt;
* 0 ... Unspecified (default): The document will be shown as it is (100%)&lt;br /&gt;
* 1 ... Fit to container: The document will be fitted to the presentation area in the UI.&lt;br /&gt;
* 2 ... Fit to width: The document scaling will be adapted to use the full presentation area width.&lt;br /&gt;
* 3 ... Fit to height: The document scaling will be adapted to use the full presentation area height.&lt;br /&gt;
&lt;br /&gt;
== MetaProperties ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=50%&lt;br /&gt;
|-&lt;br /&gt;
! width=30% | Name !! width=30% | Data type !! Comment&lt;br /&gt;
|-&lt;br /&gt;
| FIT_MODE|| {{int}} || Document &amp;quot;Fit to&amp;quot; mode;&amp;lt;br/&amp;gt;0 - &amp;quot;Unspecified&amp;quot;&amp;lt;br/&amp;gt;1 - &amp;quot;Fit to container&amp;quot;&amp;lt;br/&amp;gt;2 - &amp;quot;Fit to width&amp;quot;&amp;lt;br/&amp;gt;3 - &amp;quot;Fit to height&amp;quot;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[HowTo:Create_a_new_Classification]]&lt;br /&gt;
* [[HowTo:Assign a Classification to a MetaClass]]&lt;br /&gt;
&lt;br /&gt;
{{Category/Version|3.0.0}}&lt;br /&gt;
&lt;br /&gt;
[[Category:3.0.0|SYSCLS DOCUMENT FITMODE]]&lt;br /&gt;
[[Category:Classifications|SYSCLS DOCUMENT FITMODE]]&lt;/div&gt;</summary>
		<author><name>BMA</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=SYSCLS_UNLOCK_GROUP_BY_SCAN&amp;diff=21089</id>
		<title>SYSCLS UNLOCK GROUP BY SCAN</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=SYSCLS_UNLOCK_GROUP_BY_SCAN&amp;diff=21089"/>
				<updated>2018-12-14T09:39:13Z</updated>
		
		<summary type="html">&lt;p&gt;BMA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ClassificationInfoBox&lt;br /&gt;
| title = Unlock Group by Scan Classification&lt;br /&gt;
| name = {{PAGENAMEE}}&lt;br /&gt;
| inheritance = Unlock By Scan Classification&lt;br /&gt;
| namespace = System.Classification.Scan&lt;br /&gt;
| purpose = Classify objects as not editable (on the client) until scanned. A group of objects can be unlocked with a single scan.&lt;br /&gt;
| version = 2.5.3+&lt;br /&gt;
| id = {000007B9-83AB-4566-B9AB-B1D4BE861777}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Classifies an object to be locked (not editable) on the client until the object has been identified through scanning either an Optical code, RFID or OCR. It is possible to unlock a group of objects with a single scan. The group of objects is defined by all objects having the identic value in their '''unlock code''' property. Once one of the objects was scanned the properties of all objects carrying the given code can be edited. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== MetaProperties ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; width=50%&lt;br /&gt;
|-&lt;br /&gt;
! width=30% | Name !! width=20% | Data type !! Comment&lt;br /&gt;
|-&lt;br /&gt;
| UNLOCK_CODE|| {{String}} || This code is used for defining a group objects. If one object of the group is scanned, all objects having an identic code are unlocked as well.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[SYSCLS_UNLOCK_BY_SCAN|Unlock objects by scan classification object]]&lt;br /&gt;
&lt;br /&gt;
{{Category/Version|2.5.3}}&lt;br /&gt;
&lt;br /&gt;
[[Category:2.5.3|SYSCLS UNLOCK GROUP BY SCAN]]&lt;br /&gt;
[[Category:Classifications|SYSCLS UNLOCK GROUP BY SCAN]]&lt;/div&gt;</summary>
		<author><name>BMA</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=UBIK_Console&amp;diff=21071</id>
		<title>UBIK Console</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=UBIK_Console&amp;diff=21071"/>
				<updated>2018-12-05T08:13:39Z</updated>
		
		<summary type="html">&lt;p&gt;BMA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The {{UBIK}} Console allows a user to interact with UBIK via C# script-code.&lt;br /&gt;
&lt;br /&gt;
== Concept ==&lt;br /&gt;
C# code will be interpreted like script code. This script can be either loaded from file and executed at start up or directly typed into a console window. When starting up the console it will automatically execute some common using statements in order to comfortably with code from these assemblies: System, UBIK, UBIK.Kernel, System.Collections.Generic, UBIK.Dynamic, System.Linq. If you need other namespaces you need to load them in your code.&lt;br /&gt;
&lt;br /&gt;
[[File:UBIK.Console.PNG|500px|]]&lt;br /&gt;
&lt;br /&gt;
== Using the console ==&lt;br /&gt;
As UBIK.Console is a command line application without any graphical user interface, it can be started in two ways:&lt;br /&gt;
* Start UBIK.Console.exe which will open a commandline interface&lt;br /&gt;
* Start directly out of a windows command line (e.g. powershell or cmd.exe)&lt;br /&gt;
&lt;br /&gt;
=== Mono and Roslyn ===&lt;br /&gt;
The console can either execute using Roslyn or Mono. By typing ''#mono'' or ''#roslyn'' you can switch between these engines. The default is Roslyn.&lt;br /&gt;
&lt;br /&gt;
== Example using Script file to connect to a Database ==&lt;br /&gt;
&amp;lt;source lang=csharp&amp;gt;&lt;br /&gt;
&amp;gt;//build up a connection to a UBIK database&lt;br /&gt;
&amp;gt;var demo = new UBIKEnvironmentConnection(&amp;quot;Data Source = AUGLNZ2SQL2016; Initial Catalog = UBIK.DEMO.262; Persist Security Info = True; User ID = sa; Password = ****&amp;quot;);&lt;br /&gt;
//Connecting ('Data Source=AUGLNZ2SQL2016;Initial Catalog=UBIK.DEMO.262;Persist Security Info=True;User ID=sa;Password=********')&lt;br /&gt;
//Database version: 2.6.2.0&lt;br /&gt;
//Kernel version: 2.6.0.0&lt;br /&gt;
//Customizing version: 2.6.215&lt;br /&gt;
//Session mgmt. type: SingleLocal_Management&lt;br /&gt;
//USAM ignored.&lt;br /&gt;
//bma (AUGBMA02) now connected to 'UBIK.DEMO.262'.&lt;br /&gt;
&lt;br /&gt;
&amp;gt;//get one of the metaclasses&lt;br /&gt;
&amp;gt;var metaclassOfPump = demo.Environment.UBIKDataFactory().MetaClass(new Guid(&amp;quot;b81a9d31-03b2-4dbd-91aa-b62c499011f7&amp;quot;));&lt;br /&gt;
&lt;br /&gt;
&amp;gt;//find a content object (e.g. the first one with the name &amp;quot;PU212&amp;quot;)&lt;br /&gt;
&amp;gt;var myFavouritePump = metaclassOfPump.AllInstances(&amp;quot;PU212&amp;quot;).FirstOrDefault();&lt;br /&gt;
&lt;br /&gt;
&amp;gt;//show all interesting propertyvalues&lt;br /&gt;
&amp;gt;foreach(var prop in myFavouritePump.Properties.Where(p =&amp;gt; p.DisplayValue() != &amp;quot;&amp;quot;)) //%&lt;br /&gt;
&amp;gt;{ //%&lt;br /&gt;
&amp;gt;    Console.WriteLine(&amp;quot;//{0} = {1}&amp;quot;, prop.Description, prop.DisplayValue()); //%&lt;br /&gt;
&amp;gt;}&lt;br /&gt;
//Shutdown finished = False&lt;br /&gt;
//RPM = 2920&lt;br /&gt;
//Flow rate = 68&lt;br /&gt;
//Nominal Diameter DN1 = 80&lt;br /&gt;
//Protection = II 2 G c TX&lt;br /&gt;
//Nominal Power (Process) = 55&lt;br /&gt;
//Static Head = 18&lt;br /&gt;
//Nominal Power (electrical) = 50&lt;br /&gt;
//Live RPM = (RPM)&lt;br /&gt;
//Live Flow = (Flow1)&lt;br /&gt;
//Height = 750&lt;br /&gt;
//Nominal Diameter DN2 = 60&lt;br /&gt;
//Nominal Pressure PN2 = 20&lt;br /&gt;
//Variable Frequency Drive = False&lt;br /&gt;
//Volt = 400&lt;br /&gt;
//Impeller Diameter = 120&lt;br /&gt;
//Nominal Pressure PN1 = 16&lt;br /&gt;
//Weight = 234&lt;br /&gt;
//Installation Level = 60&lt;br /&gt;
//Parent POI Group ID = DEMO_LEVEL_1 (Demo Level 1)&lt;br /&gt;
//Technical Status = 0&lt;br /&gt;
//Organisational Status = 0&lt;br /&gt;
//Type = KSB Kreiselpumpe&lt;br /&gt;
//Layer ID = ML_PUMP (Pumps)&lt;br /&gt;
//Position Number = A12345&lt;br /&gt;
//QR Code = PU212&lt;br /&gt;
//Order Number = SAP987456&lt;br /&gt;
//Barcode = PU212&lt;br /&gt;
//Marker ID = 2&lt;br /&gt;
//OCRText = PU212&lt;br /&gt;
//Weblink = http://www.augmensys.com&lt;br /&gt;
//Progress = 50&lt;br /&gt;
//Manufacturer = KSB AG&lt;br /&gt;
//Weight = 6&lt;br /&gt;
//Maintenance finished = False&lt;br /&gt;
//Geo data = 46,6152954101563;14,2624282836914;0&lt;br /&gt;
//Scan = PU212&lt;br /&gt;
//SAP-ID = 210100092&lt;br /&gt;
//Namespace = DemoHL&lt;br /&gt;
//Name = PU212&lt;br /&gt;
//Description = Effluent Discharge Pumpx&lt;br /&gt;
//Created on = 22.07.2013 14:43:20&lt;br /&gt;
//Delete status = 0&lt;br /&gt;
//UTS = 27.11.2018 17:18:33&lt;br /&gt;
//Update session = MHM@unknown device -- 27.11.2018 10:40:13&lt;br /&gt;
//Version = 983&lt;br /&gt;
&amp;gt;&lt;br /&gt;
&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Example using Script file to connect to a UBIK Web Service==&lt;br /&gt;
&amp;lt;source lang=csharp&amp;gt;&lt;br /&gt;
&amp;gt;var demo = new UBIKServiceConnection(&amp;quot;console&amp;quot;, &amp;quot;ubik&amp;quot;, &amp;quot;*****&amp;quot;, &amp;quot;APP_DEMO&amp;quot;, &amp;quot;CXT_DEMO&amp;quot;, &amp;quot;https://52.178.138.55:777/UBIK/DEMO.250/Usam/USAM.svc/SOAP&amp;quot;, &amp;quot;https://52.178.138.55:777/UBIK/DEMO.250/Content/UBIKContent.svc/SOAP&amp;quot;);&lt;br /&gt;
&amp;gt;var rootObjects = demo.GetRoot();&lt;br /&gt;
Fetching root objects.&lt;br /&gt;
Fetching token for 'ubik@console' from 'https://52.178.138.55:777/UBIK/DEMO.250/Usam/USAM.svc/SOAP'.&lt;br /&gt;
ok (105 ms).&lt;br /&gt;
Service request delivered 4 objects (218 ms).&lt;br /&gt;
&amp;gt;@&amp;quot;\\&amp;quot; + string.Join(&amp;quot;, &amp;quot;, rootObjects.Select(item =&amp;gt; item.DisplayStrings[0]))&lt;br /&gt;
\\Plant, Inspection, Playground, Commissioning&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Example using Script file ==&lt;br /&gt;
In order to execute a C# script file using the {{UBIK}} Console you need execute the UBIK.Console.exe using the ''-cmdfile'' parameter. If you add the ''-connectionstring'' parameter as shown in the example the console will instantiate UBIKEnvironmentConnection variable called ''ubikEnvironmentConnection''. This variable is then accessible in your script and can be used. Also the current customizing assembly will be added to the script.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;powershell&amp;quot;&amp;gt;&lt;br /&gt;
UBIK.Console.exe  -cmdfile &amp;quot;\\PathToScript\script.txt&amp;quot; -connectionstring &amp;quot;Data Source = ...; Initial Catalog = ...; User ID = ...; Password = ...&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following script code is taken from the example script file and shows how to work with {{UBIK}} Console via script file. If you store these six lines to a text file you can directly run it. In line one a new dependency is loaded, namely the [http://wiki.augmensys.com/index.php?title=UBIK_DBTool DBTool]. Line two creates a SqlConnectionStringBuilder in order to work comfortably with the connectionstring provided by ubikEnvironmentConnection. Line four calls a method from the customizing assembly which has been loaded by the console for us as mention earlier. Line 6 uses the DBTool project and creates a backup of the database.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
1. #r &amp;quot;C:\\Users\\cle\\Documents\\Dev\\UBIK.Server\\Branches\\2.6\\UBIK.Console\\bin\\Debug\\DBTool.exe&amp;quot;&lt;br /&gt;
2. System.Data.SqlClient.SqlConnectionStringBuilder scsb = new System.Data.SqlClient.SqlConnectionStringBuilder(ubikEnvironmentConnection.ConnectionString);&lt;br /&gt;
3. string backUpDir = @&amp;quot;C:\SQL\bakup&amp;quot;;&lt;br /&gt;
4. bool isTrue = UBIK.Runtime.WorkflowUtility.Str2Bool(&amp;quot;1&amp;quot;);&lt;br /&gt;
5. System.Console.WriteLine(isTrue.ToString());&lt;br /&gt;
6. DBTool.MSSQLTools.BackupDatabase(scsb.DataSource, scsb.UserID, scsb.Password, false, scsb.InitialCatalog, bak: string.Format(@&amp;quot;{0}\{1}_{2}_{3}.bak&amp;quot;, backUpDir, scsb.InitialCatalog, DateTime.Now.ToString(&amp;quot;yyyyMMdd&amp;quot;), DateTime.Now.ToString(&amp;quot;HHmm&amp;quot;)));&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== CmdLine ==&lt;br /&gt;
&lt;br /&gt;
[[File:CmdLine.Execute.PNG]]&lt;br /&gt;
&lt;br /&gt;
== PwdTool ==&lt;br /&gt;
If you do not want to type in your password in plain text you can first generate an encrypted password by executing Pwd.Encrpyt in the {{UBIK}} Console.&lt;br /&gt;
&lt;br /&gt;
[[File:PwdTool.Encrypt.PNG]]&lt;br /&gt;
&lt;br /&gt;
[[Category:FAQ|UBIK Console]]&lt;/div&gt;</summary>
		<author><name>BMA</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=UBIK_Console&amp;diff=21070</id>
		<title>UBIK Console</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=UBIK_Console&amp;diff=21070"/>
				<updated>2018-12-04T13:10:05Z</updated>
		
		<summary type="html">&lt;p&gt;BMA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The {{UBIK}} Console project allows a user to interact with UBIK via C# script-code.&lt;br /&gt;
&lt;br /&gt;
== Concept ==&lt;br /&gt;
C# code will be interpreted like script code. This script can be either loaded from file and executed at start up or directly typed into a console window. When starting up the console it will automatically execute some common using statements in order to comfortably with code from these assemblies: System, UBIK, UBIK.Kernel, System.Collections.Generic, UBIK.Dynamic, System.Linq. If you need other namespaces you need to load them in your code.&lt;br /&gt;
&lt;br /&gt;
[[File:UBIK.Console.PNG|500px|]]&lt;br /&gt;
&lt;br /&gt;
== Using the console ==&lt;br /&gt;
As UBIK.Console is a command line application without any graphical user interface, it can be started in two ways:&lt;br /&gt;
* Start UBIK.Console.exe which will open a commandline interface&lt;br /&gt;
* Start directly out of a windows command line (e.g. powershell or cmd.exe)&lt;br /&gt;
&lt;br /&gt;
=== Mono and Roslyn ===&lt;br /&gt;
The console can either execute using Roslyn or Mono. By typing ''#mono'' or ''#roslyn'' you can switch between these engines. The default is Roslyn.&lt;br /&gt;
&lt;br /&gt;
== Example using Script file to connect to a Database ==&lt;br /&gt;
&amp;lt;source lang=csharp&amp;gt;&lt;br /&gt;
&amp;gt;//build up a connection to a UBIK database&lt;br /&gt;
&amp;gt;var demo = new UBIKEnvironmentConnection(&amp;quot;Data Source = AUGLNZ2SQL2016; Initial Catalog = UBIK.DEMO.262; Persist Security Info = True; User ID = sa; Password = ****&amp;quot;);&lt;br /&gt;
//Connecting ('Data Source=AUGLNZ2SQL2016;Initial Catalog=UBIK.DEMO.262;Persist Security Info=True;User ID=sa;Password=********')&lt;br /&gt;
//Database version: 2.6.2.0&lt;br /&gt;
//Kernel version: 2.6.0.0&lt;br /&gt;
//Customizing version: 2.6.215&lt;br /&gt;
//Session mgmt. type: SingleLocal_Management&lt;br /&gt;
//USAM ignored.&lt;br /&gt;
//bma (AUGBMA02) now connected to 'UBIK.DEMO.262'.&lt;br /&gt;
&lt;br /&gt;
&amp;gt;//get one of the metaclasses&lt;br /&gt;
&amp;gt;var metaclassOfPump = demo.Environment.UBIKDataFactory().MetaClass(new Guid(&amp;quot;b81a9d31-03b2-4dbd-91aa-b62c499011f7&amp;quot;));&lt;br /&gt;
&lt;br /&gt;
&amp;gt;//find a content object (e.g. the first one with the name &amp;quot;PU212&amp;quot;)&lt;br /&gt;
&amp;gt;var myFavouritePump = metaclassOfPump.AllInstances(&amp;quot;PU212&amp;quot;).FirstOrDefault();&lt;br /&gt;
&lt;br /&gt;
&amp;gt;//show all interesting propertyvalues&lt;br /&gt;
&amp;gt;foreach(var prop in myFavouritePump.Properties.Where(p =&amp;gt; p.DisplayValue() != &amp;quot;&amp;quot;)) //%&lt;br /&gt;
&amp;gt;{ //%&lt;br /&gt;
&amp;gt;    Console.WriteLine(&amp;quot;//{0} = {1}&amp;quot;, prop.Description, prop.DisplayValue()); //%&lt;br /&gt;
&amp;gt;}&lt;br /&gt;
//Shutdown finished = False&lt;br /&gt;
//RPM = 2920&lt;br /&gt;
//Flow rate = 68&lt;br /&gt;
//Nominal Diameter DN1 = 80&lt;br /&gt;
//Protection = II 2 G c TX&lt;br /&gt;
//Nominal Power (Process) = 55&lt;br /&gt;
//Static Head = 18&lt;br /&gt;
//Nominal Power (electrical) = 50&lt;br /&gt;
//Live RPM = (RPM)&lt;br /&gt;
//Live Flow = (Flow1)&lt;br /&gt;
//Height = 750&lt;br /&gt;
//Nominal Diameter DN2 = 60&lt;br /&gt;
//Nominal Pressure PN2 = 20&lt;br /&gt;
//Variable Frequency Drive = False&lt;br /&gt;
//Volt = 400&lt;br /&gt;
//Impeller Diameter = 120&lt;br /&gt;
//Nominal Pressure PN1 = 16&lt;br /&gt;
//Weight = 234&lt;br /&gt;
//Installation Level = 60&lt;br /&gt;
//Parent POI Group ID = DEMO_LEVEL_1 (Demo Level 1)&lt;br /&gt;
//Technical Status = 0&lt;br /&gt;
//Organisational Status = 0&lt;br /&gt;
//Type = KSB Kreiselpumpe&lt;br /&gt;
//Layer ID = ML_PUMP (Pumps)&lt;br /&gt;
//Position Number = A12345&lt;br /&gt;
//QR Code = PU212&lt;br /&gt;
//Order Number = SAP987456&lt;br /&gt;
//Barcode = PU212&lt;br /&gt;
//Marker ID = 2&lt;br /&gt;
//OCRText = PU212&lt;br /&gt;
//Weblink = http://www.augmensys.com&lt;br /&gt;
//Progress = 50&lt;br /&gt;
//Manufacturer = KSB AG&lt;br /&gt;
//Weight = 6&lt;br /&gt;
//Maintenance finished = False&lt;br /&gt;
//Geo data = 46,6152954101563;14,2624282836914;0&lt;br /&gt;
//Scan = PU212&lt;br /&gt;
//SAP-ID = 210100092&lt;br /&gt;
//Namespace = DemoHL&lt;br /&gt;
//Name = PU212&lt;br /&gt;
//Description = Effluent Discharge Pumpx&lt;br /&gt;
//Created on = 22.07.2013 14:43:20&lt;br /&gt;
//Delete status = 0&lt;br /&gt;
//UTS = 27.11.2018 17:18:33&lt;br /&gt;
//Update session = MHM@unknown device -- 27.11.2018 10:40:13&lt;br /&gt;
//Version = 983&lt;br /&gt;
&amp;gt;&lt;br /&gt;
&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Example using Script file to connect to a UBIK Web Service==&lt;br /&gt;
&amp;lt;source lang=csharp&amp;gt;&lt;br /&gt;
&amp;gt;var demo = new UBIKServiceConnection(&amp;quot;console&amp;quot;, &amp;quot;ubik&amp;quot;, &amp;quot;*****&amp;quot;, &amp;quot;APP_DEMO&amp;quot;, &amp;quot;CXT_DEMO&amp;quot;, &amp;quot;https://52.178.138.55:777/UBIK/DEMO.250/Usam/USAM.svc/SOAP&amp;quot;, &amp;quot;https://52.178.138.55:777/UBIK/DEMO.250/Content/UBIKContent.svc/SOAP&amp;quot;);&lt;br /&gt;
&amp;gt;var rootObjects = demo.GetRoot();&lt;br /&gt;
Fetching root objects.&lt;br /&gt;
Fetching token for 'ubik@console' from 'https://52.178.138.55:777/UBIK/DEMO.250/Usam/USAM.svc/SOAP'.&lt;br /&gt;
ok (105 ms).&lt;br /&gt;
Service request delivered 4 objects (218 ms).&lt;br /&gt;
&amp;gt;@&amp;quot;\\&amp;quot; + string.Join(&amp;quot;, &amp;quot;, rootObjects.Select(item =&amp;gt; item.DisplayStrings[0]))&lt;br /&gt;
\\Plant, Inspection, Playground, Commissioning&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Example using Script file ==&lt;br /&gt;
In order to execute a C# script file using the {{UBIK}} Console you need execute the UBIK.Console.exe using the ''-cmdfile'' parameter. If you add the ''-connectionstring'' parameter as shown in the example the console will instantiate UBIKEnvironmentConnection variable called ''ubikEnvironmentConnection''. This variable is then accessible in your script and can be used. Also the current customizing assembly will be added to the script.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;powershell&amp;quot;&amp;gt;&lt;br /&gt;
UBIK.Console.exe  -cmdfile &amp;quot;\\PathToScript\script.txt&amp;quot; -connectionstring &amp;quot;Data Source = ...; Initial Catalog = ...; User ID = ...; Password = ...&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following script code is taken from the example script file and shows how to work with {{UBIK}} Console via script file. If you store these six lines to a text file you can directly run it. In line one a new dependency is loaded, namely the [http://wiki.augmensys.com/index.php?title=UBIK_DBTool DBTool]. Line two creates a SqlConnectionStringBuilder in order to work comfortably with the connectionstring provided by ubikEnvironmentConnection. Line four calls a method from the customizing assembly which has been loaded by the console for us as mention earlier. Line 6 uses the DBTool project and creates a backup of the database.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
1. #r &amp;quot;C:\\Users\\cle\\Documents\\Dev\\UBIK.Server\\Branches\\2.6\\UBIK.Console\\bin\\Debug\\DBTool.exe&amp;quot;&lt;br /&gt;
2. System.Data.SqlClient.SqlConnectionStringBuilder scsb = new System.Data.SqlClient.SqlConnectionStringBuilder(ubikEnvironmentConnection.ConnectionString);&lt;br /&gt;
3. string backUpDir = @&amp;quot;C:\SQL\bakup&amp;quot;;&lt;br /&gt;
4. bool isTrue = UBIK.Runtime.WorkflowUtility.Str2Bool(&amp;quot;1&amp;quot;);&lt;br /&gt;
5. System.Console.WriteLine(isTrue.ToString());&lt;br /&gt;
6. DBTool.MSSQLTools.BackupDatabase(scsb.DataSource, scsb.UserID, scsb.Password, false, scsb.InitialCatalog, bak: string.Format(@&amp;quot;{0}\{1}_{2}_{3}.bak&amp;quot;, backUpDir, scsb.InitialCatalog, DateTime.Now.ToString(&amp;quot;yyyyMMdd&amp;quot;), DateTime.Now.ToString(&amp;quot;HHmm&amp;quot;)));&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== CmdLine ==&lt;br /&gt;
&lt;br /&gt;
[[File:CmdLine.Execute.PNG]]&lt;br /&gt;
&lt;br /&gt;
== PwdTool ==&lt;br /&gt;
If you do not want to type in your password in plain text you can first generate an encrypted password by executing Pwd.Encrpyt in the {{UBIK}} Console.&lt;br /&gt;
&lt;br /&gt;
[[File:PwdTool.Encrypt.PNG]]&lt;br /&gt;
&lt;br /&gt;
[[Category:FAQ|UBIK Console]]&lt;/div&gt;</summary>
		<author><name>BMA</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=Category:UBIK_Console&amp;diff=21069</id>
		<title>Category:UBIK Console</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=Category:UBIK_Console&amp;diff=21069"/>
				<updated>2018-12-04T13:09:23Z</updated>
		
		<summary type="html">&lt;p&gt;BMA: Blanked the page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>BMA</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=Category:UBIK_Console&amp;diff=21068</id>
		<title>Category:UBIK Console</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=Category:UBIK_Console&amp;diff=21068"/>
				<updated>2018-12-04T13:08:12Z</updated>
		
		<summary type="html">&lt;p&gt;BMA: Created page with &amp;quot;Category:FAQ&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:FAQ]]&lt;/div&gt;</summary>
		<author><name>BMA</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=UBIK_Console&amp;diff=21067</id>
		<title>UBIK Console</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=UBIK_Console&amp;diff=21067"/>
				<updated>2018-12-04T10:38:38Z</updated>
		
		<summary type="html">&lt;p&gt;BMA: /* Example using Script file to connect to a UBIK Web Service */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The {{UBIK}} Console project allows a user to interact with UBIK via C# script-code.&lt;br /&gt;
&lt;br /&gt;
== Concept ==&lt;br /&gt;
C# code will be interpreted like script code. This script can be either loaded from file and executed at start up or directly typed into a console window. When starting up the console it will automatically execute some common using statements in order to comfortably with code from these assemblies: System, UBIK, UBIK.Kernel, System.Collections.Generic, UBIK.Dynamic, System.Linq. If you need other namespaces you need to load them in your code.&lt;br /&gt;
&lt;br /&gt;
[[File:UBIK.Console.PNG|500px|]]&lt;br /&gt;
&lt;br /&gt;
== Using the console ==&lt;br /&gt;
As UBIK.Console is a command line application without any graphical user interface, it can be started in two ways:&lt;br /&gt;
* Start UBIK.Console.exe which will open a commandline interface&lt;br /&gt;
* Start directly out of a windows command line (e.g. powershell or cmd.exe)&lt;br /&gt;
&lt;br /&gt;
=== Mono and Roslyn ===&lt;br /&gt;
The console can either execute using Roslyn or Mono. By typing ''#mono'' or ''#roslyn'' you can switch between these engines. The default is Roslyn.&lt;br /&gt;
&lt;br /&gt;
== Example using Script file to connect to a Database ==&lt;br /&gt;
&amp;lt;source lang=csharp&amp;gt;&lt;br /&gt;
&amp;gt;//build up a connection to a UBIK database&lt;br /&gt;
&amp;gt;var demo = new UBIKEnvironmentConnection(&amp;quot;Data Source = AUGLNZ2SQL2016; Initial Catalog = UBIK.DEMO.262; Persist Security Info = True; User ID = sa; Password = ****&amp;quot;);&lt;br /&gt;
//Connecting ('Data Source=AUGLNZ2SQL2016;Initial Catalog=UBIK.DEMO.262;Persist Security Info=True;User ID=sa;Password=********')&lt;br /&gt;
//Database version: 2.6.2.0&lt;br /&gt;
//Kernel version: 2.6.0.0&lt;br /&gt;
//Customizing version: 2.6.215&lt;br /&gt;
//Session mgmt. type: SingleLocal_Management&lt;br /&gt;
//USAM ignored.&lt;br /&gt;
//bma (AUGBMA02) now connected to 'UBIK.DEMO.262'.&lt;br /&gt;
&lt;br /&gt;
&amp;gt;//get one of the metaclasses&lt;br /&gt;
&amp;gt;var metaclassOfPump = demo.Environment.UBIKDataFactory().MetaClass(new Guid(&amp;quot;b81a9d31-03b2-4dbd-91aa-b62c499011f7&amp;quot;));&lt;br /&gt;
&lt;br /&gt;
&amp;gt;//find a content object (e.g. the first one with the name &amp;quot;PU212&amp;quot;)&lt;br /&gt;
&amp;gt;var myFavouritePump = metaclassOfPump.AllInstances(&amp;quot;PU212&amp;quot;).FirstOrDefault();&lt;br /&gt;
&lt;br /&gt;
&amp;gt;//show all interesting propertyvalues&lt;br /&gt;
&amp;gt;foreach(var prop in myFavouritePump.Properties.Where(p =&amp;gt; p.DisplayValue() != &amp;quot;&amp;quot;)) //%&lt;br /&gt;
&amp;gt;{ //%&lt;br /&gt;
&amp;gt;    Console.WriteLine(&amp;quot;//{0} = {1}&amp;quot;, prop.Description, prop.DisplayValue()); //%&lt;br /&gt;
&amp;gt;}&lt;br /&gt;
//Shutdown finished = False&lt;br /&gt;
//RPM = 2920&lt;br /&gt;
//Flow rate = 68&lt;br /&gt;
//Nominal Diameter DN1 = 80&lt;br /&gt;
//Protection = II 2 G c TX&lt;br /&gt;
//Nominal Power (Process) = 55&lt;br /&gt;
//Static Head = 18&lt;br /&gt;
//Nominal Power (electrical) = 50&lt;br /&gt;
//Live RPM = (RPM)&lt;br /&gt;
//Live Flow = (Flow1)&lt;br /&gt;
//Height = 750&lt;br /&gt;
//Nominal Diameter DN2 = 60&lt;br /&gt;
//Nominal Pressure PN2 = 20&lt;br /&gt;
//Variable Frequency Drive = False&lt;br /&gt;
//Volt = 400&lt;br /&gt;
//Impeller Diameter = 120&lt;br /&gt;
//Nominal Pressure PN1 = 16&lt;br /&gt;
//Weight = 234&lt;br /&gt;
//Installation Level = 60&lt;br /&gt;
//Parent POI Group ID = DEMO_LEVEL_1 (Demo Level 1)&lt;br /&gt;
//Technical Status = 0&lt;br /&gt;
//Organisational Status = 0&lt;br /&gt;
//Type = KSB Kreiselpumpe&lt;br /&gt;
//Layer ID = ML_PUMP (Pumps)&lt;br /&gt;
//Position Number = A12345&lt;br /&gt;
//QR Code = PU212&lt;br /&gt;
//Order Number = SAP987456&lt;br /&gt;
//Barcode = PU212&lt;br /&gt;
//Marker ID = 2&lt;br /&gt;
//OCRText = PU212&lt;br /&gt;
//Weblink = http://www.augmensys.com&lt;br /&gt;
//Progress = 50&lt;br /&gt;
//Manufacturer = KSB AG&lt;br /&gt;
//Weight = 6&lt;br /&gt;
//Maintenance finished = False&lt;br /&gt;
//Geo data = 46,6152954101563;14,2624282836914;0&lt;br /&gt;
//Scan = PU212&lt;br /&gt;
//SAP-ID = 210100092&lt;br /&gt;
//Namespace = DemoHL&lt;br /&gt;
//Name = PU212&lt;br /&gt;
//Description = Effluent Discharge Pumpx&lt;br /&gt;
//Created on = 22.07.2013 14:43:20&lt;br /&gt;
//Delete status = 0&lt;br /&gt;
//UTS = 27.11.2018 17:18:33&lt;br /&gt;
//Update session = MHM@unknown device -- 27.11.2018 10:40:13&lt;br /&gt;
//Version = 983&lt;br /&gt;
&amp;gt;&lt;br /&gt;
&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Example using Script file to connect to a UBIK Web Service==&lt;br /&gt;
&amp;lt;source lang=csharp&amp;gt;&lt;br /&gt;
&amp;gt;var demo = new UBIKServiceConnection(&amp;quot;console&amp;quot;, &amp;quot;ubik&amp;quot;, &amp;quot;*****&amp;quot;, &amp;quot;APP_DEMO&amp;quot;, &amp;quot;CXT_DEMO&amp;quot;, &amp;quot;https://52.178.138.55:777/UBIK/DEMO.250/Usam/USAM.svc/SOAP&amp;quot;, &amp;quot;https://52.178.138.55:777/UBIK/DEMO.250/Content/UBIKContent.svc/SOAP&amp;quot;);&lt;br /&gt;
&amp;gt;var rootObjects = demo.GetRoot();&lt;br /&gt;
Fetching root objects.&lt;br /&gt;
Fetching token for 'ubik@console' from 'https://52.178.138.55:777/UBIK/DEMO.250/Usam/USAM.svc/SOAP'.&lt;br /&gt;
ok (105 ms).&lt;br /&gt;
Service request delivered 4 objects (218 ms).&lt;br /&gt;
&amp;gt;@&amp;quot;\\&amp;quot; + string.Join(&amp;quot;, &amp;quot;, rootObjects.Select(item =&amp;gt; item.DisplayStrings[0]))&lt;br /&gt;
\\Plant, Inspection, Playground, Commissioning&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Pages with broken file links|UBIK Console]]&lt;br /&gt;
&lt;br /&gt;
== Example using Script file ==&lt;br /&gt;
In order to execute a C# script file using the {{UBIK}} Console you need execute the UBIK.Console.exe using the ''-cmdfile'' parameter. If you add the ''-connectionstring'' parameter as shown in the example the console will instantiate UBIKEnvironmentConnection variable called ''ubikEnvironmentConnection''. This variable is then accessible in your script and can be used. Also the current customizing assembly will be added to the script.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;powershell&amp;quot;&amp;gt;&lt;br /&gt;
UBIK.Console.exe  -cmdfile &amp;quot;\\PathToScript\script.txt&amp;quot; -connectionstring &amp;quot;Data Source = ...; Initial Catalog = ...; User ID = ...; Password = ...&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following script code is taken from the example script file and shows how to work with {{UBIK}} Console via script file. If you store these six lines to a text file you can directly run it. In line one a new dependency is loaded, namely the [http://wiki.augmensys.com/index.php?title=UBIK_DBTool DBTool]. Line two creates a SqlConnectionStringBuilder in order to work comfortably with the connectionstring provided by ubikEnvironmentConnection. Line four calls a method from the customizing assembly which has been loaded by the console for us as mention earlier. Line 6 uses the DBTool project and creates a backup of the database.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
1. #r &amp;quot;C:\\Users\\cle\\Documents\\Dev\\UBIK.Server\\Branches\\2.6\\UBIK.Console\\bin\\Debug\\DBTool.exe&amp;quot;&lt;br /&gt;
2. System.Data.SqlClient.SqlConnectionStringBuilder scsb = new System.Data.SqlClient.SqlConnectionStringBuilder(ubikEnvironmentConnection.ConnectionString);&lt;br /&gt;
3. string backUpDir = @&amp;quot;C:\SQL\bakup&amp;quot;;&lt;br /&gt;
4. bool isTrue = UBIK.Runtime.WorkflowUtility.Str2Bool(&amp;quot;1&amp;quot;);&lt;br /&gt;
5. System.Console.WriteLine(isTrue.ToString());&lt;br /&gt;
6. DBTool.MSSQLTools.BackupDatabase(scsb.DataSource, scsb.UserID, scsb.Password, false, scsb.InitialCatalog, bak: string.Format(@&amp;quot;{0}\{1}_{2}_{3}.bak&amp;quot;, backUpDir, scsb.InitialCatalog, DateTime.Now.ToString(&amp;quot;yyyyMMdd&amp;quot;), DateTime.Now.ToString(&amp;quot;HHmm&amp;quot;)));&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== CmdLine ==&lt;br /&gt;
&lt;br /&gt;
[[File:CmdLine.Execute.PNG]]&lt;br /&gt;
&lt;br /&gt;
== PwdTool ==&lt;br /&gt;
If you do not want to type in your password in plain text you can first generate an encrypted password by executing Pwd.Encrpyt in the {{UBIK}} Console.&lt;br /&gt;
&lt;br /&gt;
[[File:PwdTool.Encrypt.PNG]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Pages with broken file links|UBIK Console]]&lt;/div&gt;</summary>
		<author><name>BMA</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=UBIK_Console&amp;diff=21066</id>
		<title>UBIK Console</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=UBIK_Console&amp;diff=21066"/>
				<updated>2018-12-04T10:38:08Z</updated>
		
		<summary type="html">&lt;p&gt;BMA: /* Example using Script file to connect to a UBIK Web Service */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The {{UBIK}} Console project allows a user to interact with UBIK via C# script-code.&lt;br /&gt;
&lt;br /&gt;
== Concept ==&lt;br /&gt;
C# code will be interpreted like script code. This script can be either loaded from file and executed at start up or directly typed into a console window. When starting up the console it will automatically execute some common using statements in order to comfortably with code from these assemblies: System, UBIK, UBIK.Kernel, System.Collections.Generic, UBIK.Dynamic, System.Linq. If you need other namespaces you need to load them in your code.&lt;br /&gt;
&lt;br /&gt;
[[File:UBIK.Console.PNG|500px|]]&lt;br /&gt;
&lt;br /&gt;
== Using the console ==&lt;br /&gt;
As UBIK.Console is a command line application without any graphical user interface, it can be started in two ways:&lt;br /&gt;
* Start UBIK.Console.exe which will open a commandline interface&lt;br /&gt;
* Start directly out of a windows command line (e.g. powershell or cmd.exe)&lt;br /&gt;
&lt;br /&gt;
=== Mono and Roslyn ===&lt;br /&gt;
The console can either execute using Roslyn or Mono. By typing ''#mono'' or ''#roslyn'' you can switch between these engines. The default is Roslyn.&lt;br /&gt;
&lt;br /&gt;
== Example using Script file to connect to a Database ==&lt;br /&gt;
&amp;lt;source lang=csharp&amp;gt;&lt;br /&gt;
&amp;gt;//build up a connection to a UBIK database&lt;br /&gt;
&amp;gt;var demo = new UBIKEnvironmentConnection(&amp;quot;Data Source = AUGLNZ2SQL2016; Initial Catalog = UBIK.DEMO.262; Persist Security Info = True; User ID = sa; Password = ****&amp;quot;);&lt;br /&gt;
//Connecting ('Data Source=AUGLNZ2SQL2016;Initial Catalog=UBIK.DEMO.262;Persist Security Info=True;User ID=sa;Password=********')&lt;br /&gt;
//Database version: 2.6.2.0&lt;br /&gt;
//Kernel version: 2.6.0.0&lt;br /&gt;
//Customizing version: 2.6.215&lt;br /&gt;
//Session mgmt. type: SingleLocal_Management&lt;br /&gt;
//USAM ignored.&lt;br /&gt;
//bma (AUGBMA02) now connected to 'UBIK.DEMO.262'.&lt;br /&gt;
&lt;br /&gt;
&amp;gt;//get one of the metaclasses&lt;br /&gt;
&amp;gt;var metaclassOfPump = demo.Environment.UBIKDataFactory().MetaClass(new Guid(&amp;quot;b81a9d31-03b2-4dbd-91aa-b62c499011f7&amp;quot;));&lt;br /&gt;
&lt;br /&gt;
&amp;gt;//find a content object (e.g. the first one with the name &amp;quot;PU212&amp;quot;)&lt;br /&gt;
&amp;gt;var myFavouritePump = metaclassOfPump.AllInstances(&amp;quot;PU212&amp;quot;).FirstOrDefault();&lt;br /&gt;
&lt;br /&gt;
&amp;gt;//show all interesting propertyvalues&lt;br /&gt;
&amp;gt;foreach(var prop in myFavouritePump.Properties.Where(p =&amp;gt; p.DisplayValue() != &amp;quot;&amp;quot;)) //%&lt;br /&gt;
&amp;gt;{ //%&lt;br /&gt;
&amp;gt;    Console.WriteLine(&amp;quot;//{0} = {1}&amp;quot;, prop.Description, prop.DisplayValue()); //%&lt;br /&gt;
&amp;gt;}&lt;br /&gt;
//Shutdown finished = False&lt;br /&gt;
//RPM = 2920&lt;br /&gt;
//Flow rate = 68&lt;br /&gt;
//Nominal Diameter DN1 = 80&lt;br /&gt;
//Protection = II 2 G c TX&lt;br /&gt;
//Nominal Power (Process) = 55&lt;br /&gt;
//Static Head = 18&lt;br /&gt;
//Nominal Power (electrical) = 50&lt;br /&gt;
//Live RPM = (RPM)&lt;br /&gt;
//Live Flow = (Flow1)&lt;br /&gt;
//Height = 750&lt;br /&gt;
//Nominal Diameter DN2 = 60&lt;br /&gt;
//Nominal Pressure PN2 = 20&lt;br /&gt;
//Variable Frequency Drive = False&lt;br /&gt;
//Volt = 400&lt;br /&gt;
//Impeller Diameter = 120&lt;br /&gt;
//Nominal Pressure PN1 = 16&lt;br /&gt;
//Weight = 234&lt;br /&gt;
//Installation Level = 60&lt;br /&gt;
//Parent POI Group ID = DEMO_LEVEL_1 (Demo Level 1)&lt;br /&gt;
//Technical Status = 0&lt;br /&gt;
//Organisational Status = 0&lt;br /&gt;
//Type = KSB Kreiselpumpe&lt;br /&gt;
//Layer ID = ML_PUMP (Pumps)&lt;br /&gt;
//Position Number = A12345&lt;br /&gt;
//QR Code = PU212&lt;br /&gt;
//Order Number = SAP987456&lt;br /&gt;
//Barcode = PU212&lt;br /&gt;
//Marker ID = 2&lt;br /&gt;
//OCRText = PU212&lt;br /&gt;
//Weblink = http://www.augmensys.com&lt;br /&gt;
//Progress = 50&lt;br /&gt;
//Manufacturer = KSB AG&lt;br /&gt;
//Weight = 6&lt;br /&gt;
//Maintenance finished = False&lt;br /&gt;
//Geo data = 46,6152954101563;14,2624282836914;0&lt;br /&gt;
//Scan = PU212&lt;br /&gt;
//SAP-ID = 210100092&lt;br /&gt;
//Namespace = DemoHL&lt;br /&gt;
//Name = PU212&lt;br /&gt;
//Description = Effluent Discharge Pumpx&lt;br /&gt;
//Created on = 22.07.2013 14:43:20&lt;br /&gt;
//Delete status = 0&lt;br /&gt;
//UTS = 27.11.2018 17:18:33&lt;br /&gt;
//Update session = MHM@unknown device -- 27.11.2018 10:40:13&lt;br /&gt;
//Version = 983&lt;br /&gt;
&amp;gt;&lt;br /&gt;
&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Example using Script file to connect to a UBIK Web Service==&lt;br /&gt;
&amp;lt;source lang=csharp&amp;gt;&lt;br /&gt;
&amp;gt;var demo = new UBIKServiceConnection(&amp;quot;console&amp;quot;, &amp;quot;ubik&amp;quot;, &amp;quot;*****&amp;quot;, &amp;quot;APP_DEMO&amp;quot;, &amp;quot;CXT_DEMO&amp;quot;, &amp;quot;https://52.178.138.55:777/UBIK/DEMO.250/Usam/USAM.svc/SOAP&amp;quot;, &amp;quot;https://52.178.138.55:777/UBIK/DEMO.250/Content/UBIKContent.svc/SOAP&amp;quot;);&lt;br /&gt;
&amp;gt;var rootObjects = demo.GetRoot();&lt;br /&gt;
Fetching root objects.&lt;br /&gt;
Fetching token for 'ubik@console' from 'https://52.178.138.55:777/UBIK/DEMO.250/Usam/USAM.svc/SOAP'.&lt;br /&gt;
ok (105 ms).&lt;br /&gt;
Service request delivered 4 objects (218 ma).&lt;br /&gt;
&amp;gt;@&amp;quot;\\&amp;quot; + string.Join(&amp;quot;, &amp;quot;, rootObjects.Select(item =&amp;gt; item.DisplayStrings[0]))&lt;br /&gt;
\\Plant, Inspection, Playground, Commissioning&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Pages with broken file links|UBIK Console]]&lt;br /&gt;
&lt;br /&gt;
== Example using Script file ==&lt;br /&gt;
In order to execute a C# script file using the {{UBIK}} Console you need execute the UBIK.Console.exe using the ''-cmdfile'' parameter. If you add the ''-connectionstring'' parameter as shown in the example the console will instantiate UBIKEnvironmentConnection variable called ''ubikEnvironmentConnection''. This variable is then accessible in your script and can be used. Also the current customizing assembly will be added to the script.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;powershell&amp;quot;&amp;gt;&lt;br /&gt;
UBIK.Console.exe  -cmdfile &amp;quot;\\PathToScript\script.txt&amp;quot; -connectionstring &amp;quot;Data Source = ...; Initial Catalog = ...; User ID = ...; Password = ...&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following script code is taken from the example script file and shows how to work with {{UBIK}} Console via script file. If you store these six lines to a text file you can directly run it. In line one a new dependency is loaded, namely the [http://wiki.augmensys.com/index.php?title=UBIK_DBTool DBTool]. Line two creates a SqlConnectionStringBuilder in order to work comfortably with the connectionstring provided by ubikEnvironmentConnection. Line four calls a method from the customizing assembly which has been loaded by the console for us as mention earlier. Line 6 uses the DBTool project and creates a backup of the database.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
1. #r &amp;quot;C:\\Users\\cle\\Documents\\Dev\\UBIK.Server\\Branches\\2.6\\UBIK.Console\\bin\\Debug\\DBTool.exe&amp;quot;&lt;br /&gt;
2. System.Data.SqlClient.SqlConnectionStringBuilder scsb = new System.Data.SqlClient.SqlConnectionStringBuilder(ubikEnvironmentConnection.ConnectionString);&lt;br /&gt;
3. string backUpDir = @&amp;quot;C:\SQL\bakup&amp;quot;;&lt;br /&gt;
4. bool isTrue = UBIK.Runtime.WorkflowUtility.Str2Bool(&amp;quot;1&amp;quot;);&lt;br /&gt;
5. System.Console.WriteLine(isTrue.ToString());&lt;br /&gt;
6. DBTool.MSSQLTools.BackupDatabase(scsb.DataSource, scsb.UserID, scsb.Password, false, scsb.InitialCatalog, bak: string.Format(@&amp;quot;{0}\{1}_{2}_{3}.bak&amp;quot;, backUpDir, scsb.InitialCatalog, DateTime.Now.ToString(&amp;quot;yyyyMMdd&amp;quot;), DateTime.Now.ToString(&amp;quot;HHmm&amp;quot;)));&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== CmdLine ==&lt;br /&gt;
&lt;br /&gt;
[[File:CmdLine.Execute.PNG]]&lt;br /&gt;
&lt;br /&gt;
== PwdTool ==&lt;br /&gt;
If you do not want to type in your password in plain text you can first generate an encrypted password by executing Pwd.Encrpyt in the {{UBIK}} Console.&lt;br /&gt;
&lt;br /&gt;
[[File:PwdTool.Encrypt.PNG]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Pages with broken file links|UBIK Console]]&lt;/div&gt;</summary>
		<author><name>BMA</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=UBIK_Console&amp;diff=21065</id>
		<title>UBIK Console</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=UBIK_Console&amp;diff=21065"/>
				<updated>2018-12-04T10:37:45Z</updated>
		
		<summary type="html">&lt;p&gt;BMA: /* Example using Script file to connect to a Database */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The {{UBIK}} Console project allows a user to interact with UBIK via C# script-code.&lt;br /&gt;
&lt;br /&gt;
== Concept ==&lt;br /&gt;
C# code will be interpreted like script code. This script can be either loaded from file and executed at start up or directly typed into a console window. When starting up the console it will automatically execute some common using statements in order to comfortably with code from these assemblies: System, UBIK, UBIK.Kernel, System.Collections.Generic, UBIK.Dynamic, System.Linq. If you need other namespaces you need to load them in your code.&lt;br /&gt;
&lt;br /&gt;
[[File:UBIK.Console.PNG|500px|]]&lt;br /&gt;
&lt;br /&gt;
== Using the console ==&lt;br /&gt;
As UBIK.Console is a command line application without any graphical user interface, it can be started in two ways:&lt;br /&gt;
* Start UBIK.Console.exe which will open a commandline interface&lt;br /&gt;
* Start directly out of a windows command line (e.g. powershell or cmd.exe)&lt;br /&gt;
&lt;br /&gt;
=== Mono and Roslyn ===&lt;br /&gt;
The console can either execute using Roslyn or Mono. By typing ''#mono'' or ''#roslyn'' you can switch between these engines. The default is Roslyn.&lt;br /&gt;
&lt;br /&gt;
== Example using Script file to connect to a Database ==&lt;br /&gt;
&amp;lt;source lang=csharp&amp;gt;&lt;br /&gt;
&amp;gt;//build up a connection to a UBIK database&lt;br /&gt;
&amp;gt;var demo = new UBIKEnvironmentConnection(&amp;quot;Data Source = AUGLNZ2SQL2016; Initial Catalog = UBIK.DEMO.262; Persist Security Info = True; User ID = sa; Password = ****&amp;quot;);&lt;br /&gt;
//Connecting ('Data Source=AUGLNZ2SQL2016;Initial Catalog=UBIK.DEMO.262;Persist Security Info=True;User ID=sa;Password=********')&lt;br /&gt;
//Database version: 2.6.2.0&lt;br /&gt;
//Kernel version: 2.6.0.0&lt;br /&gt;
//Customizing version: 2.6.215&lt;br /&gt;
//Session mgmt. type: SingleLocal_Management&lt;br /&gt;
//USAM ignored.&lt;br /&gt;
//bma (AUGBMA02) now connected to 'UBIK.DEMO.262'.&lt;br /&gt;
&lt;br /&gt;
&amp;gt;//get one of the metaclasses&lt;br /&gt;
&amp;gt;var metaclassOfPump = demo.Environment.UBIKDataFactory().MetaClass(new Guid(&amp;quot;b81a9d31-03b2-4dbd-91aa-b62c499011f7&amp;quot;));&lt;br /&gt;
&lt;br /&gt;
&amp;gt;//find a content object (e.g. the first one with the name &amp;quot;PU212&amp;quot;)&lt;br /&gt;
&amp;gt;var myFavouritePump = metaclassOfPump.AllInstances(&amp;quot;PU212&amp;quot;).FirstOrDefault();&lt;br /&gt;
&lt;br /&gt;
&amp;gt;//show all interesting propertyvalues&lt;br /&gt;
&amp;gt;foreach(var prop in myFavouritePump.Properties.Where(p =&amp;gt; p.DisplayValue() != &amp;quot;&amp;quot;)) //%&lt;br /&gt;
&amp;gt;{ //%&lt;br /&gt;
&amp;gt;    Console.WriteLine(&amp;quot;//{0} = {1}&amp;quot;, prop.Description, prop.DisplayValue()); //%&lt;br /&gt;
&amp;gt;}&lt;br /&gt;
//Shutdown finished = False&lt;br /&gt;
//RPM = 2920&lt;br /&gt;
//Flow rate = 68&lt;br /&gt;
//Nominal Diameter DN1 = 80&lt;br /&gt;
//Protection = II 2 G c TX&lt;br /&gt;
//Nominal Power (Process) = 55&lt;br /&gt;
//Static Head = 18&lt;br /&gt;
//Nominal Power (electrical) = 50&lt;br /&gt;
//Live RPM = (RPM)&lt;br /&gt;
//Live Flow = (Flow1)&lt;br /&gt;
//Height = 750&lt;br /&gt;
//Nominal Diameter DN2 = 60&lt;br /&gt;
//Nominal Pressure PN2 = 20&lt;br /&gt;
//Variable Frequency Drive = False&lt;br /&gt;
//Volt = 400&lt;br /&gt;
//Impeller Diameter = 120&lt;br /&gt;
//Nominal Pressure PN1 = 16&lt;br /&gt;
//Weight = 234&lt;br /&gt;
//Installation Level = 60&lt;br /&gt;
//Parent POI Group ID = DEMO_LEVEL_1 (Demo Level 1)&lt;br /&gt;
//Technical Status = 0&lt;br /&gt;
//Organisational Status = 0&lt;br /&gt;
//Type = KSB Kreiselpumpe&lt;br /&gt;
//Layer ID = ML_PUMP (Pumps)&lt;br /&gt;
//Position Number = A12345&lt;br /&gt;
//QR Code = PU212&lt;br /&gt;
//Order Number = SAP987456&lt;br /&gt;
//Barcode = PU212&lt;br /&gt;
//Marker ID = 2&lt;br /&gt;
//OCRText = PU212&lt;br /&gt;
//Weblink = http://www.augmensys.com&lt;br /&gt;
//Progress = 50&lt;br /&gt;
//Manufacturer = KSB AG&lt;br /&gt;
//Weight = 6&lt;br /&gt;
//Maintenance finished = False&lt;br /&gt;
//Geo data = 46,6152954101563;14,2624282836914;0&lt;br /&gt;
//Scan = PU212&lt;br /&gt;
//SAP-ID = 210100092&lt;br /&gt;
//Namespace = DemoHL&lt;br /&gt;
//Name = PU212&lt;br /&gt;
//Description = Effluent Discharge Pumpx&lt;br /&gt;
//Created on = 22.07.2013 14:43:20&lt;br /&gt;
//Delete status = 0&lt;br /&gt;
//UTS = 27.11.2018 17:18:33&lt;br /&gt;
//Update session = MHM@unknown device -- 27.11.2018 10:40:13&lt;br /&gt;
//Version = 983&lt;br /&gt;
&amp;gt;&lt;br /&gt;
&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Example using Script file to connect to a UBIK Web Service==&lt;br /&gt;
&amp;lt;source lang=csharp&amp;gt;&lt;br /&gt;
&amp;gt;var demo = new UBIKServiceConnection(&amp;quot;console&amp;quot;, &amp;quot;ubik&amp;quot;, &amp;quot;&amp;quot;, &amp;quot;APP_DEMO&amp;quot;, &amp;quot;CXT_DEMO&amp;quot;, &amp;quot;https://52.178.138.55:777/UBIK/DEMO.250/Usam/USAM.svc/SOAP&amp;quot;, &amp;quot;https://52.178.138.55:777/UBIK/DEMO.250/Content/UBIKContent.svc/SOAP&amp;quot;);&lt;br /&gt;
&amp;gt;var rootObjects = demo.GetRoot();&lt;br /&gt;
Fetching root objects.&lt;br /&gt;
Fetching token for 'ubik@console' from 'https://52.178.138.55:777/UBIK/DEMO.250/Usam/USAM.svc/SOAP'.&lt;br /&gt;
ok (105 ms).&lt;br /&gt;
Service request delivered 4 objects (218 ma).&lt;br /&gt;
&amp;gt;@&amp;quot;\\&amp;quot; + string.Join(&amp;quot;, &amp;quot;, rootObjects.Select(item =&amp;gt; item.DisplayStrings[0]))&lt;br /&gt;
\\Plant, Inspection, Playground, Commissioning&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Pages with broken file links|UBIK Console]]&lt;br /&gt;
&lt;br /&gt;
== Example using Script file ==&lt;br /&gt;
In order to execute a C# script file using the {{UBIK}} Console you need execute the UBIK.Console.exe using the ''-cmdfile'' parameter. If you add the ''-connectionstring'' parameter as shown in the example the console will instantiate UBIKEnvironmentConnection variable called ''ubikEnvironmentConnection''. This variable is then accessible in your script and can be used. Also the current customizing assembly will be added to the script.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;powershell&amp;quot;&amp;gt;&lt;br /&gt;
UBIK.Console.exe  -cmdfile &amp;quot;\\PathToScript\script.txt&amp;quot; -connectionstring &amp;quot;Data Source = ...; Initial Catalog = ...; User ID = ...; Password = ...&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following script code is taken from the example script file and shows how to work with {{UBIK}} Console via script file. If you store these six lines to a text file you can directly run it. In line one a new dependency is loaded, namely the [http://wiki.augmensys.com/index.php?title=UBIK_DBTool DBTool]. Line two creates a SqlConnectionStringBuilder in order to work comfortably with the connectionstring provided by ubikEnvironmentConnection. Line four calls a method from the customizing assembly which has been loaded by the console for us as mention earlier. Line 6 uses the DBTool project and creates a backup of the database.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
1. #r &amp;quot;C:\\Users\\cle\\Documents\\Dev\\UBIK.Server\\Branches\\2.6\\UBIK.Console\\bin\\Debug\\DBTool.exe&amp;quot;&lt;br /&gt;
2. System.Data.SqlClient.SqlConnectionStringBuilder scsb = new System.Data.SqlClient.SqlConnectionStringBuilder(ubikEnvironmentConnection.ConnectionString);&lt;br /&gt;
3. string backUpDir = @&amp;quot;C:\SQL\bakup&amp;quot;;&lt;br /&gt;
4. bool isTrue = UBIK.Runtime.WorkflowUtility.Str2Bool(&amp;quot;1&amp;quot;);&lt;br /&gt;
5. System.Console.WriteLine(isTrue.ToString());&lt;br /&gt;
6. DBTool.MSSQLTools.BackupDatabase(scsb.DataSource, scsb.UserID, scsb.Password, false, scsb.InitialCatalog, bak: string.Format(@&amp;quot;{0}\{1}_{2}_{3}.bak&amp;quot;, backUpDir, scsb.InitialCatalog, DateTime.Now.ToString(&amp;quot;yyyyMMdd&amp;quot;), DateTime.Now.ToString(&amp;quot;HHmm&amp;quot;)));&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== CmdLine ==&lt;br /&gt;
&lt;br /&gt;
[[File:CmdLine.Execute.PNG]]&lt;br /&gt;
&lt;br /&gt;
== PwdTool ==&lt;br /&gt;
If you do not want to type in your password in plain text you can first generate an encrypted password by executing Pwd.Encrpyt in the {{UBIK}} Console.&lt;br /&gt;
&lt;br /&gt;
[[File:PwdTool.Encrypt.PNG]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Pages with broken file links|UBIK Console]]&lt;/div&gt;</summary>
		<author><name>BMA</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=UBIK_Console&amp;diff=21064</id>
		<title>UBIK Console</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=UBIK_Console&amp;diff=21064"/>
				<updated>2018-12-04T10:37:27Z</updated>
		
		<summary type="html">&lt;p&gt;BMA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The {{UBIK}} Console project allows a user to interact with UBIK via C# script-code.&lt;br /&gt;
&lt;br /&gt;
== Concept ==&lt;br /&gt;
C# code will be interpreted like script code. This script can be either loaded from file and executed at start up or directly typed into a console window. When starting up the console it will automatically execute some common using statements in order to comfortably with code from these assemblies: System, UBIK, UBIK.Kernel, System.Collections.Generic, UBIK.Dynamic, System.Linq. If you need other namespaces you need to load them in your code.&lt;br /&gt;
&lt;br /&gt;
[[File:UBIK.Console.PNG|500px|]]&lt;br /&gt;
&lt;br /&gt;
== Using the console ==&lt;br /&gt;
As UBIK.Console is a command line application without any graphical user interface, it can be started in two ways:&lt;br /&gt;
* Start UBIK.Console.exe which will open a commandline interface&lt;br /&gt;
* Start directly out of a windows command line (e.g. powershell or cmd.exe)&lt;br /&gt;
&lt;br /&gt;
=== Mono and Roslyn ===&lt;br /&gt;
The console can either execute using Roslyn or Mono. By typing ''#mono'' or ''#roslyn'' you can switch between these engines. The default is Roslyn.&lt;br /&gt;
&lt;br /&gt;
== Example using Script file to connect to a Database ==&lt;br /&gt;
&amp;lt;source lang=csharp&amp;gt;&lt;br /&gt;
&amp;gt;//build up a connection to a UBIK database&lt;br /&gt;
&amp;gt;var demo = new UBIKEnvironmentConnection(&amp;quot;Data Source = AUGLNZ2SQL2016; Initial Catalog = UBIK.DEMO.262; Persist Security Info = True; User ID = sa; Password = ****&amp;quot;);&lt;br /&gt;
//Connecting ('Data Source=AUGLNZ2SQL2016;Initial Catalog=UBIK.DEMO.262;Persist Security Info=True;User ID=sa;Password=********')&lt;br /&gt;
//Database version: 2.6.2.0&lt;br /&gt;
//Kernel version: 2.6.0.0&lt;br /&gt;
//Customizing version: 2.6.215&lt;br /&gt;
//Session mgmt. type: SingleLocal_Management&lt;br /&gt;
//USAM ignored.&lt;br /&gt;
//bma (AUGBMA02) now connected to 'UBIK.DEMO.262'.&lt;br /&gt;
&lt;br /&gt;
&amp;gt;//get one of the metaclasses&lt;br /&gt;
&amp;gt;var metaclassOfPump = demo.Environment.UBIKDataFactory().MetaClass(new Guid(&amp;quot;b81a9d31-03b2-4dbd-91aa-b62c499011f7&amp;quot;));&lt;br /&gt;
&lt;br /&gt;
&amp;gt;//find a content object (e.g. the first one with the name &amp;quot;PU212&amp;quot;)&lt;br /&gt;
&amp;gt;var myFavouritePump = metaclassOfPump.AllInstances(&amp;quot;PU212&amp;quot;).FirstOrDefault();&lt;br /&gt;
&lt;br /&gt;
&amp;gt;//show all interesting propertyvalues&lt;br /&gt;
&amp;gt;foreach(var prop in myFavouritePump.Properties.Where(p =&amp;gt; p.DisplayValue() != &amp;quot;&amp;quot;)) //%&lt;br /&gt;
&amp;gt;{ //%&lt;br /&gt;
&amp;gt;    Console.WriteLine(&amp;quot;//{0} = {1}&amp;quot;, prop.Description, prop.DisplayValue()); //%&lt;br /&gt;
&amp;gt;}&lt;br /&gt;
//Shutdown finished = False&lt;br /&gt;
//RPM = 2920&lt;br /&gt;
//Flow rate = 68&lt;br /&gt;
//Nominal Diameter DN1 = 80&lt;br /&gt;
//Protection = II 2 G c TX&lt;br /&gt;
//Nominal Power (Process) = 55&lt;br /&gt;
//Static Head = 18&lt;br /&gt;
//Nominal Power (electrical) = 50&lt;br /&gt;
//Live RPM = (RPM)&lt;br /&gt;
//Live Flow = (Flow1)&lt;br /&gt;
//Height = 750&lt;br /&gt;
//Nominal Diameter DN2 = 60&lt;br /&gt;
//Nominal Pressure PN2 = 20&lt;br /&gt;
//Variable Frequency Drive = False&lt;br /&gt;
//Volt = 400&lt;br /&gt;
//Impeller Diameter = 120&lt;br /&gt;
//Nominal Pressure PN1 = 16&lt;br /&gt;
//Weight = 234&lt;br /&gt;
//Installation Level = 60&lt;br /&gt;
//Parent POI Group ID = DEMO_LEVEL_1 (Demo Level 1)&lt;br /&gt;
//Technical Status = 0&lt;br /&gt;
//Organisational Status = 0&lt;br /&gt;
//Type = KSB Kreiselpumpe&lt;br /&gt;
//Layer ID = ML_PUMP (Pumps)&lt;br /&gt;
//Position Number = A12345&lt;br /&gt;
//QR Code = PU212&lt;br /&gt;
//Order Number = SAP987456&lt;br /&gt;
//Barcode = PU212&lt;br /&gt;
//Marker ID = 2&lt;br /&gt;
//OCRText = PU212&lt;br /&gt;
//Weblink = http://www.augmensys.com&lt;br /&gt;
//Progress = 50&lt;br /&gt;
//Manufacturer = KSB AG&lt;br /&gt;
//Weight = 6&lt;br /&gt;
//Maintenance finished = False&lt;br /&gt;
//Geo data = 46,6152954101563;14,2624282836914;0&lt;br /&gt;
//Scan = PU212&lt;br /&gt;
//SAP-ID = 210100092&lt;br /&gt;
//Namespace = DemoHL&lt;br /&gt;
//Name = PU212&lt;br /&gt;
//Description = Effluent Discharge Pumpx&lt;br /&gt;
//Created on = 22.07.2013 14:43:20&lt;br /&gt;
//Delete status = 0&lt;br /&gt;
//UTS = 27.11.2018 17:18:33&lt;br /&gt;
//Update session = MHM@unknown device -- 27.11.2018 10:40:13&lt;br /&gt;
//Version = 983&lt;br /&gt;
&amp;gt;&lt;br /&gt;
&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Example using Script file to connect to a Database ==&lt;br /&gt;
&amp;lt;source lang=csharp&amp;gt;&lt;br /&gt;
&amp;gt;var demo = new UBIKServiceConnection(&amp;quot;console&amp;quot;, &amp;quot;ubik&amp;quot;, &amp;quot;&amp;quot;, &amp;quot;APP_DEMO&amp;quot;, &amp;quot;CXT_DEMO&amp;quot;, &amp;quot;https://52.178.138.55:777/UBIK/DEMO.250/Usam/USAM.svc/SOAP&amp;quot;, &amp;quot;https://52.178.138.55:777/UBIK/DEMO.250/Content/UBIKContent.svc/SOAP&amp;quot;);&lt;br /&gt;
&amp;gt;var rootObjects = demo.GetRoot();&lt;br /&gt;
Fetching root objects.&lt;br /&gt;
Fetching token for 'ubik@console' from 'https://52.178.138.55:777/UBIK/DEMO.250/Usam/USAM.svc/SOAP'.&lt;br /&gt;
ok (105 ms).&lt;br /&gt;
Service request delivered 4 objects (218 ma).&lt;br /&gt;
&amp;gt;@&amp;quot;\\&amp;quot; + string.Join(&amp;quot;, &amp;quot;, rootObjects.Select(item =&amp;gt; item.DisplayStrings[0]))&lt;br /&gt;
\\Plant, Inspection, Playground, Commissioning&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Example using Script file ==&lt;br /&gt;
In order to execute a C# script file using the {{UBIK}} Console you need execute the UBIK.Console.exe using the ''-cmdfile'' parameter. If you add the ''-connectionstring'' parameter as shown in the example the console will instantiate UBIKEnvironmentConnection variable called ''ubikEnvironmentConnection''. This variable is then accessible in your script and can be used. Also the current customizing assembly will be added to the script.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;powershell&amp;quot;&amp;gt;&lt;br /&gt;
UBIK.Console.exe  -cmdfile &amp;quot;\\PathToScript\script.txt&amp;quot; -connectionstring &amp;quot;Data Source = ...; Initial Catalog = ...; User ID = ...; Password = ...&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following script code is taken from the example script file and shows how to work with {{UBIK}} Console via script file. If you store these six lines to a text file you can directly run it. In line one a new dependency is loaded, namely the [http://wiki.augmensys.com/index.php?title=UBIK_DBTool DBTool]. Line two creates a SqlConnectionStringBuilder in order to work comfortably with the connectionstring provided by ubikEnvironmentConnection. Line four calls a method from the customizing assembly which has been loaded by the console for us as mention earlier. Line 6 uses the DBTool project and creates a backup of the database.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
1. #r &amp;quot;C:\\Users\\cle\\Documents\\Dev\\UBIK.Server\\Branches\\2.6\\UBIK.Console\\bin\\Debug\\DBTool.exe&amp;quot;&lt;br /&gt;
2. System.Data.SqlClient.SqlConnectionStringBuilder scsb = new System.Data.SqlClient.SqlConnectionStringBuilder(ubikEnvironmentConnection.ConnectionString);&lt;br /&gt;
3. string backUpDir = @&amp;quot;C:\SQL\bakup&amp;quot;;&lt;br /&gt;
4. bool isTrue = UBIK.Runtime.WorkflowUtility.Str2Bool(&amp;quot;1&amp;quot;);&lt;br /&gt;
5. System.Console.WriteLine(isTrue.ToString());&lt;br /&gt;
6. DBTool.MSSQLTools.BackupDatabase(scsb.DataSource, scsb.UserID, scsb.Password, false, scsb.InitialCatalog, bak: string.Format(@&amp;quot;{0}\{1}_{2}_{3}.bak&amp;quot;, backUpDir, scsb.InitialCatalog, DateTime.Now.ToString(&amp;quot;yyyyMMdd&amp;quot;), DateTime.Now.ToString(&amp;quot;HHmm&amp;quot;)));&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== CmdLine ==&lt;br /&gt;
&lt;br /&gt;
[[File:CmdLine.Execute.PNG]]&lt;br /&gt;
&lt;br /&gt;
== PwdTool ==&lt;br /&gt;
If you do not want to type in your password in plain text you can first generate an encrypted password by executing Pwd.Encrpyt in the {{UBIK}} Console.&lt;br /&gt;
&lt;br /&gt;
[[File:PwdTool.Encrypt.PNG]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Pages with broken file links|UBIK Console]]&lt;/div&gt;</summary>
		<author><name>BMA</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=UBIK_Studio_Basics&amp;diff=21063</id>
		<title>UBIK Studio Basics</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=UBIK_Studio_Basics&amp;diff=21063"/>
				<updated>2018-12-04T10:16:18Z</updated>
		
		<summary type="html">&lt;p&gt;BMA: /* See also */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{UBIK}} Studio is the server application and administrative tool for creating and modifying {{UBIK}} object models. It enables you to transfer your entity-relationship-model into {{UBIK}} MetaClasses and MetaProperties and build up necessary relations. It is also the instrument of choice to manage instances of MetaClasses, edit their property values and create views and queries. This section will provide you with more information on the user interface.&lt;br /&gt;
[[File:UI_Studio.png|thumb|220px|{{UBIK}} Studio]]&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
===Command line arguments===&lt;br /&gt;
&lt;br /&gt;
The following arguments can be passed to and will be recognized by the UBIK.Studio.exe:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; | width = &amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Parameter!! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| ''-NOCUSTOM''|| Don't attempt to load the customized object code&lt;br /&gt;
|-&lt;br /&gt;
| ''-NOCUSTOMUI''|| Don't attempt to load the customized UI elements&lt;br /&gt;
|-&lt;br /&gt;
| ''-CUSTOMVERSION:version''|| Attempt to load a specific deployed ''version'' of the customizing instead of the currently released one. Use this option if you want to test a specific customizing, without releasing it to all users.&lt;br /&gt;
|-&lt;br /&gt;
| ''-CONNECTDB''|| Connects automatically to the most recently used database&lt;br /&gt;
|-&lt;br /&gt;
| ''-IGNOREUSAM''|| Ignores the Session Authorization and uses a fallback session if no authorization is granted by the [[USAM|Session]] &lt;br /&gt;
|-&lt;br /&gt;
| ''-DBMAINTENANCE:activity''|| Starts {{UBIK}} Studio in maintenance mode. Possible activities are:&lt;br /&gt;
1 = recompiling of system structures; 2 = recreate MetaProperty views; 3 = recompile database; 4=Transfer Data to Attributes.&lt;br /&gt;
Please do not use this option if you do not have any knowledge about these activities.&lt;br /&gt;
|-|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Attention|Setting these command line arguments might changes the expected behavior of a data model significantly!}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Options ===&lt;br /&gt;
[[File:UI_UBIKStudioOptions.png|thumb|220px|upright|alt={{UBIK}} Studio settings|{{UBIK}} Studio settings]]&lt;br /&gt;
Locate and click the menu ''File &amp;amp;rarr; Options''. Press {{key press|Apply}} or {{key press|OK}} when you're finished changing the options, or {{key press|Cancel}} if you don't want your changes to be saved. The settings are user-specific and will be stored in your local Windows user profile.&lt;br /&gt;
&lt;br /&gt;
In the options you can configure your database connection by the following parameters&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; | width = &amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Parameter!! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| ''AutoConnect''|| If set to true, the system will attempt to automatically connect to the configured database on start up&lt;br /&gt;
|-&lt;br /&gt;
| ''DataBase''|| The name of the instance on the SQL Server&lt;br /&gt;
|-&lt;br /&gt;
| ''DataSource''|| The name of the SQL Server (specify a server via host name, UNC, IP, ...)&lt;br /&gt;
|-&lt;br /&gt;
| ''Language''|| Set the desired database language in [http://en.wikipedia.org/wiki/ISO_639-1 ISO639-1] syntax&lt;br /&gt;
|-&lt;br /&gt;
| ''WindowsAuthentication''|| If set to true, the user and password parameter are ignored and UBIK tries to connect to the SQL Server using the Windows credentials. {{Version/ServerSince|2.5.1}}&lt;br /&gt;
|-&lt;br /&gt;
| ''User''|| SQL Server user name. Only used when WindowsAuthentication is set to false.&lt;br /&gt;
|-&lt;br /&gt;
| ''Password''|| SQL Server password. Only used when WindowsAuthentication is set to false.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Take care that the specified SQL user has appropriate permissions on the database.&lt;br /&gt;
&lt;br /&gt;
Additional options are&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; | width = &amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Parameter!! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| ''RecordLifeTime''|| Set how long records are valid before they will be requeried for changes by the kernel; -1 to turn off&lt;br /&gt;
|-&lt;br /&gt;
| ''AutoSaveTime''|| Set how often {{UBIK}} Studio should save all unsaved objects automatically, in minutes; -1 to turn off&lt;br /&gt;
|-&lt;br /&gt;
| ''NotifyOnError''|| Displays a notification if an error occurs; false to turn off&lt;br /&gt;
|-&lt;br /&gt;
| ''NotifyOnWarning''|| Displays a notification if a warning occurs; false to turn off&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Database specific settings===&lt;br /&gt;
Once successfully connected to a database, the menu item ''Database &amp;amp;rarr; {database name} settings...'' becomes visible. As the name already states, these are settings that are specific to the very database you are connected to, hence changes also only apply to it.&lt;br /&gt;
&lt;br /&gt;
The following parameters can be read, respectively edited here&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; | width = &amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Parameter!! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| ''File store mode''|| readonly; ''UNC'' for a regular filesystem, ''Cloud'' for a cloud storage&lt;br /&gt;
|-&lt;br /&gt;
| ''Data path''|| The path to the root directory of the data storage for this database in ''UNC'' mode; In ''Cloud'' mode the path can be defined as a relative path within the specified cloud container, this parameter can be left empty when using its root directory level.&lt;br /&gt;
|-&lt;br /&gt;
| ''CloudStorageAccount''|| The name of your storage account from your cloud service provider; only evaluated if ''File store mode'' is ''Cloud''&lt;br /&gt;
|-&lt;br /&gt;
| ''CloudStorageKey''|| The authorization key from your cloud service provider to access your cloud storage; only evaluated if ''File store mode'' is ''Cloud''&lt;br /&gt;
|-&lt;br /&gt;
| ''Cloud container name''|| The name of the root cloud container where files for this database will be placed; only evaluated if ''File store mode'' is ''Cloud''&lt;br /&gt;
|-&lt;br /&gt;
| ''Language count''|| readonly; The number of languages currently configured in {{UBIK}}&lt;br /&gt;
|-&lt;br /&gt;
| ''Date format''|| The date/time format to use in this database in [http://en.wikipedia.org/wiki/ISO_8601 ISO8601] syntax&lt;br /&gt;
|-&lt;br /&gt;
| ''Root-Metaclass for Metaproperties''|| readonly; The MetaClass where new Metaproperties will derive from&lt;br /&gt;
|-&lt;br /&gt;
| ''Root-Metaclass for metaclasses''|| readonly; The MetaClass where new MetaClass will derive from&lt;br /&gt;
|-&lt;br /&gt;
| ''SessionManagementType''|| Configure the type of session management that must be used by all UBIK sessions: 0 = Single Local Management, 1 = LAS, 2 = GAS&lt;br /&gt;
|-&lt;br /&gt;
| ''SessionServiceUrl[:Port]''|| If the SessionManagementType is configured to use a LAS or GAS, the ServiceUrl of the AS must be configure here. In the case of an Local management, this setting is ignored.&amp;lt;br /&amp;gt;The port number ''Port'' must be specified only if other than 443 (default for https). &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Working with {{UBIK}} Studio==&lt;br /&gt;
=== Basic UI elements ===&lt;br /&gt;
====Menu and toolbar====&lt;br /&gt;
The top area of {{UBIK}} Studio features a menu strip:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; | width = &amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Menu!!Menu item!!Shortcut!! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| rowspan = &amp;quot;6&amp;quot; | ''File'' || ''New'' || {{key press|Ctrl|N}} || No purpose yet&lt;br /&gt;
|-&lt;br /&gt;
| ''Open Database'' ||{{key press|Ctrl|O}} || Clicking the item itself will attempt to open the last configured database connection, its sub menu items will show the most recently used connections&lt;br /&gt;
|-&lt;br /&gt;
| ''Clear recent list'' ||-|| Clears the list of recently used database connections&lt;br /&gt;
|-&lt;br /&gt;
| ''Save All'' || {{key press|Ctrl|S}} || Saves all unsaved objects of the current session to the database&lt;br /&gt;
|-&lt;br /&gt;
| ''Options...'' ||-|| Opens the [[#Options|Options]] dialog &lt;br /&gt;
|-&lt;br /&gt;
| ''Exit'' ||-|| Closes {{UBIK}} Studio&lt;br /&gt;
|-&lt;br /&gt;
| rowspan = &amp;quot;5&amp;quot; | ''Database''&lt;br /&gt;
|-&lt;br /&gt;
| ''{database name} settings...'' ||-|| Opens the [[#Database specific settings|specific settings dialog for the currently connected database]]; will only appear once you successfully connected to a database&lt;br /&gt;
|-&lt;br /&gt;
| ''Manage Database...'' ||-|| Opens the [[Database Manager|Management dialog for the current database]]; will also appear if connection to the database failed&lt;br /&gt;
|-&lt;br /&gt;
| ''Sessions...'' ||-|| Opens the [[Session Manager|Management dialog for the current database sessions]]; this menu entry is only available if there is session management configured in the database settings&lt;br /&gt;
|-&lt;br /&gt;
| ''Custom System Objects...'' ||-|| Opens the [[Custom System Objects Dialog|Management dialog for custom system objects]]; will only appear once you successfully connected to a database&lt;br /&gt;
|-&lt;br /&gt;
| rowspan = &amp;quot;2&amp;quot; | ''Build''|| ''Rebuild...'' ||{{key press|F6}}|| Assembles the entire customizing code and displays the result in the [[Compiler|compiler window]]&lt;br /&gt;
|-&lt;br /&gt;
| ''Rebuild and download...'' ||{{key press|Ctrl|F6}} || Assembles the entire customizing code and attempts to deploy it according to the current database settings&lt;br /&gt;
|-&lt;br /&gt;
| rowspan = &amp;quot;5&amp;quot; | ''Tools''&lt;br /&gt;
|-&lt;br /&gt;
| ''View Test Environment...'' ||{{key press|F6}}|| Opens the [[View Test Environment]] window&lt;br /&gt;
|-&lt;br /&gt;
| ''Interface Manager...'' ||{{key press|F10}}|| Opens the [[Interface Manager]] window&lt;br /&gt;
|-&lt;br /&gt;
| ''ACM Manager...'' ||{{key press|F11}}|| Opens the [[ACM Manager]] window&lt;br /&gt;
|-&lt;br /&gt;
| ''Who-Bert'' ||{{key press|F12}}|| Opens the [[Debugger|Code and Workflow debugging]] window&lt;br /&gt;
|-&lt;br /&gt;
| rowspan = &amp;quot;4&amp;quot; | ''View''|| ''New Working Window'' ||{{key press|Ctrl|W}}|| Opens a new working window to host additional controls&lt;br /&gt;
|-&lt;br /&gt;
| ''Unsaved Objects Hierarchy'' ||{{key press|Ctrl|U}}|| Opens a window showing all currently changed, yet unsaved objects in a hierarchical style&lt;br /&gt;
|-&lt;br /&gt;
| ''Plugins'' ||-|| Opens the [[Plugin Modules]] window showing all currently loaded UBIK Plugins&lt;br /&gt;
|-&lt;br /&gt;
| ''Event Tracer'' ||-|| Opens the [[Event Tracer]] window showing all events (errors, warnings, messages) that occured while running the Studio session&lt;br /&gt;
|-&lt;br /&gt;
| rowspan = &amp;quot;3&amp;quot; | ''Help''|| ''UBIK Wiki'' ||{{key press|F1}}|| Opens the {{UBIK}} Wiki, meaning the root of this document&lt;br /&gt;
|-&lt;br /&gt;
| ''UBIK Class Documentation'' ||{{key press|Ctrl|F1}}|| Opens the help file with the {{UBIK}} Class Documentation&lt;br /&gt;
|-&lt;br /&gt;
| ''About'' ||-|| Opens a dialog with Version and [[Licensing]] information&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Status strip====&lt;br /&gt;
The very bottom of the {{UBIK}} Studio window displays a status strip, providing the following information, from left to right:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; | width = &amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Initial value!! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| ''DB''|| Current database: once connected, it will show the connection in the format ''Instance''@''Server''&lt;br /&gt;
|-&lt;br /&gt;
| ''NOT INITIALIZED''|| Current [[customizing|Customizing]]: when successfully loaded, it will display the version information of the instantiated customizing assembly, -1.-1.-1 if loading failed&lt;br /&gt;
|-&lt;br /&gt;
| ''CULTURE''|| Current language and culture in [http://en.wikipedia.org/wiki/ISO_639-1 ISO639-1] format&lt;br /&gt;
|-&lt;br /&gt;
| ''SESSION MANAGEMENT TYPE''|| Displays the type of session management in the current database; Doubleclicking the item opens the [[Session_Manager|Session Manager Dialog]] for all sessions in the current database if a multi-session management type is used&lt;br /&gt;
|-&lt;br /&gt;
| ''SESSION''|| Displays the name of the [[login|Login]] of the current [[session|Session]]; Right click on this item to switch into [[#Admin mode|Admin mode]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Status Notification ===&lt;br /&gt;
[[File:UI_StatusNotification.png|thumb|220px|upright|alt={{UBIK}} Studio status notification|{{UBIK}} Studio status notification]]&lt;br /&gt;
{{UBIK}} Studio informs the user about important events happening within the UBIK system.Therefore the Status strip has a notification area on the right showing a yellow notification icon once there has occured an event the user should be aware of. These events are warning and error messages or also a reminder from the {{UBIK}} Customizing Control to rebuild changed customizing code in order to provide the expected system behaviour. If there is a certain action involved to handle this notification, it is possible to get there immediately (e.g. open the [[Event Tracer]] window to review a warning) by clicking on the notification icon itself.&lt;br /&gt;
&lt;br /&gt;
=== Working area and controls ===&lt;br /&gt;
[[File:UI_UBIKStudio.png|thumb|220px|upright|alt={{UBIK}} Studio main window|{{UBIK}} Studio main window]]&lt;br /&gt;
The main window of {{UBIK}} Studio is split into 3 sections, where each of the 3 areas can hold an arbitrary amount of controls. The arrangement of the controls is user specific and can be saved in the user's profile. In addition to the predefined sections, the user interface can be extended with working windows, where each working window can again hold any amount of controls:&lt;br /&gt;
&lt;br /&gt;
:''View &amp;amp;rarr; New Working Window'' or {{key press|Ctrl|W}}&lt;br /&gt;
&lt;br /&gt;
However, such working windows are considered temporary and are therefore not made persistent when the layout is saved.&lt;br /&gt;
&lt;br /&gt;
====Using and connecting controls====&lt;br /&gt;
Each control provides different functionality for object creation/modification. Clicking the header of an empty tab strip in one of these areas with the left mouse button will bring up a context menu, that allows you to create a new tab page hosting one of the following controls:&lt;br /&gt;
&lt;br /&gt;
[[File:UI_UBIKControlsOverview.png|thumb|220px|upright|alt={{UBIK}} Studio controls|{{UBIK}} Studio controls]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; | width = &amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Control !! Preview !! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| ''[[Class Browser]]''|| [[File:UI_ClassBrowser.png|220x140px]]  || Navigate through, create and delete MetaClasses and instances&lt;br /&gt;
|-&lt;br /&gt;
| ''[[Class Details]]''|| [[File:UI_ClassDetails.png|220x140px]] || Design MetaClasses in their details; add/remove MetaProperties and classifications&lt;br /&gt;
|-&lt;br /&gt;
| ''[[Bulk Editor]]''|| [[File:UI_BulkEditor.png|220x140px]] || Create and edit multiple instances of a MetaClass in table style&lt;br /&gt;
|-&lt;br /&gt;
| ''[[Code Editor]]''|| [[File:UI_CodeEditor.png|220x140px]] || Implement MetaClass specific functionality using C#&lt;br /&gt;
|-&lt;br /&gt;
| ''[[Relation Editor]]''|| [[File:UI_RelationEditor.png|220x140px]] || Relate objects to each others and edit relational data&lt;br /&gt;
|-&lt;br /&gt;
| ''[[Object Explorer]]''|| [[File:UI_ObjectExplorer.png|220x140px]] || Display and edit all exposed properties of objects (list style)&lt;br /&gt;
|-&lt;br /&gt;
| ''[[Object Editor]]''|| [[File:UI_ObjectEditor.png|220x140px]] || Edit the property values of a single object&lt;br /&gt;
|-&lt;br /&gt;
| ''[[Workflow Editor]]''|| [[File:UI_WorkflowEditor.png|220x140px]] || View, design and run customer specific workflows&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
All controls in the {{UBIK}} working area offer the following interaction functionality: &lt;br /&gt;
* Set a control as [[ListenTo]] source of another control by dragging an object from the source control and drop it on the header of the hosting tab of the target control&lt;br /&gt;
* Release ListenTo by clicking the respective header and selecting the ''ListenTo: control name'' menu item&lt;br /&gt;
* Reconnect to the last known ListenTo source (if applicable) by selecting the ''Reconnect to:'' menu item&lt;br /&gt;
* Close a control by right clicking the tab header and selecting the ''Close'' menu item.&lt;br /&gt;
&lt;br /&gt;
{{Hint|Drag&amp;amp;Drop with the right mouse button to only set the context object of a control, without connecting ListenTo}}&lt;br /&gt;
{{Hint|Drag&amp;amp;Drop an object at an empty tab strip will let you select the control afterwards and subsequently sets the context object}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===User rights===&lt;br /&gt;
As of now, {{UBIK}} Studio doesn't feature a real user management system for designing data models. Although there is a distinction made between an admin and a non-admin user, with the very purpose of protecting system objects against unintended manipulation.&lt;br /&gt;
&lt;br /&gt;
However, {{UBIK}} fetches the current Windows user and creates the environment with this credentials, storing the login information on a [[Session|session]] object.&lt;br /&gt;
&lt;br /&gt;
====Admin mode====&lt;br /&gt;
[[File:UI_Property_editable_05.PNG|220 px|thumb|border|alt=Admin mode|Admin mode]]&lt;br /&gt;
Right click on the user name in the status strip and select the menu item ''Admin mode'' to switch all active controls to [[Admin mode|admin mode]]. As long as you are in admin mode, the user name in the status strip will appear red.&lt;br /&gt;
&lt;br /&gt;
{{Attention|Be careful, manipulating system objects might results in instability of {{UBIK}} Studio or other {{UBIK}} components!}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[:Category:Studio controls|Studio controls]]&lt;br /&gt;
* [[HowTo:Install_UBIK_Studio|How to install UBIK Studio]]&lt;br /&gt;
* [[UBIK_Console]]&lt;br /&gt;
&lt;br /&gt;
{{Category/Version|2.5.1}}&lt;br /&gt;
&lt;br /&gt;
[[Category:2.5.1|UBIK Studio Basics]]&lt;br /&gt;
[[Category:Studio|UBIK Studio Basics]]&lt;/div&gt;</summary>
		<author><name>BMA</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=UBIK_Studio_Basics&amp;diff=21062</id>
		<title>UBIK Studio Basics</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=UBIK_Studio_Basics&amp;diff=21062"/>
				<updated>2018-12-04T10:16:00Z</updated>
		
		<summary type="html">&lt;p&gt;BMA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{UBIK}} Studio is the server application and administrative tool for creating and modifying {{UBIK}} object models. It enables you to transfer your entity-relationship-model into {{UBIK}} MetaClasses and MetaProperties and build up necessary relations. It is also the instrument of choice to manage instances of MetaClasses, edit their property values and create views and queries. This section will provide you with more information on the user interface.&lt;br /&gt;
[[File:UI_Studio.png|thumb|220px|{{UBIK}} Studio]]&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
===Command line arguments===&lt;br /&gt;
&lt;br /&gt;
The following arguments can be passed to and will be recognized by the UBIK.Studio.exe:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; | width = &amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Parameter!! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| ''-NOCUSTOM''|| Don't attempt to load the customized object code&lt;br /&gt;
|-&lt;br /&gt;
| ''-NOCUSTOMUI''|| Don't attempt to load the customized UI elements&lt;br /&gt;
|-&lt;br /&gt;
| ''-CUSTOMVERSION:version''|| Attempt to load a specific deployed ''version'' of the customizing instead of the currently released one. Use this option if you want to test a specific customizing, without releasing it to all users.&lt;br /&gt;
|-&lt;br /&gt;
| ''-CONNECTDB''|| Connects automatically to the most recently used database&lt;br /&gt;
|-&lt;br /&gt;
| ''-IGNOREUSAM''|| Ignores the Session Authorization and uses a fallback session if no authorization is granted by the [[USAM|Session]] &lt;br /&gt;
|-&lt;br /&gt;
| ''-DBMAINTENANCE:activity''|| Starts {{UBIK}} Studio in maintenance mode. Possible activities are:&lt;br /&gt;
1 = recompiling of system structures; 2 = recreate MetaProperty views; 3 = recompile database; 4=Transfer Data to Attributes.&lt;br /&gt;
Please do not use this option if you do not have any knowledge about these activities.&lt;br /&gt;
|-|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Attention|Setting these command line arguments might changes the expected behavior of a data model significantly!}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Options ===&lt;br /&gt;
[[File:UI_UBIKStudioOptions.png|thumb|220px|upright|alt={{UBIK}} Studio settings|{{UBIK}} Studio settings]]&lt;br /&gt;
Locate and click the menu ''File &amp;amp;rarr; Options''. Press {{key press|Apply}} or {{key press|OK}} when you're finished changing the options, or {{key press|Cancel}} if you don't want your changes to be saved. The settings are user-specific and will be stored in your local Windows user profile.&lt;br /&gt;
&lt;br /&gt;
In the options you can configure your database connection by the following parameters&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; | width = &amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Parameter!! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| ''AutoConnect''|| If set to true, the system will attempt to automatically connect to the configured database on start up&lt;br /&gt;
|-&lt;br /&gt;
| ''DataBase''|| The name of the instance on the SQL Server&lt;br /&gt;
|-&lt;br /&gt;
| ''DataSource''|| The name of the SQL Server (specify a server via host name, UNC, IP, ...)&lt;br /&gt;
|-&lt;br /&gt;
| ''Language''|| Set the desired database language in [http://en.wikipedia.org/wiki/ISO_639-1 ISO639-1] syntax&lt;br /&gt;
|-&lt;br /&gt;
| ''WindowsAuthentication''|| If set to true, the user and password parameter are ignored and UBIK tries to connect to the SQL Server using the Windows credentials. {{Version/ServerSince|2.5.1}}&lt;br /&gt;
|-&lt;br /&gt;
| ''User''|| SQL Server user name. Only used when WindowsAuthentication is set to false.&lt;br /&gt;
|-&lt;br /&gt;
| ''Password''|| SQL Server password. Only used when WindowsAuthentication is set to false.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Take care that the specified SQL user has appropriate permissions on the database.&lt;br /&gt;
&lt;br /&gt;
Additional options are&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; | width = &amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Parameter!! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| ''RecordLifeTime''|| Set how long records are valid before they will be requeried for changes by the kernel; -1 to turn off&lt;br /&gt;
|-&lt;br /&gt;
| ''AutoSaveTime''|| Set how often {{UBIK}} Studio should save all unsaved objects automatically, in minutes; -1 to turn off&lt;br /&gt;
|-&lt;br /&gt;
| ''NotifyOnError''|| Displays a notification if an error occurs; false to turn off&lt;br /&gt;
|-&lt;br /&gt;
| ''NotifyOnWarning''|| Displays a notification if a warning occurs; false to turn off&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Database specific settings===&lt;br /&gt;
Once successfully connected to a database, the menu item ''Database &amp;amp;rarr; {database name} settings...'' becomes visible. As the name already states, these are settings that are specific to the very database you are connected to, hence changes also only apply to it.&lt;br /&gt;
&lt;br /&gt;
The following parameters can be read, respectively edited here&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; | width = &amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Parameter!! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| ''File store mode''|| readonly; ''UNC'' for a regular filesystem, ''Cloud'' for a cloud storage&lt;br /&gt;
|-&lt;br /&gt;
| ''Data path''|| The path to the root directory of the data storage for this database in ''UNC'' mode; In ''Cloud'' mode the path can be defined as a relative path within the specified cloud container, this parameter can be left empty when using its root directory level.&lt;br /&gt;
|-&lt;br /&gt;
| ''CloudStorageAccount''|| The name of your storage account from your cloud service provider; only evaluated if ''File store mode'' is ''Cloud''&lt;br /&gt;
|-&lt;br /&gt;
| ''CloudStorageKey''|| The authorization key from your cloud service provider to access your cloud storage; only evaluated if ''File store mode'' is ''Cloud''&lt;br /&gt;
|-&lt;br /&gt;
| ''Cloud container name''|| The name of the root cloud container where files for this database will be placed; only evaluated if ''File store mode'' is ''Cloud''&lt;br /&gt;
|-&lt;br /&gt;
| ''Language count''|| readonly; The number of languages currently configured in {{UBIK}}&lt;br /&gt;
|-&lt;br /&gt;
| ''Date format''|| The date/time format to use in this database in [http://en.wikipedia.org/wiki/ISO_8601 ISO8601] syntax&lt;br /&gt;
|-&lt;br /&gt;
| ''Root-Metaclass for Metaproperties''|| readonly; The MetaClass where new Metaproperties will derive from&lt;br /&gt;
|-&lt;br /&gt;
| ''Root-Metaclass for metaclasses''|| readonly; The MetaClass where new MetaClass will derive from&lt;br /&gt;
|-&lt;br /&gt;
| ''SessionManagementType''|| Configure the type of session management that must be used by all UBIK sessions: 0 = Single Local Management, 1 = LAS, 2 = GAS&lt;br /&gt;
|-&lt;br /&gt;
| ''SessionServiceUrl[:Port]''|| If the SessionManagementType is configured to use a LAS or GAS, the ServiceUrl of the AS must be configure here. In the case of an Local management, this setting is ignored.&amp;lt;br /&amp;gt;The port number ''Port'' must be specified only if other than 443 (default for https). &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Working with {{UBIK}} Studio==&lt;br /&gt;
=== Basic UI elements ===&lt;br /&gt;
====Menu and toolbar====&lt;br /&gt;
The top area of {{UBIK}} Studio features a menu strip:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; | width = &amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Menu!!Menu item!!Shortcut!! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| rowspan = &amp;quot;6&amp;quot; | ''File'' || ''New'' || {{key press|Ctrl|N}} || No purpose yet&lt;br /&gt;
|-&lt;br /&gt;
| ''Open Database'' ||{{key press|Ctrl|O}} || Clicking the item itself will attempt to open the last configured database connection, its sub menu items will show the most recently used connections&lt;br /&gt;
|-&lt;br /&gt;
| ''Clear recent list'' ||-|| Clears the list of recently used database connections&lt;br /&gt;
|-&lt;br /&gt;
| ''Save All'' || {{key press|Ctrl|S}} || Saves all unsaved objects of the current session to the database&lt;br /&gt;
|-&lt;br /&gt;
| ''Options...'' ||-|| Opens the [[#Options|Options]] dialog &lt;br /&gt;
|-&lt;br /&gt;
| ''Exit'' ||-|| Closes {{UBIK}} Studio&lt;br /&gt;
|-&lt;br /&gt;
| rowspan = &amp;quot;5&amp;quot; | ''Database''&lt;br /&gt;
|-&lt;br /&gt;
| ''{database name} settings...'' ||-|| Opens the [[#Database specific settings|specific settings dialog for the currently connected database]]; will only appear once you successfully connected to a database&lt;br /&gt;
|-&lt;br /&gt;
| ''Manage Database...'' ||-|| Opens the [[Database Manager|Management dialog for the current database]]; will also appear if connection to the database failed&lt;br /&gt;
|-&lt;br /&gt;
| ''Sessions...'' ||-|| Opens the [[Session Manager|Management dialog for the current database sessions]]; this menu entry is only available if there is session management configured in the database settings&lt;br /&gt;
|-&lt;br /&gt;
| ''Custom System Objects...'' ||-|| Opens the [[Custom System Objects Dialog|Management dialog for custom system objects]]; will only appear once you successfully connected to a database&lt;br /&gt;
|-&lt;br /&gt;
| rowspan = &amp;quot;2&amp;quot; | ''Build''|| ''Rebuild...'' ||{{key press|F6}}|| Assembles the entire customizing code and displays the result in the [[Compiler|compiler window]]&lt;br /&gt;
|-&lt;br /&gt;
| ''Rebuild and download...'' ||{{key press|Ctrl|F6}} || Assembles the entire customizing code and attempts to deploy it according to the current database settings&lt;br /&gt;
|-&lt;br /&gt;
| rowspan = &amp;quot;5&amp;quot; | ''Tools''&lt;br /&gt;
|-&lt;br /&gt;
| ''View Test Environment...'' ||{{key press|F6}}|| Opens the [[View Test Environment]] window&lt;br /&gt;
|-&lt;br /&gt;
| ''Interface Manager...'' ||{{key press|F10}}|| Opens the [[Interface Manager]] window&lt;br /&gt;
|-&lt;br /&gt;
| ''ACM Manager...'' ||{{key press|F11}}|| Opens the [[ACM Manager]] window&lt;br /&gt;
|-&lt;br /&gt;
| ''Who-Bert'' ||{{key press|F12}}|| Opens the [[Debugger|Code and Workflow debugging]] window&lt;br /&gt;
|-&lt;br /&gt;
| rowspan = &amp;quot;4&amp;quot; | ''View''|| ''New Working Window'' ||{{key press|Ctrl|W}}|| Opens a new working window to host additional controls&lt;br /&gt;
|-&lt;br /&gt;
| ''Unsaved Objects Hierarchy'' ||{{key press|Ctrl|U}}|| Opens a window showing all currently changed, yet unsaved objects in a hierarchical style&lt;br /&gt;
|-&lt;br /&gt;
| ''Plugins'' ||-|| Opens the [[Plugin Modules]] window showing all currently loaded UBIK Plugins&lt;br /&gt;
|-&lt;br /&gt;
| ''Event Tracer'' ||-|| Opens the [[Event Tracer]] window showing all events (errors, warnings, messages) that occured while running the Studio session&lt;br /&gt;
|-&lt;br /&gt;
| rowspan = &amp;quot;3&amp;quot; | ''Help''|| ''UBIK Wiki'' ||{{key press|F1}}|| Opens the {{UBIK}} Wiki, meaning the root of this document&lt;br /&gt;
|-&lt;br /&gt;
| ''UBIK Class Documentation'' ||{{key press|Ctrl|F1}}|| Opens the help file with the {{UBIK}} Class Documentation&lt;br /&gt;
|-&lt;br /&gt;
| ''About'' ||-|| Opens a dialog with Version and [[Licensing]] information&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Status strip====&lt;br /&gt;
The very bottom of the {{UBIK}} Studio window displays a status strip, providing the following information, from left to right:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; | width = &amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Initial value!! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| ''DB''|| Current database: once connected, it will show the connection in the format ''Instance''@''Server''&lt;br /&gt;
|-&lt;br /&gt;
| ''NOT INITIALIZED''|| Current [[customizing|Customizing]]: when successfully loaded, it will display the version information of the instantiated customizing assembly, -1.-1.-1 if loading failed&lt;br /&gt;
|-&lt;br /&gt;
| ''CULTURE''|| Current language and culture in [http://en.wikipedia.org/wiki/ISO_639-1 ISO639-1] format&lt;br /&gt;
|-&lt;br /&gt;
| ''SESSION MANAGEMENT TYPE''|| Displays the type of session management in the current database; Doubleclicking the item opens the [[Session_Manager|Session Manager Dialog]] for all sessions in the current database if a multi-session management type is used&lt;br /&gt;
|-&lt;br /&gt;
| ''SESSION''|| Displays the name of the [[login|Login]] of the current [[session|Session]]; Right click on this item to switch into [[#Admin mode|Admin mode]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Status Notification ===&lt;br /&gt;
[[File:UI_StatusNotification.png|thumb|220px|upright|alt={{UBIK}} Studio status notification|{{UBIK}} Studio status notification]]&lt;br /&gt;
{{UBIK}} Studio informs the user about important events happening within the UBIK system.Therefore the Status strip has a notification area on the right showing a yellow notification icon once there has occured an event the user should be aware of. These events are warning and error messages or also a reminder from the {{UBIK}} Customizing Control to rebuild changed customizing code in order to provide the expected system behaviour. If there is a certain action involved to handle this notification, it is possible to get there immediately (e.g. open the [[Event Tracer]] window to review a warning) by clicking on the notification icon itself.&lt;br /&gt;
&lt;br /&gt;
=== Working area and controls ===&lt;br /&gt;
[[File:UI_UBIKStudio.png|thumb|220px|upright|alt={{UBIK}} Studio main window|{{UBIK}} Studio main window]]&lt;br /&gt;
The main window of {{UBIK}} Studio is split into 3 sections, where each of the 3 areas can hold an arbitrary amount of controls. The arrangement of the controls is user specific and can be saved in the user's profile. In addition to the predefined sections, the user interface can be extended with working windows, where each working window can again hold any amount of controls:&lt;br /&gt;
&lt;br /&gt;
:''View &amp;amp;rarr; New Working Window'' or {{key press|Ctrl|W}}&lt;br /&gt;
&lt;br /&gt;
However, such working windows are considered temporary and are therefore not made persistent when the layout is saved.&lt;br /&gt;
&lt;br /&gt;
====Using and connecting controls====&lt;br /&gt;
Each control provides different functionality for object creation/modification. Clicking the header of an empty tab strip in one of these areas with the left mouse button will bring up a context menu, that allows you to create a new tab page hosting one of the following controls:&lt;br /&gt;
&lt;br /&gt;
[[File:UI_UBIKControlsOverview.png|thumb|220px|upright|alt={{UBIK}} Studio controls|{{UBIK}} Studio controls]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; | width = &amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Control !! Preview !! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| ''[[Class Browser]]''|| [[File:UI_ClassBrowser.png|220x140px]]  || Navigate through, create and delete MetaClasses and instances&lt;br /&gt;
|-&lt;br /&gt;
| ''[[Class Details]]''|| [[File:UI_ClassDetails.png|220x140px]] || Design MetaClasses in their details; add/remove MetaProperties and classifications&lt;br /&gt;
|-&lt;br /&gt;
| ''[[Bulk Editor]]''|| [[File:UI_BulkEditor.png|220x140px]] || Create and edit multiple instances of a MetaClass in table style&lt;br /&gt;
|-&lt;br /&gt;
| ''[[Code Editor]]''|| [[File:UI_CodeEditor.png|220x140px]] || Implement MetaClass specific functionality using C#&lt;br /&gt;
|-&lt;br /&gt;
| ''[[Relation Editor]]''|| [[File:UI_RelationEditor.png|220x140px]] || Relate objects to each others and edit relational data&lt;br /&gt;
|-&lt;br /&gt;
| ''[[Object Explorer]]''|| [[File:UI_ObjectExplorer.png|220x140px]] || Display and edit all exposed properties of objects (list style)&lt;br /&gt;
|-&lt;br /&gt;
| ''[[Object Editor]]''|| [[File:UI_ObjectEditor.png|220x140px]] || Edit the property values of a single object&lt;br /&gt;
|-&lt;br /&gt;
| ''[[Workflow Editor]]''|| [[File:UI_WorkflowEditor.png|220x140px]] || View, design and run customer specific workflows&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
All controls in the {{UBIK}} working area offer the following interaction functionality: &lt;br /&gt;
* Set a control as [[ListenTo]] source of another control by dragging an object from the source control and drop it on the header of the hosting tab of the target control&lt;br /&gt;
* Release ListenTo by clicking the respective header and selecting the ''ListenTo: control name'' menu item&lt;br /&gt;
* Reconnect to the last known ListenTo source (if applicable) by selecting the ''Reconnect to:'' menu item&lt;br /&gt;
* Close a control by right clicking the tab header and selecting the ''Close'' menu item.&lt;br /&gt;
&lt;br /&gt;
{{Hint|Drag&amp;amp;Drop with the right mouse button to only set the context object of a control, without connecting ListenTo}}&lt;br /&gt;
{{Hint|Drag&amp;amp;Drop an object at an empty tab strip will let you select the control afterwards and subsequently sets the context object}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===User rights===&lt;br /&gt;
As of now, {{UBIK}} Studio doesn't feature a real user management system for designing data models. Although there is a distinction made between an admin and a non-admin user, with the very purpose of protecting system objects against unintended manipulation.&lt;br /&gt;
&lt;br /&gt;
However, {{UBIK}} fetches the current Windows user and creates the environment with this credentials, storing the login information on a [[Session|session]] object.&lt;br /&gt;
&lt;br /&gt;
====Admin mode====&lt;br /&gt;
[[File:UI_Property_editable_05.PNG|220 px|thumb|border|alt=Admin mode|Admin mode]]&lt;br /&gt;
Right click on the user name in the status strip and select the menu item ''Admin mode'' to switch all active controls to [[Admin mode|admin mode]]. As long as you are in admin mode, the user name in the status strip will appear red.&lt;br /&gt;
&lt;br /&gt;
{{Attention|Be careful, manipulating system objects might results in instability of {{UBIK}} Studio or other {{UBIK}} components!}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[:Category:Studio controls|Studio controls]]&lt;br /&gt;
* [[HowTo:Install_UBIK_Studio|How to install UBIK Studio]]&lt;br /&gt;
* [UBIK_Console]&lt;br /&gt;
&lt;br /&gt;
{{Category/Version|2.5.1}}&lt;br /&gt;
&lt;br /&gt;
[[Category:2.5.1|UBIK Studio Basics]]&lt;br /&gt;
[[Category:Studio|UBIK Studio Basics]]&lt;/div&gt;</summary>
		<author><name>BMA</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=UBIK_WinX_Client_Basics&amp;diff=21061</id>
		<title>UBIK WinX Client Basics</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=UBIK_WinX_Client_Basics&amp;diff=21061"/>
				<updated>2018-12-03T15:11:32Z</updated>
		
		<summary type="html">&lt;p&gt;BMA: /* Profiles */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{UBIK}} Client is the mobile application for viewing and modifying data, showing documents, starting navigation, visualizing POIs and much more.&lt;br /&gt;
&lt;br /&gt;
Client applications are available for Android and WinX, however the features available on each of the platform dependent applications might differ. An overview of the available features can be found in the [[Client_Feature_Table|feature comparison table]].&lt;br /&gt;
&lt;br /&gt;
== Login ==&lt;br /&gt;
Users need to login in order to access confidential data, this can be done in the [[Login View]].&lt;br /&gt;
&lt;br /&gt;
== Profiles ==&lt;br /&gt;
Profiles are used to store connection information for {{UBIK}} services. It specifies the location where to find the service along with other useful informations. Profiles are stored by UBIK whenever the user created connection information and stored it in the settings. However, profiles can also be created and edited with any text editor. Possible settings to be defined are:&lt;br /&gt;
* InternalConnectionSettings: Connections settings how to connect to the Content and the USAM service that has been set up.&lt;br /&gt;
** Application: the [[APPLICATION]] to use with the service&lt;br /&gt;
** AuthenticationPort: Port Number of the authentication (USAM) service (default: 777)&lt;br /&gt;
** AuthenticationProtocol: Protocol of the authentication service (default: https)&lt;br /&gt;
** AuthenticationServer: the ip address of the authentication server&lt;br /&gt;
** AuthenticationService: the path to the authentication service&lt;br /&gt;
** ContentPort: Port Number of the content service (default: 777)&lt;br /&gt;
** ContentProtocol: Protocol of the content service (default: https)&lt;br /&gt;
** ContentServer: the ip address of the content server&lt;br /&gt;
** ContentService: the path to the content service&lt;br /&gt;
** Context: the [[CONTEXT]] to use with the service&lt;br /&gt;
** SyncMode: the used sync mode (Online [= Auto], Manual, Offline; default:Online)&lt;br /&gt;
* IsDefault: true, if the profile should be the default profile&lt;br /&gt;
* Name: the name of the profile (will also be used to identify the database)&lt;br /&gt;
* Project: the project name. Use this to share a single project name with more than one profile. If the project is defined, all profile with the same project will share one database.&lt;br /&gt;
* Customizing: the XAML subfolder to use for customized UI. This parameter can be used to share one single XAML customizing folder for multiple profiles.&lt;br /&gt;
* ShowHiddenSettings: show hidden settings (feault: false)&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;source lang = &amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;Profile xmlns:i=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; xmlns=&amp;quot;http://schemas.datacontract.org/2004/07/UBIK.WinX.Settings&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;Customizing&amp;gt;MYAPPLICATIONUI&amp;lt;/Customizing&amp;gt;&lt;br /&gt;
  &amp;lt;Description i:nil=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;InternalConnectionSettings&amp;gt;&lt;br /&gt;
    &amp;lt;Application&amp;gt;APP_DEMO&amp;lt;/Application&amp;gt;&lt;br /&gt;
    &amp;lt;AuthenticationPort&amp;gt;777&amp;lt;/AuthenticationPort&amp;gt;&lt;br /&gt;
    &amp;lt;AuthenticationProtocol&amp;gt;https&amp;lt;/AuthenticationProtocol&amp;gt;&lt;br /&gt;
    &amp;lt;AuthenticationServer&amp;gt;80.243.175.50&amp;lt;/AuthenticationServer&amp;gt;&lt;br /&gt;
    &amp;lt;AuthenticationService&amp;gt;UBIK/DBG/AUG/DEMO.250/USAM/USAM.svc&amp;lt;/AuthenticationService&amp;gt;&lt;br /&gt;
    &amp;lt;ContentPort&amp;gt;777&amp;lt;/ContentPort&amp;gt;&lt;br /&gt;
    &amp;lt;ContentProtocol&amp;gt;https&amp;lt;/ContentProtocol&amp;gt;&lt;br /&gt;
    &amp;lt;ContentServer&amp;gt;80.243.175.50&amp;lt;/ContentServer&amp;gt;&lt;br /&gt;
    &amp;lt;ContentService&amp;gt;UBIK/DBG/AUG/DEMO.250/CONTENT/UBIKContent.svc&amp;lt;/ContentService&amp;gt;&lt;br /&gt;
    &amp;lt;Context&amp;gt;CXT_DEMO&amp;lt;/Context&amp;gt;&lt;br /&gt;
    &amp;lt;SyncMode&amp;gt;Online&amp;lt;/SyncMode&amp;gt;&lt;br /&gt;
  &amp;lt;/InternalConnectionSettings&amp;gt;&lt;br /&gt;
  &amp;lt;IsDefault&amp;gt;true&amp;lt;/IsDefault&amp;gt;&lt;br /&gt;
  &amp;lt;Name&amp;gt;DEMO.250.AT&amp;lt;/Name&amp;gt;&lt;br /&gt;
  &amp;lt;Project&amp;gt;DEMO.250&amp;lt;/Project&amp;gt;&lt;br /&gt;
  &amp;lt;ShowHiddenSettings&amp;gt;false&amp;lt;/ShowHiddenSettings&amp;gt;&lt;br /&gt;
&amp;lt;/Profile&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:WinX|UBIK WinX Client Basics]]&lt;br /&gt;
&lt;br /&gt;
== Content Browser ==&lt;br /&gt;
Allows to navigate through the entire data model in a hierarchical manner, as it is published by the server.&lt;br /&gt;
&lt;br /&gt;
Initially, a list of objects (&amp;quot;root objects&amp;quot;) is shown. Upon selecting an object, a new browser is opened for that object, showing details about it. When an object is selected in the content browser, it is called the browser's context. For such a contextual object, child objects and selected properties are shown. Also, there is a context menu providing actions related to the currently selected object. &lt;br /&gt;
&lt;br /&gt;
=== Status Bar ===&lt;br /&gt;
[[File:UI_WinX_DbSavingIndicator.PNG|300 px|thumb|border|alt=Saving Symbol|Saving Symbol]]&lt;br /&gt;
{{Version/WinXSince|2.5.4}}Whenever content is being saved into the local database (for example, after a branch is downloaded from the server), there will be a blinking symbol indicating the saving activity is happening in the background.&lt;br /&gt;
During that time, the user is advised to not logout or close the app because the content might be lost otherwise. However, it is okay to undertake other tasks such as browsing, editing or downloading branches.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Child Page ===&lt;br /&gt;
&lt;br /&gt;
[[File:ChildPage.PNG|400 px|thumb|border|alt=Child Page|Child Page]]&lt;br /&gt;
&lt;br /&gt;
The child page shows the context of a selected object. &lt;br /&gt;
&lt;br /&gt;
The global status bar shows the icon, the name and the description of the selected object. An arrow on the left side allows the user to navigate back to the parent object. On the right side the currently logged-in user is indicated. By clicking on the username one is able to navigate back to the home screen or log off.&lt;br /&gt;
&lt;br /&gt;
The right side of the child page shows child objects of the current object. Each child object is represented by an icon, a name and a description. &lt;br /&gt;
&lt;br /&gt;
On the left side of the child page the current object´s high priority properties are shown. By clicking on a live value property, the live value details dialog opens. By clicking on an editable [[UBIK_WinX_Client_Basics#High_priority_properties| high priority property]], an editor opens {{Version/WinXSince|2.5.4}}. If a property was edited a save button is shown in the lower left corner, allowing the user to commit the changes. If a property of a query object was edited an evaluate button is shown in the lower left corner, allowing the user to run the query with the changed propery.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Details Page ===&lt;br /&gt;
&lt;br /&gt;
=== Context Menu ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Objects ===&lt;br /&gt;
&lt;br /&gt;
==== Root objects vs child objects ====&lt;br /&gt;
&lt;br /&gt;
The first entry point in the ''Content Browser'' is the list of root objects.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Task objects ====&lt;br /&gt;
&lt;br /&gt;
==== Query objects ====&lt;br /&gt;
&lt;br /&gt;
==== Safety relevant objects ====&lt;br /&gt;
&lt;br /&gt;
==== Commissioning objects ====&lt;br /&gt;
&lt;br /&gt;
==== Locked objects ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Properties ===&lt;br /&gt;
&lt;br /&gt;
==== Live value properties ====&lt;br /&gt;
&lt;br /&gt;
==== High priority properties ====&lt;br /&gt;
High priority properties are properities having a priority higher than the [[Settings#Content |priority threshold]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Selective List Properties ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Properties with value records {{Version/WinXSince|2.5.4}} ====&lt;br /&gt;
[[File:UI_WinX_PropertyWithValueRecords.png|thumb|A property with value records]]&lt;br /&gt;
[[File:UI_WinX_PropertyValueRecords.png|thumb|Property value records dialog]]&lt;br /&gt;
In addition to its value, a property might also bring along a series of value records showing &amp;quot;who changed the value at what time&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
When such records exist, the property row shows a special symbol on the right side. After a right click (with mouse) or a long tap (with touch) on the property row, a dialog will be shown to present these records (sorted by their time, recent ones on top).&lt;br /&gt;
&lt;br /&gt;
{{Clear}}&lt;br /&gt;
&lt;br /&gt;
==== Editors ====&lt;br /&gt;
&lt;br /&gt;
===== Geo Editor &amp;amp; Teach In =====&lt;br /&gt;
&lt;br /&gt;
==== Guid editor ====&lt;br /&gt;
[[File:Guid_property_dialog.PNG|thumb|border|alt=Guid property editor dialog|Guid property editor dialog]]&lt;br /&gt;
&lt;br /&gt;
To edit Guid properties (that do not have a selective list available), we have implemented a special system. Since a Guid property always just contains the Guid as a reference to another object, we can use a query to find the object we want to assign to this property.&lt;br /&gt;
&lt;br /&gt;
When the Guid property has a FilterQuery datamember (which should contain the guid of a query), it will become editable through this query. Note that this FilterQuery guid will not actually be visible in the client. All this should be setup in the backend, the client has no control over this.&lt;br /&gt;
&lt;br /&gt;
When clicking an editable Guid property, you will see a dialog with up to 3 extra buttons added (see image):&lt;br /&gt;
&lt;br /&gt;
;View Object&lt;br /&gt;
:This button will be enabled when there is a valid guid assigned to the property. Clicking this button will immediately navigate to the referenced object.&lt;br /&gt;
;Edit Property&lt;br /&gt;
:If the property has a valid FilterQuery assigned to it, clicking this button will launch that query. If no FilterQuery is assigned, this button will be invisible.&lt;br /&gt;
;Clear Property Value&lt;br /&gt;
:If the property has a guid assigned, the user can press this button to reset the value back to empty.&lt;br /&gt;
&lt;br /&gt;
Additionally, if a valid FilterQuery is assigned, the user will see the results of that query ''inline'', if the query delivers 200 results or fewer. The user can select an item from this horizontally scrollable list, and press &amp;quot;OK&amp;quot; to assign the UID of the selected object to the Guid property. This is useful for cases where the user does not want to jump into the full query to be able to select an object.&lt;br /&gt;
&lt;br /&gt;
If the user does choose to launch the full query page (or if the query returns over 200 objects), they can click any of the displayed items in the query's child list. When clicking one of them, it will immediately be set as the reference in the original Guid property. To cancel selecting an item (and stop editing the property), simply navigate to any other page (by pressing back, using navigation bar, etc).&lt;br /&gt;
&lt;br /&gt;
[[Category:WinX|UBIK WinX Client Basics]]&lt;br /&gt;
&lt;br /&gt;
=== Documents ===&lt;br /&gt;
UBIK supports and displays document objects and a bunch of actions related to them (editing, redlining, creation, thumbnails, ...).&lt;br /&gt;
&lt;br /&gt;
==== Customizing Possibilities ====&lt;br /&gt;
&lt;br /&gt;
==== Editing{{Version/WinXSince|2.5.4}} ====&lt;br /&gt;
[[File:UI_WinX_EditDocumentButton.png|thumb|Button to edit a document]]&lt;br /&gt;
For [[SYSCLS_EDITABLEDOCUMENT|editable documents]], there is an {{key press|edit}} button in the bottom app bar. It allows the user to edit a document file using the default app of the OS. If a file is changed during the edit, the same {{key press|save}} button appears just like it does for content with changed properties.&lt;br /&gt;
{{Hint|Similar to saving, other app features also apply on edited documents. For example, reverting local changes for an edited document will throw away the changed document file and restore it to the server version.}}&lt;br /&gt;
[[File:UI_WinX_EditDocumentOverlayButton.png|thumb|Edit button in thumbnail overlay]]&lt;br /&gt;
An alternative way to start editing is to right click on a document's thumbnail, which brings up an overlay of buttons, and then select the {{key press|edit}} button. The difference here is that there is no {{key press|save}} button and any changes are automatically saved (and committed if in online mode).&lt;br /&gt;
{{Clear}}&lt;br /&gt;
&lt;br /&gt;
==== Offline availability ====&lt;br /&gt;
When a user selects a branch to bring offline, files of all document objects underneath are downloaded in principle. However, they can also be selectively configured to be ignored with a [[SYSCLS_OFFLINE_AVAILABLE_DOCUMENT|classification]] on the server-side. Once a document is classified as offline available, the document file will not be removed when the storage for already synchronized document files is cleared.&lt;br /&gt;
{{Hint|This is not to be confused with the accessibility related to [[User_Rights|user rights]]. The logic here is &amp;quot;some documents '''do not have to''' be downloaded&amp;quot;, not &amp;quot;some documents '''can not''' be downloaded/accessed&amp;quot;. In other words, a user can browse to and open the document regardless of this configuration.}}&lt;br /&gt;
&lt;br /&gt;
==== Clear Online Documents ====&lt;br /&gt;
By clearing the online documents, it is possible to free up system memory if needed. It can be triggered by pressing the button &amp;quot;Clear online documents&amp;quot; in the general settings tab. Online documents are documents already uploaded to the server. They can be downloaded anytime agian when the client is connected to the server. However, documents classified as offline available will not be affected and will always stay on the device.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== AR Features ==&lt;br /&gt;
&lt;br /&gt;
=== POI View ===&lt;br /&gt;
Brings up the POI View|Augmented Reality view and displays Points of Interest (POI's) related to the current location of the mobile device.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Markerless ===&lt;br /&gt;
&lt;br /&gt;
=== Map View ===&lt;br /&gt;
Opens the Map View and displays Points of Interest (POI's) related to the current location of the mobile device.&lt;br /&gt;
&lt;br /&gt;
== Positioning ==&lt;br /&gt;
{{UBIK}} clients use a [[Location_Manager|Location Manager]] in order to gain knowledge about their position, so it can help the user navigate to his/her target.&lt;br /&gt;
&lt;br /&gt;
The user can choose one of different positioning modes optimized for different environments.&lt;br /&gt;
Most of them incorporate multiple technologies for calculating positions or checking their reliability.&lt;br /&gt;
&lt;br /&gt;
=== Positioning modes ===&lt;br /&gt;
&lt;br /&gt;
* ''Use all'' - uses all available position sources&lt;br /&gt;
* ''LLA only mode'' - used for positioning using markers only&lt;br /&gt;
* ''Beacon Proximity mode'' - uses iBeacon proximity and LLA only&lt;br /&gt;
&lt;br /&gt;
=== Technologies ===&lt;br /&gt;
&lt;br /&gt;
==== GPS ==== &lt;br /&gt;
GPS is used as a primary positioning input source for outdoor areas. Its precision depends on the environment and satellite availability. With good circumstances, the accuracy varies between 1 and 10 meters.&lt;br /&gt;
&lt;br /&gt;
==== LLA markers ==== &lt;br /&gt;
LLA markers basically are QR codes with location data encoded into them - which can be used for positioning when they are scanned.&lt;br /&gt;
&lt;br /&gt;
==== Object Proximity Positioning ====&lt;br /&gt;
The location of nearby Geo-Objects can be used for positioning.&lt;br /&gt;
&lt;br /&gt;
The position of a Geo-Object can be used manually by pushing the button {{key press|Use Location}} in the [[UBIK_WinX_Client_Basics#Context_Menu|Context Menu]]. &lt;br /&gt;
&lt;br /&gt;
The geo information of an object gets used automatically if exactly one single object is found through scanning. If more objects are found, their geo information doesn´t get used. Scanning includes  [[UBIK Client Basics#Bar Code|Bar Code]], [[UBIK Client Basics#QR Code|QR Code]], [[UBIK Client Basics#OCR|OCR]] and [[UBIK Client Basics#RFID|RFID]]. The automatic use of Geo-Object´s location can be turned off by disabling the &amp;quot;EnableObjectProximityPositioning&amp;quot; setting.&lt;br /&gt;
&lt;br /&gt;
[[Category:WinX|UBIK WinX Client Basics]]&lt;br /&gt;
&lt;br /&gt;
==== Beacon-Proximity Positioning ====&lt;br /&gt;
The Beacon Proximity Mode detects if the user is in the proximity of a beacon. The proximity region is defined by a proximity distance which creates a sphere around the beacon. Whenever the calculated distance to a beacon is smaller than the proximity distance, the user is supposed to be at the position of the beacon. If multiple regions intersect the user is supposed to be at the position of the nearest beacon. &lt;br /&gt;
In order to use Beacon Proximity as a Positioning System, Bluetooth Low Energy has to be available and enabled on the mobile device. If a new environment should be equipped with iBeacon-Positioning, an expert has to mount iBeacons on known positions and calibrate the propagation factor of these beacons. Proximity beacons can be configured using [[SYSCLS_PROXIMITY_BEACON]]. {{Version/WinXSince|UWP}}&lt;br /&gt;
&lt;br /&gt;
[[Category:WinX|UBIK WinX Client Basics]]&lt;br /&gt;
&lt;br /&gt;
== Finding Objects ==&lt;br /&gt;
=== Free Text Search ===&lt;br /&gt;
&lt;br /&gt;
=== ID Marker ===&lt;br /&gt;
&lt;br /&gt;
=== QR Code ===&lt;br /&gt;
&lt;br /&gt;
=== Bar Code ===&lt;br /&gt;
&lt;br /&gt;
=== RFID Code ===&lt;br /&gt;
Provides a fast and convenient way for users to find objects that are identifiable through [[RFID tags|RFID tags]].&lt;br /&gt;
&lt;br /&gt;
=== OCR ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Client_Feature_Table]]&lt;br /&gt;
&lt;br /&gt;
[[Category:WinX|UBIK WinX Client Basics]]&lt;/div&gt;</summary>
		<author><name>BMA</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=UBIK_Console&amp;diff=21059</id>
		<title>UBIK Console</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=UBIK_Console&amp;diff=21059"/>
				<updated>2018-11-30T14:08:35Z</updated>
		
		<summary type="html">&lt;p&gt;BMA: /* Example using Script file to connect to a Database */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The {{UBIK}} Console project allows a user to interact with UBIK via C# script-code.&lt;br /&gt;
&lt;br /&gt;
== Concept ==&lt;br /&gt;
C# code will be interpreted like script code. This script can be either loaded from file and executed at start up or directly typed into a console window. When starting up the console it will automatically execute some common using statements in order to comfortably with code from these assemblies: System, UBIK, UBIK.Kernel, System.Collections.Generic, UBIK.Dynamic, System.Linq. If you need other namespaces you need to load them in your code.&lt;br /&gt;
&lt;br /&gt;
[[File:UBIK.Console.PNG|500px|]]&lt;br /&gt;
&lt;br /&gt;
== Using the console ==&lt;br /&gt;
As UBIK.Console is a command line application without any graphical user interface, it can be started in two ways:&lt;br /&gt;
* Start UBIK.Console.exe which will open a commandline interface&lt;br /&gt;
* Start directly out of a windows command line (e.g. powershell or cmd.exe)&lt;br /&gt;
&lt;br /&gt;
=== Mono and Roslyn ===&lt;br /&gt;
The console can either execute using Roslyn or Mono. By typing ''#mono'' or ''#roslyn'' you can switch between these engines. The default is Roslyn.&lt;br /&gt;
&lt;br /&gt;
== Example using Script file to connect to a Database ==&lt;br /&gt;
&amp;lt;source lang=csharp&amp;gt;&lt;br /&gt;
&amp;gt;//build up a connection to a UBIK database&lt;br /&gt;
&amp;gt;var demo = new UBIKEnvironmentConnection(&amp;quot;Data Source = AUGLNZ2SQL2016; Initial Catalog = UBIK.DEMO.262; Persist Security Info = True; User ID = sa; Password = ****&amp;quot;);&lt;br /&gt;
//Connecting ('Data Source=AUGLNZ2SQL2016;Initial Catalog=UBIK.DEMO.262;Persist Security Info=True;User ID=sa;Password=********')&lt;br /&gt;
//Database version: 2.6.2.0&lt;br /&gt;
//Kernel version: 2.6.0.0&lt;br /&gt;
//Customizing version: 2.6.215&lt;br /&gt;
//Session mgmt. type: SingleLocal_Management&lt;br /&gt;
//USAM ignored.&lt;br /&gt;
//bma (AUGBMA02) now connected to 'UBIK.DEMO.262'.&lt;br /&gt;
&lt;br /&gt;
&amp;gt;//get one of the metaclasses&lt;br /&gt;
&amp;gt;var metaclassOfPump = demo.Environment.UBIKDataFactory().MetaClass(new Guid(&amp;quot;b81a9d31-03b2-4dbd-91aa-b62c499011f7&amp;quot;));&lt;br /&gt;
&lt;br /&gt;
&amp;gt;//find a content object (e.g. the first one with the name &amp;quot;PU212&amp;quot;)&lt;br /&gt;
&amp;gt;var myFavouritePump = metaclassOfPump.AllInstances(&amp;quot;PU212&amp;quot;).FirstOrDefault();&lt;br /&gt;
&lt;br /&gt;
&amp;gt;//show all interesting propertyvalues&lt;br /&gt;
&amp;gt;foreach(var prop in myFavouritePump.Properties.Where(p =&amp;gt; p.DisplayValue() != &amp;quot;&amp;quot;)) //%&lt;br /&gt;
&amp;gt;{ //%&lt;br /&gt;
&amp;gt;    Console.WriteLine(&amp;quot;//{0} = {1}&amp;quot;, prop.Description, prop.DisplayValue()); //%&lt;br /&gt;
&amp;gt;}&lt;br /&gt;
//Shutdown finished = False&lt;br /&gt;
//RPM = 2920&lt;br /&gt;
//Flow rate = 68&lt;br /&gt;
//Nominal Diameter DN1 = 80&lt;br /&gt;
//Protection = II 2 G c TX&lt;br /&gt;
//Nominal Power (Process) = 55&lt;br /&gt;
//Static Head = 18&lt;br /&gt;
//Nominal Power (electrical) = 50&lt;br /&gt;
//Live RPM = (RPM)&lt;br /&gt;
//Live Flow = (Flow1)&lt;br /&gt;
//Height = 750&lt;br /&gt;
//Nominal Diameter DN2 = 60&lt;br /&gt;
//Nominal Pressure PN2 = 20&lt;br /&gt;
//Variable Frequency Drive = False&lt;br /&gt;
//Volt = 400&lt;br /&gt;
//Impeller Diameter = 120&lt;br /&gt;
//Nominal Pressure PN1 = 16&lt;br /&gt;
//Weight = 234&lt;br /&gt;
//Installation Level = 60&lt;br /&gt;
//Parent POI Group ID = DEMO_LEVEL_1 (Demo Level 1)&lt;br /&gt;
//Technical Status = 0&lt;br /&gt;
//Organisational Status = 0&lt;br /&gt;
//Type = KSB Kreiselpumpe&lt;br /&gt;
//Layer ID = ML_PUMP (Pumps)&lt;br /&gt;
//Position Number = A12345&lt;br /&gt;
//QR Code = PU212&lt;br /&gt;
//Order Number = SAP987456&lt;br /&gt;
//Barcode = PU212&lt;br /&gt;
//Marker ID = 2&lt;br /&gt;
//OCRText = PU212&lt;br /&gt;
//Weblink = http://www.augmensys.com&lt;br /&gt;
//Progress = 50&lt;br /&gt;
//Manufacturer = KSB AG&lt;br /&gt;
//Weight = 6&lt;br /&gt;
//Maintenance finished = False&lt;br /&gt;
//Geo data = 46,6152954101563;14,2624282836914;0&lt;br /&gt;
//Scan = PU212&lt;br /&gt;
//SAP-ID = 210100092&lt;br /&gt;
//Namespace = DemoHL&lt;br /&gt;
//Name = PU212&lt;br /&gt;
//Description = Effluent Discharge Pumpx&lt;br /&gt;
//Created on = 22.07.2013 14:43:20&lt;br /&gt;
//Delete status = 0&lt;br /&gt;
//UTS = 27.11.2018 17:18:33&lt;br /&gt;
//Update session = MHM@unknown device -- 27.11.2018 10:40:13&lt;br /&gt;
//Version = 983&lt;br /&gt;
&amp;gt;&lt;br /&gt;
&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Pages with broken file links|UBIK Console]]&lt;br /&gt;
&lt;br /&gt;
== Example using Script file ==&lt;br /&gt;
In order to execute a C# script file using the {{UBIK}} Console you need execute the UBIK.Console.exe using the ''-cmdfile'' parameter. If you add the ''-connectionstring'' parameter as shown in the example the console will instantiate UBIKEnvironmentConnection variable called ''ubikEnvironmentConnection''. This variable is then accessible in your script and can be used. Also the current customizing assembly will be added to the script.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;powershell&amp;quot;&amp;gt;&lt;br /&gt;
UBIK.Console.exe  -cmdfile &amp;quot;\\PathToScript\script.txt&amp;quot; -connectionstring &amp;quot;Data Source = ...; Initial Catalog = ...; User ID = ...; Password = ...&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following script code is taken from the example script file and shows how to work with {{UBIK}} Console via script file. If you store these six lines to a text file you can directly run it. In line one a new dependency is loaded, namely the [http://wiki.augmensys.com/index.php?title=UBIK_DBTool DBTool]. Line two creates a SqlConnectionStringBuilder in order to work comfortably with the connectionstring provided by ubikEnvironmentConnection. Line four calls a method from the customizing assembly which has been loaded by the console for us as mention earlier. Line 6 uses the DBTool project and creates a backup of the database.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
1. #r &amp;quot;C:\\Users\\cle\\Documents\\Dev\\UBIK.Server\\Branches\\2.6\\UBIK.Console\\bin\\Debug\\DBTool.exe&amp;quot;&lt;br /&gt;
2. System.Data.SqlClient.SqlConnectionStringBuilder scsb = new System.Data.SqlClient.SqlConnectionStringBuilder(ubikEnvironmentConnection.ConnectionString);&lt;br /&gt;
3. string backUpDir = @&amp;quot;C:\SQL\bakup&amp;quot;;&lt;br /&gt;
4. bool isTrue = UBIK.Runtime.WorkflowUtility.Str2Bool(&amp;quot;1&amp;quot;);&lt;br /&gt;
5. System.Console.WriteLine(isTrue.ToString());&lt;br /&gt;
6. DBTool.MSSQLTools.BackupDatabase(scsb.DataSource, scsb.UserID, scsb.Password, false, scsb.InitialCatalog, bak: string.Format(@&amp;quot;{0}\{1}_{2}_{3}.bak&amp;quot;, backUpDir, scsb.InitialCatalog, DateTime.Now.ToString(&amp;quot;yyyyMMdd&amp;quot;), DateTime.Now.ToString(&amp;quot;HHmm&amp;quot;)));&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== CmdLine ==&lt;br /&gt;
&lt;br /&gt;
[[File:CmdLine.Execute.PNG]]&lt;br /&gt;
&lt;br /&gt;
== PwdTool ==&lt;br /&gt;
If you do not want to type in your password in plain text you can first generate an encrypted password by executing Pwd.Encrpyt in the {{UBIK}} Console.&lt;br /&gt;
&lt;br /&gt;
[[File:PwdTool.Encrypt.PNG]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Pages with broken file links|UBIK Console]]&lt;/div&gt;</summary>
		<author><name>BMA</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=UBIK_Console&amp;diff=21058</id>
		<title>UBIK Console</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=UBIK_Console&amp;diff=21058"/>
				<updated>2018-11-30T14:06:47Z</updated>
		
		<summary type="html">&lt;p&gt;BMA: /* Example using Script file to connect to a Database */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The {{UBIK}} Console project allows a user to interact with UBIK via C# script-code.&lt;br /&gt;
&lt;br /&gt;
== Concept ==&lt;br /&gt;
C# code will be interpreted like script code. This script can be either loaded from file and executed at start up or directly typed into a console window. When starting up the console it will automatically execute some common using statements in order to comfortably with code from these assemblies: System, UBIK, UBIK.Kernel, System.Collections.Generic, UBIK.Dynamic, System.Linq. If you need other namespaces you need to load them in your code.&lt;br /&gt;
&lt;br /&gt;
[[File:UBIK.Console.PNG|500px|]]&lt;br /&gt;
&lt;br /&gt;
== Using the console ==&lt;br /&gt;
As UBIK.Console is a command line application without any graphical user interface, it can be started in two ways:&lt;br /&gt;
* Start UBIK.Console.exe which will open a commandline interface&lt;br /&gt;
* Start directly out of a windows command line (e.g. powershell or cmd.exe)&lt;br /&gt;
&lt;br /&gt;
=== Mono and Roslyn ===&lt;br /&gt;
The console can either execute using Roslyn or Mono. By typing ''#mono'' or ''#roslyn'' you can switch between these engines. The default is Roslyn.&lt;br /&gt;
&lt;br /&gt;
== Example using Script file to connect to a Database ==&lt;br /&gt;
&amp;lt;source lang=csharp&amp;gt;&lt;br /&gt;
&amp;gt;//build up a connection to a UBIK database&lt;br /&gt;
&amp;gt;var demo = new UBIKEnvironmentConnection(&amp;quot;Data Source = AUGLNZ2SQL2016; Initial Catalog = UBIK.DEMO.262; Persist Security Info = True; User ID = sa; Password = ****&amp;quot;);&lt;br /&gt;
//Connecting ('Data Source=AUGLNZ2SQL2016;Initial Catalog=UBIK.DEMO.262;Persist Security Info=True;User ID=sa;Password=********')&lt;br /&gt;
//Database version: 2.6.2.0&lt;br /&gt;
//Kernel version: 2.6.0.0&lt;br /&gt;
//Customizing version: 2.6.215&lt;br /&gt;
//Session mgmt. type: SingleLocal_Management&lt;br /&gt;
//USAM ignored.&lt;br /&gt;
//bma (AUGBMA02) now connected to 'UBIK.DEMO.262'.&lt;br /&gt;
&lt;br /&gt;
&amp;gt;//get one of the metaclasses&lt;br /&gt;
&amp;gt;var metaclassOfPump = demo.Environment.UBIKDataFactory().MetaClass(new Guid(&amp;quot;b81a9d31-03b2-4dbd-91aa-b62c499011f7&amp;quot;));&lt;br /&gt;
&lt;br /&gt;
&amp;gt;//find a content object (e.g. the first one with the name &amp;quot;PU212&amp;quot;)&lt;br /&gt;
&amp;gt;var myFavouritePump = metaclassOfPump.AllInstances(&amp;quot;PU212&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
&amp;gt;//show all interesting propertyvalues&lt;br /&gt;
&amp;gt;foreach(var prop in myFavouritePump.Properties.Where(p =&amp;gt; p.DisplayValue() != &amp;quot;&amp;quot;)) //%&lt;br /&gt;
&amp;gt;{ //%&lt;br /&gt;
&amp;gt;    Console.WriteLine(&amp;quot;//{0} = {1}&amp;quot;, prop.Description, prop.DisplayValue()); //%&lt;br /&gt;
&amp;gt;}&lt;br /&gt;
//Shutdown finished = False&lt;br /&gt;
//RPM = 2920&lt;br /&gt;
//Flow rate = 68&lt;br /&gt;
//Nominal Diameter DN1 = 80&lt;br /&gt;
//Protection = II 2 G c TX&lt;br /&gt;
//Nominal Power (Process) = 55&lt;br /&gt;
//Static Head = 18&lt;br /&gt;
//Nominal Power (electrical) = 50&lt;br /&gt;
//Live RPM = (RPM)&lt;br /&gt;
//Live Flow = (Flow1)&lt;br /&gt;
//Height = 750&lt;br /&gt;
//Nominal Diameter DN2 = 60&lt;br /&gt;
//Nominal Pressure PN2 = 20&lt;br /&gt;
//Variable Frequency Drive = False&lt;br /&gt;
//Volt = 400&lt;br /&gt;
//Impeller Diameter = 120&lt;br /&gt;
//Nominal Pressure PN1 = 16&lt;br /&gt;
//Weight = 234&lt;br /&gt;
//Installation Level = 60&lt;br /&gt;
//Parent POI Group ID = DEMO_LEVEL_1 (Demo Level 1)&lt;br /&gt;
//Technical Status = 0&lt;br /&gt;
//Organisational Status = 0&lt;br /&gt;
//Type = KSB Kreiselpumpe&lt;br /&gt;
//Layer ID = ML_PUMP (Pumps)&lt;br /&gt;
//Position Number = A12345&lt;br /&gt;
//QR Code = PU212&lt;br /&gt;
//Order Number = SAP987456&lt;br /&gt;
//Barcode = PU212&lt;br /&gt;
//Marker ID = 2&lt;br /&gt;
//OCRText = PU212&lt;br /&gt;
//Weblink = http://www.augmensys.com&lt;br /&gt;
//Progress = 50&lt;br /&gt;
//Manufacturer = KSB AG&lt;br /&gt;
//Weight = 6&lt;br /&gt;
//Maintenance finished = False&lt;br /&gt;
//Geo data = 46,6152954101563;14,2624282836914;0&lt;br /&gt;
//Scan = PU212&lt;br /&gt;
//SAP-ID = 210100092&lt;br /&gt;
//Namespace = DemoHL&lt;br /&gt;
//Name = PU212&lt;br /&gt;
//Description = Effluent Discharge Pumpx&lt;br /&gt;
//Created on = 22.07.2013 14:43:20&lt;br /&gt;
//Delete status = 0&lt;br /&gt;
//UTS = 27.11.2018 17:18:33&lt;br /&gt;
//Update session = MHM@unknown device -- 27.11.2018 10:40:13&lt;br /&gt;
//Version = 983&lt;br /&gt;
&amp;gt;&lt;br /&gt;
&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Pages with broken file links|UBIK Console]]&lt;br /&gt;
&lt;br /&gt;
== Example using Script file ==&lt;br /&gt;
In order to execute a C# script file using the {{UBIK}} Console you need execute the UBIK.Console.exe using the ''-cmdfile'' parameter. If you add the ''-connectionstring'' parameter as shown in the example the console will instantiate UBIKEnvironmentConnection variable called ''ubikEnvironmentConnection''. This variable is then accessible in your script and can be used. Also the current customizing assembly will be added to the script.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;powershell&amp;quot;&amp;gt;&lt;br /&gt;
UBIK.Console.exe  -cmdfile &amp;quot;\\PathToScript\script.txt&amp;quot; -connectionstring &amp;quot;Data Source = ...; Initial Catalog = ...; User ID = ...; Password = ...&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following script code is taken from the example script file and shows how to work with {{UBIK}} Console via script file. If you store these six lines to a text file you can directly run it. In line one a new dependency is loaded, namely the [http://wiki.augmensys.com/index.php?title=UBIK_DBTool DBTool]. Line two creates a SqlConnectionStringBuilder in order to work comfortably with the connectionstring provided by ubikEnvironmentConnection. Line four calls a method from the customizing assembly which has been loaded by the console for us as mention earlier. Line 6 uses the DBTool project and creates a backup of the database.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
1. #r &amp;quot;C:\\Users\\cle\\Documents\\Dev\\UBIK.Server\\Branches\\2.6\\UBIK.Console\\bin\\Debug\\DBTool.exe&amp;quot;&lt;br /&gt;
2. System.Data.SqlClient.SqlConnectionStringBuilder scsb = new System.Data.SqlClient.SqlConnectionStringBuilder(ubikEnvironmentConnection.ConnectionString);&lt;br /&gt;
3. string backUpDir = @&amp;quot;C:\SQL\bakup&amp;quot;;&lt;br /&gt;
4. bool isTrue = UBIK.Runtime.WorkflowUtility.Str2Bool(&amp;quot;1&amp;quot;);&lt;br /&gt;
5. System.Console.WriteLine(isTrue.ToString());&lt;br /&gt;
6. DBTool.MSSQLTools.BackupDatabase(scsb.DataSource, scsb.UserID, scsb.Password, false, scsb.InitialCatalog, bak: string.Format(@&amp;quot;{0}\{1}_{2}_{3}.bak&amp;quot;, backUpDir, scsb.InitialCatalog, DateTime.Now.ToString(&amp;quot;yyyyMMdd&amp;quot;), DateTime.Now.ToString(&amp;quot;HHmm&amp;quot;)));&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== CmdLine ==&lt;br /&gt;
&lt;br /&gt;
[[File:CmdLine.Execute.PNG]]&lt;br /&gt;
&lt;br /&gt;
== PwdTool ==&lt;br /&gt;
If you do not want to type in your password in plain text you can first generate an encrypted password by executing Pwd.Encrpyt in the {{UBIK}} Console.&lt;br /&gt;
&lt;br /&gt;
[[File:PwdTool.Encrypt.PNG]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Pages with broken file links|UBIK Console]]&lt;/div&gt;</summary>
		<author><name>BMA</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=UBIK_Console&amp;diff=21057</id>
		<title>UBIK Console</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=UBIK_Console&amp;diff=21057"/>
				<updated>2018-11-30T14:04:42Z</updated>
		
		<summary type="html">&lt;p&gt;BMA: /* Example using Script file */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The {{UBIK}} Console project allows a user to interact with UBIK via C# script-code.&lt;br /&gt;
&lt;br /&gt;
== Concept ==&lt;br /&gt;
C# code will be interpreted like script code. This script can be either loaded from file and executed at start up or directly typed into a console window. When starting up the console it will automatically execute some common using statements in order to comfortably with code from these assemblies: System, UBIK, UBIK.Kernel, System.Collections.Generic, UBIK.Dynamic, System.Linq. If you need other namespaces you need to load them in your code.&lt;br /&gt;
&lt;br /&gt;
[[File:UBIK.Console.PNG|500px|]]&lt;br /&gt;
&lt;br /&gt;
== Using the console ==&lt;br /&gt;
As UBIK.Console is a command line application without any graphical user interface, it can be started in two ways:&lt;br /&gt;
* Start UBIK.Console.exe which will open a commandline interface&lt;br /&gt;
* Start directly out of a windows command line (e.g. powershell or cmd.exe)&lt;br /&gt;
&lt;br /&gt;
=== Mono and Roslyn ===&lt;br /&gt;
The console can either execute using Roslyn or Mono. By typing ''#mono'' or ''#roslyn'' you can switch between these engines. The default is Roslyn.&lt;br /&gt;
&lt;br /&gt;
== Example using Script file to connect to a Database ==&lt;br /&gt;
&amp;lt;source lang=csharp&amp;gt;&lt;br /&gt;
&amp;gt;//build up a connection to a UBIK database&lt;br /&gt;
&amp;gt;var demo = new UBIKEnvironmentConnection(&amp;quot;Data Source = AUGLNZ2SQL2016; Initial Catalog = UBIK.DEMO.262; Persist Security Info = True; User ID = sa; Password = ****&amp;quot;);&lt;br /&gt;
//Connecting ('Data Source=AUGLNZ2SQL2016;Initial Catalog=UBIK.DEMO.262;Persist Security Info=True;User ID=sa;Password=********')&lt;br /&gt;
//Database version: 2.6.2.0&lt;br /&gt;
//Kernel version: 2.6.0.0&lt;br /&gt;
//Customizing version: 2.6.215&lt;br /&gt;
//Session mgmt. type: SingleLocal_Management&lt;br /&gt;
//USAM ignored.&lt;br /&gt;
//bma (AUGBMA02) now connected to 'UBIK.DEMO.262'.&lt;br /&gt;
&lt;br /&gt;
&amp;gt;//get one of the metaclasses&lt;br /&gt;
&amp;gt;var metaclassOfPump = demo.Environment.UBIKDataFactory().MetaClass(new Guid(&amp;quot;b81a9d31-03b2-4dbd-91aa-b62c499011f7&amp;quot;));&lt;br /&gt;
&lt;br /&gt;
&amp;gt;//find a content object (e.g. the first one found containing &amp;quot;PU212&amp;quot;&lt;br /&gt;
&amp;gt;var myFavouritePump = metaclassOfPump.AllChilds().First(p =&amp;gt; p.DisplayString.Contains(&amp;quot;PU212&amp;quot;));&lt;br /&gt;
&lt;br /&gt;
&amp;gt;//show all interesting propertyvalues&lt;br /&gt;
&amp;gt;foreach(var prop in myFavouritePump.Properties.Where(p =&amp;gt; p.DisplayValue() != &amp;quot;&amp;quot;)) //%&lt;br /&gt;
&amp;gt;{ //%&lt;br /&gt;
&amp;gt;    Console.WriteLine(&amp;quot;//{0} = {1}&amp;quot;, prop.Description, prop.DisplayValue()); //%&lt;br /&gt;
&amp;gt;}&lt;br /&gt;
//Shutdown finished = False&lt;br /&gt;
//RPM = 2920&lt;br /&gt;
//Flow rate = 68&lt;br /&gt;
//Nominal Diameter DN1 = 80&lt;br /&gt;
//Protection = II 2 G c TX&lt;br /&gt;
//Nominal Power (Process) = 55&lt;br /&gt;
//Static Head = 18&lt;br /&gt;
//Nominal Power (electrical) = 50&lt;br /&gt;
//Live RPM = (RPM)&lt;br /&gt;
//Live Flow = (Flow1)&lt;br /&gt;
//Height = 750&lt;br /&gt;
//Nominal Diameter DN2 = 60&lt;br /&gt;
//Nominal Pressure PN2 = 20&lt;br /&gt;
//Variable Frequency Drive = False&lt;br /&gt;
//Volt = 400&lt;br /&gt;
//Impeller Diameter = 120&lt;br /&gt;
//Nominal Pressure PN1 = 16&lt;br /&gt;
//Weight = 234&lt;br /&gt;
//Installation Level = 60&lt;br /&gt;
//Parent POI Group ID = DEMO_LEVEL_1 (Demo Level 1)&lt;br /&gt;
//Technical Status = 0&lt;br /&gt;
//Organisational Status = 0&lt;br /&gt;
//Type = KSB Kreiselpumpe&lt;br /&gt;
//Layer ID = ML_PUMP (Pumps)&lt;br /&gt;
//Position Number = A12345&lt;br /&gt;
//QR Code = PU212&lt;br /&gt;
//Order Number = SAP987456&lt;br /&gt;
//Barcode = PU212&lt;br /&gt;
//Marker ID = 2&lt;br /&gt;
//OCRText = PU212&lt;br /&gt;
//Weblink = http://www.augmensys.com&lt;br /&gt;
//Progress = 50&lt;br /&gt;
//Manufacturer = KSB AG&lt;br /&gt;
//Weight = 6&lt;br /&gt;
//Maintenance finished = False&lt;br /&gt;
//Geo data = 46,6152954101563;14,2624282836914;0&lt;br /&gt;
//Scan = PU212&lt;br /&gt;
//SAP-ID = 210100092&lt;br /&gt;
//Namespace = DemoHL&lt;br /&gt;
//Name = PU212&lt;br /&gt;
//Description = Effluent Discharge Pumpx&lt;br /&gt;
//Created on = 22.07.2013 14:43:20&lt;br /&gt;
//Delete status = 0&lt;br /&gt;
//UTS = 27.11.2018 17:18:33&lt;br /&gt;
//Update session = MHM@unknown device -- 27.11.2018 10:40:13&lt;br /&gt;
//Version = 983&lt;br /&gt;
&amp;gt;&lt;br /&gt;
&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Pages with broken file links|UBIK Console]]&lt;br /&gt;
&lt;br /&gt;
== Example using Script file ==&lt;br /&gt;
In order to execute a C# script file using the {{UBIK}} Console you need execute the UBIK.Console.exe using the ''-cmdfile'' parameter. If you add the ''-connectionstring'' parameter as shown in the example the console will instantiate UBIKEnvironmentConnection variable called ''ubikEnvironmentConnection''. This variable is then accessible in your script and can be used. Also the current customizing assembly will be added to the script.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;powershell&amp;quot;&amp;gt;&lt;br /&gt;
UBIK.Console.exe  -cmdfile &amp;quot;\\PathToScript\script.txt&amp;quot; -connectionstring &amp;quot;Data Source = ...; Initial Catalog = ...; User ID = ...; Password = ...&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following script code is taken from the example script file and shows how to work with {{UBIK}} Console via script file. If you store these six lines to a text file you can directly run it. In line one a new dependency is loaded, namely the [http://wiki.augmensys.com/index.php?title=UBIK_DBTool DBTool]. Line two creates a SqlConnectionStringBuilder in order to work comfortably with the connectionstring provided by ubikEnvironmentConnection. Line four calls a method from the customizing assembly which has been loaded by the console for us as mention earlier. Line 6 uses the DBTool project and creates a backup of the database.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
1. #r &amp;quot;C:\\Users\\cle\\Documents\\Dev\\UBIK.Server\\Branches\\2.6\\UBIK.Console\\bin\\Debug\\DBTool.exe&amp;quot;&lt;br /&gt;
2. System.Data.SqlClient.SqlConnectionStringBuilder scsb = new System.Data.SqlClient.SqlConnectionStringBuilder(ubikEnvironmentConnection.ConnectionString);&lt;br /&gt;
3. string backUpDir = @&amp;quot;C:\SQL\bakup&amp;quot;;&lt;br /&gt;
4. bool isTrue = UBIK.Runtime.WorkflowUtility.Str2Bool(&amp;quot;1&amp;quot;);&lt;br /&gt;
5. System.Console.WriteLine(isTrue.ToString());&lt;br /&gt;
6. DBTool.MSSQLTools.BackupDatabase(scsb.DataSource, scsb.UserID, scsb.Password, false, scsb.InitialCatalog, bak: string.Format(@&amp;quot;{0}\{1}_{2}_{3}.bak&amp;quot;, backUpDir, scsb.InitialCatalog, DateTime.Now.ToString(&amp;quot;yyyyMMdd&amp;quot;), DateTime.Now.ToString(&amp;quot;HHmm&amp;quot;)));&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== CmdLine ==&lt;br /&gt;
&lt;br /&gt;
[[File:CmdLine.Execute.PNG]]&lt;br /&gt;
&lt;br /&gt;
== PwdTool ==&lt;br /&gt;
If you do not want to type in your password in plain text you can first generate an encrypted password by executing Pwd.Encrpyt in the {{UBIK}} Console.&lt;br /&gt;
&lt;br /&gt;
[[File:PwdTool.Encrypt.PNG]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Pages with broken file links|UBIK Console]]&lt;/div&gt;</summary>
		<author><name>BMA</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=UBIK_Console&amp;diff=21056</id>
		<title>UBIK Console</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=UBIK_Console&amp;diff=21056"/>
				<updated>2018-11-30T14:03:59Z</updated>
		
		<summary type="html">&lt;p&gt;BMA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The {{UBIK}} Console project allows a user to interact with UBIK via C# script-code.&lt;br /&gt;
&lt;br /&gt;
== Concept ==&lt;br /&gt;
C# code will be interpreted like script code. This script can be either loaded from file and executed at start up or directly typed into a console window. When starting up the console it will automatically execute some common using statements in order to comfortably with code from these assemblies: System, UBIK, UBIK.Kernel, System.Collections.Generic, UBIK.Dynamic, System.Linq. If you need other namespaces you need to load them in your code.&lt;br /&gt;
&lt;br /&gt;
[[File:UBIK.Console.PNG|500px|]]&lt;br /&gt;
&lt;br /&gt;
== Using the console ==&lt;br /&gt;
As UBIK.Console is a command line application without any graphical user interface, it can be started in two ways:&lt;br /&gt;
* Start UBIK.Console.exe which will open a commandline interface&lt;br /&gt;
* Start directly out of a windows command line (e.g. powershell or cmd.exe)&lt;br /&gt;
&lt;br /&gt;
=== Mono and Roslyn ===&lt;br /&gt;
The console can either execute using Roslyn or Mono. By typing ''#mono'' or ''#roslyn'' you can switch between these engines. The default is Roslyn.&lt;br /&gt;
&lt;br /&gt;
== Example using Script file ==&lt;br /&gt;
&amp;lt;source lang=csharp&amp;gt;&lt;br /&gt;
&amp;gt;//build up a connection to a UBIK database&lt;br /&gt;
&amp;gt;var demo = new UBIKEnvironmentConnection(&amp;quot;Data Source = AUGLNZ2SQL2016; Initial Catalog = UBIK.DEMO.262; Persist Security Info = True; User ID = sa; Password = ****&amp;quot;);&lt;br /&gt;
//Connecting ('Data Source=AUGLNZ2SQL2016;Initial Catalog=UBIK.DEMO.262;Persist Security Info=True;User ID=sa;Password=********')&lt;br /&gt;
//Database version: 2.6.2.0&lt;br /&gt;
//Kernel version: 2.6.0.0&lt;br /&gt;
//Customizing version: 2.6.215&lt;br /&gt;
//Session mgmt. type: SingleLocal_Management&lt;br /&gt;
//USAM ignored.&lt;br /&gt;
//bma (AUGBMA02) now connected to 'UBIK.DEMO.262'.&lt;br /&gt;
&lt;br /&gt;
&amp;gt;//get one of the metaclasses&lt;br /&gt;
&amp;gt;var metaclassOfPump = demo.Environment.UBIKDataFactory().MetaClass(new Guid(&amp;quot;b81a9d31-03b2-4dbd-91aa-b62c499011f7&amp;quot;));&lt;br /&gt;
&lt;br /&gt;
&amp;gt;//find a content object (e.g. the first one found containing &amp;quot;PU212&amp;quot;&lt;br /&gt;
&amp;gt;var myFavouritePump = metaclassOfPump.AllChilds().First(p =&amp;gt; p.DisplayString.Contains(&amp;quot;PU212&amp;quot;));&lt;br /&gt;
&lt;br /&gt;
&amp;gt;//show all interesting propertyvalues&lt;br /&gt;
&amp;gt;foreach(var prop in myFavouritePump.Properties.Where(p =&amp;gt; p.DisplayValue() != &amp;quot;&amp;quot;)) //%&lt;br /&gt;
&amp;gt;{ //%&lt;br /&gt;
&amp;gt;    Console.WriteLine(&amp;quot;//{0} = {1}&amp;quot;, prop.Description, prop.DisplayValue()); //%&lt;br /&gt;
&amp;gt;}&lt;br /&gt;
//Shutdown finished = False&lt;br /&gt;
//RPM = 2920&lt;br /&gt;
//Flow rate = 68&lt;br /&gt;
//Nominal Diameter DN1 = 80&lt;br /&gt;
//Protection = II 2 G c TX&lt;br /&gt;
//Nominal Power (Process) = 55&lt;br /&gt;
//Static Head = 18&lt;br /&gt;
//Nominal Power (electrical) = 50&lt;br /&gt;
//Live RPM = (RPM)&lt;br /&gt;
//Live Flow = (Flow1)&lt;br /&gt;
//Height = 750&lt;br /&gt;
//Nominal Diameter DN2 = 60&lt;br /&gt;
//Nominal Pressure PN2 = 20&lt;br /&gt;
//Variable Frequency Drive = False&lt;br /&gt;
//Volt = 400&lt;br /&gt;
//Impeller Diameter = 120&lt;br /&gt;
//Nominal Pressure PN1 = 16&lt;br /&gt;
//Weight = 234&lt;br /&gt;
//Installation Level = 60&lt;br /&gt;
//Parent POI Group ID = DEMO_LEVEL_1 (Demo Level 1)&lt;br /&gt;
//Technical Status = 0&lt;br /&gt;
//Organisational Status = 0&lt;br /&gt;
//Type = KSB Kreiselpumpe&lt;br /&gt;
//Layer ID = ML_PUMP (Pumps)&lt;br /&gt;
//Position Number = A12345&lt;br /&gt;
//QR Code = PU212&lt;br /&gt;
//Order Number = SAP987456&lt;br /&gt;
//Barcode = PU212&lt;br /&gt;
//Marker ID = 2&lt;br /&gt;
//OCRText = PU212&lt;br /&gt;
//Weblink = http://www.augmensys.com&lt;br /&gt;
//Progress = 50&lt;br /&gt;
//Manufacturer = KSB AG&lt;br /&gt;
//Weight = 6&lt;br /&gt;
//Maintenance finished = False&lt;br /&gt;
//Geo data = 46,6152954101563;14,2624282836914;0&lt;br /&gt;
//Scan = PU212&lt;br /&gt;
//SAP-ID = 210100092&lt;br /&gt;
//Namespace = DemoHL&lt;br /&gt;
//Name = PU212&lt;br /&gt;
//Description = Effluent Discharge Pumpx&lt;br /&gt;
//Created on = 22.07.2013 14:43:20&lt;br /&gt;
//Delete status = 0&lt;br /&gt;
//UTS = 27.11.2018 17:18:33&lt;br /&gt;
//Update session = MHM@unknown device -- 27.11.2018 10:40:13&lt;br /&gt;
//Version = 983&lt;br /&gt;
&amp;gt;&lt;br /&gt;
&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Example using Script file ==&lt;br /&gt;
In order to execute a C# script file using the {{UBIK}} Console you need execute the UBIK.Console.exe using the ''-cmdfile'' parameter. If you add the ''-connectionstring'' parameter as shown in the example the console will instantiate UBIKEnvironmentConnection variable called ''ubikEnvironmentConnection''. This variable is then accessible in your script and can be used. Also the current customizing assembly will be added to the script.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;powershell&amp;quot;&amp;gt;&lt;br /&gt;
UBIK.Console.exe  -cmdfile &amp;quot;\\PathToScript\script.txt&amp;quot; -connectionstring &amp;quot;Data Source = ...; Initial Catalog = ...; User ID = ...; Password = ...&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following script code is taken from the example script file and shows how to work with {{UBIK}} Console via script file. If you store these six lines to a text file you can directly run it. In line one a new dependency is loaded, namely the [http://wiki.augmensys.com/index.php?title=UBIK_DBTool DBTool]. Line two creates a SqlConnectionStringBuilder in order to work comfortably with the connectionstring provided by ubikEnvironmentConnection. Line four calls a method from the customizing assembly which has been loaded by the console for us as mention earlier. Line 6 uses the DBTool project and creates a backup of the database.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
1. #r &amp;quot;C:\\Users\\cle\\Documents\\Dev\\UBIK.Server\\Branches\\2.6\\UBIK.Console\\bin\\Debug\\DBTool.exe&amp;quot;&lt;br /&gt;
2. System.Data.SqlClient.SqlConnectionStringBuilder scsb = new System.Data.SqlClient.SqlConnectionStringBuilder(ubikEnvironmentConnection.ConnectionString);&lt;br /&gt;
3. string backUpDir = @&amp;quot;C:\SQL\bakup&amp;quot;;&lt;br /&gt;
4. bool isTrue = UBIK.Runtime.WorkflowUtility.Str2Bool(&amp;quot;1&amp;quot;);&lt;br /&gt;
5. System.Console.WriteLine(isTrue.ToString());&lt;br /&gt;
6. DBTool.MSSQLTools.BackupDatabase(scsb.DataSource, scsb.UserID, scsb.Password, false, scsb.InitialCatalog, bak: string.Format(@&amp;quot;{0}\{1}_{2}_{3}.bak&amp;quot;, backUpDir, scsb.InitialCatalog, DateTime.Now.ToString(&amp;quot;yyyyMMdd&amp;quot;), DateTime.Now.ToString(&amp;quot;HHmm&amp;quot;)));&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== CmdLine ==&lt;br /&gt;
&lt;br /&gt;
[[File:CmdLine.Execute.PNG]]&lt;br /&gt;
&lt;br /&gt;
== PwdTool ==&lt;br /&gt;
If you do not want to type in your password in plain text you can first generate an encrypted password by executing Pwd.Encrpyt in the {{UBIK}} Console.&lt;br /&gt;
&lt;br /&gt;
[[File:PwdTool.Encrypt.PNG]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Pages with broken file links|UBIK Console]]&lt;/div&gt;</summary>
		<author><name>BMA</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=UBIK_Console&amp;diff=21055</id>
		<title>UBIK Console</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=UBIK_Console&amp;diff=21055"/>
				<updated>2018-11-30T14:00:05Z</updated>
		
		<summary type="html">&lt;p&gt;BMA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The {{UBIK}} Console project allows a user to interact with UBIK via C# script-code.&lt;br /&gt;
&lt;br /&gt;
== Concept ==&lt;br /&gt;
C# code will be interpreted like script code. This script can be either loaded from file and executed at start up or directly typed into a console window. When starting up the console it will automatically execute some common using statements in order to comfortably with code from these assemblies: System, UBIK, UBIK.Kernel, System.Collections.Generic, UBIK.Dynamic, System.Linq. If you need other namespaces you need to load them in your code.&lt;br /&gt;
&lt;br /&gt;
[[File:UBIK.Console.PNG|500px|]]&lt;br /&gt;
&lt;br /&gt;
== Using the console ==&lt;br /&gt;
As UBIK.Console is a command line application without any graphical user interface, it can be started in two ways:&lt;br /&gt;
* Start UBIK.Console.exe which will open a commandline interface&lt;br /&gt;
* Start directly out of a windows command line (e.g. powershell or cmd.exe)&lt;br /&gt;
&lt;br /&gt;
=== Mono and Roslyn ===&lt;br /&gt;
The console can either execute using Roslyn or Mono. By typing ''#mono'' or ''#roslyn'' you can switch between these engines. The default is Roslyn.&lt;br /&gt;
&lt;br /&gt;
== Example using Script file ==&lt;br /&gt;
&amp;lt;source lang=csharp&amp;gt;&lt;br /&gt;
&amp;gt;//build up a connection to a UBIK database&lt;br /&gt;
&amp;gt;var demo = new UBIKEnvironmentConnection(&amp;quot;Data Source = AUGLNZ2SQL2016; Initial Catalog = UBIK.DEMO.262; Persist Security Info = True; User ID = sa; Password = ****&amp;quot;);&lt;br /&gt;
//Connecting ('Data Source=AUGLNZ2SQL2016;Initial Catalog=UBIK.DEMO.262;Persist Security Info=True;User ID=sa;Password=********')&lt;br /&gt;
//Database version: 2.6.2.0&lt;br /&gt;
//Kernel version: 2.6.0.0&lt;br /&gt;
//Customizing version: 2.6.215&lt;br /&gt;
//Session mgmt. type: SingleLocal_Management&lt;br /&gt;
//USAM ignored.&lt;br /&gt;
//bma (AUGBMA02) now connected to 'UBIK.DEMO.262'.&lt;br /&gt;
&lt;br /&gt;
&amp;gt;//get one of the metaclasses&lt;br /&gt;
&amp;gt;var metaclassOfPump = demo.Environment.UBIKDataFactory().MetaClass(new Guid(&amp;quot;b81a9d31-03b2-4dbd-91aa-b62c499011f7&amp;quot;));&lt;br /&gt;
&lt;br /&gt;
&amp;gt;//find a content object (e.g. the first one found containing &amp;quot;PU212&amp;quot;&lt;br /&gt;
&amp;gt;var myFavouritePump = metaclassOfPump.AllChilds().First(p =&amp;gt; p.DisplayString.Contains(&amp;quot;PU212&amp;quot;));&lt;br /&gt;
&lt;br /&gt;
&amp;gt;//show all propertyvalues&lt;br /&gt;
&amp;gt;foreach(var prop in myFavouritePump.Properties) //%&lt;br /&gt;
&amp;gt;{ //%&lt;br /&gt;
&amp;gt;    Console.WriteLine(&amp;quot;{0} = {1}&amp;quot;, prop.Description, prop.DisplayValue()); //%&lt;br /&gt;
&amp;gt;}&lt;br /&gt;
&lt;br /&gt;
//Shutdown finished = False&lt;br /&gt;
//RPM = 2920&lt;br /&gt;
//Flow rate = 68&lt;br /&gt;
//Nominal Diameter DN1 = 80&lt;br /&gt;
//Protection = II 2 G c TX&lt;br /&gt;
//Nominal Power (Process) = 55&lt;br /&gt;
//Static Head = 18&lt;br /&gt;
//Nominal Power (electrical) = 50&lt;br /&gt;
//Live RPM = (RPM)&lt;br /&gt;
//Live Flow = (Flow1)&lt;br /&gt;
//Height = 750&lt;br /&gt;
//Live Manz =&lt;br /&gt;
//Nominal Diameter DN2 = 60&lt;br /&gt;
//Nominal Pressure PN2 = 20&lt;br /&gt;
//Variable Frequency Drive = False&lt;br /&gt;
//Volt = 400&lt;br /&gt;
//Impeller Diameter = 120&lt;br /&gt;
//Nominal Pressure PN1 = 16&lt;br /&gt;
//Extension Weller =&lt;br /&gt;
//Weight = 234&lt;br /&gt;
//ARMARKERID =&lt;br /&gt;
//TRANSLATIONY =&lt;br /&gt;
//Installation Level = 60&lt;br /&gt;
//Parent POI Group ID = DEMO_LEVEL_1 (Demo Level 1)&lt;br /&gt;
//Technical Status = 0&lt;br /&gt;
//RFID Tag =&lt;br /&gt;
//Organisational Status = 0&lt;br /&gt;
//Type = KSB Kreiselpumpe&lt;br /&gt;
//TRANSLATIONX =&lt;br /&gt;
//Layer ID = ML_PUMP (Pumps)&lt;br /&gt;
//ROTAIONY =&lt;br /&gt;
//ISFACINGCAMERA =&lt;br /&gt;
//Position Number = A12345&lt;br /&gt;
//QR Code = PU212&lt;br /&gt;
//ROTAIONZ =&lt;br /&gt;
//Maintenance state =&lt;br /&gt;
//ROTAIONX =&lt;br /&gt;
//Order Number = SAP987456&lt;br /&gt;
//Barcode = PU212&lt;br /&gt;
//Marker ID = 2&lt;br /&gt;
//OCRText = PU212&lt;br /&gt;
//SCALEX =&lt;br /&gt;
//ARMARKERSIDELENGTH =&lt;br /&gt;
//Weblink = http://www.augmensys.com&lt;br /&gt;
//Progress = 50&lt;br /&gt;
//TRANSLATIONZ =&lt;br /&gt;
//Manufacturer = KSB AG&lt;br /&gt;
//Weight = 6&lt;br /&gt;
//Maintenance finished = False&lt;br /&gt;
//Geo data = 46,6152954101563;14,2624282836914;0&lt;br /&gt;
//Visio group ID =&lt;br /&gt;
//LK to Structure =&lt;br /&gt;
//Scan = PU212&lt;br /&gt;
//Order ID =&lt;br /&gt;
//SAP-ID = 210100092&lt;br /&gt;
//Namespace = DemoHL&lt;br /&gt;
//Name = PU212&lt;br /&gt;
//Description = Effluent Discharge Pumpx&lt;br /&gt;
//Create Session =&lt;br /&gt;
//Created on = 22.07.2018 14:43:20&lt;br /&gt;
//Delete status = 0&lt;br /&gt;
//UTS = 27.11.2018 17:18:33&lt;br /&gt;
//Update session = USER01@iphonex -- 27.11.2018 10:40:13&lt;br /&gt;
//Tenant =&lt;br /&gt;
//Version = 983&lt;br /&gt;
&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Example using Script file ==&lt;br /&gt;
In order to execute a C# script file using the {{UBIK}} Console you need execute the UBIK.Console.exe using the ''-cmdfile'' parameter. If you add the ''-connectionstring'' parameter as shown in the example the console will instantiate UBIKEnvironmentConnection variable called ''ubikEnvironmentConnection''. This variable is then accessible in your script and can be used. Also the current customizing assembly will be added to the script.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;powershell&amp;quot;&amp;gt;&lt;br /&gt;
UBIK.Console.exe  -cmdfile &amp;quot;\\PathToScript\script.txt&amp;quot; -connectionstring &amp;quot;Data Source = ...; Initial Catalog = ...; User ID = ...; Password = ...&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following script code is taken from the example script file and shows how to work with {{UBIK}} Console via script file. If you store these six lines to a text file you can directly run it. In line one a new dependency is loaded, namely the [http://wiki.augmensys.com/index.php?title=UBIK_DBTool DBTool]. Line two creates a SqlConnectionStringBuilder in order to work comfortably with the connectionstring provided by ubikEnvironmentConnection. Line four calls a method from the customizing assembly which has been loaded by the console for us as mention earlier. Line 6 uses the DBTool project and creates a backup of the database.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
1. #r &amp;quot;C:\\Users\\cle\\Documents\\Dev\\UBIK.Server\\Branches\\2.6\\UBIK.Console\\bin\\Debug\\DBTool.exe&amp;quot;&lt;br /&gt;
2. System.Data.SqlClient.SqlConnectionStringBuilder scsb = new System.Data.SqlClient.SqlConnectionStringBuilder(ubikEnvironmentConnection.ConnectionString);&lt;br /&gt;
3. string backUpDir = @&amp;quot;C:\SQL\bakup&amp;quot;;&lt;br /&gt;
4. bool isTrue = UBIK.Runtime.WorkflowUtility.Str2Bool(&amp;quot;1&amp;quot;);&lt;br /&gt;
5. System.Console.WriteLine(isTrue.ToString());&lt;br /&gt;
6. DBTool.MSSQLTools.BackupDatabase(scsb.DataSource, scsb.UserID, scsb.Password, false, scsb.InitialCatalog, bak: string.Format(@&amp;quot;{0}\{1}_{2}_{3}.bak&amp;quot;, backUpDir, scsb.InitialCatalog, DateTime.Now.ToString(&amp;quot;yyyyMMdd&amp;quot;), DateTime.Now.ToString(&amp;quot;HHmm&amp;quot;)));&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== CmdLine ==&lt;br /&gt;
&lt;br /&gt;
[[File:CmdLine.Execute.PNG]]&lt;br /&gt;
&lt;br /&gt;
== PwdTool ==&lt;br /&gt;
If you do not want to type in your password in plain text you can first generate an encrypted password by executing Pwd.Encrpyt in the {{UBIK}} Console.&lt;br /&gt;
&lt;br /&gt;
[[File:PwdTool.Encrypt.PNG]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Pages with broken file links|UBIK Console]]&lt;/div&gt;</summary>
		<author><name>BMA</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=UBIK_Console&amp;diff=21054</id>
		<title>UBIK Console</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=UBIK_Console&amp;diff=21054"/>
				<updated>2018-11-30T13:56:44Z</updated>
		
		<summary type="html">&lt;p&gt;BMA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The {{UBIK}} Console project allows a user to interact with UBIK via C# script-code.&lt;br /&gt;
&lt;br /&gt;
== Concept ==&lt;br /&gt;
C# code will be interpreted like script code. This script can be either loaded from file and executed at start up or directly typed into a console window. When starting up the console it will automatically execute some common using statements in order to comfortably with code from these assemblies: System, UBIK, UBIK.Kernel, System.Collections.Generic, UBIK.Dynamic, System.Linq. If you need other namespaces you need to load them in your code.&lt;br /&gt;
&lt;br /&gt;
[[File:UBIK.Console.PNG|500px|]]&lt;br /&gt;
&lt;br /&gt;
== Using the console ==&lt;br /&gt;
As UBIK.Console is a command line application without any graphical user interface, it can be started in two ways:&lt;br /&gt;
* Start UBIK.Console.exe which will open a commandline interface&lt;br /&gt;
* Start directly out of a windows command line (e.g. powershell or cmd.exe)&lt;br /&gt;
&lt;br /&gt;
=== Mono and Roslyn ===&lt;br /&gt;
The console can either execute using Roslyn or Mono. By typing ''#mono'' or ''#roslyn'' you can switch between these engines. The default is Roslyn.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=csharp&amp;gt;&lt;br /&gt;
&amp;gt;//build up a connection to a UBIK database&lt;br /&gt;
&amp;gt;var demo = new UBIKEnvironmentConnection(&amp;quot;Data Source = AUGLNZ2SQL2016; Initial Catalog = UBIK.DEMO.262; Persist Security Info = True; User ID = sa; Password = ****&amp;quot;);&lt;br /&gt;
Connecting ('Data Source=AUGLNZ2SQL2016;Initial Catalog=UBIK.DEMO.262;Persist Security Info=True;User ID=sa;Password=********')&lt;br /&gt;
Database version: 2.6.2.0&lt;br /&gt;
Kernel version: 2.6.0.0&lt;br /&gt;
Customizing version: 2.6.215&lt;br /&gt;
Session mgmt. type: SingleLocal_Management&lt;br /&gt;
USAM ignored.&lt;br /&gt;
bma (AUGBMA02) now connected to 'UBIK.DEMO.262'.&lt;br /&gt;
&lt;br /&gt;
&amp;gt;//get one of the metaclasses&lt;br /&gt;
&amp;gt;var metaclassOfPump = demo.Environment.UBIKDataFactory().MetaClass(new Guid(&amp;quot;b81a9d31-03b2-4dbd-91aa-b62c499011f7&amp;quot;));&lt;br /&gt;
&lt;br /&gt;
&amp;gt;//find a content object (e.g. the first one found containing &amp;quot;PU212&amp;quot;&lt;br /&gt;
&amp;gt;var myFavouritePump = metaclassOfPump.AllChilds().First(p =&amp;gt; p.DisplayString.Contains(&amp;quot;PU212&amp;quot;));&lt;br /&gt;
&lt;br /&gt;
&amp;gt;//show all propertyvalues&lt;br /&gt;
&amp;gt;foreach(var prop in myFavouritePump.Properties) //%&lt;br /&gt;
&amp;gt;{ //%&lt;br /&gt;
&amp;gt;    Console.WriteLine(&amp;quot;{0} = {1}&amp;quot;, prop.Description, prop.DisplayValue()); //%&lt;br /&gt;
&amp;gt;}&lt;br /&gt;
&lt;br /&gt;
Shutdown finished = False&lt;br /&gt;
RPM = 2920&lt;br /&gt;
Flow rate = 68&lt;br /&gt;
Nominal Diameter DN1 = 80&lt;br /&gt;
Protection = II 2 G c TX&lt;br /&gt;
Nominal Power (Process) = 55&lt;br /&gt;
Static Head = 18&lt;br /&gt;
Nominal Power (electrical) = 50&lt;br /&gt;
Live RPM = (RPM)&lt;br /&gt;
Live Flow = (Flow1)&lt;br /&gt;
Height = 750&lt;br /&gt;
Live Manz =&lt;br /&gt;
Nominal Diameter DN2 = 60&lt;br /&gt;
Nominal Pressure PN2 = 20&lt;br /&gt;
Variable Frequency Drive = False&lt;br /&gt;
Volt = 400&lt;br /&gt;
Impeller Diameter = 120&lt;br /&gt;
Nominal Pressure PN1 = 16&lt;br /&gt;
Extension Weller =&lt;br /&gt;
Weight = 234&lt;br /&gt;
ARMARKERID =&lt;br /&gt;
TRANSLATIONY =&lt;br /&gt;
Installation Level = 60&lt;br /&gt;
Parent POI Group ID = DEMO_LEVEL_1 (Demo Level 1)&lt;br /&gt;
Technical Status = 0&lt;br /&gt;
RFID Tag =&lt;br /&gt;
Organisational Status = 0&lt;br /&gt;
Type = KSB Kreiselpumpe&lt;br /&gt;
TRANSLATIONX =&lt;br /&gt;
Layer ID = ML_PUMP (Pumps)&lt;br /&gt;
ROTAIONY =&lt;br /&gt;
ISFACINGCAMERA =&lt;br /&gt;
Position Number = A12345&lt;br /&gt;
QR Code = PU212&lt;br /&gt;
ROTAIONZ =&lt;br /&gt;
Maintenance state =&lt;br /&gt;
ROTAIONX =&lt;br /&gt;
Order Number = SAP987456&lt;br /&gt;
Barcode = PU212&lt;br /&gt;
Marker ID = 2&lt;br /&gt;
OCRText = PU212&lt;br /&gt;
SCALEX =&lt;br /&gt;
ARMARKERSIDELENGTH =&lt;br /&gt;
Weblink = http://www.augmensys.com&lt;br /&gt;
Progress = 50&lt;br /&gt;
TRANSLATIONZ =&lt;br /&gt;
Manufacturer = KSB AG&lt;br /&gt;
Weight = 6&lt;br /&gt;
Maintenance finished = False&lt;br /&gt;
Geo data = 46,6152954101563;14,2624282836914;0&lt;br /&gt;
Visio group ID =&lt;br /&gt;
LK to Structure =&lt;br /&gt;
Scan = PU212&lt;br /&gt;
Order ID =&lt;br /&gt;
SAP-ID = 210100092&lt;br /&gt;
Namespace = DemoHL&lt;br /&gt;
Name = PU212&lt;br /&gt;
Description = Effluent Discharge Pumpx&lt;br /&gt;
Create Session =&lt;br /&gt;
Created on = 22.07.2013 14:43:20&lt;br /&gt;
Delete status = 0&lt;br /&gt;
UTS = 27.11.2018 17:18:33&lt;br /&gt;
Update session = MHM@unknown device -- 27.11.2018 10:40:13&lt;br /&gt;
Tenant =&lt;br /&gt;
Version = 983&lt;br /&gt;
&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Example using Script file ==&lt;br /&gt;
In order to execute a C# script file using the {{UBIK}} Console you need execute the UBIK.Console.exe using the ''-cmdfile'' parameter. If you add the ''-connectionstring'' parameter as shown in the example the console will instantiate UBIKEnvironmentConnection variable called ''ubikEnvironmentConnection''. This variable is then accessible in your script and can be used. Also the current customizing assembly will be added to the script.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;powershell&amp;quot;&amp;gt;&lt;br /&gt;
UBIK.Console.exe  -cmdfile &amp;quot;\\PathToScript\script.txt&amp;quot; -connectionstring &amp;quot;Data Source = ...; Initial Catalog = ...; User ID = ...; Password = ...&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following script code is taken from the example script file and shows how to work with {{UBIK}} Console via script file. If you store these six lines to a text file you can directly run it. In line one a new dependency is loaded, namely the [http://wiki.augmensys.com/index.php?title=UBIK_DBTool DBTool]. Line two creates a SqlConnectionStringBuilder in order to work comfortably with the connectionstring provided by ubikEnvironmentConnection. Line four calls a method from the customizing assembly which has been loaded by the console for us as mention earlier. Line 6 uses the DBTool project and creates a backup of the database.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
1. #r &amp;quot;C:\\Users\\cle\\Documents\\Dev\\UBIK.Server\\Branches\\2.6\\UBIK.Console\\bin\\Debug\\DBTool.exe&amp;quot;&lt;br /&gt;
2. System.Data.SqlClient.SqlConnectionStringBuilder scsb = new System.Data.SqlClient.SqlConnectionStringBuilder(ubikEnvironmentConnection.ConnectionString);&lt;br /&gt;
3. string backUpDir = @&amp;quot;C:\SQL\bakup&amp;quot;;&lt;br /&gt;
4. bool isTrue = UBIK.Runtime.WorkflowUtility.Str2Bool(&amp;quot;1&amp;quot;);&lt;br /&gt;
5. System.Console.WriteLine(isTrue.ToString());&lt;br /&gt;
6. DBTool.MSSQLTools.BackupDatabase(scsb.DataSource, scsb.UserID, scsb.Password, false, scsb.InitialCatalog, bak: string.Format(@&amp;quot;{0}\{1}_{2}_{3}.bak&amp;quot;, backUpDir, scsb.InitialCatalog, DateTime.Now.ToString(&amp;quot;yyyyMMdd&amp;quot;), DateTime.Now.ToString(&amp;quot;HHmm&amp;quot;)));&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== CmdLine ==&lt;br /&gt;
&lt;br /&gt;
[[File:CmdLine.Execute.PNG]]&lt;br /&gt;
&lt;br /&gt;
== PwdTool ==&lt;br /&gt;
If you do not want to type in your password in plain text you can first generate an encrypted password by executing Pwd.Encrpyt in the {{UBIK}} Console.&lt;br /&gt;
&lt;br /&gt;
[[File:PwdTool.Encrypt.PNG]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Pages with broken file links|UBIK Console]]&lt;/div&gt;</summary>
		<author><name>BMA</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=UBIK_Console&amp;diff=21053</id>
		<title>UBIK Console</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=UBIK_Console&amp;diff=21053"/>
				<updated>2018-11-30T13:56:10Z</updated>
		
		<summary type="html">&lt;p&gt;BMA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The {{UBIK}} Console project allows a user to interact with UBIK via C# script-code.&lt;br /&gt;
&lt;br /&gt;
== Concept ==&lt;br /&gt;
C# code will be interpreted like script code. This script can be either loaded from file and executed at start up or directly typed into a console window. When starting up the console it will automatically execute some common using statements in order to comfortably with code from these assemblies: System, UBIK, UBIK.Kernel, System.Collections.Generic, UBIK.Dynamic, System.Linq. If you need other namespaces you need to load them in your code.&lt;br /&gt;
&lt;br /&gt;
[[File:UBIK.Console.PNG|500px|]]&lt;br /&gt;
&lt;br /&gt;
== Using the console ==&lt;br /&gt;
As UBIK.Console is a command line application without any graphical user interface, it can be started in two ways:&lt;br /&gt;
* Start UBIK.Console.exe which will open a commandline interface&lt;br /&gt;
* Start directly out of a windows command line (e.g. powershell or cmd.exe)&lt;br /&gt;
&lt;br /&gt;
=== Mono and Roslyn ===&lt;br /&gt;
The console can either execute using Roslyn or Mono. By typing ''#mono'' or ''#roslyn'' you can switch between these engines. The default is Roslyn.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=csharp&amp;gt;&lt;br /&gt;
&amp;gt;//build up a connection to a UBIK database&lt;br /&gt;
&amp;gt;var demo = new UBIKEnvironmentConnection(&amp;quot;Data Source = AUGLNZ2SQL2016; Initial Catalog = UBIK.DEMO.262; Persist Security Info = True; User ID = sa; Password = ai#2011&amp;quot;);&lt;br /&gt;
Connecting ('Data Source=AUGLNZ2SQL2016;Initial Catalog=UBIK.DEMO.262;Persist Security Info=True;User ID=sa;Password=********')&lt;br /&gt;
Database version: 2.6.2.0&lt;br /&gt;
Kernel version: 2.6.0.0&lt;br /&gt;
Customizing version: 2.6.215&lt;br /&gt;
Session mgmt. type: SingleLocal_Management&lt;br /&gt;
USAM ignored.&lt;br /&gt;
bma (AUGBMA02) now connected to 'UBIK.DEMO.262'.&lt;br /&gt;
&lt;br /&gt;
&amp;gt;//get one of the metaclasses&lt;br /&gt;
&amp;gt;var metaclassOfPump = demo.Environment.UBIKDataFactory().MetaClass(new Guid(&amp;quot;b81a9d31-03b2-4dbd-91aa-b62c499011f7&amp;quot;));&lt;br /&gt;
&lt;br /&gt;
&amp;gt;//find a content object (e.g. the first one found containing &amp;quot;PU212&amp;quot;&lt;br /&gt;
&amp;gt;var myFavouritePump = metaclassOfPump.AllChilds().First(p =&amp;gt; p.DisplayString.Contains(&amp;quot;PU212&amp;quot;));&lt;br /&gt;
&lt;br /&gt;
&amp;gt;//show all propertyvalues&lt;br /&gt;
&amp;gt;foreach(var prop in myFavouritePump.Properties) //%&lt;br /&gt;
&amp;gt;{ //%&lt;br /&gt;
&amp;gt;    Console.WriteLine(&amp;quot;{0} = {1}&amp;quot;, prop.Description, prop.DisplayValue()); //%&lt;br /&gt;
&amp;gt;}&lt;br /&gt;
&lt;br /&gt;
Shutdown finished = False&lt;br /&gt;
RPM = 2920&lt;br /&gt;
Flow rate = 68&lt;br /&gt;
Nominal Diameter DN1 = 80&lt;br /&gt;
Protection = II 2 G c TX&lt;br /&gt;
Nominal Power (Process) = 55&lt;br /&gt;
Static Head = 18&lt;br /&gt;
Nominal Power (electrical) = 50&lt;br /&gt;
Live RPM = (RPM)&lt;br /&gt;
Live Flow = (Flow1)&lt;br /&gt;
Height = 750&lt;br /&gt;
Live Manz =&lt;br /&gt;
Nominal Diameter DN2 = 60&lt;br /&gt;
Nominal Pressure PN2 = 20&lt;br /&gt;
Variable Frequency Drive = False&lt;br /&gt;
Volt = 400&lt;br /&gt;
Impeller Diameter = 120&lt;br /&gt;
Nominal Pressure PN1 = 16&lt;br /&gt;
Extension Weller =&lt;br /&gt;
Weight = 234&lt;br /&gt;
ARMARKERID =&lt;br /&gt;
TRANSLATIONY =&lt;br /&gt;
Installation Level = 60&lt;br /&gt;
Parent POI Group ID = DEMO_LEVEL_1 (Demo Level 1)&lt;br /&gt;
Technical Status = 0&lt;br /&gt;
RFID Tag =&lt;br /&gt;
Organisational Status = 0&lt;br /&gt;
Type = KSB Kreiselpumpe&lt;br /&gt;
TRANSLATIONX =&lt;br /&gt;
Layer ID = ML_PUMP (Pumps)&lt;br /&gt;
ROTAIONY =&lt;br /&gt;
ISFACINGCAMERA =&lt;br /&gt;
Position Number = A12345&lt;br /&gt;
QR Code = PU212&lt;br /&gt;
ROTAIONZ =&lt;br /&gt;
Maintenance state =&lt;br /&gt;
ROTAIONX =&lt;br /&gt;
Order Number = SAP987456&lt;br /&gt;
Barcode = PU212&lt;br /&gt;
Marker ID = 2&lt;br /&gt;
OCRText = PU212&lt;br /&gt;
SCALEX =&lt;br /&gt;
ARMARKERSIDELENGTH =&lt;br /&gt;
Weblink = http://www.augmensys.com&lt;br /&gt;
Progress = 50&lt;br /&gt;
TRANSLATIONZ =&lt;br /&gt;
Manufacturer = KSB AG&lt;br /&gt;
Weight = 6&lt;br /&gt;
Maintenance finished = False&lt;br /&gt;
Geo data = 46,6152954101563;14,2624282836914;0&lt;br /&gt;
Visio group ID =&lt;br /&gt;
LK to Structure =&lt;br /&gt;
Scan = PU212&lt;br /&gt;
Order ID =&lt;br /&gt;
SAP-ID = 210100092&lt;br /&gt;
Namespace = DemoHL&lt;br /&gt;
Name = PU212&lt;br /&gt;
Description = Effluent Discharge Pumpx&lt;br /&gt;
Create Session =&lt;br /&gt;
Created on = 22.07.2013 14:43:20&lt;br /&gt;
Delete status = 0&lt;br /&gt;
UTS = 27.11.2018 17:18:33&lt;br /&gt;
Update session = MHM@unknown device -- 27.11.2018 10:40:13&lt;br /&gt;
Tenant =&lt;br /&gt;
Version = 983&lt;br /&gt;
&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Example using Script file ==&lt;br /&gt;
In order to execute a C# script file using the {{UBIK}} Console you need execute the UBIK.Console.exe using the ''-cmdfile'' parameter. If you add the ''-connectionstring'' parameter as shown in the example the console will instantiate UBIKEnvironmentConnection variable called ''ubikEnvironmentConnection''. This variable is then accessible in your script and can be used. Also the current customizing assembly will be added to the script.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;powershell&amp;quot;&amp;gt;&lt;br /&gt;
UBIK.Console.exe  -cmdfile &amp;quot;\\PathToScript\script.txt&amp;quot; -connectionstring &amp;quot;Data Source = ...; Initial Catalog = ...; User ID = ...; Password = ...&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following script code is taken from the example script file and shows how to work with {{UBIK}} Console via script file. If you store these six lines to a text file you can directly run it. In line one a new dependency is loaded, namely the [http://wiki.augmensys.com/index.php?title=UBIK_DBTool DBTool]. Line two creates a SqlConnectionStringBuilder in order to work comfortably with the connectionstring provided by ubikEnvironmentConnection. Line four calls a method from the customizing assembly which has been loaded by the console for us as mention earlier. Line 6 uses the DBTool project and creates a backup of the database.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
1. #r &amp;quot;C:\\Users\\cle\\Documents\\Dev\\UBIK.Server\\Branches\\2.6\\UBIK.Console\\bin\\Debug\\DBTool.exe&amp;quot;&lt;br /&gt;
2. System.Data.SqlClient.SqlConnectionStringBuilder scsb = new System.Data.SqlClient.SqlConnectionStringBuilder(ubikEnvironmentConnection.ConnectionString);&lt;br /&gt;
3. string backUpDir = @&amp;quot;C:\SQL\bakup&amp;quot;;&lt;br /&gt;
4. bool isTrue = UBIK.Runtime.WorkflowUtility.Str2Bool(&amp;quot;1&amp;quot;);&lt;br /&gt;
5. System.Console.WriteLine(isTrue.ToString());&lt;br /&gt;
6. DBTool.MSSQLTools.BackupDatabase(scsb.DataSource, scsb.UserID, scsb.Password, false, scsb.InitialCatalog, bak: string.Format(@&amp;quot;{0}\{1}_{2}_{3}.bak&amp;quot;, backUpDir, scsb.InitialCatalog, DateTime.Now.ToString(&amp;quot;yyyyMMdd&amp;quot;), DateTime.Now.ToString(&amp;quot;HHmm&amp;quot;)));&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== CmdLine ==&lt;br /&gt;
&lt;br /&gt;
[[File:CmdLine.Execute.PNG]]&lt;br /&gt;
&lt;br /&gt;
== PwdTool ==&lt;br /&gt;
If you do not want to type in your password in plain text you can first generate an encrypted password by executing Pwd.Encrpyt in the {{UBIK}} Console.&lt;br /&gt;
&lt;br /&gt;
[[File:PwdTool.Encrypt.PNG]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Pages with broken file links|UBIK Console]]&lt;/div&gt;</summary>
		<author><name>BMA</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=UBIK_Console&amp;diff=21052</id>
		<title>UBIK Console</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=UBIK_Console&amp;diff=21052"/>
				<updated>2018-11-30T13:55:46Z</updated>
		
		<summary type="html">&lt;p&gt;BMA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The {{UBIK}} Console project allows a user to interact with UBIK via C# script-code.&lt;br /&gt;
&lt;br /&gt;
== Concept ==&lt;br /&gt;
C# code will be interpreted like script code. This script can be either loaded from file and executed at start up or directly typed into a console window. When starting up the console it will automatically execute some common using statements in order to comfortably with code from these assemblies: System, UBIK, UBIK.Kernel, System.Collections.Generic, UBIK.Dynamic, System.Linq. If you need other namespaces you need to load them in your code.&lt;br /&gt;
&lt;br /&gt;
[[File:UBIK.Console.PNG|500px|]]&lt;br /&gt;
&lt;br /&gt;
== Using the console ==&lt;br /&gt;
As UBIK.Console is a command line application without any graphical user interface, it can be started in two ways:&lt;br /&gt;
* Start UBIK.Console.exe which will open a commandline interface&lt;br /&gt;
* Start directly out of a windows command line (e.g. powershell or cmd.exe)&lt;br /&gt;
&lt;br /&gt;
=== Mono and Roslyn ===&lt;br /&gt;
The console can either execute using Roslyn or Mono. By typing ''#mono'' or ''#roslyn'' you can switch between these engines. The default is Roslyn.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=C#&amp;gt;&lt;br /&gt;
&amp;gt;//build up a connection to a UBIK database&lt;br /&gt;
&amp;gt;var demo = new UBIKEnvironmentConnection(&amp;quot;Data Source = AUGLNZ2SQL2016; Initial Catalog = UBIK.DEMO.262; Persist Security Info = True; User ID = sa; Password = ai#2011&amp;quot;);&lt;br /&gt;
Connecting ('Data Source=AUGLNZ2SQL2016;Initial Catalog=UBIK.DEMO.262;Persist Security Info=True;User ID=sa;Password=********')&lt;br /&gt;
Database version: 2.6.2.0&lt;br /&gt;
Kernel version: 2.6.0.0&lt;br /&gt;
Customizing version: 2.6.215&lt;br /&gt;
Session mgmt. type: SingleLocal_Management&lt;br /&gt;
USAM ignored.&lt;br /&gt;
bma (AUGBMA02) now connected to 'UBIK.DEMO.262'.&lt;br /&gt;
&lt;br /&gt;
&amp;gt;//get one of the metaclasses&lt;br /&gt;
&amp;gt;var metaclassOfPump = demo.Environment.UBIKDataFactory().MetaClass(new Guid(&amp;quot;b81a9d31-03b2-4dbd-91aa-b62c499011f7&amp;quot;));&lt;br /&gt;
&lt;br /&gt;
&amp;gt;//find a content object (e.g. the first one found containing &amp;quot;PU212&amp;quot;&lt;br /&gt;
&amp;gt;var myFavouritePump = metaclassOfPump.AllChilds().First(p =&amp;gt; p.DisplayString.Contains(&amp;quot;PU212&amp;quot;));&lt;br /&gt;
&lt;br /&gt;
&amp;gt;//show all propertyvalues&lt;br /&gt;
&amp;gt;foreach(var prop in myFavouritePump.Properties) //%&lt;br /&gt;
&amp;gt;{ //%&lt;br /&gt;
&amp;gt;    Console.WriteLine(&amp;quot;{0} = {1}&amp;quot;, prop.Description, prop.DisplayValue()); //%&lt;br /&gt;
&amp;gt;}&lt;br /&gt;
&lt;br /&gt;
Shutdown finished = False&lt;br /&gt;
RPM = 2920&lt;br /&gt;
Flow rate = 68&lt;br /&gt;
Nominal Diameter DN1 = 80&lt;br /&gt;
Protection = II 2 G c TX&lt;br /&gt;
Nominal Power (Process) = 55&lt;br /&gt;
Static Head = 18&lt;br /&gt;
Nominal Power (electrical) = 50&lt;br /&gt;
Live RPM = (RPM)&lt;br /&gt;
Live Flow = (Flow1)&lt;br /&gt;
Height = 750&lt;br /&gt;
Live Manz =&lt;br /&gt;
Nominal Diameter DN2 = 60&lt;br /&gt;
Nominal Pressure PN2 = 20&lt;br /&gt;
Variable Frequency Drive = False&lt;br /&gt;
Volt = 400&lt;br /&gt;
Impeller Diameter = 120&lt;br /&gt;
Nominal Pressure PN1 = 16&lt;br /&gt;
Extension Weller =&lt;br /&gt;
Weight = 234&lt;br /&gt;
ARMARKERID =&lt;br /&gt;
TRANSLATIONY =&lt;br /&gt;
Installation Level = 60&lt;br /&gt;
Parent POI Group ID = DEMO_LEVEL_1 (Demo Level 1)&lt;br /&gt;
Technical Status = 0&lt;br /&gt;
RFID Tag =&lt;br /&gt;
Organisational Status = 0&lt;br /&gt;
Type = KSB Kreiselpumpe&lt;br /&gt;
TRANSLATIONX =&lt;br /&gt;
Layer ID = ML_PUMP (Pumps)&lt;br /&gt;
ROTAIONY =&lt;br /&gt;
ISFACINGCAMERA =&lt;br /&gt;
Position Number = A12345&lt;br /&gt;
QR Code = PU212&lt;br /&gt;
ROTAIONZ =&lt;br /&gt;
Maintenance state =&lt;br /&gt;
ROTAIONX =&lt;br /&gt;
Order Number = SAP987456&lt;br /&gt;
Barcode = PU212&lt;br /&gt;
Marker ID = 2&lt;br /&gt;
OCRText = PU212&lt;br /&gt;
SCALEX =&lt;br /&gt;
ARMARKERSIDELENGTH =&lt;br /&gt;
Weblink = http://www.augmensys.com&lt;br /&gt;
Progress = 50&lt;br /&gt;
TRANSLATIONZ =&lt;br /&gt;
Manufacturer = KSB AG&lt;br /&gt;
Weight = 6&lt;br /&gt;
Maintenance finished = False&lt;br /&gt;
Geo data = 46,6152954101563;14,2624282836914;0&lt;br /&gt;
Visio group ID =&lt;br /&gt;
LK to Structure =&lt;br /&gt;
Scan = PU212&lt;br /&gt;
Order ID =&lt;br /&gt;
SAP-ID = 210100092&lt;br /&gt;
Namespace = DemoHL&lt;br /&gt;
Name = PU212&lt;br /&gt;
Description = Effluent Discharge Pumpx&lt;br /&gt;
Create Session =&lt;br /&gt;
Created on = 22.07.2013 14:43:20&lt;br /&gt;
Delete status = 0&lt;br /&gt;
UTS = 27.11.2018 17:18:33&lt;br /&gt;
Update session = MHM@unknown device -- 27.11.2018 10:40:13&lt;br /&gt;
Tenant =&lt;br /&gt;
Version = 983&lt;br /&gt;
&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Example using Script file ==&lt;br /&gt;
In order to execute a C# script file using the {{UBIK}} Console you need execute the UBIK.Console.exe using the ''-cmdfile'' parameter. If you add the ''-connectionstring'' parameter as shown in the example the console will instantiate UBIKEnvironmentConnection variable called ''ubikEnvironmentConnection''. This variable is then accessible in your script and can be used. Also the current customizing assembly will be added to the script.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;powershell&amp;quot;&amp;gt;&lt;br /&gt;
UBIK.Console.exe  -cmdfile &amp;quot;\\PathToScript\script.txt&amp;quot; -connectionstring &amp;quot;Data Source = ...; Initial Catalog = ...; User ID = ...; Password = ...&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following script code is taken from the example script file and shows how to work with {{UBIK}} Console via script file. If you store these six lines to a text file you can directly run it. In line one a new dependency is loaded, namely the [http://wiki.augmensys.com/index.php?title=UBIK_DBTool DBTool]. Line two creates a SqlConnectionStringBuilder in order to work comfortably with the connectionstring provided by ubikEnvironmentConnection. Line four calls a method from the customizing assembly which has been loaded by the console for us as mention earlier. Line 6 uses the DBTool project and creates a backup of the database.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
1. #r &amp;quot;C:\\Users\\cle\\Documents\\Dev\\UBIK.Server\\Branches\\2.6\\UBIK.Console\\bin\\Debug\\DBTool.exe&amp;quot;&lt;br /&gt;
2. System.Data.SqlClient.SqlConnectionStringBuilder scsb = new System.Data.SqlClient.SqlConnectionStringBuilder(ubikEnvironmentConnection.ConnectionString);&lt;br /&gt;
3. string backUpDir = @&amp;quot;C:\SQL\bakup&amp;quot;;&lt;br /&gt;
4. bool isTrue = UBIK.Runtime.WorkflowUtility.Str2Bool(&amp;quot;1&amp;quot;);&lt;br /&gt;
5. System.Console.WriteLine(isTrue.ToString());&lt;br /&gt;
6. DBTool.MSSQLTools.BackupDatabase(scsb.DataSource, scsb.UserID, scsb.Password, false, scsb.InitialCatalog, bak: string.Format(@&amp;quot;{0}\{1}_{2}_{3}.bak&amp;quot;, backUpDir, scsb.InitialCatalog, DateTime.Now.ToString(&amp;quot;yyyyMMdd&amp;quot;), DateTime.Now.ToString(&amp;quot;HHmm&amp;quot;)));&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== CmdLine ==&lt;br /&gt;
&lt;br /&gt;
[[File:CmdLine.Execute.PNG]]&lt;br /&gt;
&lt;br /&gt;
== PwdTool ==&lt;br /&gt;
If you do not want to type in your password in plain text you can first generate an encrypted password by executing Pwd.Encrpyt in the {{UBIK}} Console.&lt;br /&gt;
&lt;br /&gt;
[[File:PwdTool.Encrypt.PNG]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Pages with broken file links|UBIK Console]]&lt;/div&gt;</summary>
		<author><name>BMA</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=UBIK_Console&amp;diff=21051</id>
		<title>UBIK Console</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=UBIK_Console&amp;diff=21051"/>
				<updated>2018-11-30T13:30:25Z</updated>
		
		<summary type="html">&lt;p&gt;BMA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The {{UBIK}} Console project allows a user to interact with UBIK via C# script-code.&lt;br /&gt;
&lt;br /&gt;
== Concept ==&lt;br /&gt;
C# code will be interpreted like script code. This script can be either loaded from file and executed at start up or directly typed into a console window. When starting up the console it will automatically execute some common using statements in order to comfortably with code from these assemblies: System, UBIK, UBIK.Kernel, System.Collections.Generic, UBIK.Dynamic, System.Linq. If you need other namespaces you need to load them in your code.&lt;br /&gt;
&lt;br /&gt;
[[File:UBIK.Console.PNG|500px|]]&lt;br /&gt;
&lt;br /&gt;
== Using the console ==&lt;br /&gt;
As UBIK.Console is a command line application without any graphical user interface, it can be started in two ways:&lt;br /&gt;
* Start UBIK.Console.exe which will open a commandline interface&lt;br /&gt;
* Start directly out of a windows command line (e.g. powershell or cmd.exe)&lt;br /&gt;
&lt;br /&gt;
=== Mono and Roslyn ===&lt;br /&gt;
The console can either execute using Roslyn or Mono. By typing ''#mono'' or ''#roslyn'' you can switch between these engines. The default is Roslyn.&lt;br /&gt;
&lt;br /&gt;
== Example using Script file ==&lt;br /&gt;
In order to execute a C# script file using the {{UBIK}} Console you need execute the UBIK.Console.exe using the ''-cmdfile'' parameter. If you add the ''-connectionstring'' parameter as shown in the example the console will instantiate UBIKEnvironmentConnection variable called ''ubikEnvironmentConnection''. This variable is then accessible in your script and can be used. Also the current customizing assembly will be added to the script.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;powershell&amp;quot;&amp;gt;&lt;br /&gt;
UBIK.Console.exe  -cmdfile &amp;quot;\\PathToScript\script.txt&amp;quot; -connectionstring &amp;quot;Data Source = ...; Initial Catalog = ...; User ID = ...; Password = ...&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following script code is taken from the example script file and shows how to work with {{UBIK}} Console via script file. If you store these six lines to a text file you can directly run it. In line one a new dependency is loaded, namely the [http://wiki.augmensys.com/index.php?title=UBIK_DBTool DBTool]. Line two creates a SqlConnectionStringBuilder in order to work comfortably with the connectionstring provided by ubikEnvironmentConnection. Line four calls a method from the customizing assembly which has been loaded by the console for us as mention earlier. Line 6 uses the DBTool project and creates a backup of the database.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
1. #r &amp;quot;C:\\Users\\cle\\Documents\\Dev\\UBIK.Server\\Branches\\2.6\\UBIK.Console\\bin\\Debug\\DBTool.exe&amp;quot;&lt;br /&gt;
2. System.Data.SqlClient.SqlConnectionStringBuilder scsb = new System.Data.SqlClient.SqlConnectionStringBuilder(ubikEnvironmentConnection.ConnectionString);&lt;br /&gt;
3. string backUpDir = @&amp;quot;C:\SQL\bakup&amp;quot;;&lt;br /&gt;
4. bool isTrue = UBIK.Runtime.WorkflowUtility.Str2Bool(&amp;quot;1&amp;quot;);&lt;br /&gt;
5. System.Console.WriteLine(isTrue.ToString());&lt;br /&gt;
6. DBTool.MSSQLTools.BackupDatabase(scsb.DataSource, scsb.UserID, scsb.Password, false, scsb.InitialCatalog, bak: string.Format(@&amp;quot;{0}\{1}_{2}_{3}.bak&amp;quot;, backUpDir, scsb.InitialCatalog, DateTime.Now.ToString(&amp;quot;yyyyMMdd&amp;quot;), DateTime.Now.ToString(&amp;quot;HHmm&amp;quot;)));&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== CmdLine ==&lt;br /&gt;
&lt;br /&gt;
[[File:CmdLine.Execute.PNG]]&lt;br /&gt;
&lt;br /&gt;
== PwdTool ==&lt;br /&gt;
If you do not want to type in your password in plain text you can first generate an encrypted password by executing Pwd.Encrpyt in the {{UBIK}} Console.&lt;br /&gt;
&lt;br /&gt;
[[File:PwdTool.Encrypt.PNG]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Pages with broken file links|UBIK Console]]&lt;/div&gt;</summary>
		<author><name>BMA</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=UBIK_Console&amp;diff=21050</id>
		<title>UBIK Console</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=UBIK_Console&amp;diff=21050"/>
				<updated>2018-11-30T13:29:48Z</updated>
		
		<summary type="html">&lt;p&gt;BMA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The {{UBIK}} Console project allows a user to interact with UBIK via C# script-code. As UBIK.Console is a command line application without any graphical user interface, it can be started in two ways:&lt;br /&gt;
* Start UBIK.Console.exe which will open a commandline interface&lt;br /&gt;
* Start directly out of a windows command line (e.g. powershell or cmd.exe)&lt;br /&gt;
&lt;br /&gt;
== Concept ==&lt;br /&gt;
C# code will be interpreted like script code. This script can be either loaded from file and executed at start up or directly typed into a console window. When starting up the console it will automatically execute some common using statements in order to comfortably with code from these assemblies: System, UBIK, UBIK.Kernel, System.Collections.Generic, UBIK.Dynamic, System.Linq. If you need other namespaces you need to load them in your code.&lt;br /&gt;
&lt;br /&gt;
[[File:UBIK.Console.PNG|500px|]]&lt;br /&gt;
&lt;br /&gt;
== Using the console ==&lt;br /&gt;
By simply executing UBIK.Console.exe &lt;br /&gt;
&lt;br /&gt;
=== Mono and Roslyn ===&lt;br /&gt;
The console can either execute using Roslyn or Mono. By typing ''#mono'' or ''#roslyn'' you can switch between these engines. The default is Roslyn.&lt;br /&gt;
&lt;br /&gt;
== Example using Script file ==&lt;br /&gt;
In order to execute a C# script file using the {{UBIK}} Console you need execute the UBIK.Console.exe using the ''-cmdfile'' parameter. If you add the ''-connectionstring'' parameter as shown in the example the console will instantiate UBIKEnvironmentConnection variable called ''ubikEnvironmentConnection''. This variable is then accessible in your script and can be used. Also the current customizing assembly will be added to the script.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;powershell&amp;quot;&amp;gt;&lt;br /&gt;
UBIK.Console.exe  -cmdfile &amp;quot;\\PathToScript\script.txt&amp;quot; -connectionstring &amp;quot;Data Source = ...; Initial Catalog = ...; User ID = ...; Password = ...&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following script code is taken from the example script file and shows how to work with {{UBIK}} Console via script file. If you store these six lines to a text file you can directly run it. In line one a new dependency is loaded, namely the [http://wiki.augmensys.com/index.php?title=UBIK_DBTool DBTool]. Line two creates a SqlConnectionStringBuilder in order to work comfortably with the connectionstring provided by ubikEnvironmentConnection. Line four calls a method from the customizing assembly which has been loaded by the console for us as mention earlier. Line 6 uses the DBTool project and creates a backup of the database.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
1. #r &amp;quot;C:\\Users\\cle\\Documents\\Dev\\UBIK.Server\\Branches\\2.6\\UBIK.Console\\bin\\Debug\\DBTool.exe&amp;quot;&lt;br /&gt;
2. System.Data.SqlClient.SqlConnectionStringBuilder scsb = new System.Data.SqlClient.SqlConnectionStringBuilder(ubikEnvironmentConnection.ConnectionString);&lt;br /&gt;
3. string backUpDir = @&amp;quot;C:\SQL\bakup&amp;quot;;&lt;br /&gt;
4. bool isTrue = UBIK.Runtime.WorkflowUtility.Str2Bool(&amp;quot;1&amp;quot;);&lt;br /&gt;
5. System.Console.WriteLine(isTrue.ToString());&lt;br /&gt;
6. DBTool.MSSQLTools.BackupDatabase(scsb.DataSource, scsb.UserID, scsb.Password, false, scsb.InitialCatalog, bak: string.Format(@&amp;quot;{0}\{1}_{2}_{3}.bak&amp;quot;, backUpDir, scsb.InitialCatalog, DateTime.Now.ToString(&amp;quot;yyyyMMdd&amp;quot;), DateTime.Now.ToString(&amp;quot;HHmm&amp;quot;)));&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== CmdLine ==&lt;br /&gt;
&lt;br /&gt;
[[File:CmdLine.Execute.PNG]]&lt;br /&gt;
&lt;br /&gt;
== PwdTool ==&lt;br /&gt;
If you do not want to type in your password in plain text you can first generate an encrypted password by executing Pwd.Encrpyt in the {{UBIK}} Console.&lt;br /&gt;
&lt;br /&gt;
[[File:PwdTool.Encrypt.PNG]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Pages with broken file links|UBIK Console]]&lt;/div&gt;</summary>
		<author><name>BMA</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=View_Cache_Launcher&amp;diff=21007</id>
		<title>View Cache Launcher</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=View_Cache_Launcher&amp;diff=21007"/>
				<updated>2018-11-13T10:44:41Z</updated>
		
		<summary type="html">&lt;p&gt;BMA: /* {{UBIK}} View Cache Launcher (VCL) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;={{UBIK}} View Cache Launcher (VCL)=&lt;br /&gt;
&lt;br /&gt;
The VCL is an installable windows system service which can be used to automaically trigger one or more UBIK contexts(s) provided by an UBIK IIS service to build up its view cache.&lt;br /&gt;
&lt;br /&gt;
After unpacking the VCL binaries and config-files, move the files to a directory where the local system account (or the specified one configured to run the VCL service) is allowed to execute it.&lt;br /&gt;
&lt;br /&gt;
The VCL is configured in “UBIK.VCL.exe.config&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
* StatusURI: configure the service IP, the webservice path, appand context according to the installed UBIK-configuration on the IIS.&lt;br /&gt;
* TriggerUri: see StatusURI&lt;br /&gt;
* TriggerInterval: when the viewcache is already active, refresh it at least after this interval.&lt;br /&gt;
* OfflineCheckInterval: when the viewcache can not be contacted or is offline, retry to trigger the viewcache at least after this time interval.&lt;br /&gt;
&lt;br /&gt;
===Example===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;configuration&amp;gt;&lt;br /&gt;
    &amp;lt;startup&amp;gt; &lt;br /&gt;
        &amp;lt;supportedRuntime version=&amp;quot;v4.0&amp;quot; sku=&amp;quot;.NETFramework,Version=v4.5.1&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/startup&amp;gt;&lt;br /&gt;
    &amp;lt;appSettings&amp;gt;&lt;br /&gt;
      &amp;lt;add key=&amp;quot;StatusUri&amp;quot; value=&amp;quot;https://10.0.0.100/CLIENT/UBIK/CONTENT/UbikContent.svc/GetViewStateInformation/APP_001/CXT_001&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;add key=&amp;quot;TriggerUri&amp;quot; value=&amp;quot;https://10.0.0.100/CLIENT/UBIK/CONTENT/UbikContent.svc/TriggerViewStateUpdate/APP_001/CXT_002&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;add key=&amp;quot;TriggerInterval&amp;quot; value=&amp;quot;7200&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;add key=&amp;quot;OfflineCheckInterval&amp;quot; value=&amp;quot;60&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;add key=&amp;quot;LogPath&amp;quot; value=&amp;quot;D:\UBIK\LOG\VCL\log.txt&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/appSettings&amp;gt;&lt;br /&gt;
&amp;lt;/configuration&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Configure more than one service and/or context to be updated====&lt;br /&gt;
&lt;br /&gt;
Please duplicate the entries used and add a number suffix. Here is an example:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;add key=&amp;quot;StatusUri1&amp;quot; value=&amp;quot;https://10.0.0.100/UBIK/PROJECT01/CONTENT/UbikContent.svc/GetViewStateInformation/APP_001/CXT_001&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;add key=&amp;quot;StatusUri2&amp;quot; value=&amp;quot;https://10.0.0.100/UBIK/PROJECT01/CONTENT/UbikContent.svc/GetViewStateInformation/APP_001/CXT_002&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
etc.&lt;/div&gt;</summary>
		<author><name>BMA</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=View_Cache_Launcher&amp;diff=21005</id>
		<title>View Cache Launcher</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=View_Cache_Launcher&amp;diff=21005"/>
				<updated>2018-11-13T10:43:23Z</updated>
		
		<summary type="html">&lt;p&gt;BMA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;={{UBIK}} View Cache Launcher (VCL)=&lt;br /&gt;
&lt;br /&gt;
The VCL is an installable windows system service which can be used to automaically trigger one or more UBIK contexts(s) provided by an UBIK IIS service to build up its view cache.&lt;br /&gt;
&lt;br /&gt;
After unpacking the VCL binaries and config-files, move the files to a directory where the local system account (or the specified one configured to run the VCL service) is allowed to execute it.&lt;br /&gt;
&lt;br /&gt;
The VCL is configured in “UBIK.VCL.exe.config&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
* StatusURI: configure the service IP, the webservice path, appand context according to the installed UBIK-configuration on the IIS.&lt;br /&gt;
* TriggerUri: see StatusURI&lt;br /&gt;
* TriggerInterval: when the viewcache is already active, refresh it at least after this interval.&lt;br /&gt;
* OfflineCheckInterval: when the viewcache can not be contacted or is offline, retry to trigger the viewcache at least after this time interval.&lt;br /&gt;
&lt;br /&gt;
===Example===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;configuration&amp;gt;&lt;br /&gt;
    &amp;lt;startup&amp;gt; &lt;br /&gt;
        &amp;lt;supportedRuntime version=&amp;quot;v4.0&amp;quot; sku=&amp;quot;.NETFramework,Version=v4.5.1&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/startup&amp;gt;&lt;br /&gt;
    &amp;lt;appSettings&amp;gt;&lt;br /&gt;
      &amp;lt;add key=&amp;quot;StatusUri&amp;quot; value=&amp;quot;https://10.86.47.16/CLIENT/UBIK/CONTENT/UbikContent.svc/GetViewStateInformation/APP_001/CXT_001&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;add key=&amp;quot;TriggerUri&amp;quot; value=&amp;quot;https://10.86.47.16/CLIENT/UBIK/CONTENT/UbikContent.svc/TriggerViewStateUpdate/APP_001/CXT_002&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;add key=&amp;quot;TriggerInterval&amp;quot; value=&amp;quot;7200&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;add key=&amp;quot;OfflineCheckInterval&amp;quot; value=&amp;quot;60&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;add key=&amp;quot;LogPath&amp;quot; value=&amp;quot;D:\UBIK\LOG\VCL\log.txt&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/appSettings&amp;gt;&lt;br /&gt;
&amp;lt;/configuration&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Configure more than one service and/or context to be updated====&lt;br /&gt;
&lt;br /&gt;
Please duplicate the entries used and add a number suffix. Here is an example:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;add key=&amp;quot;StatusUri1&amp;quot; value=&amp;quot;https://10.86.47.16/UBIK/PROJECT01/CONTENT/UbikContent.svc/GetViewStateInformation/APP_001/CXT_001&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;add key=&amp;quot;StatusUri2&amp;quot; value=&amp;quot;https://10.86.47.16/UBIK/PROJECT01/CONTENT/UbikContent.svc/GetViewStateInformation/APP_001/CXT_002&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
etc.&lt;/div&gt;</summary>
		<author><name>BMA</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=View_Cache_Launcher&amp;diff=21004</id>
		<title>View Cache Launcher</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=View_Cache_Launcher&amp;diff=21004"/>
				<updated>2018-11-13T10:42:28Z</updated>
		
		<summary type="html">&lt;p&gt;BMA: /* {{UBIK}} View Cache Launcher (VCL) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;={{UBIK}} View Cache Launcher (VCL)=&lt;br /&gt;
&lt;br /&gt;
The VCL is an installable windows system service which can be used to automaically trigger one or more UBIK contexts(s) provided by an UBIK IIS service to build up its view cache.&lt;br /&gt;
&lt;br /&gt;
After unpacking the VCL binaries and config-files, move the files to a directory where the local system account (or the specified one configured to run the VCL service) is allowed to execute it.&lt;br /&gt;
&lt;br /&gt;
The VCL is configured in “UBIK.VCL.exe.config&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
* StatusURI: configure the service IP, the webservice path, appand context according to the installed UBIK-configuration on the IIS.&lt;br /&gt;
* TriggerUri: see StatusURI&lt;br /&gt;
* TriggerInterval: when the viewcache is already active, refresh it at least after this interval.&lt;br /&gt;
* OfflineCheckInterval: when the viewcache can not be contacted or is offline, retry to trigger the viewcache at least after this time interval.&lt;br /&gt;
&lt;br /&gt;
===Example===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;configuration&amp;gt;&lt;br /&gt;
    &amp;lt;startup&amp;gt; &lt;br /&gt;
        &amp;lt;supportedRuntime version=&amp;quot;v4.0&amp;quot; sku=&amp;quot;.NETFramework,Version=v4.5.1&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/startup&amp;gt;&lt;br /&gt;
    &amp;lt;appSettings&amp;gt;&lt;br /&gt;
      &amp;lt;add key=&amp;quot;StatusUri&amp;quot; value=&amp;quot;https://10.86.47.16/CLIENT/UBIK.DURR/CONTENT/UbikContent.svc/GetViewStateInformation/APP_DURR_001/CXT_DURR_001&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;add key=&amp;quot;TriggerUri&amp;quot; value=&amp;quot;https://10.86.47.16/CLIENT/UBIK.DURR/CONTENT/UbikContent.svc/TriggerViewStateUpdate/APP_DURR_001/CXT_DURR_001&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;add key=&amp;quot;TriggerInterval&amp;quot; value=&amp;quot;7200&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;add key=&amp;quot;OfflineCheckInterval&amp;quot; value=&amp;quot;60&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;add key=&amp;quot;LogPath&amp;quot; value=&amp;quot;D:\UBIK\LOG\VCL\log.txt&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/appSettings&amp;gt;&lt;br /&gt;
&amp;lt;/configuration&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Configure more than one service and/or context to be updated====&lt;br /&gt;
&lt;br /&gt;
Please duplicate the entries used and add a number suffix. Here is an example:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;add key=&amp;quot;StatusUri1&amp;quot; value=&amp;quot;https://10.86.47.16/UBIK/PROJECT01/CONTENT/UbikContent.svc/GetViewStateInformation/APP_001/CXT_001&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;add key=&amp;quot;StatusUri2&amp;quot; value=&amp;quot;https://10.86.47.16/UBIK/PROJECT01/CONTENT/UbikContent.svc/GetViewStateInformation/APP_001/CXT_002&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
etc.&lt;/div&gt;</summary>
		<author><name>BMA</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=View_Cache_Launcher&amp;diff=21003</id>
		<title>View Cache Launcher</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=View_Cache_Launcher&amp;diff=21003"/>
				<updated>2018-11-13T10:41:14Z</updated>
		
		<summary type="html">&lt;p&gt;BMA: View Cache Launcher (VCL)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;={{UBIK}} View Cache Launcher (VCL)=&lt;br /&gt;
&lt;br /&gt;
The VCL is an installable windows system service which can be used to automazically trigger one or more UBIK contexts(s) to build up its view cache.&lt;br /&gt;
&lt;br /&gt;
After unpacking the VCL binaries and config-files, move the files to a directory where the local system account (or the specified one configured to run the VCL service) is allowed to execute binaries.&lt;br /&gt;
&lt;br /&gt;
The VCL is configured by “UBIK.VCL.exe.config&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
* StatusURI: configure the service IP, the webservice path, appand context according to the installed UBIK-configuration on the IIS.&lt;br /&gt;
* TriggerUri: see StatusURI&lt;br /&gt;
* TriggerInterval: when the viewcache is already active, refresh it at least after this interval.&lt;br /&gt;
* OfflineCheckInterval: when the viewcache can not be contacted or is offline, retry to trigger the viewcache at least after this time interval.&lt;br /&gt;
&lt;br /&gt;
===Example===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;configuration&amp;gt;&lt;br /&gt;
    &amp;lt;startup&amp;gt; &lt;br /&gt;
        &amp;lt;supportedRuntime version=&amp;quot;v4.0&amp;quot; sku=&amp;quot;.NETFramework,Version=v4.5.1&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/startup&amp;gt;&lt;br /&gt;
    &amp;lt;appSettings&amp;gt;&lt;br /&gt;
      &amp;lt;add key=&amp;quot;StatusUri&amp;quot; value=&amp;quot;https://10.86.47.16/CLIENT/UBIK.DURR/CONTENT/UbikContent.svc/GetViewStateInformation/APP_DURR_001/CXT_DURR_001&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;add key=&amp;quot;TriggerUri&amp;quot; value=&amp;quot;https://10.86.47.16/CLIENT/UBIK.DURR/CONTENT/UbikContent.svc/TriggerViewStateUpdate/APP_DURR_001/CXT_DURR_001&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;add key=&amp;quot;TriggerInterval&amp;quot; value=&amp;quot;7200&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;add key=&amp;quot;OfflineCheckInterval&amp;quot; value=&amp;quot;60&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;add key=&amp;quot;LogPath&amp;quot; value=&amp;quot;D:\UBIK\LOG\VCL\log.txt&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;/appSettings&amp;gt;&lt;br /&gt;
&amp;lt;/configuration&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Configure more than one service and/or context to be updated====&lt;br /&gt;
&lt;br /&gt;
Please duplicate the entries used and add a number suffix. Here is an example:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;add key=&amp;quot;StatusUri1&amp;quot; value=&amp;quot;https://10.86.47.16/UBIK/PROJECT01/CONTENT/UbikContent.svc/GetViewStateInformation/APP_001/CXT_001&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;add key=&amp;quot;StatusUri2&amp;quot; value=&amp;quot;https://10.86.47.16/UBIK/PROJECT01/CONTENT/UbikContent.svc/GetViewStateInformation/APP_001/CXT_002&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
etc.&lt;/div&gt;</summary>
		<author><name>BMA</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=UBIK_DBTool&amp;diff=20762</id>
		<title>UBIK DBTool</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=UBIK_DBTool&amp;diff=20762"/>
				<updated>2018-03-27T09:10:48Z</updated>
		
		<summary type="html">&lt;p&gt;BMA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The command line application DBTool can be used for managing UBIK.Databases (and partially also for any other database) on a Microsoft SQL Server:&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
DBTOOL &amp;lt;COMMAND&amp;gt; /&amp;lt;parameter&amp;gt; &amp;lt;value&amp;gt; etc.&lt;br /&gt;
&lt;br /&gt;
===DBTOOL RESTORE (restore a database)===&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
 /server ... the database server (e.g. /server &amp;quot;mysqlserver&amp;quot;)&lt;br /&gt;
 /user   ... (optional) the database user (e.g. /user sa, default: sa)&lt;br /&gt;
 /pwd    ... (optional) the database user's password (e.g. /pwd ***), not required for SPI!&lt;br /&gt;
 /spi    ... (optional) integrated security 'true' = yes, 'false' = no (default false).&lt;br /&gt;
 /cat    ... the new catalog's name (e.g. /cat &amp;quot;XYZ&amp;quot;)&lt;br /&gt;
 /bak    ... the backup file path (e.g. /bak &amp;quot;C:\SQL\BAK\XYZ01.bak&amp;quot;)&lt;br /&gt;
 /force  ... (optional) force existing databases and/or data/log files to be overwritten! (default: false)&lt;br /&gt;
 /ndpath ... (optional) the path of the new data file on the server (e.g. /ndpath &amp;quot;C:\SQL\DATA\XYZ02.mdf&amp;quot;)&lt;br /&gt;
 /nlpath ... (optional) the path of the new log file on the server (e.g. /nlpath &amp;quot;C:\SQL\DATA\XYZ02.ldf&amp;quot;)&lt;br /&gt;
 /odname ... (optional) the path of the original data file on the server (e.g. /odname &amp;quot;XYZ01.mdf&amp;quot;)&lt;br /&gt;
 /olname ... (optional) the path of the original log file on the server (e.g. /originallogfilename &amp;quot;XYZ01.mdf&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
DBTOOL restore /server myservername /user myusername /pwd mypassword /spi false /cat mynewcatalog /bak &amp;quot;C:\MSSQL\Backup\mybackup.bak&amp;quot;&lt;br /&gt;
&lt;br /&gt;
DBTOOL restore /server myservername /user myusername /pwd mypassword /spi false /cat mynewcatalog /bak &amp;quot;C:\MSSQL\Backup\mybackup.bak&amp;quot; /force false /ndpath &amp;quot;C:\SQL\Data\mynewcatalog.mdf&amp;quot; /nlpath &amp;quot;C:\SQL\Data\mynaewcatalog.ldf&amp;quot; /odname myoriginalcatalog /olname myoriginalcatalog_log&lt;br /&gt;
&lt;br /&gt;
===DBTOOL UBIKSET (set a UBIK setting value)===&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
 /server  ... the database server (e.g. /server &amp;quot;mysqlserver&amp;quot;)&lt;br /&gt;
 /user    ... (optional, default: sa) the database user (e.g. /user sa)&lt;br /&gt;
 /pwd     ... (optional, default: empty) the database user's password (e.g. /pwd ***), not required for SPI!&lt;br /&gt;
 /spi     ... (optional, default: false) integrated security 'true' = yes, 'false' = no.&lt;br /&gt;
 /cat     ... the catalog's name (e.g. /cat &amp;quot;XYZ&amp;quot;)&lt;br /&gt;
 /key     ... the system setting key (e.g. /key 0)&lt;br /&gt;
 /setting ... the system setting key (e.g. /setting 0)&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
DBTOOL UBIKSET /server myservername /user myusername /pwd mypassword /spi false /cat mynewcatalog /key 0 /setting &amp;quot;\\myserver\mydatapath&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===DBTOOL RUN (run a sql expression)===&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
 /server ... the database server (e.g. /server &amp;quot;mysqlserver&amp;quot;)&lt;br /&gt;
 /user   ... (optional, default: sa) the database user (e.g. /user sa)&lt;br /&gt;
 /pwd    ... (optional, default: empty) the database user's password (e.g. /pwd ***), not required for SPI!&lt;br /&gt;
 /spi    ... (optional, default: false) integrated security 'true' = yes, 'false' = no.&lt;br /&gt;
 /cat    ... the catalog's name (e.g. /cat &amp;quot;XYZ&amp;quot;)&lt;br /&gt;
 /sql    ... the expression (e.g. /sql &amp;quot;SELECT * FROM mytable&amp;quot;)&lt;br /&gt;
 /sep    ... (optional, default &amp;quot;;&amp;quot;) the expression (e.g. /sep &amp;quot;\t&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
DBTOOL RUN /server myservername /user myusername /pwd mypassword /spi false /cat mynewcatalog /sql &amp;quot;SELECT * from mytable&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
&lt;br /&gt;
* RUN&lt;br /&gt;
dbtool RUN /sql &amp;quot;SELECT * FROM dbo.UST_BASECLASS&amp;quot; /cat &amp;quot;UBIK.TEST&amp;quot; /server &amp;quot;sqlserver&amp;quot; /user &amp;quot;sa&amp;quot; /pwd ****** /verbose false&lt;br /&gt;
dbtool RUN /sql &amp;quot;update UST_SYSTEMSETTINGS set PR_VALUE='\\fileserver\UBIKData\UBIK.TEST.COPY' where PR_KEY=0&amp;quot; /cat &amp;quot;UBIK.TEST.COPY&amp;quot; /server &amp;quot;sqlserver&amp;quot; /user &amp;quot;myuser&amp;quot; /pwd &amp;quot;mypwd&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* UBIKSET&lt;br /&gt;
dbtool UBIKSET /cat &amp;quot;UBIK.TEST:COPY&amp;quot; /server sqlserver /user myuser /pwd mypwd /key 0 /setting &amp;quot;\\fileserver\UBIKData\UBIK.TEST.COPY&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* RESTORE&lt;br /&gt;
dbtool RESTORE /cat UBIK.MANUALTEST03 /server auglnz2sql /user myuser /pwd mypwd /bak &amp;quot;C:\MSSQL\Backup\UBIK.TEST.bak&amp;quot;&lt;br /&gt;
dbtool RESTORE /cat UBIK.MANUALTEST04 /server auglnz2sql /user sa /pwd mypwd /bak &amp;quot;C:\MSSQL\Backup\UBIK.TEST.bak&amp;quot; /force true /ndpath &amp;quot;C:\MSSQL\Data\UBIK.TEST.COPY.mdf&amp;quot; /nlpath &amp;quot;C:\MSSQL\Data\UBIK.TEST.COPY.ldf&amp;quot; /odname &amp;quot;UBIK.TEST&amp;quot; /olname &amp;quot;UBIK.TEST_log&amp;quot;&lt;/div&gt;</summary>
		<author><name>BMA</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=UBIK_DBTool&amp;diff=20761</id>
		<title>UBIK DBTool</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=UBIK_DBTool&amp;diff=20761"/>
				<updated>2018-03-27T09:08:46Z</updated>
		
		<summary type="html">&lt;p&gt;BMA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The command line application DBTool can be used for managing UBIK.Databases (and partially also for any other database) on a Microsoft SQL Server:&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
DBTOOL &amp;lt;COMMAND&amp;gt; /&amp;lt;parameter&amp;gt; &amp;lt;value&amp;gt; etc.&lt;br /&gt;
&lt;br /&gt;
DBTOOL RESTORE (restore a database)&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
 /server ... the database server (e.g. /server &amp;quot;mysqlserver&amp;quot;)&lt;br /&gt;
 /user   ... (optional) the database user (e.g. /user sa, default: sa)&lt;br /&gt;
 /pwd    ... (optional) the database user's password (e.g. /pwd ***), not required for SPI!&lt;br /&gt;
 /spi    ... (optional) integrated security 'true' = yes, 'false' = no (default false).&lt;br /&gt;
 /cat    ... the new catalog's name (e.g. /cat &amp;quot;XYZ&amp;quot;)&lt;br /&gt;
 /bak    ... the backup file path (e.g. /bak &amp;quot;C:\SQL\BAK\XYZ01.bak&amp;quot;)&lt;br /&gt;
 /force  ... (optional) force existing databases and/or data/log files to be overwritten! (default: false)&lt;br /&gt;
 /ndpath ... (optional) the path of the new data file on the server (e.g. /ndpath &amp;quot;C:\SQL\DATA\XYZ02.mdf&amp;quot;)&lt;br /&gt;
 /nlpath ... (optional) the path of the new log file on the server (e.g. /nlpath &amp;quot;C:\SQL\DATA\XYZ02.ldf&amp;quot;)&lt;br /&gt;
 /odname ... (optional) the path of the original data file on the server (e.g. /odname &amp;quot;XYZ01.mdf&amp;quot;)&lt;br /&gt;
 /olname ... (optional) the path of the original log file on the server (e.g. /originallogfilename &amp;quot;XYZ01.mdf&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
DBTOOL restore /server myservername /user myusername /pwd mypassword /spi false /cat mynewcatalog /bak &amp;quot;C:\MSSQL\Backup\mybackup.bak&amp;quot;&lt;br /&gt;
&lt;br /&gt;
DBTOOL restore /server myservername /user myusername /pwd mypassword /spi false /cat mynewcatalog /bak &amp;quot;C:\MSSQL\Backup\mybackup.bak&amp;quot; /force false /ndpath &amp;quot;C:\SQL\Data\mynewcatalog.mdf&amp;quot; /nlpath &amp;quot;C:\SQL\Data\mynaewcatalog.ldf&amp;quot; /odname myoriginalcatalog /olname myoriginalcatalog_log&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
DBTOOL UBIKSET (set a UBIK setting value)&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
 /server  ... the database server (e.g. /server &amp;quot;mysqlserver&amp;quot;)&lt;br /&gt;
 /user    ... (optional, default: sa) the database user (e.g. /user sa)&lt;br /&gt;
 /pwd     ... (optional, default: empty) the database user's password (e.g. /pwd ***), not required for SPI!&lt;br /&gt;
 /spi     ... (optional, default: false) integrated security 'true' = yes, 'false' = no.&lt;br /&gt;
 /cat     ... the catalog's name (e.g. /cat &amp;quot;XYZ&amp;quot;)&lt;br /&gt;
 /key     ... the system setting key (e.g. /key 0)&lt;br /&gt;
 /setting ... the system setting key (e.g. /setting 0)&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
DBTOOL UBIKSET /server myservername /user myusername /pwd mypassword /spi false /cat mynewcatalog /key 0 /setting &amp;quot;\\myserver\mydatapath&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
DBTOOL RUN (run a sql expression)&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
 /server ... the database server (e.g. /server &amp;quot;mysqlserver&amp;quot;)&lt;br /&gt;
 /user   ... (optional, default: sa) the database user (e.g. /user sa)&lt;br /&gt;
 /pwd    ... (optional, default: empty) the database user's password (e.g. /pwd ***), not required for SPI!&lt;br /&gt;
 /spi    ... (optional, default: false) integrated security 'true' = yes, 'false' = no.&lt;br /&gt;
 /cat    ... the catalog's name (e.g. /cat &amp;quot;XYZ&amp;quot;)&lt;br /&gt;
 /sql    ... the expression (e.g. /sql &amp;quot;SELECT * FROM mytable&amp;quot;)&lt;br /&gt;
 /sep    ... (optional, default &amp;quot;;&amp;quot;) the expression (e.g. /sep &amp;quot;\t&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
DBTOOL RUN /server myservername /user myusername /pwd mypassword /spi false /cat mynewcatalog /sql &amp;quot;SELECT * from mytable&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
&lt;br /&gt;
====RUN====&lt;br /&gt;
dbtool RUN /sql &amp;quot;SELECT * FROM dbo.UST_BASECLASS&amp;quot; /cat &amp;quot;UBIK.TEST&amp;quot; /server &amp;quot;sqlserver&amp;quot; /user &amp;quot;sa&amp;quot; /pwd ****** /verbose false&lt;br /&gt;
dbtool RUN /sql &amp;quot;update UST_SYSTEMSETTINGS set PR_VALUE='\\fileserver\UBIKData\UBIK.TEST.COPY' where PR_KEY=0&amp;quot; /cat &amp;quot;UBIK.TEST.COPY&amp;quot; /server &amp;quot;sqlserver&amp;quot; /user &amp;quot;myuser&amp;quot; /pwd &amp;quot;mypwd&amp;quot;&lt;br /&gt;
&lt;br /&gt;
====UBIKSET====&lt;br /&gt;
dbtool UBIKSET /cat &amp;quot;UBIK.TEST:COPY&amp;quot; /server sqlserver /user myuser /pwd mypwd /key 0 /setting &amp;quot;\\fileserver\UBIKData\UBIK.TEST.COPY&amp;quot;&lt;br /&gt;
&lt;br /&gt;
====RESTORE====&lt;br /&gt;
dbtool RESTORE /cat UBIK.MANUALTEST03 /server auglnz2sql /user myuser /pwd mypwd /bak &amp;quot;C:\MSSQL\Backup\UBIK.TEST.bak&amp;quot;&lt;br /&gt;
dbtool RESTORE /cat UBIK.MANUALTEST04 /server auglnz2sql /user sa /pwd mypwd /bak &amp;quot;C:\MSSQL\Backup\UBIK.TEST.bak&amp;quot; /force true /ndpath &amp;quot;C:\MSSQL\Data\UBIK.TEST.COPY.mdf&amp;quot; /nlpath &amp;quot;C:\MSSQL\Data\UBIK.TEST.COPY.ldf&amp;quot; /odname &amp;quot;UBIK.TEST&amp;quot; /olname &amp;quot;UBIK.TEST_log&amp;quot;&lt;/div&gt;</summary>
		<author><name>BMA</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=UBIK_DBTool&amp;diff=20760</id>
		<title>UBIK DBTool</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=UBIK_DBTool&amp;diff=20760"/>
				<updated>2018-03-27T09:08:20Z</updated>
		
		<summary type="html">&lt;p&gt;BMA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The command line applictaion DBTool can be used for managing UBIK.Databases (and partially also for any other database) on a Microsoft SQL Server:&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
DBTOOL &amp;lt;COMMAND&amp;gt; /&amp;lt;parameter&amp;gt; &amp;lt;value&amp;gt; etc.&lt;br /&gt;
&lt;br /&gt;
DBTOOL RESTORE (restore a database)&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
 /server ... the database server (e.g. /server &amp;quot;mysqlserver&amp;quot;)&lt;br /&gt;
 /user   ... (optional) the database user (e.g. /user sa, default: sa)&lt;br /&gt;
 /pwd    ... (optional) the database user's password (e.g. /pwd ***), not required for SPI!&lt;br /&gt;
 /spi    ... (optional) integrated security 'true' = yes, 'false' = no (default false).&lt;br /&gt;
 /cat    ... the new catalog's name (e.g. /cat &amp;quot;XYZ&amp;quot;)&lt;br /&gt;
 /bak    ... the backup file path (e.g. /bak &amp;quot;C:\SQL\BAK\XYZ01.bak&amp;quot;)&lt;br /&gt;
 /force  ... (optional) force existing databases and/or data/log files to be overwritten! (default: false)&lt;br /&gt;
 /ndpath ... (optional) the path of the new data file on the server (e.g. /ndpath &amp;quot;C:\SQL\DATA\XYZ02.mdf&amp;quot;)&lt;br /&gt;
 /nlpath ... (optional) the path of the new log file on the server (e.g. /nlpath &amp;quot;C:\SQL\DATA\XYZ02.ldf&amp;quot;)&lt;br /&gt;
 /odname ... (optional) the path of the original data file on the server (e.g. /odname &amp;quot;XYZ01.mdf&amp;quot;)&lt;br /&gt;
 /olname ... (optional) the path of the original log file on the server (e.g. /originallogfilename &amp;quot;XYZ01.mdf&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
DBTOOL restore /server myservername /user myusername /pwd mypassword /spi false /cat mynewcatalog /bak &amp;quot;C:\MSSQL\Backup\mybackup.bak&amp;quot;&lt;br /&gt;
&lt;br /&gt;
DBTOOL restore /server myservername /user myusername /pwd mypassword /spi false /cat mynewcatalog /bak &amp;quot;C:\MSSQL\Backup\mybackup.bak&amp;quot; /force false /ndpath &amp;quot;C:\SQL\Data\mynewcatalog.mdf&amp;quot; /nlpath &amp;quot;C:\SQL\Data\mynaewcatalog.ldf&amp;quot; /odname myoriginalcatalog /olname myoriginalcatalog_log&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
DBTOOL UBIKSET (set a UBIK setting value)&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
 /server  ... the database server (e.g. /server &amp;quot;mysqlserver&amp;quot;)&lt;br /&gt;
 /user    ... (optional, default: sa) the database user (e.g. /user sa)&lt;br /&gt;
 /pwd     ... (optional, default: empty) the database user's password (e.g. /pwd ***), not required for SPI!&lt;br /&gt;
 /spi     ... (optional, default: false) integrated security 'true' = yes, 'false' = no.&lt;br /&gt;
 /cat     ... the catalog's name (e.g. /cat &amp;quot;XYZ&amp;quot;)&lt;br /&gt;
 /key     ... the system setting key (e.g. /key 0)&lt;br /&gt;
 /setting ... the system setting key (e.g. /setting 0)&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
DBTOOL UBIKSET /server myservername /user myusername /pwd mypassword /spi false /cat mynewcatalog /key 0 /setting &amp;quot;\\myserver\mydatapath&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
DBTOOL RUN (run a sql expression)&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
 /server ... the database server (e.g. /server &amp;quot;mysqlserver&amp;quot;)&lt;br /&gt;
 /user   ... (optional, default: sa) the database user (e.g. /user sa)&lt;br /&gt;
 /pwd    ... (optional, default: empty) the database user's password (e.g. /pwd ***), not required for SPI!&lt;br /&gt;
 /spi    ... (optional, default: false) integrated security 'true' = yes, 'false' = no.&lt;br /&gt;
 /cat    ... the catalog's name (e.g. /cat &amp;quot;XYZ&amp;quot;)&lt;br /&gt;
 /sql    ... the expression (e.g. /sql &amp;quot;SELECT * FROM mytable&amp;quot;)&lt;br /&gt;
 /sep    ... (optional, default &amp;quot;;&amp;quot;) the expression (e.g. /sep &amp;quot;\t&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
DBTOOL RUN /server myservername /user myusername /pwd mypassword /spi false /cat mynewcatalog /sql &amp;quot;SELECT * from mytable&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
&lt;br /&gt;
====RUN====&lt;br /&gt;
dbtool RUN /sql &amp;quot;SELECT * FROM dbo.UST_BASECLASS&amp;quot; /cat &amp;quot;UBIK.TEST&amp;quot; /server &amp;quot;sqlserver&amp;quot; /user &amp;quot;sa&amp;quot; /pwd ****** /verbose false&lt;br /&gt;
dbtool RUN /sql &amp;quot;update UST_SYSTEMSETTINGS set PR_VALUE='\\fileserver\UBIKData\UBIK.TEST.COPY' where PR_KEY=0&amp;quot; /cat &amp;quot;UBIK.TEST.COPY&amp;quot; /server &amp;quot;sqlserver&amp;quot; /user &amp;quot;myuser&amp;quot; /pwd &amp;quot;mypwd&amp;quot;&lt;br /&gt;
&lt;br /&gt;
====UBIKSET====&lt;br /&gt;
dbtool UBIKSET /cat &amp;quot;UBIK.TEST:COPY&amp;quot; /server sqlserver /user myuser /pwd mypwd /key 0 /setting &amp;quot;\\fileserver\UBIKData\UBIK.TEST.COPY&amp;quot;&lt;br /&gt;
&lt;br /&gt;
====RESTORE====&lt;br /&gt;
dbtool RESTORE /cat UBIK.MANUALTEST03 /server auglnz2sql /user myuser /pwd mypwd /bak &amp;quot;C:\MSSQL\Backup\UBIK.TEST.bak&amp;quot;&lt;br /&gt;
dbtool RESTORE /cat UBIK.MANUALTEST04 /server auglnz2sql /user sa /pwd mypwd /bak &amp;quot;C:\MSSQL\Backup\UBIK.TEST.bak&amp;quot; /force true /ndpath &amp;quot;C:\MSSQL\Data\UBIK.TEST.COPY.mdf&amp;quot; /nlpath &amp;quot;C:\MSSQL\Data\UBIK.TEST.COPY.ldf&amp;quot; /odname &amp;quot;UBIK.TEST&amp;quot; /olname &amp;quot;UBIK.TEST_log&amp;quot;&lt;/div&gt;</summary>
		<author><name>BMA</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=UBIK_DBTool&amp;diff=20759</id>
		<title>UBIK DBTool</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=UBIK_DBTool&amp;diff=20759"/>
				<updated>2018-03-27T09:07:50Z</updated>
		
		<summary type="html">&lt;p&gt;BMA: /* Examples */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The command line applictaion DBTool can be used for managing UBIK.Databases (and partially also for any other database) on a Microsoft SQL Server:&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
DBTOOL &amp;lt;COMMAND&amp;gt; /&amp;lt;parameter&amp;gt; &amp;lt;value&amp;gt; etc.&lt;br /&gt;
&lt;br /&gt;
DBTOOL RESTORE (restore a database)&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
 /server ... the database server (e.g. /server &amp;quot;mysqlserver&amp;quot;)&lt;br /&gt;
 /user   ... (optional) the database user (e.g. /user sa, default: sa)&lt;br /&gt;
 /pwd    ... (optional) the database user's password (e.g. /pwd ***), not required for SPI!&lt;br /&gt;
 /spi    ... (optional) integrated security 'true' = yes, 'false' = no (default false).&lt;br /&gt;
 /cat    ... the new catalog's name (e.g. /cat &amp;quot;XYZ&amp;quot;)&lt;br /&gt;
 /bak    ... the backup file path (e.g. /bak &amp;quot;C:\SQL\BAK\XYZ01.bak&amp;quot;)&lt;br /&gt;
 /force  ... (optional) force existing databases and/or data/log files to be overwritten! (default: false)&lt;br /&gt;
 /ndpath ... (optional) the path of the new data file on the server (e.g. /ndpath &amp;quot;C:\SQL\DATA\XYZ02.mdf&amp;quot;)&lt;br /&gt;
 /nlpath ... (optional) the path of the new log file on the server (e.g. /nlpath &amp;quot;C:\SQL\DATA\XYZ02.ldf&amp;quot;)&lt;br /&gt;
 /odname ... (optional) the path of the original data file on the server (e.g. /odname &amp;quot;XYZ01.mdf&amp;quot;)&lt;br /&gt;
 /olname ... (optional) the path of the original log file on the server (e.g. /originallogfilename &amp;quot;XYZ01.mdf&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
DBTOOL restore /server myservername /user myusername /pwd mypassword /spi false /cat mynewcatalog /bak &amp;quot;C:\MSSQL\Backup\mybackup.bak&amp;quot;&lt;br /&gt;
&lt;br /&gt;
DBTOOL restore /server myservername /user myusername /pwd mypassword /spi false /cat mynewcatalog /bak &amp;quot;C:\MSSQL\Backup\mybackup.bak&amp;quot; /force false /ndpath &amp;quot;C:\SQL\Data\mynewcatalog.mdf&amp;quot; /nlpath &amp;quot;C:\SQL\Data\mynaewcatalog.ldf&amp;quot; /odname myoriginalcatalog /olname myoriginalcatalog_log&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
DBTOOL UBIKSET (set a UBIK setting value)&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
 /server  ... the database server (e.g. /server &amp;quot;mysqlserver&amp;quot;)&lt;br /&gt;
 /user    ... (optional, default: sa) the database user (e.g. /user sa)&lt;br /&gt;
 /pwd     ... (optional, default: empty) the database user's password (e.g. /pwd ***), not required for SPI!&lt;br /&gt;
 /spi     ... (optional, default: false) integrated security 'true' = yes, 'false' = no.&lt;br /&gt;
 /cat     ... the catalog's name (e.g. /cat &amp;quot;XYZ&amp;quot;)&lt;br /&gt;
 /key     ... the system setting key (e.g. /key 0)&lt;br /&gt;
 /setting ... the system setting key (e.g. /setting 0)&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
DBTOOL UBIKSET /server myservername /user myusername /pwd mypassword /spi false /cat mynewcatalog /key 0 /setting &amp;quot;\\myserver\mydatapath&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
DBTOOL RUN (run a sql expression)&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
 /server ... the database server (e.g. /server &amp;quot;mysqlserver&amp;quot;)&lt;br /&gt;
 /user   ... (optional, default: sa) the database user (e.g. /user sa)&lt;br /&gt;
 /pwd    ... (optional, default: empty) the database user's password (e.g. /pwd ***), not required for SPI!&lt;br /&gt;
 /spi    ... (optional, default: false) integrated security 'true' = yes, 'false' = no.&lt;br /&gt;
 /cat    ... the catalog's name (e.g. /cat &amp;quot;XYZ&amp;quot;)&lt;br /&gt;
 /sql    ... the expression (e.g. /sql &amp;quot;SELECT * FROM mytable&amp;quot;)&lt;br /&gt;
 /sep    ... (optional, default &amp;quot;;&amp;quot;) the expression (e.g. /sep &amp;quot;\t&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
DBTOOL RUN /server myservername /user myusername /pwd mypassword /spi false /cat mynewcatalog /sql &amp;quot;SELECT * from mytable&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
&lt;br /&gt;
==RUN==&lt;br /&gt;
dbtool RUN /sql &amp;quot;SELECT * FROM dbo.UST_BASECLASS&amp;quot; /cat &amp;quot;UBIK.TEST&amp;quot; /server &amp;quot;sqlserver&amp;quot; /user &amp;quot;sa&amp;quot; /pwd ****** /verbose false&lt;br /&gt;
dbtool RUN /sql &amp;quot;update UST_SYSTEMSETTINGS set PR_VALUE='\\fileserver\UBIKData\UBIK.TEST.COPY' where PR_KEY=0&amp;quot; /cat &amp;quot;UBIK.TEST.COPY&amp;quot; /server &amp;quot;sqlserver&amp;quot; /user &amp;quot;myuser&amp;quot; /pwd &amp;quot;mypwd&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==UBIKSET==&lt;br /&gt;
dbtool UBIKSET /cat &amp;quot;UBIK.TEST:COPY&amp;quot; /server sqlserver /user myuser /pwd mypwd /key 0 /setting &amp;quot;\\fileserver\UBIKData\UBIK.TEST.COPY&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==RESTORE==&lt;br /&gt;
dbtool RESTORE /cat UBIK.MANUALTEST03 /server auglnz2sql /user myuser /pwd mypwd /bak &amp;quot;C:\MSSQL\Backup\UBIK.TEST.bak&amp;quot;&lt;br /&gt;
dbtool RESTORE /cat UBIK.MANUALTEST04 /server auglnz2sql /user sa /pwd mypwd /bak &amp;quot;C:\MSSQL\Backup\UBIK.TEST.bak&amp;quot; /force true /ndpath &amp;quot;C:\MSSQL\Data\UBIK.TEST.COPY.mdf&amp;quot; /nlpath &amp;quot;C:\MSSQL\Data\UBIK.TEST.COPY.ldf&amp;quot; /odname &amp;quot;UBIK.TEST&amp;quot; /olname &amp;quot;UBIK.TEST_log&amp;quot;&lt;/div&gt;</summary>
		<author><name>BMA</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=UBIK_DBTool&amp;diff=20758</id>
		<title>UBIK DBTool</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=UBIK_DBTool&amp;diff=20758"/>
				<updated>2018-03-27T09:07:11Z</updated>
		
		<summary type="html">&lt;p&gt;BMA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The command line applictaion DBTool can be used for managing UBIK.Databases (and partially also for any other database) on a Microsoft SQL Server:&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
DBTOOL &amp;lt;COMMAND&amp;gt; /&amp;lt;parameter&amp;gt; &amp;lt;value&amp;gt; etc.&lt;br /&gt;
&lt;br /&gt;
DBTOOL RESTORE (restore a database)&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
 /server ... the database server (e.g. /server &amp;quot;mysqlserver&amp;quot;)&lt;br /&gt;
 /user   ... (optional) the database user (e.g. /user sa, default: sa)&lt;br /&gt;
 /pwd    ... (optional) the database user's password (e.g. /pwd ***), not required for SPI!&lt;br /&gt;
 /spi    ... (optional) integrated security 'true' = yes, 'false' = no (default false).&lt;br /&gt;
 /cat    ... the new catalog's name (e.g. /cat &amp;quot;XYZ&amp;quot;)&lt;br /&gt;
 /bak    ... the backup file path (e.g. /bak &amp;quot;C:\SQL\BAK\XYZ01.bak&amp;quot;)&lt;br /&gt;
 /force  ... (optional) force existing databases and/or data/log files to be overwritten! (default: false)&lt;br /&gt;
 /ndpath ... (optional) the path of the new data file on the server (e.g. /ndpath &amp;quot;C:\SQL\DATA\XYZ02.mdf&amp;quot;)&lt;br /&gt;
 /nlpath ... (optional) the path of the new log file on the server (e.g. /nlpath &amp;quot;C:\SQL\DATA\XYZ02.ldf&amp;quot;)&lt;br /&gt;
 /odname ... (optional) the path of the original data file on the server (e.g. /odname &amp;quot;XYZ01.mdf&amp;quot;)&lt;br /&gt;
 /olname ... (optional) the path of the original log file on the server (e.g. /originallogfilename &amp;quot;XYZ01.mdf&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
DBTOOL restore /server myservername /user myusername /pwd mypassword /spi false /cat mynewcatalog /bak &amp;quot;C:\MSSQL\Backup\mybackup.bak&amp;quot;&lt;br /&gt;
&lt;br /&gt;
DBTOOL restore /server myservername /user myusername /pwd mypassword /spi false /cat mynewcatalog /bak &amp;quot;C:\MSSQL\Backup\mybackup.bak&amp;quot; /force false /ndpath &amp;quot;C:\SQL\Data\mynewcatalog.mdf&amp;quot; /nlpath &amp;quot;C:\SQL\Data\mynaewcatalog.ldf&amp;quot; /odname myoriginalcatalog /olname myoriginalcatalog_log&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
DBTOOL UBIKSET (set a UBIK setting value)&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
 /server  ... the database server (e.g. /server &amp;quot;mysqlserver&amp;quot;)&lt;br /&gt;
 /user    ... (optional, default: sa) the database user (e.g. /user sa)&lt;br /&gt;
 /pwd     ... (optional, default: empty) the database user's password (e.g. /pwd ***), not required for SPI!&lt;br /&gt;
 /spi     ... (optional, default: false) integrated security 'true' = yes, 'false' = no.&lt;br /&gt;
 /cat     ... the catalog's name (e.g. /cat &amp;quot;XYZ&amp;quot;)&lt;br /&gt;
 /key     ... the system setting key (e.g. /key 0)&lt;br /&gt;
 /setting ... the system setting key (e.g. /setting 0)&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
DBTOOL UBIKSET /server myservername /user myusername /pwd mypassword /spi false /cat mynewcatalog /key 0 /setting &amp;quot;\\myserver\mydatapath&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
DBTOOL RUN (run a sql expression)&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
 /server ... the database server (e.g. /server &amp;quot;mysqlserver&amp;quot;)&lt;br /&gt;
 /user   ... (optional, default: sa) the database user (e.g. /user sa)&lt;br /&gt;
 /pwd    ... (optional, default: empty) the database user's password (e.g. /pwd ***), not required for SPI!&lt;br /&gt;
 /spi    ... (optional, default: false) integrated security 'true' = yes, 'false' = no.&lt;br /&gt;
 /cat    ... the catalog's name (e.g. /cat &amp;quot;XYZ&amp;quot;)&lt;br /&gt;
 /sql    ... the expression (e.g. /sql &amp;quot;SELECT * FROM mytable&amp;quot;)&lt;br /&gt;
 /sep    ... (optional, default &amp;quot;;&amp;quot;) the expression (e.g. /sep &amp;quot;\t&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
DBTOOL RUN /server myservername /user myusername /pwd mypassword /spi false /cat mynewcatalog /sql &amp;quot;SELECT * from mytable&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
&lt;br /&gt;
RUN&lt;br /&gt;
dbtool RUN /sql &amp;quot;SELECT * FROM dbo.UST_BASECLASS&amp;quot; /cat &amp;quot;UBIK.TEST&amp;quot; /server &amp;quot;sqlserver&amp;quot; /user &amp;quot;sa&amp;quot; /pwd ****** /verbose false&lt;br /&gt;
dbtool RUN /sql &amp;quot;update UST_SYSTEMSETTINGS set PR_VALUE='\\fileserver\UBIKData\UBIK.TEST.COPY' where PR_KEY=0&amp;quot; /cat &amp;quot;UBIK.TEST.COPY&amp;quot; /server &amp;quot;sqlserver&amp;quot; /user &amp;quot;myuser&amp;quot; /pwd &amp;quot;mypwd&amp;quot;&lt;br /&gt;
&lt;br /&gt;
UBIKSET&lt;br /&gt;
dbtool UBIKSET /cat &amp;quot;UBIK.TEST:COPY&amp;quot; /server sqlserver /user myuser /pwd mypwd /key 0 /setting &amp;quot;\\fileserver\UBIKData\UBIK.TEST.COPY&amp;quot;&lt;br /&gt;
&lt;br /&gt;
RESTORE&lt;br /&gt;
dbtool RESTORE /cat UBIK.MANUALTEST03 /server auglnz2sql /user myuser /pwd mypwd /bak &amp;quot;C:\MSSQL\Backup\UBIK.TEST.bak&amp;quot;&lt;br /&gt;
dbtool RESTORE /cat UBIK.MANUALTEST04 /server auglnz2sql /user sa /pwd mypwd /bak &amp;quot;C:\MSSQL\Backup\UBIK.TEST.bak&amp;quot; /force true /ndpath &amp;quot;C:\MSSQL\Data\UBIK.TEST.COPY.mdf&amp;quot; /nlpath &amp;quot;C:\MSSQL\Data\UBIK.TEST.COPY.ldf&amp;quot; /odname &amp;quot;UBIK.TEST&amp;quot; /olname &amp;quot;UBIK.TEST_log&amp;quot;&lt;/div&gt;</summary>
		<author><name>BMA</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=UBIK_DBTool&amp;diff=20757</id>
		<title>UBIK DBTool</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=UBIK_DBTool&amp;diff=20757"/>
				<updated>2018-03-27T09:02:33Z</updated>
		
		<summary type="html">&lt;p&gt;BMA: Created page with &amp;quot;The command line applictaion DBTool can be used for managing UBIK.Databases (and partially also for any other database) on a Microsoft SQL Server:  Usage: DBTOOL &amp;lt;COMMAND&amp;gt; /&amp;lt;p...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The command line applictaion DBTool can be used for managing UBIK.Databases (and partially also for any other database) on a Microsoft SQL Server:&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
DBTOOL &amp;lt;COMMAND&amp;gt; /&amp;lt;parameter&amp;gt; &amp;lt;value&amp;gt; etc.&lt;br /&gt;
&lt;br /&gt;
DBTOOL RESTORE (restore a database)&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
 /server ... the database server (e.g. /server &amp;quot;mysqlserver&amp;quot;)&lt;br /&gt;
 /user   ... (optional) the database user (e.g. /user sa, default: sa)&lt;br /&gt;
 /pwd    ... (optional) the database user's password (e.g. /pwd ***), not required for SPI!&lt;br /&gt;
 /spi    ... (optional) integrated security 'true' = yes, 'false' = no (default false).&lt;br /&gt;
 /cat    ... the new catalog's name (e.g. /cat &amp;quot;XYZ&amp;quot;)&lt;br /&gt;
 /bak    ... the backup file path (e.g. /bak &amp;quot;C:\SQL\BAK\XYZ01.bak&amp;quot;)&lt;br /&gt;
 /force  ... (optional) force existing databases and/or data/log files to be overwritten! (default: false)&lt;br /&gt;
 /ndpath ... (optional) the path of the new data file on the server (e.g. /ndpath &amp;quot;C:\SQL\DATA\XYZ02.mdf&amp;quot;)&lt;br /&gt;
 /nlpath ... (optional) the path of the new log file on the server (e.g. /nlpath &amp;quot;C:\SQL\DATA\XYZ02.ldf&amp;quot;)&lt;br /&gt;
 /odname ... (optional) the path of the original data file on the server (e.g. /odname &amp;quot;XYZ01.mdf&amp;quot;)&lt;br /&gt;
 /olname ... (optional) the path of the original log file on the server (e.g. /originallogfilename &amp;quot;XYZ01.mdf&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
DBTOOL restore /server myservername /user myusername /pwd mypassword /spi false /cat mynewcatalog /bak &amp;quot;C:\MSSQL\Backup\mybackup.bak&amp;quot;&lt;br /&gt;
&lt;br /&gt;
DBTOOL restore /server myservername /user myusername /pwd mypassword /spi false /cat mynewcatalog /bak &amp;quot;C:\MSSQL\Backup\mybackup.bak&amp;quot; /force false /ndpath &amp;quot;C:\SQL\Data\mynewcatalog.mdf&amp;quot; /nlpath &amp;quot;C:\SQL\Data\mynaewcatalog.ldf&amp;quot; /odname myoriginalcatalog /olname myoriginalcatalog_log&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
DBTOOL UBIKSET (set a UBIK setting value)&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
 /server  ... the database server (e.g. /server &amp;quot;mysqlserver&amp;quot;)&lt;br /&gt;
 /user    ... (optional, default: sa) the database user (e.g. /user sa)&lt;br /&gt;
 /pwd     ... (optional, default: empty) the database user's password (e.g. /pwd ***), not required for SPI!&lt;br /&gt;
 /spi     ... (optional, default: false) integrated security 'true' = yes, 'false' = no.&lt;br /&gt;
 /cat     ... the catalog's name (e.g. /cat &amp;quot;XYZ&amp;quot;)&lt;br /&gt;
 /key     ... the system setting key (e.g. /key 0)&lt;br /&gt;
 /setting ... the system setting key (e.g. /setting 0)&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
DBTOOL UBIKSET /server myservername /user myusername /pwd mypassword /spi false /cat mynewcatalog /key 0 /setting &amp;quot;\\myserver\mydatapath&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
DBTOOL RUN (run a sql expression)&lt;br /&gt;
&lt;br /&gt;
Parameters&lt;br /&gt;
 /server ... the database server (e.g. /server &amp;quot;mysqlserver&amp;quot;)&lt;br /&gt;
 /user   ... (optional, default: sa) the database user (e.g. /user sa)&lt;br /&gt;
 /pwd    ... (optional, default: empty) the database user's password (e.g. /pwd ***), not required for SPI!&lt;br /&gt;
 /spi    ... (optional, default: false) integrated security 'true' = yes, 'false' = no.&lt;br /&gt;
 /cat    ... the catalog's name (e.g. /cat &amp;quot;XYZ&amp;quot;)&lt;br /&gt;
 /sql    ... the expression (e.g. /sql &amp;quot;SELECT * FROM mytable&amp;quot;)&lt;br /&gt;
 /sep    ... (optional, default &amp;quot;;&amp;quot;) the expression (e.g. /sep &amp;quot;\t&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
DBTOOL RUN /server myservername /user myusername /pwd mypassword /spi false /cat mynewcatalog /sql &amp;quot;SELECT * from mytable&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==================&lt;br /&gt;
AUGMENSYS-EXAMPLES&lt;br /&gt;
==================&lt;br /&gt;
&lt;br /&gt;
//RUN&lt;br /&gt;
dbtool RUN /sql &amp;quot;SELECT * FROM dbo.UST_BASECLASS&amp;quot; /cat &amp;quot;UBIK.MANUALTEST02&amp;quot; /server &amp;quot;auglnz2sql&amp;quot; /user &amp;quot;sa&amp;quot; /pwd ****** /verbose false&lt;br /&gt;
dbtool RUN /sql &amp;quot;update UST_SYSTEMSETTINGS set PR_VALUE='\\auglnz0file\UBIKData\DBG\UBIK.MANUALTEST07' where PR_KEY=0&amp;quot; /cat &amp;quot;UBIK.MANUALTEST02&amp;quot; /server &amp;quot;auglnz2sql&amp;quot; /user &amp;quot;sa&amp;quot; /pwd ******&lt;br /&gt;
&lt;br /&gt;
//UBIKSET&lt;br /&gt;
dbtool UBIKSET /cat &amp;quot;UBIK.MANUALTEST02&amp;quot; /server auglnz2sql /user sa /pwd ******* /key 0 /setting &amp;quot;\\auglnz0file\UBIKData\DBG\UBIK.MANUALTEST08&amp;quot;&lt;br /&gt;
&lt;br /&gt;
//RESTORE&lt;br /&gt;
dbtool RESTORE /cat UBIK.MANUALTEST03 /server auglnz2sql /user sa /pwd ******* /bak &amp;quot;C:\MSSQL\Backup\DBG\AUG\UBIK.MANUALTEST\UBIK.MANUALTEST.bak&amp;quot;&lt;br /&gt;
dbtool RESTORE /cat UBIK.MANUALTEST04 /server auglnz2sql /user sa /pwd ******* /bak &amp;quot;C:\MSSQL\Backup\DBG\AUG\UBIK.MANUALTEST\UBIK.MANUALTEST.bak&amp;quot; /force true /ndpath &amp;quot;C:\MSSQL\Data\UBIK.MANUALTEST04.mdf&amp;quot; /nlpath &amp;quot;C:\MSSQL\Data\UBIK.MANUALTEST04.ldf&amp;quot; /odname &amp;quot;UBIK.Simulation&amp;quot; /olname &amp;quot;UBIK.Simulation_log&amp;quot;&lt;/div&gt;</summary>
		<author><name>BMA</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=XAML&amp;diff=20689</id>
		<title>XAML</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=XAML&amp;diff=20689"/>
				<updated>2018-01-31T13:51:25Z</updated>
		
		<summary type="html">&lt;p&gt;BMA: /* Basic */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The WinX User Interface can be vastly customized using XAML.&lt;br /&gt;
&lt;br /&gt;
== Templates ==&lt;br /&gt;
The UI is controlled by several predefined XAML templates which are loaded into the App at startup. There is a set of default template deployed with the App at installation, however, each of them can be overridden by placing the respective file in the folder [AppInstallPath]\''LocalState\XAML''&lt;br /&gt;
For further information see ''[[ UBIK Templates]]''.&lt;br /&gt;
&lt;br /&gt;
=== General ===&lt;br /&gt;
* [[UBIKThemes.xaml]]&lt;br /&gt;
Controls the overall styling and behavior of the App, like standard Brushes (Colors) and Fonts.&lt;br /&gt;
&lt;br /&gt;
==== AuthenticationPage ====&lt;br /&gt;
[[File:AuthenticationPage.PNG|thumb|AuthenticationPage]]&lt;br /&gt;
* [[UBIKSplashArea.xaml]]&lt;br /&gt;
* UBIKPageNavigation.xaml -&amp;gt; Deprecated and changed to UBIKHomePageButtons.xaml {{Version/WinXSince|3.0.0}}&lt;br /&gt;
* UBIKProfileItem.xaml&lt;br /&gt;
{{clear}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Content Pages ===&lt;br /&gt;
* UBIKObjectIcon.xaml&lt;br /&gt;
* UBIKObjectIconSmall.xaml&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== RootPage ====&lt;br /&gt;
[[File:MainPage.PNG|thumb|RootPage]]&lt;br /&gt;
* UBIKMainLeftArea.xaml&lt;br /&gt;
* UBIKMainItem.xaml&lt;br /&gt;
* UBIKMainItemSmall.xaml&lt;br /&gt;
{{clear}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== ChildPage ====&lt;br /&gt;
[[File:ChildPageNew.PNG|thumb|ChildPage]]&lt;br /&gt;
* UBIKChildItem.xaml&lt;br /&gt;
* UBIKChildItemSmall.xaml&lt;br /&gt;
* UBIKChildArea.xaml&lt;br /&gt;
* UBIKChildAreaSmall.xaml&lt;br /&gt;
* UBIKChildAction.xaml&lt;br /&gt;
* UBIKPriorityPropertyItem.xaml&lt;br /&gt;
{{clear}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== DetailsPage ====&lt;br /&gt;
* UBIKDocumentItem.xaml&lt;br /&gt;
* UBIKDocumentItemSmall.xaml&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Specific {{UBIK}} Elements ==&lt;br /&gt;
&lt;br /&gt;
== Converters ==&lt;br /&gt;
=== Basic ===&lt;br /&gt;
* AddStringSuffixConverter&lt;br /&gt;
Appends a suffix expression to an existing (string) value. The suffix expression to be appended is provided via the converter parameter.&lt;br /&gt;
* BooleanToVisibilityConverter&lt;br /&gt;
Converts a Boolean into a Visibility, where ''true'' will result in ''Visibility.Visible''.&lt;br /&gt;
* BooleanToCollapsedConverter&lt;br /&gt;
Converts a Boolean into a Visibility, where ''true'' will result in ''Visibility.Collapsed''.&lt;br /&gt;
* BooleanInvertConverter&lt;br /&gt;
Converts boolean input into the inverted bool value.&lt;br /&gt;
* BooleanToScrollbarVisibilityConverter&lt;br /&gt;
Converts a boolean Value to ScrollbarVisibility&lt;br /&gt;
* BooleanToVisibilityConverter/BooleanToCollapsedConverter&lt;br /&gt;
Converts a boolean Value to Visibility&lt;br /&gt;
* ByteToImageSourceValueConverter&lt;br /&gt;
Converts a byte array to an ImageSource&lt;br /&gt;
* ChildItemTemplateSelectorSuffixConverter&lt;br /&gt;
* ClassificationToVisibilityConverter/ClassificationToCollapsedConverter&lt;br /&gt;
Converts the presence of a classification to visibility. One or more classification UIDs have to be provided separated by '|'.&lt;br /&gt;
* ContainsToVisibilityConverter/ContainsToCollapsedConverter&lt;br /&gt;
Converts the presence of one or more item(s) in a collection (e.g. int array) to visibility. Parameter with one or more items has to be provided separated with '|'.&lt;br /&gt;
* DistanceToStringConverter&lt;br /&gt;
A distance in meters provided as double will be converted into a comfortable redable distance (e.g. &amp;quot;0.5 m&amp;quot;, &amp;quot;1.7 km&amp;quot;)&lt;br /&gt;
* DoubleToLocalizedStringConverter&lt;br /&gt;
A double value will be converted to the current localisation&lt;br /&gt;
* EditablePropertyToVisibilityConverter/EditablePropertyToCollapseConverter&lt;br /&gt;
* EnumerableGetToValueConverter&lt;br /&gt;
* EqualToTrueConverter&lt;br /&gt;
* EqualToVisibilityConverter/EqualToCollapsedConverter&lt;br /&gt;
Converts equality to visibility. A parameter with a compare value hast to be provided.&lt;br /&gt;
* IntToSolidBrushConverter&lt;br /&gt;
Converts the 4 bytes (ARGB) of an integer value to a Brush&lt;br /&gt;
* ItemCountToVisibilityConverter/ItemCountToCollapseConverter&lt;br /&gt;
Converts presence of items in a collection to visibility.&lt;br /&gt;
* NullableIntToStringConverter&lt;br /&gt;
Converts a nullable int to a string. {null} will be an empty string&lt;br /&gt;
* NullObjectToBooleanConverter&lt;br /&gt;
Converts an object to boolean depending from being null or not.&lt;br /&gt;
* NullObjectToVisibilityConverter/NullObjectToCollapsedConverter&lt;br /&gt;
Converts an object to visibility depending from being null or not.&lt;br /&gt;
* NullOrEmptyStringToVisibilityConverter/NullOrEmptyStringToVisibilityConverter&lt;br /&gt;
Converts a string to visibility depending from being null/empty or not.&lt;br /&gt;
* NumericToGridLengthConverter&lt;br /&gt;
Converts an integer to grid length.&lt;br /&gt;
* NumericToVisibilityConverter/NumericToCollapsedConverter&lt;br /&gt;
Converts a number to visibility, deppending from being '0'.&lt;br /&gt;
* PropertyItemToValueConverter&lt;br /&gt;
* PropertyNameExistsToVisibility&lt;br /&gt;
* PropertyNameToItemConverter&lt;br /&gt;
* PropertyNameToSymbolConverter&lt;br /&gt;
* PropertyNameToValueConverter&lt;br /&gt;
* PushpinScaleConverter&lt;br /&gt;
* SelectiveListToItemsConverter&lt;br /&gt;
* SortDirectionToSymbolConverter&lt;br /&gt;
* ToStringFormatConverter&lt;br /&gt;
Converts an object ot a formatted string. A format string has to be provided as Parameter (e.g. &amp;quot;#.0&amp;quot;). A special behavior is provided by the format string &amp;quot;0.&amp;quot;: in this case the numeric value will be truncated at the separator instead of being rounded!&lt;br /&gt;
* TypeToVisibilityConverter&lt;br /&gt;
Converts the presence of a type to visbility (e.g. whether an object is &amp;quot;String&amp;quot;)&lt;br /&gt;
* ValueValidityToVisibilityConverter&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Advanced ===&lt;br /&gt;
* [[StringFormatConverter]]&lt;br /&gt;
Returns a formatted string where placeholders will be filled with values supplied to its parameter properties (''Param0, Param1, Param2'').&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;source lang = &amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;StackPanel Orientation=&amp;quot;Horizontal&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;StackPanel.Resources&amp;gt;&lt;br /&gt;
            &amp;lt;!--  Instantiate the converter and bind the the Param0 to a SearchBox on this page  --&amp;gt;&lt;br /&gt;
            &amp;lt;converters:StringFormatConverter x:Key=&amp;quot;URIConverter&amp;quot; Param0=&amp;quot;{Binding ElementName=SkypeQuery, Path=QueryText}&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/StackPanel.Resources&amp;gt;&lt;br /&gt;
        &amp;lt;!--  Create a SearchBox that calls the typed Name via Skype on enter  --&amp;gt;&lt;br /&gt;
        &amp;lt;SearchBox&lt;br /&gt;
            x:Name=&amp;quot;SkypeQuery&amp;quot;&lt;br /&gt;
            Width=&amp;quot;240&amp;quot; Height=&amp;quot;40&amp;quot;&lt;br /&gt;
            FontSize=&amp;quot;18&amp;quot;&lt;br /&gt;
            PlaceholderText=&amp;quot;Call Skype&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;Interactivity:Interaction.Behaviors&amp;gt;&lt;br /&gt;
                &amp;lt;Core:EventTriggerBehavior EventName=&amp;quot;QuerySubmitted&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;Core:InvokeCommandAction&lt;br /&gt;
                          Command=&amp;quot;{Binding NavigateToURICommand}&amp;quot;&lt;br /&gt;
                          CommandParameter=&amp;quot;{Binding ElementName=SkypeQuery, Path=QueryText, Converter={StaticResource URIConverter},&lt;br /&gt;
                          ConverterParameter=skype\:\{0\}\?call }&amp;quot; /&amp;gt;&lt;br /&gt;
                &amp;lt;/Core:EventTriggerBehavior&amp;gt;&lt;br /&gt;
            &amp;lt;/Interactivity:Interaction.Behaviors&amp;gt;&lt;br /&gt;
        &amp;lt;/SearchBox&amp;gt;&lt;br /&gt;
    &amp;lt;/StackPanel&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* [[EvalExpressionConverter]]&lt;br /&gt;
Evaluates a C# expression with 3 optional variables (''Param0, Param1, Param2'') and returns the result.  The object fed into the converter can be referenced in the expression as ''Context''.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;source lang = &amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;Grid&amp;gt;&lt;br /&gt;
        &amp;lt;Grid.Resources&amp;gt;&lt;br /&gt;
            &amp;lt;!--  Instantiate the converter and bind the Context to the current DataContext, the Param0 to a UI element of this page  --&amp;gt;&lt;br /&gt;
            &amp;lt;converters:EvalExpressionConverter x:Key=&amp;quot;CodeConverter&amp;quot; Context=&amp;quot;{Binding}&amp;quot; Param0=&amp;quot;{Binding ElementName=ChildListView, Path=Name}&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/Grid.Resources&amp;gt;&lt;br /&gt;
        &amp;lt;StackPanel Orientation=&amp;quot;Horizontal&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;!--  Create a TextBox where we can enter a C# expression  --&amp;gt;&lt;br /&gt;
            &amp;lt;TextBox&lt;br /&gt;
                x:Name=&amp;quot;CodeQuery&amp;quot;&lt;br /&gt;
                MinWidth=&amp;quot;240&amp;quot; Height=&amp;quot;40&amp;quot;&lt;br /&gt;
                FontSize=&amp;quot;18&amp;quot;&lt;br /&gt;
                PlaceholderText=&amp;quot;Expression&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;/TextBox&amp;gt;&lt;br /&gt;
            &amp;lt;!--  Create a TextBlock where we display the result of the compiled expression --&amp;gt;&lt;br /&gt;
            &amp;lt;TextBlock Text=&amp;quot;{Binding ElementName=CodeQuery, Path=Text, Converter={StaticResource CodeConverter}}&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/StackPanel&amp;gt;&lt;br /&gt;
    &amp;lt;/Grid&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* [[CollectionToViewConverter]]&lt;br /&gt;
Converts a collection into a view that can be filtered using C# expressions and returns the (filtered) result. The object fed into the converter can be referenced in the expression as ''Item''.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;source lang = &amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;Grid&amp;gt;&lt;br /&gt;
        &amp;lt;Grid.Resources&amp;gt;&lt;br /&gt;
            &amp;lt;!--  Instantiate the converter and bind the Source to the collection we want to use on a UI element of this page  --&amp;gt;&lt;br /&gt;
            &amp;lt;converters:CollectionToViewConverter x:Key=&amp;quot;ColConv&amp;quot; Source=&amp;quot;{Binding Children.Items}&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;/Grid.Resources&amp;gt;&lt;br /&gt;
        &amp;lt;StackPanel Orientation=&amp;quot;Horizontal&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;!--  Create a TextBox where we can enter a C# expression  --&amp;gt;&lt;br /&gt;
            &amp;lt;TextBox&lt;br /&gt;
                 x:Name=&amp;quot;FilterQuery&amp;quot;&lt;br /&gt;
                 Height=&amp;quot;40&amp;quot; MinWidth=&amp;quot;240&amp;quot;&lt;br /&gt;
                 Margin=&amp;quot;0,10,10,0&amp;quot; HorizontalAlignment=&amp;quot;Right&amp;quot;&lt;br /&gt;
                 VerticalAlignment=&amp;quot;Top&amp;quot;&lt;br /&gt;
                 FontSize=&amp;quot;18&amp;quot;&lt;br /&gt;
                 PlaceholderText=&amp;quot;Filter&amp;quot; /&amp;gt;&lt;br /&gt;
                 &amp;lt;!--  Create a ListView and bind its ItemsSource to the expression pulled through the converter  --&amp;gt;&lt;br /&gt;
                 &amp;lt;ListView&lt;br /&gt;
                      x:Name=&amp;quot;ChildListView&amp;quot;&lt;br /&gt;
                      HorizontalContentAlignment=&amp;quot;Stretch&amp;quot;&lt;br /&gt;
                      ItemsSource=&amp;quot;{Binding ElementName=FilterQuery, Path=Text, Converter={StaticResource ColConv}}&amp;quot;&amp;gt;&lt;br /&gt;
                 &amp;lt;/ListView&amp;gt;&lt;br /&gt;
        &amp;lt;/StackPanel&amp;gt;&lt;br /&gt;
    &amp;lt;/Grid&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* [[ChildItemTemplateSelectorSuffixConverter]]&lt;br /&gt;
Converts a template selector to use templates with a certain suffix (e.g. &amp;quot;_Grid&amp;quot; to use &amp;quot;UBIKChildItem_Grid.xaml&amp;quot; instead of &amp;quot;UBIKChildItem.xaml&amp;quot;). The small template file name will be combined as &amp;lt;TemplateName&amp;gt;&amp;lt;Suffix&amp;gt;Small.xaml (e.g. &amp;quot;UBIKChildItem_GridSmall.xaml&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;source lang = &amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;Grid&amp;gt;&lt;br /&gt;
        &amp;lt;Grid.Resources&amp;gt;&lt;br /&gt;
            &amp;lt;!--  Instantiate the template selectors and bind them to the instance of the coverter  --&amp;gt;&lt;br /&gt;
            &amp;lt;tpl:ChildItemTemplateSelector x:Key=&amp;quot;ChildItemTemplateSelector&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;tpl:ChildItemTemplateSmallSelector x:Key=&amp;quot;ChildItemTemplateSmallSelector&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;converters:ChildItemTemplateSelectorSuffixConverter x:Key=&amp;quot;ChildItemTemplateSelectorSuffixConv&amp;quot; TemplateSelector=&amp;quot;{Binding Source={StaticResource ChildItemTemplateSelector}}&amp;quot; TemplateSmallSelector=&amp;quot;{Binding Source={StaticResource ChildItemTemplateSmallSelector}}&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;/Grid.Resources&amp;gt;&lt;br /&gt;
        &amp;lt;!-- The itemselector template binds to the suffix that should be used (in this case a binding to a stored profile parameter is used to switch the item template suffix between &amp;quot;_Grid&amp;quot; and &amp;quot;_List&amp;quot; --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;StackPanel&amp;gt;&lt;br /&gt;
            &amp;lt;CheckBox Grid.Column=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;Interactivity:Interaction.Behaviors&amp;gt;&lt;br /&gt;
                    &amp;lt;Core:EventTriggerBehavior EventName=&amp;quot;Checked&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;!-- Store the Profile Variable &amp;quot;ChildItemsViewMode&amp;quot; to Grid or List - depending on the check state of the check box --&amp;gt;&lt;br /&gt;
                        &amp;lt;Core:InvokeCommandAction Command=&amp;quot;{Binding StoreProfileParameterCommand}&amp;quot; CommandParameter=&amp;quot;ChildItemsViewMode=_Grid&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/Core:EventTriggerBehavior&amp;gt;&lt;br /&gt;
                    &amp;lt;Core:EventTriggerBehavior EventName=&amp;quot;Unchecked&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;Core:InvokeCommandAction Command=&amp;quot;{Binding StoreProfileParameterCommand}&amp;quot; CommandParameter=&amp;quot;ChildItemsViewMode=_List&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/Core:EventTriggerBehavior&amp;gt;&lt;br /&gt;
                &amp;lt;/Interactivity:Interaction.Behaviors&amp;gt;&lt;br /&gt;
            &amp;lt;/CheckBox&amp;gt;&lt;br /&gt;
            &amp;lt;ListView&lt;br /&gt;
                    x:Name=&amp;quot;ChildListView&amp;quot;&lt;br /&gt;
                    HorizontalContentAlignment=&amp;quot;Stretch&amp;quot;&lt;br /&gt;
                    ItemTemplateSelector=&amp;quot;{Binding Path=StoredProfileParameters[ChildItemsViewMode], Converter={StaticResource ChildItemTemplateSelectorSuffixConv}, ConverterParameter=Normal, FallbackValue=List}&amp;quot;&lt;br /&gt;
                    ItemsPanel=&amp;quot;{StaticResource ChildPageItemsPanelTemplate}&amp;quot;&lt;br /&gt;
                    ItemsSource=&amp;quot;{Binding Children.Items}&amp;quot;&lt;br /&gt;
                    ScrollViewer.VerticalScrollBarVisibility=&amp;quot;Auto&amp;quot; SelectionMode=&amp;quot;None&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;ListView.ItemContainerStyle&amp;gt;&lt;br /&gt;
                    &amp;lt;Style TargetType=&amp;quot;ListViewItem&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;Setter Property=&amp;quot;HorizontalContentAlignment&amp;quot; Value=&amp;quot;Stretch&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;Setter Property=&amp;quot;Padding&amp;quot; Value=&amp;quot;0&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;Setter Property=&amp;quot;Margin&amp;quot; Value=&amp;quot;0,0,16,0&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;/Style&amp;gt;&lt;br /&gt;
                &amp;lt;/ListView.ItemContainerStyle&amp;gt;&lt;br /&gt;
                &amp;lt;ListView.ItemContainerTransitions&amp;gt;&lt;br /&gt;
                    &amp;lt;TransitionCollection&amp;gt;&lt;br /&gt;
                        &amp;lt;EntranceThemeTransition FromHorizontalOffset=&amp;quot;400&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;/TransitionCollection&amp;gt;&lt;br /&gt;
                &amp;lt;/ListView.ItemContainerTransitions&amp;gt;&lt;br /&gt;
            &amp;lt;/ListView&amp;gt;&lt;br /&gt;
        &amp;lt;/StackPanel&amp;gt;&lt;br /&gt;
    &amp;lt;/Grid&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Behaviors ==&lt;br /&gt;
&lt;br /&gt;
== Properties ==&lt;br /&gt;
* ViewModel&lt;br /&gt;
** CurrentDateTime: the current date and time&lt;br /&gt;
** UserName: the current user name&lt;br /&gt;
** Self: the viewmodel itself&lt;br /&gt;
** AppStatus: the appplication status view model&lt;br /&gt;
&lt;br /&gt;
* Content&lt;br /&gt;
** PropertyItems: Collection of all the content's PropertyItems, each accessible via a string indexer specifying the property ID.&lt;br /&gt;
** IsLocked: true, if the content islocked - false, if not&lt;br /&gt;
** IsReadOnly: true, if the content can be read only - false, if it is writeable&lt;br /&gt;
** ValueSeries: the value series, if available&lt;br /&gt;
** MROViewModel: if the content is an MRO related content, this is the sub view model for MRO&lt;br /&gt;
** GeoDataViewModel: if the content represents a geo object, this is the geo sub view model&lt;br /&gt;
** MetaDefinition: the meta definition of the content object&lt;br /&gt;
** Possible Children: collection if meta defintions the user can create new child content with&lt;br /&gt;
** ClassificationHandler: a classification handling object&lt;br /&gt;
** Content: the actual content object embedded in the viewmodel&lt;br /&gt;
** Icon: the content icon as a byte array&lt;br /&gt;
** HasIcon: true, if content object has an icon - false, if not&lt;br /&gt;
** Title: the content objects title&lt;br /&gt;
** SubTitle: the content objects sub title&lt;br /&gt;
** OrderId: the order id of the content&lt;br /&gt;
** GroupId: the group id of the content&lt;br /&gt;
** DownloadEnabled: true, if download is enabled - false, if not&lt;br /&gt;
** IsNewObject: true, if the object is created and not yet saved by the user - false, if not&lt;br /&gt;
** ToCommit: true, if the object is yet to be committed by pressing save - false, if not&lt;br /&gt;
** OfflineDate: date of the last offline download&lt;br /&gt;
** ToSave: true, if the object is yet to be saved by pressing save - false, if not&lt;br /&gt;
** ToEvaluateQuery: true, if a new query can be evaluated by pressing the sending the query&lt;br /&gt;
** ActionOverlayExpanded: true, if the action overlay is expanded - false, if not&lt;br /&gt;
** DeletionAllowed: true, if deletion of the object is allowed - false, if not&lt;br /&gt;
** RevertLocalChangesAllowed: true, if reverting the object is allowed - false, if not&lt;br /&gt;
** IsPictureChildCreationAllowed: true, if the creation of a picture child is allowed - false, if not&lt;br /&gt;
** PropertyItems: Collection of all the Content's Properties (all properties loaded when binding is triggered) - accessible via the property ID&lt;br /&gt;
&lt;br /&gt;
* GeographyList&lt;br /&gt;
** ItemsSortedByZLevel: true, if the current items are sorted by z level - false, if not&lt;br /&gt;
&lt;br /&gt;
* PolygonItem&lt;br /&gt;
** FillColor: the fill color of the polygon&lt;br /&gt;
** FillTransparency: the transparency if the polygon filling&lt;br /&gt;
&lt;br /&gt;
* MRO&lt;br /&gt;
** ProjectData&lt;br /&gt;
** ParentViewModel&lt;br /&gt;
** Progress&lt;br /&gt;
** Weight&lt;br /&gt;
** TechStatus&lt;br /&gt;
&lt;br /&gt;
* TaskOwner&lt;br /&gt;
** OrgaStatus&lt;br /&gt;
** IsConfirmed&lt;br /&gt;
&lt;br /&gt;
* Task&lt;br /&gt;
** IsBooleanTask&lt;br /&gt;
** IsInspectionTask&lt;br /&gt;
** IsProgressReportingTask&lt;br /&gt;
** IsMeasurementTask&lt;br /&gt;
** Value&lt;br /&gt;
** PropertyItem&lt;br /&gt;
** DisplayValue&lt;br /&gt;
** PreviousValue&lt;br /&gt;
** Unit&lt;br /&gt;
** NotAppliccable&lt;br /&gt;
** IsTaskFinished&lt;br /&gt;
** IsValueMIssing&lt;br /&gt;
&lt;br /&gt;
* WorkPackage&lt;br /&gt;
** WPOrgaStatus&lt;br /&gt;
** CanConfirm&lt;br /&gt;
&lt;br /&gt;
* AlternativeNonDocumentChildrenList&lt;br /&gt;
&lt;br /&gt;
* AppStatus&lt;br /&gt;
** Initializing&lt;br /&gt;
** UserAuthenticated&lt;br /&gt;
&lt;br /&gt;
* Authentication&lt;br /&gt;
** LandscapeImage&lt;br /&gt;
** PortraitImage&lt;br /&gt;
** LoginState&lt;br /&gt;
** LoginType&lt;br /&gt;
** IsLoggedIn&lt;br /&gt;
** ShowLoginButton&lt;br /&gt;
** EnableLoginButton&lt;br /&gt;
** ShowTeamLoginButton&lt;br /&gt;
** EnableTeamLoginButton&lt;br /&gt;
** ShowLogoutButton&lt;br /&gt;
** EnableLogoutButton&lt;br /&gt;
** ShowTeamLogoutButton&lt;br /&gt;
** EnableTeamLogoutButton&lt;br /&gt;
** StatusText&lt;br /&gt;
** SplashImage&lt;br /&gt;
** AppVersion&lt;br /&gt;
** SyncModes&lt;br /&gt;
** ContentServiceConfigs&lt;br /&gt;
** KeyValues&lt;br /&gt;
** Profiles&lt;br /&gt;
&lt;br /&gt;
* BuildingItem&lt;br /&gt;
** IsValidGeo&lt;br /&gt;
&lt;br /&gt;
* BuildingLevelItem&lt;br /&gt;
** IsSelected&lt;br /&gt;
** LevelName&lt;br /&gt;
** LevelShortName&lt;br /&gt;
** Index&lt;br /&gt;
** Height&lt;br /&gt;
** IsValidGeo&lt;br /&gt;
&lt;br /&gt;
* BuildingLevelList&lt;br /&gt;
** LowestLevelItem&lt;br /&gt;
** ItemsSortedByLevelDescending&lt;br /&gt;
&lt;br /&gt;
* ChangedObject&lt;br /&gt;
** IsSelected&lt;br /&gt;
&lt;br /&gt;
* ChildAppBar&lt;br /&gt;
&lt;br /&gt;
* ChildrenList&lt;br /&gt;
** Content&lt;br /&gt;
** [[Property_Based_Content_Filters|Filters]]&lt;br /&gt;
** [[Property_Based_Content_Sorting|Sorting]]&lt;br /&gt;
&lt;br /&gt;
* ContentChangeAware&lt;br /&gt;
&lt;br /&gt;
* ContentDetailsPage&lt;br /&gt;
** DocumentScanMode&lt;br /&gt;
** LastScannedText&lt;br /&gt;
** LastScannedImage&lt;br /&gt;
&lt;br /&gt;
* ContentListItem&lt;br /&gt;
** CachedPreviewDetails&lt;br /&gt;
** PreviewDetails&lt;br /&gt;
** SubDocuments&lt;br /&gt;
* ContentList&lt;br /&gt;
* ContentPageViewModel&lt;br /&gt;
* ContentSelectorDialog&lt;br /&gt;
** IsOpen&lt;br /&gt;
** SelectionText&lt;br /&gt;
** SelectedContent&lt;br /&gt;
** IsOK&lt;br /&gt;
&lt;br /&gt;
* Dialog&lt;br /&gt;
* DocumentChildrenList&lt;br /&gt;
* DocumentListItem&lt;br /&gt;
* DocumentPage&lt;br /&gt;
* EditDialog&lt;br /&gt;
* GeoContentList&lt;br /&gt;
* GlobalAppBar&lt;br /&gt;
* GlobalStatusBar&lt;br /&gt;
* ListViewModel&lt;br /&gt;
* MapGeoContentList&lt;br /&gt;
* MapOverlayItem&lt;br /&gt;
* MapOverlayList&lt;br /&gt;
* MapViewModel&lt;br /&gt;
* NonDocumentChildrenList&lt;br /&gt;
* OverlayedPOIGroupItemItem&lt;br /&gt;
* ParentBaseViewModel&lt;br /&gt;
* POIBaseViewModel&lt;br /&gt;
* POIGroupItemItem&lt;br /&gt;
* POIGroupItem&lt;br /&gt;
* POIItemViewModel&lt;br /&gt;
* POI&lt;br /&gt;
* PreviewPage&lt;br /&gt;
* PropertyListItem&lt;br /&gt;
* PropertyList&lt;br /&gt;
* QueryDetailsPage&lt;br /&gt;
* RootContentList&lt;br /&gt;
* RootPage&lt;br /&gt;
* Scan&lt;br /&gt;
* SearchResultListItem&lt;br /&gt;
* SearchResultSelection&lt;br /&gt;
* Search&lt;br /&gt;
* TeamLogin&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Commands ==&lt;br /&gt;
&lt;br /&gt;
* ViewModel&lt;br /&gt;
** [[NavigateToURICommand]]: Navigate to an URI (e.g. open a web page or a file with a known file path)&lt;br /&gt;
** [[LaunchDocumentByReferenceCommand]]: Launch a file document in an external viewer by specifying the reference property ID or the document's UID (Version 2.6.37+)&lt;br /&gt;
** [[ShowMessageBoxCommand]]: show a message box with customizable text and title (Version 2.6.37+)&lt;br /&gt;
&lt;br /&gt;
* Content&lt;br /&gt;
** [[NavigateToDetailsCommand]]&lt;br /&gt;
** [[NavigateToChildrenCommand]]&lt;br /&gt;
** [[NavigateToDocumentCommand]]&lt;br /&gt;
** [[RevertLocalChangesCommand]]&lt;br /&gt;
** [[DiscardContentCommand]]&lt;br /&gt;
** [[DeleteContentCommand]]&lt;br /&gt;
** [[SaveAndCommitCommand]]&lt;br /&gt;
** [[SetPropertyValueCommand]]&lt;br /&gt;
** [[SetPropertyValueAndValidateCommand]]&lt;br /&gt;
** [[EvaluateQueryCommand]]&lt;br /&gt;
** [[CaptureMediaCommand]]&lt;br /&gt;
** [[ShareContentCommand]]&lt;br /&gt;
** [[ExpandActionOverlayCommand]]&lt;br /&gt;
** [[StartFileEditingCommand]]&lt;br /&gt;
** [[ViewPropertyValueCommand]]&lt;br /&gt;
** [[EditPropertyValueCommand]]&lt;br /&gt;
** [[CreateChildItemCommand]]&lt;br /&gt;
** [[ActivateReferenceByScanCommand]]&lt;br /&gt;
** [[ActivateReferenceCommand]]&lt;br /&gt;
** [[ContinueReferenceByScanCommand]]&lt;br /&gt;
** [[SetActiveReferenceCommand]]&lt;br /&gt;
** [[CancelReferenceCommand]]&lt;br /&gt;
** [[LaunchDocumentByReferenceCommand]]&lt;br /&gt;
&lt;br /&gt;
* GenericPropertyItem&lt;br /&gt;
** [[ShowValueRecordsCommand]]&lt;br /&gt;
&lt;br /&gt;
* ChildrenList&lt;br /&gt;
** [[SortByPropertyCommand]]&lt;br /&gt;
&lt;br /&gt;
* ContentListItem&lt;br /&gt;
** [[PreviewPropertiesCommand]]&lt;br /&gt;
** [[PreviewDocumentsCommand]]&lt;br /&gt;
** [[ShowSingleChildDocumentCommand]]&lt;br /&gt;
** [[ClearPreviewDocumentsCommand]]&lt;br /&gt;
&lt;br /&gt;
* ContentList&lt;br /&gt;
&lt;br /&gt;
* ContentPageViewModel&lt;br /&gt;
** [[BranchDownloadCommand]]&lt;br /&gt;
** [[DiscardCommand]]&lt;br /&gt;
** [[SetPropertyValueForAllChildrenCommand]]&lt;br /&gt;
&lt;br /&gt;
* ContentSelectorDialog&lt;br /&gt;
&lt;br /&gt;
* Dialog&lt;br /&gt;
&lt;br /&gt;
* DocumentChildrenList&lt;br /&gt;
&lt;br /&gt;
* DocumentListItem&lt;br /&gt;
** [[ShowDocumentCommand]]&lt;br /&gt;
** [[StartRedliningCommand]] (Version 2.6.37+)&lt;br /&gt;
&lt;br /&gt;
* DocumentPage&lt;br /&gt;
** [[StartRedliningCommand]]&lt;br /&gt;
&lt;br /&gt;
* EditDialog&lt;br /&gt;
** [[OKPressedCommand]]&lt;br /&gt;
** [[ResetPressedCommand]]&lt;br /&gt;
** [[CancelPressedCommand]]&lt;br /&gt;
** [[ChangeEditorModeCommand]]&lt;br /&gt;
&lt;br /&gt;
* GeoContentList&lt;br /&gt;
&lt;br /&gt;
* GlobalAppBar&lt;br /&gt;
&lt;br /&gt;
* GlobalStatusBar&lt;br /&gt;
&lt;br /&gt;
* ListViewModel&lt;br /&gt;
&lt;br /&gt;
* MapGeoContentList&lt;br /&gt;
&lt;br /&gt;
* MapOverlayItem&lt;br /&gt;
&lt;br /&gt;
* MapOverlayList&lt;br /&gt;
&lt;br /&gt;
* MapViewModel&lt;br /&gt;
&lt;br /&gt;
* NonDocumentChildrenList&lt;br /&gt;
&lt;br /&gt;
* OverlayedPOIGroupItemItem&lt;br /&gt;
&lt;br /&gt;
* ParentBaseViewModel&lt;br /&gt;
&lt;br /&gt;
* POIBaseViewModel&lt;br /&gt;
** [[ShowDirectionsCommand]]&lt;br /&gt;
** [[ShowDrivingDirectionsCommand]]&lt;br /&gt;
** [[ShowWalkingDirectionsCommand]]&lt;br /&gt;
** [[UseGeoPositionCommand]]&lt;br /&gt;
** [[NavigateToContentCommand]]&lt;br /&gt;
** [[OpenPOIGroupCommand]]&lt;br /&gt;
** [[ExitPOIGroupCommand]]&lt;br /&gt;
** [[EnterBuildingCommand]]&lt;br /&gt;
&lt;br /&gt;
* POIGroupItemItem&lt;br /&gt;
&lt;br /&gt;
* POIGroupItem&lt;br /&gt;
&lt;br /&gt;
* POIItemViewModel&lt;br /&gt;
** [[RefreshCommand]]&lt;br /&gt;
&lt;br /&gt;
* POI&lt;br /&gt;
&lt;br /&gt;
* PreviewPage&lt;br /&gt;
** [[ReloadChildListCommand]]&lt;br /&gt;
&lt;br /&gt;
* PropertyListItem&lt;br /&gt;
** [[ViewPropertyValueCommand]]&lt;br /&gt;
** [[PropertyClickedCommand]]&lt;br /&gt;
** [[PropertyRightClickedCommand]]&lt;br /&gt;
** [[PriorityPropertyClickedCommand]]&lt;br /&gt;
** [[PriorityPropertyRightClickedCommand]]&lt;br /&gt;
&lt;br /&gt;
* PropertyList&lt;br /&gt;
&lt;br /&gt;
* QueryDetailsPage&lt;br /&gt;
&lt;br /&gt;
* RootContentList&lt;br /&gt;
&lt;br /&gt;
* RootPage&lt;br /&gt;
&lt;br /&gt;
* Scan&lt;br /&gt;
&lt;br /&gt;
* SearchResultListItem&lt;br /&gt;
&lt;br /&gt;
* SearchResultSelection&lt;br /&gt;
&lt;br /&gt;
* Search&lt;br /&gt;
&lt;br /&gt;
* TeamLogin&lt;br /&gt;
** [[AddMemberCommand]]&lt;br /&gt;
** [[DeleteMemberCommand]]&lt;br /&gt;
** [[TeamLoginCommand]]&lt;br /&gt;
** [[CloseDialogCommand]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Namespace changes ==&lt;br /&gt;
&lt;br /&gt;
Starting from the UBIK UWP client{{Version/WinXSince|3.0.0}}, we have restructured &amp;amp; renamed some of our outdated or inaccurate namespaces. This means modifications are necessary for any previous XAML customizing code that refers to these changed namespaces. The complete list of such changes is documented below.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; | width = &amp;quot;75%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !!style=&amp;quot;text-align:left;&amp;quot;|V.2.6!!style=&amp;quot;text-align:left;&amp;quot;|V.3.0&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;13&amp;quot; style=&amp;quot;text-align:center;&amp;quot;|Name-&amp;lt;br/&amp;gt;space&amp;lt;br/&amp;gt;prefix&lt;br /&gt;
|''UBIK.Win8''||''UBIK.WinX''&lt;br /&gt;
|-&lt;br /&gt;
|''UBIK.WinX.UI''||''UBIK.UI''&lt;br /&gt;
|-&lt;br /&gt;
|''UBIK.WinX.Utility''||''UBIK.Utility''&lt;br /&gt;
|-&lt;br /&gt;
|''UBIK.WinX.Library''||''UBIK.Library''&lt;br /&gt;
|-&lt;br /&gt;
|''UBIK.WinX.DataProvider''||''UBIK.DataProvider''&lt;br /&gt;
|-&lt;br /&gt;
|''UBIK.WinX.SyncHandler''||''UBIK.SyncHandler''&lt;br /&gt;
|-&lt;br /&gt;
|''UBIK.WinX.DatabaseConnector''||''UBIK.DatabaseConnector''&lt;br /&gt;
|-&lt;br /&gt;
|''UBIK.WinX.ContentDatabase''||''UBIK.ContentDatabase''&lt;br /&gt;
|-&lt;br /&gt;
| ''UBIK.WinX.MRO''||''UBIK.MRO''&lt;br /&gt;
|-&lt;br /&gt;
| ''UBIK.WinX.Coding''||''UBIK.Coding''&lt;br /&gt;
|-&lt;br /&gt;
| ''UBIK.WinX.DataService''||''UBIK.DataService''&lt;br /&gt;
|-&lt;br /&gt;
| ''UBIK.WinX.Redlining''||''UBIK.Redlining''&lt;br /&gt;
|-&lt;br /&gt;
| ''UBIK.WinX.Positioning''||''UBIK.Positioning''&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Take the namespace ''UBIK.Win8'' for example, it is now changed to ''UBIK.WinX''. A few affected XAML namespace references are e.g.&lt;br /&gt;
* ''using:UBIK.Win8.Views'' -&amp;gt; ''using:UBIK.WinX.Views''&lt;br /&gt;
* ''using:UBIK.Win8.GART.Controls'' -&amp;gt; ''using:UBIK.WinX.GART.Controls''&lt;br /&gt;
&lt;br /&gt;
'''Important notes''' on the namespace ''UBIK.WinX.UI'':&lt;br /&gt;
* One exception is the namespace '''''UBIK.WinX.UI.CollectionView'''''. It is '''not''' changed since the content is indeed WinX specific.&lt;br /&gt;
* For namespaces that are changed from ''UBIK.Win8.UI'' such as '''''UBIK.Win8.UI.Controls''''', '''do not''' further '''remove the ''WinX''''' segment even though the results are something like '''''UBIK.WinX.UI.Controls'''''.&lt;/div&gt;</summary>
		<author><name>BMA</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=HowTo:Configure_Hierarchy_Filtering&amp;diff=20650</id>
		<title>HowTo:Configure Hierarchy Filtering</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=HowTo:Configure_Hierarchy_Filtering&amp;diff=20650"/>
				<updated>2018-01-16T16:18:24Z</updated>
		
		<summary type="html">&lt;p&gt;BMA: /* Client */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hierarchy Filtering allows the UBIK data designer to provide filter rules for the global object hierarchy on the client. For example, if a user wants to see all objects having the color green and a certain progress value, we have to create hierarchy filter rules - only allowing to view filterable objects that meet both of these criteria. When the filter is applied, objects that do not meet the criteria will be invisible. This means they will not be seen when browsing through the data and not even be found when doing queries or search operations. The designer can decide which objects are affected by the filtering by declaring objects as [[SYSCLS_HIERARCHYFILTERABLE|hierarchy filterable]] objects. These will be filtered based on the defined criteria. In addition, the designer can also declare objects to be [[SYSCLS_HIERARCHYFILTERABLE|hierachy filterable folder]] objects. These objects are filtered depending if there is visible content inside the data branch beneath this object. By defining these objects and rules, it is possible to thin out whole data branches depending on filter rules.&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;
= Studio =&lt;br /&gt;
&amp;lt;!-- DO NOT MODIFY THE NAME OF THIS SECTION, BUT REMOVE IT IF NOT REQUIRED --&amp;gt;&lt;br /&gt;
* declare the metaclasses to be filtered with the [[SYSCLS_HIERARCHYFILTERABLE|hierarchy filterable classification]].&lt;br /&gt;
* declare the metaclasses to be used as filterable folder objects with the [[SYSCLS_HIERARCHYFILTERABLEFOLDER|hierarchy filterable folder classification]].&lt;br /&gt;
* objects that should not be affected by the filtering do not have any of both classifications.&lt;br /&gt;
&lt;br /&gt;
= Client =&lt;br /&gt;
&amp;lt;!-- DO NOT MODIFY THE NAME OF THIS SECTION, BUT REMOVE IT IF NOT REQUIRED --&amp;gt;&lt;br /&gt;
* Define a preset file containing the property names of the filter criteria. Place it in the local databse directory ({AppData}\LocalState\Databases\&amp;lt;Profile or Project name&amp;gt;\default.hfpreset). One filter setting consists of the Property ID and description to be filtered, and the level of filtering for this property, which is relevant when composing filter rules in the UI. The following paramaters can be defined:&lt;br /&gt;
* list of settings (one per property)&lt;br /&gt;
* each setting contains:&lt;br /&gt;
** property name&lt;br /&gt;
** property level&lt;br /&gt;
** default matching mode&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;HierarchyFilterPreset xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; xmlns:xsd=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;HierarchyFilterSettings&amp;gt;&lt;br /&gt;
		&amp;lt;HierarchyFilterSetting&amp;gt;&lt;br /&gt;
			&amp;lt;PropertyName&amp;gt;MP_DESCRIPTION&amp;lt;/PropertyName&amp;gt;&lt;br /&gt;
                        &amp;lt;PropertyDescription&amp;gt;Description&amp;lt;/PropertyDescription&amp;gt;&lt;br /&gt;
			&amp;lt;Level&amp;gt;0&amp;lt;/Level&amp;gt;&lt;br /&gt;
                        &amp;lt;DefaultMode&amp;gt;StartsWith&amp;lt;/DefaultMode&amp;gt;&lt;br /&gt;
		&amp;lt;/HierarchyFilterSetting&amp;gt;&lt;br /&gt;
		&amp;lt;HierarchyFilterSetting&amp;gt;&lt;br /&gt;
			&amp;lt;PropertyName&amp;gt;MP_BRAND&amp;lt;/PropertyName&amp;gt;&lt;br /&gt;
                        &amp;lt;PropertyDescription&amp;gt;Brand&amp;lt;/PropertyDescription&amp;gt;&lt;br /&gt;
			&amp;lt;Level&amp;gt;1&amp;lt;/Level&amp;gt;&lt;br /&gt;
                        &amp;lt;DefaultMode&amp;gt;Equals&amp;lt;/DefaultMode&amp;gt;&lt;br /&gt;
		&amp;lt;/HierarchyFilterSetting&amp;gt;&lt;br /&gt;
                &amp;lt;HierarchyFilterSetting&amp;gt;&lt;br /&gt;
			&amp;lt;PropertyName&amp;gt;MP_MODEL&amp;lt;/PropertyName&amp;gt;&lt;br /&gt;
                        &amp;lt;PropertyDescription&amp;gt;Model&amp;lt;/PropertyDescription&amp;gt;&lt;br /&gt;
			&amp;lt;Level&amp;gt;2&amp;lt;/Level&amp;gt;&lt;br /&gt;
                        &amp;lt;DefaultMode&amp;gt;Equals&amp;lt;/DefaultMode&amp;gt;&lt;br /&gt;
		&amp;lt;/HierarchyFilterSetting&amp;gt;&lt;br /&gt;
	&amp;lt;/HierarchyFilterSettings&amp;gt;&lt;br /&gt;
&amp;lt;/HierarchyFilterPreset&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Define one or more profiles for filtering. Create files having the extension (&amp;quot;*.hfprofile&amp;quot;). A filter rule consists of the property id, the value to be compared and a comparison mode (StartsWith, Equals).&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;HierarchyFilterRulesProfile xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; xmlns:xsd=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;Name&amp;gt;HF_CUSTOM_01&amp;lt;/Name&amp;gt;&lt;br /&gt;
  &amp;lt;IsDefault&amp;gt;true&amp;lt;/IsDefault&amp;gt;&lt;br /&gt;
  &amp;lt;HierarchyFilterRules&amp;gt;&lt;br /&gt;
    &amp;lt;HierarchyFilterRule&amp;gt;&lt;br /&gt;
      &amp;lt;PropertyName&amp;gt;MP_DESCRIPTION&amp;lt;/PropertyName&amp;gt;&lt;br /&gt;
      &amp;lt;Value&amp;gt;PUMP&amp;lt;/Value&amp;gt;&lt;br /&gt;
      &amp;lt;Mode&amp;gt;StartsWith&amp;lt;/Mode&amp;gt;&lt;br /&gt;
    &amp;lt;/HierarchyFilterRule&amp;gt;&lt;br /&gt;
    &amp;lt;HierarchyFilterRule&amp;gt;&lt;br /&gt;
      &amp;lt;PropertyName&amp;gt;MP_BRAND&amp;lt;/PropertyName&amp;gt;&lt;br /&gt;
      &amp;lt;Value&amp;gt;MÜLLER&amp;lt;/Value&amp;gt;&lt;br /&gt;
      &amp;lt;Mode&amp;gt;Equals&amp;lt;/Mode&amp;gt;&lt;br /&gt;
    &amp;lt;/HierarchyFilterRule&amp;gt;&lt;br /&gt;
    &amp;lt;HierarchyFilterRule&amp;gt;&lt;br /&gt;
      &amp;lt;PropertyName&amp;gt;MP_MODEL&amp;lt;/PropertyName&amp;gt;&lt;br /&gt;
      &amp;lt;Value&amp;gt;SUPER&amp;lt;/Value&amp;gt;&lt;br /&gt;
      &amp;lt;Mode&amp;gt;StartsWith&amp;lt;/Mode&amp;gt;&lt;br /&gt;
    &amp;lt;/HierarchyFilterRule&amp;gt;&lt;br /&gt;
  &amp;lt;/HierarchyFilterRules&amp;gt;&lt;br /&gt;
&amp;lt;/HierarchyFilterRulesProfile&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;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;
&lt;br /&gt;
==See also==&lt;br /&gt;
&amp;lt;!-- DO NOT MODIFY THE NAME OF THIS SECTION, BUT REMOVE IT IF NOT REQUIRED --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:How-To|Configure Hierarchy Filtering]]&lt;br /&gt;
[[Category:WinX|Configure Hierarchy Filtering]]&lt;/div&gt;</summary>
		<author><name>BMA</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=SYSCLS_PRELOAD_CHILDREN&amp;diff=20632</id>
		<title>SYSCLS PRELOAD CHILDREN</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=SYSCLS_PRELOAD_CHILDREN&amp;diff=20632"/>
				<updated>2018-01-10T13:34:39Z</updated>
		
		<summary type="html">&lt;p&gt;BMA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ClassificationInfoBox&lt;br /&gt;
| title = PreloadChildren&lt;br /&gt;
| name = {{PAGENAMEE}}&lt;br /&gt;
| inheritance = -&lt;br /&gt;
| namespace = System.Classification.Presentation&lt;br /&gt;
| purpose = Classify an object to preload its children&lt;br /&gt;
| version = 2.6.0+&lt;br /&gt;
| id = {D552577B-CD1A-4479-A9BD-040DFDA8C9BE}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Objects having this classification will preload their children when being displayed on the windows client in a child list.&lt;br /&gt;
&lt;br /&gt;
[[Category:Classifications|SYSCLS PRELOAD CHILDREN]]&lt;/div&gt;</summary>
		<author><name>BMA</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=HowTo:Configure_Hierarchy_Filtering&amp;diff=20631</id>
		<title>HowTo:Configure Hierarchy Filtering</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=HowTo:Configure_Hierarchy_Filtering&amp;diff=20631"/>
				<updated>2018-01-10T09:01:00Z</updated>
		
		<summary type="html">&lt;p&gt;BMA: /* Client */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hierarchy Filtering allows the UBIK data designer to provide filter rules for the global object hierarchy on the client. For example, if a user wants to see all objects having the color green and a certain progress value, we have to create hierarchy filter rules - only allowing to view filterable objects that meet both of these criteria. When the filter is applied, objects that do not meet the criteria will be invisible. This means they will not be seen when browsing through the data and not even be found when doing queries or search operations. The designer can decide which objects are affected by the filtering by declaring objects as [[SYSCLS_HIERARCHYFILTERABLE|hierarchy filterable]] objects. These will be filtered based on the defined criteria. In addition, the designer can also declare objects to be [[SYSCLS_HIERARCHYFILTERABLE|hierachy filterable folder]] objects. These objects are filtered depending if there is visible content inside the data branch beneath this object. By defining these objects and rules, it is possible to thin out whole data branches depending on filter rules.&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;
= Studio =&lt;br /&gt;
&amp;lt;!-- DO NOT MODIFY THE NAME OF THIS SECTION, BUT REMOVE IT IF NOT REQUIRED --&amp;gt;&lt;br /&gt;
* declare the metaclasses to be filtered with the [[SYSCLS_HIERARCHYFILTERABLE|hierarchy filterable classification]].&lt;br /&gt;
* declare the metaclasses to be used as filterable folder objects with the [[SYSCLS_HIERARCHYFILTERABLEFOLDER|hierarchy filterable folder classification]].&lt;br /&gt;
* objects that should not be affected by the filtering do not have any of both classifications.&lt;br /&gt;
&lt;br /&gt;
= Client =&lt;br /&gt;
&amp;lt;!-- DO NOT MODIFY THE NAME OF THIS SECTION, BUT REMOVE IT IF NOT REQUIRED --&amp;gt;&lt;br /&gt;
* Define a preset file containing the property names of the filter criteria. Place it in the local databse directory ({AppData}\LocalState\Databases\&amp;lt;Profile or Project name&amp;gt;\&amp;lt;Profile or Project name&amp;gt;.hfpreset). One filter setting consists of the Property ID to be filteres, and the level of filtering for this property, which is relevant when composing filter rules in the UI. The following paramaters can be defined:&lt;br /&gt;
* list of settings (one per property)&lt;br /&gt;
* each setting contains:&lt;br /&gt;
** property name&lt;br /&gt;
** property level&lt;br /&gt;
** default matching mode&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;HierarchyFilterPreset xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; xmlns:xsd=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;HierarchyFilterSettings&amp;gt;&lt;br /&gt;
		&amp;lt;HierarchyFilterSetting&amp;gt;&lt;br /&gt;
			&amp;lt;PropertyName&amp;gt;MP_DESCRIPTION&amp;lt;/PropertyName&amp;gt;&lt;br /&gt;
                        &amp;lt;PropertyDescription&amp;gt;Description&amp;lt;/PropertyDescription&amp;gt;&lt;br /&gt;
			&amp;lt;Level&amp;gt;0&amp;lt;/Level&amp;gt;&lt;br /&gt;
                        &amp;lt;DefaultMode&amp;gt;StartsWith&amp;lt;/DefaultMode&amp;gt;&lt;br /&gt;
		&amp;lt;/HierarchyFilterSetting&amp;gt;&lt;br /&gt;
		&amp;lt;HierarchyFilterSetting&amp;gt;&lt;br /&gt;
			&amp;lt;PropertyName&amp;gt;MP_BRAND&amp;lt;/PropertyName&amp;gt;&lt;br /&gt;
                        &amp;lt;PropertyDescription&amp;gt;Brand&amp;lt;/PropertyDescription&amp;gt;&lt;br /&gt;
			&amp;lt;Level&amp;gt;1&amp;lt;/Level&amp;gt;&lt;br /&gt;
                        &amp;lt;DefaultMode&amp;gt;Equals&amp;lt;/DefaultMode&amp;gt;&lt;br /&gt;
		&amp;lt;/HierarchyFilterSetting&amp;gt;&lt;br /&gt;
                &amp;lt;HierarchyFilterSetting&amp;gt;&lt;br /&gt;
			&amp;lt;PropertyName&amp;gt;MP_MODEL&amp;lt;/PropertyName&amp;gt;&lt;br /&gt;
                        &amp;lt;PropertyDescription&amp;gt;Model&amp;lt;/PropertyDescription&amp;gt;&lt;br /&gt;
			&amp;lt;Level&amp;gt;2&amp;lt;/Level&amp;gt;&lt;br /&gt;
                        &amp;lt;DefaultMode&amp;gt;Equals&amp;lt;/DefaultMode&amp;gt;&lt;br /&gt;
		&amp;lt;/HierarchyFilterSetting&amp;gt;&lt;br /&gt;
	&amp;lt;/HierarchyFilterSettings&amp;gt;&lt;br /&gt;
&amp;lt;/HierarchyFilterPreset&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Define one or more profiles for filtering. Create files having the extension (&amp;quot;*.hfprofile&amp;quot;). A filter rule consists of the property id, the value to be compared and a comparison mode (StartsWith, Equals).&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;HierarchyFilterRulesProfile xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; xmlns:xsd=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;Name&amp;gt;HF_CUSTOM_01&amp;lt;/Name&amp;gt;&lt;br /&gt;
  &amp;lt;IsDefault&amp;gt;true&amp;lt;/IsDefault&amp;gt;&lt;br /&gt;
  &amp;lt;HierarchyFilterRules&amp;gt;&lt;br /&gt;
    &amp;lt;HierarchyFilterRule&amp;gt;&lt;br /&gt;
      &amp;lt;PropertyName&amp;gt;MP_DESCRIPTION&amp;lt;/PropertyName&amp;gt;&lt;br /&gt;
      &amp;lt;Value&amp;gt;PUMP&amp;lt;/Value&amp;gt;&lt;br /&gt;
      &amp;lt;Mode&amp;gt;StartsWith&amp;lt;/Mode&amp;gt;&lt;br /&gt;
    &amp;lt;/HierarchyFilterRule&amp;gt;&lt;br /&gt;
    &amp;lt;HierarchyFilterRule&amp;gt;&lt;br /&gt;
      &amp;lt;PropertyName&amp;gt;MP_BRAND&amp;lt;/PropertyName&amp;gt;&lt;br /&gt;
      &amp;lt;Value&amp;gt;MÜLLER&amp;lt;/Value&amp;gt;&lt;br /&gt;
      &amp;lt;Mode&amp;gt;Equals&amp;lt;/Mode&amp;gt;&lt;br /&gt;
    &amp;lt;/HierarchyFilterRule&amp;gt;&lt;br /&gt;
    &amp;lt;HierarchyFilterRule&amp;gt;&lt;br /&gt;
      &amp;lt;PropertyName&amp;gt;MP_MODEL&amp;lt;/PropertyName&amp;gt;&lt;br /&gt;
      &amp;lt;Value&amp;gt;SUPER&amp;lt;/Value&amp;gt;&lt;br /&gt;
      &amp;lt;Mode&amp;gt;StartsWith&amp;lt;/Mode&amp;gt;&lt;br /&gt;
    &amp;lt;/HierarchyFilterRule&amp;gt;&lt;br /&gt;
  &amp;lt;/HierarchyFilterRules&amp;gt;&lt;br /&gt;
&amp;lt;/HierarchyFilterRulesProfile&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;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;
&lt;br /&gt;
==See also==&lt;br /&gt;
&amp;lt;!-- DO NOT MODIFY THE NAME OF THIS SECTION, BUT REMOVE IT IF NOT REQUIRED --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:How-To|Configure Hierarchy Filtering]]&lt;br /&gt;
[[Category:WinX|Configure Hierarchy Filtering]]&lt;/div&gt;</summary>
		<author><name>BMA</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=File:UI_WinX_MRO_WPConfirmedIndicator.png&amp;diff=20600</id>
		<title>File:UI WinX MRO WPConfirmedIndicator.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=File:UI_WinX_MRO_WPConfirmedIndicator.png&amp;diff=20600"/>
				<updated>2017-12-05T11:23:28Z</updated>
		
		<summary type="html">&lt;p&gt;BMA: BMA uploaded a new version of File:UI WinX MRO WPConfirmedIndicator.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>BMA</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=MRO_Objects_(Client)&amp;diff=20599</id>
		<title>MRO Objects (Client)</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=MRO_Objects_(Client)&amp;diff=20599"/>
				<updated>2017-12-05T11:22:20Z</updated>
		
		<summary type="html">&lt;p&gt;BMA: /* Organisational Status */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:UI_WinX_MRO_ChildList.png|thumb|alt=MRO Child List UI (WinX)|MRO UI (WinX)]]&lt;br /&gt;
The WinX client UI displays MRO configured objects like any other root- or child-object enriched by some additional logic and features.&lt;br /&gt;
&lt;br /&gt;
== Basic User Interface ==&lt;br /&gt;
The representation of MRO features comprises some indicators and interactive controls. In the {{UBIK}} child list, the main object displays cumulated technical and organisational status as well as the overall work progress based on the underlying data branch. Objects classified as MRO objects in general provide indicators for the MRO status. This means the status is shown next to the main icon of a child-/details-/documents-page as well as next to the icons of the child list items:&lt;br /&gt;
&lt;br /&gt;
=== Technical Status ===&lt;br /&gt;
[[File:UI_WinX_MRO_TechnicalStatusIndicator.png|thumb|Technical Status Indicator (WinX)]]&lt;br /&gt;
The technical status indicator is shown on all objects that represent a technical state or receive the technical status from subsequent objects in the underlying data branch. If e.g. a inventory object is reported as damaged, its parent objects will all display the exclamation mark symbol to indicate that a problem was reported in the child items.&lt;br /&gt;
&lt;br /&gt;
=== Organisational Status ===&lt;br /&gt;
The organisational status indicator is shown on all objects that represent an organisational state or receive the organisational status from subsequent objects in the underlying data branch. This indicator shows the amount of confirmed work done in the data branch. It can as well display a work package to be already confirmed or show tasks that are already locked by their owning workpackage.&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:UI_WinX_MRO_OrganisationalStatusIndicator.png|Organisational Status Indicator (WinX)&lt;br /&gt;
File:UI_WinX_MRO_WPConfirmedIndicator.png|MRO Workpackage Confirmed (Flag) Indicator (WinX)&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Pages with broken file links|MRO Objects (UBIK WinX)]]&lt;br /&gt;
[[Category:WinX|MRO Objects (UBIK WinX)]]&lt;br /&gt;
&lt;br /&gt;
=== Work Progress ===&lt;br /&gt;
[[File:UI_WinX_MRO_WorkProgressIndicator.png|thumb|MRO Work Progress Indicator (WinX)]]&lt;br /&gt;
The work progress is shown on all objects that represent the current work progress or receive the work progress cumulated from subsequent objects in the underlying data branch. This indicator shows the amount of work done in the data branch.&lt;br /&gt;
&lt;br /&gt;
{{Clear}}&lt;br /&gt;
&lt;br /&gt;
== MRO Objects ==&lt;br /&gt;
A set of specific objects can be used to provide the required structure for MRO:&lt;br /&gt;
&lt;br /&gt;
=== Task Owner ===&lt;br /&gt;
A [[MROCLS_MRO_TASKOWNER|Task Owner]] is an object having a substructure of jobs to be done. It can have a tree of other task owners or work packages underneath that will update the status of the task owner. This status consists of technical, organisational and progress information. With a task owner a user can get an overview of all the work to be done in the underlying job structure.&lt;br /&gt;
&lt;br /&gt;
=== Work Package===&lt;br /&gt;
A [[MROCLS_MRO_WORKPACKAGE|Work Package]] is a collection of objects to collect and summarize other task owning objects, workpackages, or tasks. A simple workpackage has a certain amount of tasks that have to be finished in order to confirm the workpackage as done. More complex workpackages can also own other underlying workpackages that have to be confirmed.  Confirming a workpackage itself requires a progress of 100% of all related tasks, as well as 100% confirmed sub work packages.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:UI_WinX_MRO_WPConfirmButton.png|MRO Workpackage confirm button (WinX)&lt;br /&gt;
File:UI_WinX_MRO_WPRevokeConfirmButton.png|MRO Workpackage revoke confirmation button (WinX)&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Task ===&lt;br /&gt;
A [[MROCLS_MRO_TASK|Task]] is an object reporting a certain progress to the owning workpackage. There are several specialized types of task objects. All kinds of tasks have a property called '''VALUE''' in common. It is very important, that this property is able to be validated. Therefore, a MetaAttribute (providing a validation timestamp by default) has to be attached on the used MetaProperty.&lt;br /&gt;
&lt;br /&gt;
{{Attention|The MetaProperty ''VALUE'' has to use [[Attributes]] in order to be validated. Otherwise, the calculation of work progress will not be possible.}}&lt;br /&gt;
&lt;br /&gt;
==== Measurement Task ====&lt;br /&gt;
[[File:UI_WinX_MRO_ChildItemMeasurementTask_Empty.png|thumb|Measurement Task without a reported value (WinX)]]&lt;br /&gt;
[[File:UI_WinX_MRO_ChildItemMeasurementTask.png|thumb|Measurement Task with a reported value (WinX)]]&lt;br /&gt;
A [[MROCLS_MRO_MEASUREMENT_TASK|Measurement Task]] inherits from [[MROCLS_MRO_TASK|Task]] and documents a measured value (e.g. read from a pressure gauge). Therefore, clicking the value on the shown task opens an editor to enter the desired value. If no value was entered before, an empty line will be shown. Once a value has been entered, the task is finished. Alternatively, the task can also be closed by the option ''Not Applicable'' to document the situation of not being able to fullfill the measurement (e.g. the pressure gauge is broken). An additional small value indicator below the main value can report e.g. the previously entered value. The behaviour of this previous value indicator has to be specified separately in the customizing.&lt;br /&gt;
{{Clear}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Progress Task ====&lt;br /&gt;
[[File:UI_WinX_MRO_ProgressTask.png|thumb|Progress Task with a reported work progress (WinX)]]&lt;br /&gt;
[[MROCLS_MRO_PROGRESS_TASK| Progress Task]] inherits from [[MROCLS_MRO_MEASUREMENT_TASK|Task]] and reports a certain progress while fullfilling a task. The progress will influence the overall progress of the owning workpackage. If the task cannot be fullfilled, it can also be finished with the option ''Not Applicable''.&lt;br /&gt;
&lt;br /&gt;
There is also an [[MRO_PROGRESS_TASK_EDITOR|alternative editor]] available for progress tasks.{{Version/WinXSince|2.5.4}}&lt;br /&gt;
{{Clear}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Check Task ====&lt;br /&gt;
[[File:UI_WinX_MRO_CheckTask.png|thumb|Unfinished MRO CheckTask (WinX)]]&lt;br /&gt;
A [[MROCLS_MRO_CHECK_TASK|Check Task]] inherits from [[MROCLS_MRO_TASK|Task]] and is finished, when the user reports with a positive or negative answer or ''Not Applicable'' (e.g. reporting a yes/no answer for existing equipment).&lt;br /&gt;
{{Clear}}&lt;br /&gt;
&lt;br /&gt;
==== Inspection Task ====&lt;br /&gt;
[[File:UI_WinX_MRO_InspectionTask.png|thumb|Finished MRO InspectionTask (WinX)]]&lt;br /&gt;
[[MROCLS_MRO_INSPECTION_TASK|Inspection Task]] inherits from [[MROCLS_MRO_TASK|Task]] and is finished by reporting ''Done'' or ''Not Applicable''. This is intended for a simple To-Do task that is either done or not.&lt;br /&gt;
{{Clear}}&lt;br /&gt;
&lt;br /&gt;
=== MRO objects with project information {{Version/WinXSince|2.5.4}} ===&lt;br /&gt;
[[File:UI_WinX_MRO_ProjectInfo.png|thumb|MRO Object with Project Info (WinX)]]&lt;br /&gt;
An MRO object (except tasks) might also bring along [[MROCLS_PROJECTINFORMATION|project information]]. In this case, the project information together with the MRO progress are displayed in a bar chart. The start &amp;amp; end dates of the MRO object are displayed on the progress bar. The length and the position of the progress bar, together with the current date mark indicate the timeline.&lt;br /&gt;
{{Clear}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[MRO (Plugin)]]&lt;br /&gt;
&lt;br /&gt;
[[Category:WinX|MRO Objects (UBIK WinX)]]&lt;/div&gt;</summary>
		<author><name>BMA</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=MRO_Objects_(Client)&amp;diff=20598</id>
		<title>MRO Objects (Client)</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=MRO_Objects_(Client)&amp;diff=20598"/>
				<updated>2017-12-05T11:21:59Z</updated>
		
		<summary type="html">&lt;p&gt;BMA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:UI_WinX_MRO_ChildList.png|thumb|alt=MRO Child List UI (WinX)|MRO UI (WinX)]]&lt;br /&gt;
The WinX client UI displays MRO configured objects like any other root- or child-object enriched by some additional logic and features.&lt;br /&gt;
&lt;br /&gt;
== Basic User Interface ==&lt;br /&gt;
The representation of MRO features comprises some indicators and interactive controls. In the {{UBIK}} child list, the main object displays cumulated technical and organisational status as well as the overall work progress based on the underlying data branch. Objects classified as MRO objects in general provide indicators for the MRO status. This means the status is shown next to the main icon of a child-/details-/documents-page as well as next to the icons of the child list items:&lt;br /&gt;
&lt;br /&gt;
=== Technical Status ===&lt;br /&gt;
[[File:UI_WinX_MRO_TechnicalStatusIndicator.png|thumb|Technical Status Indicator (WinX)]]&lt;br /&gt;
The technical status indicator is shown on all objects that represent a technical state or receive the technical status from subsequent objects in the underlying data branch. If e.g. a inventory object is reported as damaged, its parent objects will all display the exclamation mark symbol to indicate that a problem was reported in the child items.&lt;br /&gt;
&lt;br /&gt;
=== Organisational Status ===&lt;br /&gt;
The organisational status indicator is shown on all objects that represent an organisational state or receive the organisational status from subsequent objects in the underlying data branch. This indicator shows the amount of confirmed work done in the data branch. It can as well display a work package to be already confirmed or show tasks that are already locked by their owning workpackage.&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:UI_WinX_MRO_OrganisationalStatusIndicator.png|Organisational Status Indicator (WinX)&lt;br /&gt;
File:http://wiki.augmensys.com/images/archive/7/77/20171205111948%21UI_WinX_MRO_WPConfirmedIndicator.png|MRO Workpackage Confirmed (Flag) Indicator (WinX)&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Work Progress ===&lt;br /&gt;
[[File:UI_WinX_MRO_WorkProgressIndicator.png|thumb|MRO Work Progress Indicator (WinX)]]&lt;br /&gt;
The work progress is shown on all objects that represent the current work progress or receive the work progress cumulated from subsequent objects in the underlying data branch. This indicator shows the amount of work done in the data branch.&lt;br /&gt;
&lt;br /&gt;
{{Clear}}&lt;br /&gt;
&lt;br /&gt;
== MRO Objects ==&lt;br /&gt;
A set of specific objects can be used to provide the required structure for MRO:&lt;br /&gt;
&lt;br /&gt;
=== Task Owner ===&lt;br /&gt;
A [[MROCLS_MRO_TASKOWNER|Task Owner]] is an object having a substructure of jobs to be done. It can have a tree of other task owners or work packages underneath that will update the status of the task owner. This status consists of technical, organisational and progress information. With a task owner a user can get an overview of all the work to be done in the underlying job structure.&lt;br /&gt;
&lt;br /&gt;
=== Work Package===&lt;br /&gt;
A [[MROCLS_MRO_WORKPACKAGE|Work Package]] is a collection of objects to collect and summarize other task owning objects, workpackages, or tasks. A simple workpackage has a certain amount of tasks that have to be finished in order to confirm the workpackage as done. More complex workpackages can also own other underlying workpackages that have to be confirmed.  Confirming a workpackage itself requires a progress of 100% of all related tasks, as well as 100% confirmed sub work packages.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:UI_WinX_MRO_WPConfirmButton.png|MRO Workpackage confirm button (WinX)&lt;br /&gt;
File:UI_WinX_MRO_WPRevokeConfirmButton.png|MRO Workpackage revoke confirmation button (WinX)&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Task ===&lt;br /&gt;
A [[MROCLS_MRO_TASK|Task]] is an object reporting a certain progress to the owning workpackage. There are several specialized types of task objects. All kinds of tasks have a property called '''VALUE''' in common. It is very important, that this property is able to be validated. Therefore, a MetaAttribute (providing a validation timestamp by default) has to be attached on the used MetaProperty.&lt;br /&gt;
&lt;br /&gt;
{{Attention|The MetaProperty ''VALUE'' has to use [[Attributes]] in order to be validated. Otherwise, the calculation of work progress will not be possible.}}&lt;br /&gt;
&lt;br /&gt;
==== Measurement Task ====&lt;br /&gt;
[[File:UI_WinX_MRO_ChildItemMeasurementTask_Empty.png|thumb|Measurement Task without a reported value (WinX)]]&lt;br /&gt;
[[File:UI_WinX_MRO_ChildItemMeasurementTask.png|thumb|Measurement Task with a reported value (WinX)]]&lt;br /&gt;
A [[MROCLS_MRO_MEASUREMENT_TASK|Measurement Task]] inherits from [[MROCLS_MRO_TASK|Task]] and documents a measured value (e.g. read from a pressure gauge). Therefore, clicking the value on the shown task opens an editor to enter the desired value. If no value was entered before, an empty line will be shown. Once a value has been entered, the task is finished. Alternatively, the task can also be closed by the option ''Not Applicable'' to document the situation of not being able to fullfill the measurement (e.g. the pressure gauge is broken). An additional small value indicator below the main value can report e.g. the previously entered value. The behaviour of this previous value indicator has to be specified separately in the customizing.&lt;br /&gt;
{{Clear}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Progress Task ====&lt;br /&gt;
[[File:UI_WinX_MRO_ProgressTask.png|thumb|Progress Task with a reported work progress (WinX)]]&lt;br /&gt;
[[MROCLS_MRO_PROGRESS_TASK| Progress Task]] inherits from [[MROCLS_MRO_MEASUREMENT_TASK|Task]] and reports a certain progress while fullfilling a task. The progress will influence the overall progress of the owning workpackage. If the task cannot be fullfilled, it can also be finished with the option ''Not Applicable''.&lt;br /&gt;
&lt;br /&gt;
There is also an [[MRO_PROGRESS_TASK_EDITOR|alternative editor]] available for progress tasks.{{Version/WinXSince|2.5.4}}&lt;br /&gt;
{{Clear}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Check Task ====&lt;br /&gt;
[[File:UI_WinX_MRO_CheckTask.png|thumb|Unfinished MRO CheckTask (WinX)]]&lt;br /&gt;
A [[MROCLS_MRO_CHECK_TASK|Check Task]] inherits from [[MROCLS_MRO_TASK|Task]] and is finished, when the user reports with a positive or negative answer or ''Not Applicable'' (e.g. reporting a yes/no answer for existing equipment).&lt;br /&gt;
{{Clear}}&lt;br /&gt;
&lt;br /&gt;
==== Inspection Task ====&lt;br /&gt;
[[File:UI_WinX_MRO_InspectionTask.png|thumb|Finished MRO InspectionTask (WinX)]]&lt;br /&gt;
[[MROCLS_MRO_INSPECTION_TASK|Inspection Task]] inherits from [[MROCLS_MRO_TASK|Task]] and is finished by reporting ''Done'' or ''Not Applicable''. This is intended for a simple To-Do task that is either done or not.&lt;br /&gt;
{{Clear}}&lt;br /&gt;
&lt;br /&gt;
=== MRO objects with project information {{Version/WinXSince|2.5.4}} ===&lt;br /&gt;
[[File:UI_WinX_MRO_ProjectInfo.png|thumb|MRO Object with Project Info (WinX)]]&lt;br /&gt;
An MRO object (except tasks) might also bring along [[MROCLS_PROJECTINFORMATION|project information]]. In this case, the project information together with the MRO progress are displayed in a bar chart. The start &amp;amp; end dates of the MRO object are displayed on the progress bar. The length and the position of the progress bar, together with the current date mark indicate the timeline.&lt;br /&gt;
{{Clear}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[MRO (Plugin)]]&lt;br /&gt;
&lt;br /&gt;
[[Category:WinX|MRO Objects (UBIK WinX)]]&lt;/div&gt;</summary>
		<author><name>BMA</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=File:UI_WinX_MRO_WPConfirmedIndicator.png&amp;diff=20597</id>
		<title>File:UI WinX MRO WPConfirmedIndicator.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=File:UI_WinX_MRO_WPConfirmedIndicator.png&amp;diff=20597"/>
				<updated>2017-12-05T11:20:03Z</updated>
		
		<summary type="html">&lt;p&gt;BMA: BMA uploaded a new version of File:UI WinX MRO WPConfirmedIndicator.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>BMA</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=File:UI_WinX_MRO_WPConfirmedIndicator.png&amp;diff=20596</id>
		<title>File:UI WinX MRO WPConfirmedIndicator.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=File:UI_WinX_MRO_WPConfirmedIndicator.png&amp;diff=20596"/>
				<updated>2017-12-05T11:19:48Z</updated>
		
		<summary type="html">&lt;p&gt;BMA: BMA uploaded a new version of File:UI WinX MRO WPConfirmedIndicator.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>BMA</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=File:UI_WinX_MRO_WPConfirmedIndicator.png&amp;diff=20595</id>
		<title>File:UI WinX MRO WPConfirmedIndicator.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=File:UI_WinX_MRO_WPConfirmedIndicator.png&amp;diff=20595"/>
				<updated>2017-12-05T11:18:42Z</updated>
		
		<summary type="html">&lt;p&gt;BMA: BMA uploaded a new version of File:UI WinX MRO WPConfirmedIndicator.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>BMA</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=File:UI_WinX_MRO_WPConfirmedIndicator.png&amp;diff=20594</id>
		<title>File:UI WinX MRO WPConfirmedIndicator.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=File:UI_WinX_MRO_WPConfirmedIndicator.png&amp;diff=20594"/>
				<updated>2017-12-05T11:17:10Z</updated>
		
		<summary type="html">&lt;p&gt;BMA: BMA uploaded a new version of File:UI WinX MRO WPConfirmedIndicator.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>BMA</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=File:UI_WinX_MRO_WPConfirmedIndicator.png&amp;diff=20593</id>
		<title>File:UI WinX MRO WPConfirmedIndicator.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=File:UI_WinX_MRO_WPConfirmedIndicator.png&amp;diff=20593"/>
				<updated>2017-12-05T11:13:27Z</updated>
		
		<summary type="html">&lt;p&gt;BMA: BMA uploaded a new version of File:UI WinX MRO WPConfirmedIndicator.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>BMA</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=File:UI_WinX_MRO_WPConfirmedIndicator.png&amp;diff=20592</id>
		<title>File:UI WinX MRO WPConfirmedIndicator.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=File:UI_WinX_MRO_WPConfirmedIndicator.png&amp;diff=20592"/>
				<updated>2017-12-05T11:13:20Z</updated>
		
		<summary type="html">&lt;p&gt;BMA: BMA uploaded a new version of File:UI WinX MRO WPConfirmedIndicator.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>BMA</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=File:UI_WinX_MRO_WPConfirmButton.png&amp;diff=20591</id>
		<title>File:UI WinX MRO WPConfirmButton.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=File:UI_WinX_MRO_WPConfirmButton.png&amp;diff=20591"/>
				<updated>2017-12-05T11:12:15Z</updated>
		
		<summary type="html">&lt;p&gt;BMA: BMA uploaded a new version of File:UI WinX MRO WPConfirmButton.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>BMA</name></author>	</entry>

	<entry>
		<id>https://wiki.augmensys.com/index.php?title=File:UI_WinX_MRO_WPConfirmButton.png&amp;diff=20590</id>
		<title>File:UI WinX MRO WPConfirmButton.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.augmensys.com/index.php?title=File:UI_WinX_MRO_WPConfirmButton.png&amp;diff=20590"/>
				<updated>2017-12-05T11:10:02Z</updated>
		
		<summary type="html">&lt;p&gt;BMA: BMA uploaded a new version of File:UI WinX MRO WPConfirmButton.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>BMA</name></author>	</entry>

	</feed>