<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://kb.phenomportal.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Annie</id>
	<title>PHENOM Portal Knowledgebase - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://kb.phenomportal.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Annie"/>
	<link rel="alternate" type="text/html" href="https://kb.phenomportal.com/index.php?title=Special:Contributions/Annie"/>
	<updated>2026-04-27T17:23:05Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.44.2</generator>
	<entry>
		<id>https://kb.phenomportal.com/index.php?title=Formatting_a_CSV_for_Platform_Type_Import&amp;diff=1590</id>
		<title>Formatting a CSV for Platform Type Import</title>
		<link rel="alternate" type="text/html" href="https://kb.phenomportal.com/index.php?title=Formatting_a_CSV_for_Platform_Type_Import&amp;diff=1590"/>
		<updated>2026-02-06T20:18:19Z</updated>

		<summary type="html">&lt;p&gt;Annie: Removed regex section from copy + paste&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;To bulk import platform types, the CSV file should be formatted as described in this article.&lt;br /&gt;
&lt;br /&gt;
== General Column/Data Requirements ==&lt;br /&gt;
The following column headers must exist and contain data in each row:&lt;br /&gt;
* Name or Platform_Type_GUID&lt;br /&gt;
* Type&lt;br /&gt;
* Realized_Element&lt;br /&gt;
&lt;br /&gt;
The following columns are optional (for example, the Package columns are only there to specify destination if desired): &lt;br /&gt;
* Package_Name&lt;br /&gt;
* Package_Description&lt;br /&gt;
* Package_GUID&lt;br /&gt;
* Description&lt;br /&gt;
* Platform_Type_Tags&lt;br /&gt;
* Constraint&lt;br /&gt;
* Composition_Name&lt;br /&gt;
* Composition_Reference&lt;br /&gt;
* Composition_GUID&lt;br /&gt;
&lt;br /&gt;
The order of the columns is not enforced, it does not have to be in the same order as the suggested format above.&lt;br /&gt;
&lt;br /&gt;
Any additional user-made columns will be ignored and will not interfere with import.&lt;br /&gt;
&lt;br /&gt;
Bulk import can currently import Package and Platform Type elements.&lt;br /&gt;
&lt;br /&gt;
== Column-specific Requirements ==&lt;br /&gt;
=== Name, Platform Type GUID ===&lt;br /&gt;
* Either a Name or Platform Type GUID is required. If a Platform Type GUID is given, it must be associated with an existing platform type in the model. &lt;br /&gt;
&lt;br /&gt;
=== Type ===&lt;br /&gt;
* Must be a primitive: Boolean, Octet, Char, WChar, CharArray, WCharArray, String, WString, BoundedString, BoundedWString, Short, UShort, Long, LongLong, ULong, ULongLong, Double, LongDouble, Float, Fixed, IDLArray, IDLSequence, IDLStruct, Enumeration.&lt;br /&gt;
&lt;br /&gt;
=== Realized Element ===&lt;br /&gt;
* Must reference the name of an existing logical:Measurement, logical:MeasurementAxis, or logical:ValueTypeUnit.&lt;br /&gt;
&lt;br /&gt;
=== Package Name, Package GUID ===&lt;br /&gt;
* Leaving this column blank will default Package to the &amp;quot;Phenom&amp;quot; package.&lt;br /&gt;
* Setting this column to an existing Package will default to the first matching Platform Package within the model.&lt;br /&gt;
* If there is no matching Package, a new Package will be created within the &amp;quot;Phenom&amp;quot; Package.&lt;br /&gt;
* If a Package GUID is given, it must reference an existing platform package in the model.&lt;br /&gt;
&lt;br /&gt;
=== Constraint ===&lt;br /&gt;
* Must reference the name of an existing platform:RealRangeConstraint, platform:IntegerRangeConstraint, or platform:RegularExpressionConstraint. &lt;br /&gt;
&lt;br /&gt;
=== Composition Name, Composition Reference, Composition GUID ===&lt;br /&gt;
* If a Composition Name is present, a Composition Reference is required.&lt;br /&gt;
* Composition Reference must reference the name of an existing platform type.&lt;br /&gt;
* If a Composition GUID is given, it must reference an existing composition in the model. &lt;br /&gt;
&lt;br /&gt;
== Additional Requirements ==&lt;br /&gt;
* Data within Package_Name, Name, Composition_Name must all begin with a letter, and only contain numbers, letters, or underscores. The data must also not match any of the following reserved words:&lt;br /&gt;
** &#039;&#039;&#039;IDL Reserved words:&#039;&#039;&#039;&amp;lt;p&amp;gt;&amp;quot;and&amp;quot;, &amp;quot;begin&amp;quot;, &amp;quot;break&amp;quot;, &amp;quot;case&amp;quot;, &amp;quot;common&amp;quot;, &amp;quot;compile_opt&amp;quot;, &amp;quot;continue&amp;quot;, &amp;quot;do&amp;quot;, &amp;quot;else&amp;quot;, &amp;quot;end&amp;quot;, &amp;quot;endcase&amp;quot;, &amp;quot;endelse&amp;quot;, &amp;quot;endfor&amp;quot;, &amp;quot;endforeach&amp;quot;, &amp;quot;endif&amp;quot;, &amp;quot;endrep&amp;quot;, &amp;quot;endswitch&amp;quot;, &amp;quot;endwhile&amp;quot;, &amp;quot;eq&amp;quot;, &amp;quot;for&amp;quot;, &amp;quot;foreach&amp;quot;, &amp;quot;forward_function&amp;quot;, &amp;quot;function&amp;quot;, &amp;quot;ge&amp;quot;, &amp;quot;goto&amp;quot;, &amp;quot;gt&amp;quot;, &amp;quot;if&amp;quot;, &amp;quot;inherits&amp;quot;, &amp;quot;le&amp;quot;, &amp;quot;lt&amp;quot;, &amp;quot;mod&amp;quot;, &amp;quot;ne&amp;quot;, &amp;quot;not&amp;quot;, &amp;quot;of&amp;quot;, &amp;quot;on_ioerror&amp;quot;, &amp;quot;or&amp;quot;, &amp;quot;pro&amp;quot;, &amp;quot;repeat&amp;quot;, &amp;quot;switch&amp;quot;, &amp;quot;then&amp;quot;, &amp;quot;until&amp;quot;, &amp;quot;while&amp;quot;, &amp;quot;xor&amp;quot;&amp;lt;/p&amp;gt;&lt;br /&gt;
** &#039;&#039;&#039;OCL Reserved words:&#039;&#039;&#039;&amp;lt;p&amp;gt; &amp;quot;abstract&amp;quot;, &amp;quot;any&amp;quot;, &amp;quot;attribute&amp;quot;, &amp;quot;boolean&amp;quot;, &amp;quot;case&amp;quot;, &amp;quot;char&amp;quot;, &amp;quot;component&amp;quot;, &amp;quot;const&amp;quot;, &amp;quot;consumes&amp;quot;, &amp;quot;context&amp;quot;, &amp;quot;custom&amp;quot;, &amp;quot;default&amp;quot;, &amp;quot;double&amp;quot;, &amp;quot;emits&amp;quot;, &amp;quot;enum&amp;quot;, &amp;quot;eventtype&amp;quot;, &amp;quot;exception&amp;quot;, &amp;quot;factory&amp;quot;, &amp;quot;false&amp;quot;, &amp;quot;finder&amp;quot;, &amp;quot;fixed&amp;quot;, &amp;quot;float&amp;quot;, &amp;quot;getraises&amp;quot;, &amp;quot;home&amp;quot;, &amp;quot;import&amp;quot;, &amp;quot;in&amp;quot;, &amp;quot;inout&amp;quot;, &amp;quot;interface&amp;quot;, &amp;quot;local&amp;quot;, &amp;quot;long&amp;quot;, &amp;quot;manages&amp;quot;, &amp;quot;module&amp;quot;, &amp;quot;multiple&amp;quot;, &amp;quot;native&amp;quot;, &amp;quot;object&amp;quot;, &amp;quot;octet&amp;quot;, &amp;quot;oneway&amp;quot;, &amp;quot;out&amp;quot;, &amp;quot;primarykey&amp;quot;, &amp;quot;private&amp;quot;, &amp;quot;provides&amp;quot;, &amp;quot;public&amp;quot;, &amp;quot;publishes&amp;quot;, &amp;quot;raises&amp;quot;, &amp;quot;readonly&amp;quot;, &amp;quot;sequence&amp;quot;, &amp;quot;setraises&amp;quot;, &amp;quot;short&amp;quot;, &amp;quot;string&amp;quot;, &amp;quot;struct&amp;quot;, &amp;quot;supports&amp;quot;, &amp;quot;switch&amp;quot;, &amp;quot;true&amp;quot;, &amp;quot;truncatable&amp;quot;, &amp;quot;typedef&amp;quot;, &amp;quot;typeid&amp;quot;, &amp;quot;typeprefix&amp;quot;, &amp;quot;union&amp;quot;, &amp;quot;unsigned&amp;quot;, &amp;quot;uses&amp;quot;, &amp;quot;valuebase&amp;quot;, &amp;quot;valuetype&amp;quot;, &amp;quot;void&amp;quot;, &amp;quot;wchar&amp;quot;, &amp;quot;wstring&amp;quot;&amp;lt;/p&amp;gt;&lt;br /&gt;
* If there are any errors during validation of the CSV file, the model import will not be initiated and a list of errors will be returned. They will be labeled by the row they occur on for convenience.&lt;br /&gt;
* There is a 2MB limit in place - if a larger file needs to be imported, it needs to be split up into smaller files.&lt;br /&gt;
* In the raw CSV (i.e., as observed from notepad), any field with commas must have surrounding quotes (Excel normally handles this).&lt;/div&gt;</summary>
		<author><name>Annie</name></author>
	</entry>
	<entry>
		<id>https://kb.phenomportal.com/index.php?title=CSV&amp;diff=1589</id>
		<title>CSV</title>
		<link rel="alternate" type="text/html" href="https://kb.phenomportal.com/index.php?title=CSV&amp;diff=1589"/>
		<updated>2026-02-06T20:17:19Z</updated>

		<summary type="html">&lt;p&gt;Annie: Added platform type import page link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The CSV import tool allows users to bulk import data into their model, both creating new nodes and editing existing nodes.&lt;br /&gt;
&lt;br /&gt;
[[File:Csv before import.png|frameless|1199x1199px]]&lt;br /&gt;
&lt;br /&gt;
Simply select a CSV file to import which is less than 5MB, and press the import button. Depending on the size of the file, it may take some time to process. &lt;br /&gt;
&lt;br /&gt;
When the processing is finished, an error message will appear if the columns in the CSV file do not fit any of the acceptable formats. If the imported CSV file is valid, a table will appear for review displaying all of the created and edited nodes, as well as a summary of the import.&lt;br /&gt;
&lt;br /&gt;
[[File:Csv after import.png|frameless|1190x1190px]]&lt;br /&gt;
&lt;br /&gt;
Visible in the list is the following information about the processed node:&lt;br /&gt;
&lt;br /&gt;
* Row Number (corresponding to the CSV line number in which the node was created or edited)&lt;br /&gt;
* Node Name&lt;br /&gt;
* Node Validity&lt;br /&gt;
* Node Type&lt;br /&gt;
* Node Guid (If this would be a new node, the guid would be replaced with &amp;quot;New&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
There are many actions to take on this table, including:&lt;br /&gt;
&lt;br /&gt;
* Nodes may be manually selected or unselected to be saved using the check box in the far left of the row. All rows are selected by default.&lt;br /&gt;
* Select a node to see and potentially edit its attributes. If the node is not valid, the node must be edited before finishing the import.&lt;br /&gt;
* Reset any manual edits made to the node using the far right column in the row.&lt;br /&gt;
&lt;br /&gt;
To save the changes displayed to the model, press the &amp;quot;FINISH IMPORT&amp;quot; button. Navigating away before pressing this button will not save any of the processed nodes.&lt;br /&gt;
&lt;br /&gt;
== CSV Header Formats ==&lt;br /&gt;
Valid formats a user can import are:&lt;br /&gt;
* Views &amp;amp; View Characteristics (see [[Formatting a CSV for View Import]])&lt;br /&gt;
* Enumerations (see [[Formatting a CSV for Enum Import]])&lt;br /&gt;
* Entities &amp;amp; Associations (see [[Formatting a CSV for Entities and Associations Import]])&lt;br /&gt;
* Constraints (See [[Formatting a CSV for Constraint Import]])&lt;br /&gt;
* Platform Types (See [[Formatting a CSV for Platform Type Import]])&lt;br /&gt;
* UoPs (see [[Formatting a CSV for UoP Import]])&lt;/div&gt;</summary>
		<author><name>Annie</name></author>
	</entry>
	<entry>
		<id>https://kb.phenomportal.com/index.php?title=Formatting_a_CSV_for_Platform_Type_Import&amp;diff=1588</id>
		<title>Formatting a CSV for Platform Type Import</title>
		<link rel="alternate" type="text/html" href="https://kb.phenomportal.com/index.php?title=Formatting_a_CSV_for_Platform_Type_Import&amp;diff=1588"/>
		<updated>2026-02-06T20:16:52Z</updated>

		<summary type="html">&lt;p&gt;Annie: Added Platform Type import page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;To bulk import platform types, the CSV file should be formatted as described in this article.&lt;br /&gt;
&lt;br /&gt;
== General Column/Data Requirements ==&lt;br /&gt;
The following column headers must exist and contain data in each row:&lt;br /&gt;
* Name or Platform_Type_GUID&lt;br /&gt;
* Type&lt;br /&gt;
* Realized_Element&lt;br /&gt;
&lt;br /&gt;
The following columns are optional (for example, the Package columns are only there to specify destination if desired): &lt;br /&gt;
* Package_Name&lt;br /&gt;
* Package_Description&lt;br /&gt;
* Package_GUID&lt;br /&gt;
* Description&lt;br /&gt;
* Platform_Type_Tags&lt;br /&gt;
* Constraint&lt;br /&gt;
* Composition_Name&lt;br /&gt;
* Composition_Reference&lt;br /&gt;
* Composition_GUID&lt;br /&gt;
&lt;br /&gt;
The order of the columns is not enforced, it does not have to be in the same order as the suggested format above.&lt;br /&gt;
&lt;br /&gt;
Any additional user-made columns will be ignored and will not interfere with import.&lt;br /&gt;
&lt;br /&gt;
Bulk import can currently import Package and Platform Type elements.&lt;br /&gt;
&lt;br /&gt;
== Column-specific Requirements ==&lt;br /&gt;
=== Name, Platform Type GUID ===&lt;br /&gt;
* Either a Name or Platform Type GUID is required. If a Platform Type GUID is given, it must be associated with an existing platform type in the model. &lt;br /&gt;
&lt;br /&gt;
=== Type ===&lt;br /&gt;
* Must be a primitive: Boolean, Octet, Char, WChar, CharArray, WCharArray, String, WString, BoundedString, BoundedWString, Short, UShort, Long, LongLong, ULong, ULongLong, Double, LongDouble, Float, Fixed, IDLArray, IDLSequence, IDLStruct, Enumeration.&lt;br /&gt;
&lt;br /&gt;
=== Realized Element ===&lt;br /&gt;
* Must reference the name of an existing logical:Measurement, logical:MeasurementAxis, or logical:ValueTypeUnit.&lt;br /&gt;
&lt;br /&gt;
=== Package Name, Package GUID ===&lt;br /&gt;
* Leaving this column blank will default Package to the &amp;quot;Phenom&amp;quot; package.&lt;br /&gt;
* Setting this column to an existing Package will default to the first matching Platform Package within the model.&lt;br /&gt;
* If there is no matching Package, a new Package will be created within the &amp;quot;Phenom&amp;quot; Package.&lt;br /&gt;
* If a Package GUID is given, it must reference an existing platform package in the model.&lt;br /&gt;
&lt;br /&gt;
=== Constraint ===&lt;br /&gt;
* Must reference the name of an existing platform:RealRangeConstraint, platform:IntegerRangeConstraint, or platform:RegularExpressionConstraint. &lt;br /&gt;
&lt;br /&gt;
=== Composition Name, Composition Reference, Composition GUID ===&lt;br /&gt;
* If a Composition Name is present, a Composition Reference is required.&lt;br /&gt;
* Composition Reference must reference the name of an existing platform type.&lt;br /&gt;
* If a Composition GUID is given, it must reference an existing composition in the model. &lt;br /&gt;
&lt;br /&gt;
=== Regex ===&lt;br /&gt;
* Does not need to be valid regex.&lt;br /&gt;
&lt;br /&gt;
== Additional Requirements ==&lt;br /&gt;
* Data within Package_Name, Name, Composition_Name must all begin with a letter, and only contain numbers, letters, or underscores. The data must also not match any of the following reserved words:&lt;br /&gt;
** &#039;&#039;&#039;IDL Reserved words:&#039;&#039;&#039;&amp;lt;p&amp;gt;&amp;quot;and&amp;quot;, &amp;quot;begin&amp;quot;, &amp;quot;break&amp;quot;, &amp;quot;case&amp;quot;, &amp;quot;common&amp;quot;, &amp;quot;compile_opt&amp;quot;, &amp;quot;continue&amp;quot;, &amp;quot;do&amp;quot;, &amp;quot;else&amp;quot;, &amp;quot;end&amp;quot;, &amp;quot;endcase&amp;quot;, &amp;quot;endelse&amp;quot;, &amp;quot;endfor&amp;quot;, &amp;quot;endforeach&amp;quot;, &amp;quot;endif&amp;quot;, &amp;quot;endrep&amp;quot;, &amp;quot;endswitch&amp;quot;, &amp;quot;endwhile&amp;quot;, &amp;quot;eq&amp;quot;, &amp;quot;for&amp;quot;, &amp;quot;foreach&amp;quot;, &amp;quot;forward_function&amp;quot;, &amp;quot;function&amp;quot;, &amp;quot;ge&amp;quot;, &amp;quot;goto&amp;quot;, &amp;quot;gt&amp;quot;, &amp;quot;if&amp;quot;, &amp;quot;inherits&amp;quot;, &amp;quot;le&amp;quot;, &amp;quot;lt&amp;quot;, &amp;quot;mod&amp;quot;, &amp;quot;ne&amp;quot;, &amp;quot;not&amp;quot;, &amp;quot;of&amp;quot;, &amp;quot;on_ioerror&amp;quot;, &amp;quot;or&amp;quot;, &amp;quot;pro&amp;quot;, &amp;quot;repeat&amp;quot;, &amp;quot;switch&amp;quot;, &amp;quot;then&amp;quot;, &amp;quot;until&amp;quot;, &amp;quot;while&amp;quot;, &amp;quot;xor&amp;quot;&amp;lt;/p&amp;gt;&lt;br /&gt;
** &#039;&#039;&#039;OCL Reserved words:&#039;&#039;&#039;&amp;lt;p&amp;gt; &amp;quot;abstract&amp;quot;, &amp;quot;any&amp;quot;, &amp;quot;attribute&amp;quot;, &amp;quot;boolean&amp;quot;, &amp;quot;case&amp;quot;, &amp;quot;char&amp;quot;, &amp;quot;component&amp;quot;, &amp;quot;const&amp;quot;, &amp;quot;consumes&amp;quot;, &amp;quot;context&amp;quot;, &amp;quot;custom&amp;quot;, &amp;quot;default&amp;quot;, &amp;quot;double&amp;quot;, &amp;quot;emits&amp;quot;, &amp;quot;enum&amp;quot;, &amp;quot;eventtype&amp;quot;, &amp;quot;exception&amp;quot;, &amp;quot;factory&amp;quot;, &amp;quot;false&amp;quot;, &amp;quot;finder&amp;quot;, &amp;quot;fixed&amp;quot;, &amp;quot;float&amp;quot;, &amp;quot;getraises&amp;quot;, &amp;quot;home&amp;quot;, &amp;quot;import&amp;quot;, &amp;quot;in&amp;quot;, &amp;quot;inout&amp;quot;, &amp;quot;interface&amp;quot;, &amp;quot;local&amp;quot;, &amp;quot;long&amp;quot;, &amp;quot;manages&amp;quot;, &amp;quot;module&amp;quot;, &amp;quot;multiple&amp;quot;, &amp;quot;native&amp;quot;, &amp;quot;object&amp;quot;, &amp;quot;octet&amp;quot;, &amp;quot;oneway&amp;quot;, &amp;quot;out&amp;quot;, &amp;quot;primarykey&amp;quot;, &amp;quot;private&amp;quot;, &amp;quot;provides&amp;quot;, &amp;quot;public&amp;quot;, &amp;quot;publishes&amp;quot;, &amp;quot;raises&amp;quot;, &amp;quot;readonly&amp;quot;, &amp;quot;sequence&amp;quot;, &amp;quot;setraises&amp;quot;, &amp;quot;short&amp;quot;, &amp;quot;string&amp;quot;, &amp;quot;struct&amp;quot;, &amp;quot;supports&amp;quot;, &amp;quot;switch&amp;quot;, &amp;quot;true&amp;quot;, &amp;quot;truncatable&amp;quot;, &amp;quot;typedef&amp;quot;, &amp;quot;typeid&amp;quot;, &amp;quot;typeprefix&amp;quot;, &amp;quot;union&amp;quot;, &amp;quot;unsigned&amp;quot;, &amp;quot;uses&amp;quot;, &amp;quot;valuebase&amp;quot;, &amp;quot;valuetype&amp;quot;, &amp;quot;void&amp;quot;, &amp;quot;wchar&amp;quot;, &amp;quot;wstring&amp;quot;&amp;lt;/p&amp;gt;&lt;br /&gt;
* If there are any errors during validation of the CSV file, the model import will not be initiated and a list of errors will be returned. They will be labeled by the row they occur on for convenience.&lt;br /&gt;
* There is a 2MB limit in place - if a larger file needs to be imported, it needs to be split up into smaller files.&lt;br /&gt;
* In the raw CSV (i.e., as observed from notepad), any field with commas must have surrounding quotes (Excel normally handles this).&lt;/div&gt;</summary>
		<author><name>Annie</name></author>
	</entry>
	<entry>
		<id>https://kb.phenomportal.com/index.php?title=CSV&amp;diff=1587</id>
		<title>CSV</title>
		<link rel="alternate" type="text/html" href="https://kb.phenomportal.com/index.php?title=CSV&amp;diff=1587"/>
		<updated>2026-02-06T20:03:33Z</updated>

		<summary type="html">&lt;p&gt;Annie: Added Constraint import page link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The CSV import tool allows users to bulk import data into their model, both creating new nodes and editing existing nodes.&lt;br /&gt;
&lt;br /&gt;
[[File:Csv before import.png|frameless|1199x1199px]]&lt;br /&gt;
&lt;br /&gt;
Simply select a CSV file to import which is less than 5MB, and press the import button. Depending on the size of the file, it may take some time to process. &lt;br /&gt;
&lt;br /&gt;
When the processing is finished, an error message will appear if the columns in the CSV file do not fit any of the acceptable formats. If the imported CSV file is valid, a table will appear for review displaying all of the created and edited nodes, as well as a summary of the import.&lt;br /&gt;
&lt;br /&gt;
[[File:Csv after import.png|frameless|1190x1190px]]&lt;br /&gt;
&lt;br /&gt;
Visible in the list is the following information about the processed node:&lt;br /&gt;
&lt;br /&gt;
* Row Number (corresponding to the CSV line number in which the node was created or edited)&lt;br /&gt;
* Node Name&lt;br /&gt;
* Node Validity&lt;br /&gt;
* Node Type&lt;br /&gt;
* Node Guid (If this would be a new node, the guid would be replaced with &amp;quot;New&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
There are many actions to take on this table, including:&lt;br /&gt;
&lt;br /&gt;
* Nodes may be manually selected or unselected to be saved using the check box in the far left of the row. All rows are selected by default.&lt;br /&gt;
* Select a node to see and potentially edit its attributes. If the node is not valid, the node must be edited before finishing the import.&lt;br /&gt;
* Reset any manual edits made to the node using the far right column in the row.&lt;br /&gt;
&lt;br /&gt;
To save the changes displayed to the model, press the &amp;quot;FINISH IMPORT&amp;quot; button. Navigating away before pressing this button will not save any of the processed nodes.&lt;br /&gt;
&lt;br /&gt;
== CSV Header Formats ==&lt;br /&gt;
Valid formats a user can import are:&lt;br /&gt;
* Views &amp;amp; View Characteristics (see [[Formatting a CSV for View Import]])&lt;br /&gt;
* Enumerations (see [[Formatting a CSV for Enum Import]])&lt;br /&gt;
* Entities &amp;amp; Associations (see [[Formatting a CSV for Entities and Associations Import]])&lt;br /&gt;
* Constraints (See [[Formatting a CSV for Constraint Import]])&lt;br /&gt;
* Platform Types&lt;br /&gt;
* UoPs (see [[Formatting a CSV for UoP Import]])&lt;/div&gt;</summary>
		<author><name>Annie</name></author>
	</entry>
	<entry>
		<id>https://kb.phenomportal.com/index.php?title=Formatting_a_CSV_for_Constraint_Import&amp;diff=1586</id>
		<title>Formatting a CSV for Constraint Import</title>
		<link rel="alternate" type="text/html" href="https://kb.phenomportal.com/index.php?title=Formatting_a_CSV_for_Constraint_Import&amp;diff=1586"/>
		<updated>2026-02-06T20:02:42Z</updated>

		<summary type="html">&lt;p&gt;Annie: Added Constraint import page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;To bulk import constraints, the CSV file should be formatted as described in this article.&lt;br /&gt;
&lt;br /&gt;
== General Column/Data Requirements ==&lt;br /&gt;
The following column headers must exist and contain data in each row:&lt;br /&gt;
* Constraint_Name or Constraint_GUID&lt;br /&gt;
* Constraint_Type&lt;br /&gt;
&lt;br /&gt;
The following columns are optional (for example, the Package columns are only there to specify destination if desired): &lt;br /&gt;
* Constraint_Description&lt;br /&gt;
* Package_Name&lt;br /&gt;
* Package_GUID&lt;br /&gt;
* LB&lt;br /&gt;
* UB&lt;br /&gt;
* LB_Inclusive&lt;br /&gt;
* UB_Inclusive&lt;br /&gt;
* Regex&lt;br /&gt;
&lt;br /&gt;
The order of the columns is not enforced, it does not have to be in the same order as the suggested format above.&lt;br /&gt;
&lt;br /&gt;
Any additional user-made columns will be ignored and will not interfere with import.&lt;br /&gt;
&lt;br /&gt;
Bulk import can currently import Package and Constraint elements.&lt;br /&gt;
&lt;br /&gt;
== Column-specific Requirements ==&lt;br /&gt;
=== Constraint Name, Constraint_GUID ===&lt;br /&gt;
* Either a Constraint Name or Constraint GUID is required. If a Constraint GUID is given, it must be associated with an existing constraint in the model. &lt;br /&gt;
&lt;br /&gt;
=== Constraint Type ===&lt;br /&gt;
* Must be one of the following values: Integer, String, Real.&lt;br /&gt;
&lt;br /&gt;
=== Package Name, Package GUID ===&lt;br /&gt;
* Leaving this column blank will default Package to the &amp;quot;Phenom&amp;quot; package.&lt;br /&gt;
* Setting this column to an existing Package will default to the first matching Conceptual Package within the model.&lt;br /&gt;
* If there is no matching Package, a new Package will be created within the &amp;quot;Phenom&amp;quot; Package.&lt;br /&gt;
* If a Package GUID is given, it must reference an existing UoP package in the model.&lt;br /&gt;
&lt;br /&gt;
=== LB, UB ===&lt;br /&gt;
* Denote the lower and upper bounds for a constraint.&lt;br /&gt;
* Must be a number.&lt;br /&gt;
&lt;br /&gt;
=== LB Inclusive, UB Inclusive ===&lt;br /&gt;
* Must be a boolean: true, false.&lt;br /&gt;
&lt;br /&gt;
=== Regex ===&lt;br /&gt;
* Does not need to be valid regex.&lt;br /&gt;
&lt;br /&gt;
== Additional Requirements ==&lt;br /&gt;
* Data within Package_Name and Constraint_Name must all begin with a letter, and only contain numbers, letters, or underscores. The data must also not match any of the following reserved words:&lt;br /&gt;
** &#039;&#039;&#039;IDL Reserved words:&#039;&#039;&#039;&amp;lt;p&amp;gt;&amp;quot;and&amp;quot;, &amp;quot;begin&amp;quot;, &amp;quot;break&amp;quot;, &amp;quot;case&amp;quot;, &amp;quot;common&amp;quot;, &amp;quot;compile_opt&amp;quot;, &amp;quot;continue&amp;quot;, &amp;quot;do&amp;quot;, &amp;quot;else&amp;quot;, &amp;quot;end&amp;quot;, &amp;quot;endcase&amp;quot;, &amp;quot;endelse&amp;quot;, &amp;quot;endfor&amp;quot;, &amp;quot;endforeach&amp;quot;, &amp;quot;endif&amp;quot;, &amp;quot;endrep&amp;quot;, &amp;quot;endswitch&amp;quot;, &amp;quot;endwhile&amp;quot;, &amp;quot;eq&amp;quot;, &amp;quot;for&amp;quot;, &amp;quot;foreach&amp;quot;, &amp;quot;forward_function&amp;quot;, &amp;quot;function&amp;quot;, &amp;quot;ge&amp;quot;, &amp;quot;goto&amp;quot;, &amp;quot;gt&amp;quot;, &amp;quot;if&amp;quot;, &amp;quot;inherits&amp;quot;, &amp;quot;le&amp;quot;, &amp;quot;lt&amp;quot;, &amp;quot;mod&amp;quot;, &amp;quot;ne&amp;quot;, &amp;quot;not&amp;quot;, &amp;quot;of&amp;quot;, &amp;quot;on_ioerror&amp;quot;, &amp;quot;or&amp;quot;, &amp;quot;pro&amp;quot;, &amp;quot;repeat&amp;quot;, &amp;quot;switch&amp;quot;, &amp;quot;then&amp;quot;, &amp;quot;until&amp;quot;, &amp;quot;while&amp;quot;, &amp;quot;xor&amp;quot;&amp;lt;/p&amp;gt;&lt;br /&gt;
** &#039;&#039;&#039;OCL Reserved words:&#039;&#039;&#039;&amp;lt;p&amp;gt; &amp;quot;abstract&amp;quot;, &amp;quot;any&amp;quot;, &amp;quot;attribute&amp;quot;, &amp;quot;boolean&amp;quot;, &amp;quot;case&amp;quot;, &amp;quot;char&amp;quot;, &amp;quot;component&amp;quot;, &amp;quot;const&amp;quot;, &amp;quot;consumes&amp;quot;, &amp;quot;context&amp;quot;, &amp;quot;custom&amp;quot;, &amp;quot;default&amp;quot;, &amp;quot;double&amp;quot;, &amp;quot;emits&amp;quot;, &amp;quot;enum&amp;quot;, &amp;quot;eventtype&amp;quot;, &amp;quot;exception&amp;quot;, &amp;quot;factory&amp;quot;, &amp;quot;false&amp;quot;, &amp;quot;finder&amp;quot;, &amp;quot;fixed&amp;quot;, &amp;quot;float&amp;quot;, &amp;quot;getraises&amp;quot;, &amp;quot;home&amp;quot;, &amp;quot;import&amp;quot;, &amp;quot;in&amp;quot;, &amp;quot;inout&amp;quot;, &amp;quot;interface&amp;quot;, &amp;quot;local&amp;quot;, &amp;quot;long&amp;quot;, &amp;quot;manages&amp;quot;, &amp;quot;module&amp;quot;, &amp;quot;multiple&amp;quot;, &amp;quot;native&amp;quot;, &amp;quot;object&amp;quot;, &amp;quot;octet&amp;quot;, &amp;quot;oneway&amp;quot;, &amp;quot;out&amp;quot;, &amp;quot;primarykey&amp;quot;, &amp;quot;private&amp;quot;, &amp;quot;provides&amp;quot;, &amp;quot;public&amp;quot;, &amp;quot;publishes&amp;quot;, &amp;quot;raises&amp;quot;, &amp;quot;readonly&amp;quot;, &amp;quot;sequence&amp;quot;, &amp;quot;setraises&amp;quot;, &amp;quot;short&amp;quot;, &amp;quot;string&amp;quot;, &amp;quot;struct&amp;quot;, &amp;quot;supports&amp;quot;, &amp;quot;switch&amp;quot;, &amp;quot;true&amp;quot;, &amp;quot;truncatable&amp;quot;, &amp;quot;typedef&amp;quot;, &amp;quot;typeid&amp;quot;, &amp;quot;typeprefix&amp;quot;, &amp;quot;union&amp;quot;, &amp;quot;unsigned&amp;quot;, &amp;quot;uses&amp;quot;, &amp;quot;valuebase&amp;quot;, &amp;quot;valuetype&amp;quot;, &amp;quot;void&amp;quot;, &amp;quot;wchar&amp;quot;, &amp;quot;wstring&amp;quot;&amp;lt;/p&amp;gt;&lt;br /&gt;
* If there are any errors during validation of the CSV file, the model import will not be initiated and a list of errors will be returned. They will be labeled by the row they occur on for convenience.&lt;br /&gt;
* There is a 2MB limit in place - if a larger file needs to be imported, it needs to be split up into smaller files.&lt;br /&gt;
* In the raw CSV (i.e., as observed from notepad), any field with commas must have surrounding quotes (Excel normally handles this).&lt;/div&gt;</summary>
		<author><name>Annie</name></author>
	</entry>
	<entry>
		<id>https://kb.phenomportal.com/index.php?title=Formatting_a_CSV_for_UoP_Import&amp;diff=1585</id>
		<title>Formatting a CSV for UoP Import</title>
		<link rel="alternate" type="text/html" href="https://kb.phenomportal.com/index.php?title=Formatting_a_CSV_for_UoP_Import&amp;diff=1585"/>
		<updated>2026-02-06T19:58:35Z</updated>

		<summary type="html">&lt;p&gt;Annie: Added Package GUID&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;To bulk import UoPs, the CSV file should be formatted as described in this article.&lt;br /&gt;
&lt;br /&gt;
== General Column/Data Requirements ==&lt;br /&gt;
The following column headers must exist and contain data in each row:&lt;br /&gt;
* UoP_Name or UoP_GUID&lt;br /&gt;
&lt;br /&gt;
The following columns are optional (for example, the Package columns are only there to specify destination if desired): &lt;br /&gt;
* Package_Name&lt;br /&gt;
* Package_Description&lt;br /&gt;
* Package_GUID&lt;br /&gt;
* UoP_Description&lt;br /&gt;
* UoP_Tags&lt;br /&gt;
* Port_Name&lt;br /&gt;
* Port_Description&lt;br /&gt;
* Port_GUID&lt;br /&gt;
* Pattern&lt;br /&gt;
* Message_Request_Type&lt;br /&gt;
* Component_Type&lt;br /&gt;
* Partition_Type&lt;br /&gt;
* Transport_API_Language&lt;br /&gt;
* Profile&lt;br /&gt;
* Language&lt;br /&gt;
* Synch_Style&lt;br /&gt;
* Response_Type&lt;br /&gt;
* Exchange_Type&lt;br /&gt;
* Communication_Style&lt;br /&gt;
* Period&lt;br /&gt;
&lt;br /&gt;
The order of the columns is not enforced, it does not have to be in the same order as the suggested format above.&lt;br /&gt;
&lt;br /&gt;
Any additional user-made columns will be ignored and will not interfere with import.&lt;br /&gt;
&lt;br /&gt;
Bulk import can currently import Package, UoP, and Port elements.&lt;br /&gt;
&lt;br /&gt;
== Column-specific Requirements ==&lt;br /&gt;
=== UoP Name, UoP GUID ===&lt;br /&gt;
Either a UoP Name or UoP GUID is required. If a UoP GUID is given, it must be associated with an existing UoP in the model. &lt;br /&gt;
&lt;br /&gt;
=== Package Name, Package GUID ===&lt;br /&gt;
* Leaving this column blank will default Package to the &amp;quot;Phenom&amp;quot; package.&lt;br /&gt;
* Setting this column to an existing Package will default to the first matching UoP Package within the model.&lt;br /&gt;
* If there is no matching Package, a new Package will be created within the &amp;quot;Phenom&amp;quot; Package.&lt;br /&gt;
* If a Package GUID is given, it must reference an existing UoP package in the model. &lt;br /&gt;
&lt;br /&gt;
=== Port Name ===&lt;br /&gt;
* Port Names must be unique to the UoP they are imported under.&lt;br /&gt;
* Ports belonging to different UoPs may have the same name.&lt;br /&gt;
&lt;br /&gt;
=== Pattern ===&lt;br /&gt;
* Corresponds to the messagingPattern attribute on a port.&lt;br /&gt;
* Must be one of the following values: pub-sub, Client, Server.&lt;br /&gt;
&lt;br /&gt;
=== Message Request Type, Request Type, Response Type ===&lt;br /&gt;
* Correspond to the messageType, requestType, and responseType attributes on a port.&lt;br /&gt;
* Must reference the name of a view in the model.&lt;br /&gt;
&lt;br /&gt;
=== Component Type ===&lt;br /&gt;
* Denotes the xmi:type of UoP.&lt;br /&gt;
* Must be one of the following values: PlatformSpecific, Portable.&lt;br /&gt;
&lt;br /&gt;
=== Partition Type ===&lt;br /&gt;
* Denotes the partitionType attribute on a UoP.&lt;br /&gt;
* Most be one of the following values: POSIX, ARINC653.&lt;br /&gt;
&lt;br /&gt;
=== Transport API Language ===&lt;br /&gt;
* Denotes the transportAPILanguage attribute on a UoP.&lt;br /&gt;
* Must be one of the following values: C, CPP, Java, Ada.&lt;br /&gt;
&lt;br /&gt;
=== Profile ===&lt;br /&gt;
* Denotes the faceProfile attribute on a UoP.&lt;br /&gt;
* Must be one of the following values: GeneralPurpose, Security, SafetyBase, SafetyExtended.&lt;br /&gt;
&lt;br /&gt;
=== Language ===&lt;br /&gt;
* Denotes the programmingLanguage attribute on a port.&lt;br /&gt;
* Must be one of the following values: C, CPP, Java, Ada.&lt;br /&gt;
&lt;br /&gt;
=== Synch Style ===&lt;br /&gt;
* Denotes the synchronizationStyle attribute on a port.&lt;br /&gt;
* Must be one of the following values: Blocking, NonBlocking.&lt;br /&gt;
&lt;br /&gt;
=== Exchange Type ===&lt;br /&gt;
* Denotes the messageExchangeType attribute on a port.&lt;br /&gt;
* Must be one of the following values: InboundMessage, OutboundMessage.&lt;br /&gt;
&lt;br /&gt;
=== Communication Style ===&lt;br /&gt;
* Denotes the communicationStyle attribute on a port.&lt;br /&gt;
* Must be one of the following values: Queuing, SingleInstanceMessaging.&lt;br /&gt;
&lt;br /&gt;
=== Period ===&lt;br /&gt;
* Denotes the period attribute on a port.&lt;br /&gt;
* Must be a number.&lt;br /&gt;
&lt;br /&gt;
== Tagging New Elements (Optional) ==&lt;br /&gt;
UoP_Tags is an optional column can be used to tag new UoPs. Each field can have multiple comma-delimited tags.&lt;br /&gt;
&lt;br /&gt;
The raw CSV must have quotes around fields with commas (Excel normally handles this).&lt;br /&gt;
&lt;br /&gt;
== Additional Requirements ==&lt;br /&gt;
* Data within Package_Name, UoP_Name, and Port_Name must all begin with a letter, and only contain numbers, letters, or underscores. The data must also not match any of the following reserved words:&lt;br /&gt;
** &#039;&#039;&#039;IDL Reserved words:&#039;&#039;&#039;&amp;lt;p&amp;gt;&amp;quot;and&amp;quot;, &amp;quot;begin&amp;quot;, &amp;quot;break&amp;quot;, &amp;quot;case&amp;quot;, &amp;quot;common&amp;quot;, &amp;quot;compile_opt&amp;quot;, &amp;quot;continue&amp;quot;, &amp;quot;do&amp;quot;, &amp;quot;else&amp;quot;, &amp;quot;end&amp;quot;, &amp;quot;endcase&amp;quot;, &amp;quot;endelse&amp;quot;, &amp;quot;endfor&amp;quot;, &amp;quot;endforeach&amp;quot;, &amp;quot;endif&amp;quot;, &amp;quot;endrep&amp;quot;, &amp;quot;endswitch&amp;quot;, &amp;quot;endwhile&amp;quot;, &amp;quot;eq&amp;quot;, &amp;quot;for&amp;quot;, &amp;quot;foreach&amp;quot;, &amp;quot;forward_function&amp;quot;, &amp;quot;function&amp;quot;, &amp;quot;ge&amp;quot;, &amp;quot;goto&amp;quot;, &amp;quot;gt&amp;quot;, &amp;quot;if&amp;quot;, &amp;quot;inherits&amp;quot;, &amp;quot;le&amp;quot;, &amp;quot;lt&amp;quot;, &amp;quot;mod&amp;quot;, &amp;quot;ne&amp;quot;, &amp;quot;not&amp;quot;, &amp;quot;of&amp;quot;, &amp;quot;on_ioerror&amp;quot;, &amp;quot;or&amp;quot;, &amp;quot;pro&amp;quot;, &amp;quot;repeat&amp;quot;, &amp;quot;switch&amp;quot;, &amp;quot;then&amp;quot;, &amp;quot;until&amp;quot;, &amp;quot;while&amp;quot;, &amp;quot;xor&amp;quot;&amp;lt;/p&amp;gt;&lt;br /&gt;
** &#039;&#039;&#039;OCL Reserved words:&#039;&#039;&#039;&amp;lt;p&amp;gt; &amp;quot;abstract&amp;quot;, &amp;quot;any&amp;quot;, &amp;quot;attribute&amp;quot;, &amp;quot;boolean&amp;quot;, &amp;quot;case&amp;quot;, &amp;quot;char&amp;quot;, &amp;quot;component&amp;quot;, &amp;quot;const&amp;quot;, &amp;quot;consumes&amp;quot;, &amp;quot;context&amp;quot;, &amp;quot;custom&amp;quot;, &amp;quot;default&amp;quot;, &amp;quot;double&amp;quot;, &amp;quot;emits&amp;quot;, &amp;quot;enum&amp;quot;, &amp;quot;eventtype&amp;quot;, &amp;quot;exception&amp;quot;, &amp;quot;factory&amp;quot;, &amp;quot;false&amp;quot;, &amp;quot;finder&amp;quot;, &amp;quot;fixed&amp;quot;, &amp;quot;float&amp;quot;, &amp;quot;getraises&amp;quot;, &amp;quot;home&amp;quot;, &amp;quot;import&amp;quot;, &amp;quot;in&amp;quot;, &amp;quot;inout&amp;quot;, &amp;quot;interface&amp;quot;, &amp;quot;local&amp;quot;, &amp;quot;long&amp;quot;, &amp;quot;manages&amp;quot;, &amp;quot;module&amp;quot;, &amp;quot;multiple&amp;quot;, &amp;quot;native&amp;quot;, &amp;quot;object&amp;quot;, &amp;quot;octet&amp;quot;, &amp;quot;oneway&amp;quot;, &amp;quot;out&amp;quot;, &amp;quot;primarykey&amp;quot;, &amp;quot;private&amp;quot;, &amp;quot;provides&amp;quot;, &amp;quot;public&amp;quot;, &amp;quot;publishes&amp;quot;, &amp;quot;raises&amp;quot;, &amp;quot;readonly&amp;quot;, &amp;quot;sequence&amp;quot;, &amp;quot;setraises&amp;quot;, &amp;quot;short&amp;quot;, &amp;quot;string&amp;quot;, &amp;quot;struct&amp;quot;, &amp;quot;supports&amp;quot;, &amp;quot;switch&amp;quot;, &amp;quot;true&amp;quot;, &amp;quot;truncatable&amp;quot;, &amp;quot;typedef&amp;quot;, &amp;quot;typeid&amp;quot;, &amp;quot;typeprefix&amp;quot;, &amp;quot;union&amp;quot;, &amp;quot;unsigned&amp;quot;, &amp;quot;uses&amp;quot;, &amp;quot;valuebase&amp;quot;, &amp;quot;valuetype&amp;quot;, &amp;quot;void&amp;quot;, &amp;quot;wchar&amp;quot;, &amp;quot;wstring&amp;quot;&amp;lt;/p&amp;gt;&lt;br /&gt;
* If there are any errors during validation of the CSV file, the model import will not be initiated and a list of errors will be returned. They will be labeled by the row they occur on for convenience.&lt;br /&gt;
* There is a 2MB limit in place - if a larger file needs to be imported, it needs to be split up into smaller files.&lt;br /&gt;
* In the raw CSV (i.e., as observed from notepad), any field with commas must have surrounding quotes (Excel normally handles this).&lt;/div&gt;</summary>
		<author><name>Annie</name></author>
	</entry>
	<entry>
		<id>https://kb.phenomportal.com/index.php?title=CSV&amp;diff=1584</id>
		<title>CSV</title>
		<link rel="alternate" type="text/html" href="https://kb.phenomportal.com/index.php?title=CSV&amp;diff=1584"/>
		<updated>2026-02-06T19:51:48Z</updated>

		<summary type="html">&lt;p&gt;Annie: Added link to UoP formatting page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The CSV import tool allows users to bulk import data into their model, both creating new nodes and editing existing nodes.&lt;br /&gt;
&lt;br /&gt;
[[File:Csv before import.png|frameless|1199x1199px]]&lt;br /&gt;
&lt;br /&gt;
Simply select a CSV file to import which is less than 5MB, and press the import button. Depending on the size of the file, it may take some time to process. &lt;br /&gt;
&lt;br /&gt;
When the processing is finished, an error message will appear if the columns in the CSV file do not fit any of the acceptable formats. If the imported CSV file is valid, a table will appear for review displaying all of the created and edited nodes, as well as a summary of the import.&lt;br /&gt;
&lt;br /&gt;
[[File:Csv after import.png|frameless|1190x1190px]]&lt;br /&gt;
&lt;br /&gt;
Visible in the list is the following information about the processed node:&lt;br /&gt;
&lt;br /&gt;
* Row Number (corresponding to the CSV line number in which the node was created or edited)&lt;br /&gt;
* Node Name&lt;br /&gt;
* Node Validity&lt;br /&gt;
* Node Type&lt;br /&gt;
* Node Guid (If this would be a new node, the guid would be replaced with &amp;quot;New&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
There are many actions to take on this table, including:&lt;br /&gt;
&lt;br /&gt;
* Nodes may be manually selected or unselected to be saved using the check box in the far left of the row. All rows are selected by default.&lt;br /&gt;
* Select a node to see and potentially edit its attributes. If the node is not valid, the node must be edited before finishing the import.&lt;br /&gt;
* Reset any manual edits made to the node using the far right column in the row.&lt;br /&gt;
&lt;br /&gt;
To save the changes displayed to the model, press the &amp;quot;FINISH IMPORT&amp;quot; button. Navigating away before pressing this button will not save any of the processed nodes.&lt;br /&gt;
&lt;br /&gt;
== CSV Header Formats ==&lt;br /&gt;
Valid formats a user can import are:&lt;br /&gt;
* Views &amp;amp; View Characteristics (see [[Formatting a CSV for View Import]])&lt;br /&gt;
* Enumerations (see [[Formatting a CSV for Enum Import]])&lt;br /&gt;
* Entities &amp;amp; Associations (see [[Formatting a CSV for Entities and Associations Import]])&lt;br /&gt;
* Constraints&lt;br /&gt;
* Platform Types&lt;br /&gt;
* UoPs (see [[Formatting a CSV for UoP Import]])&lt;/div&gt;</summary>
		<author><name>Annie</name></author>
	</entry>
	<entry>
		<id>https://kb.phenomportal.com/index.php?title=Formatting_a_CSV_for_UoP_Import&amp;diff=1583</id>
		<title>Formatting a CSV for UoP Import</title>
		<link rel="alternate" type="text/html" href="https://kb.phenomportal.com/index.php?title=Formatting_a_CSV_for_UoP_Import&amp;diff=1583"/>
		<updated>2026-02-06T19:50:24Z</updated>

		<summary type="html">&lt;p&gt;Annie: Added UoP import page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;To bulk import UoPs, the CSV file should be formatted as described in this article.&lt;br /&gt;
&lt;br /&gt;
== General Column/Data Requirements ==&lt;br /&gt;
The following column headers must exist and contain data in each row:&lt;br /&gt;
* UoP_Name or UoP_GUID&lt;br /&gt;
&lt;br /&gt;
The following columns are optional (for example, the Package columns are only there to specify destination if desired): &lt;br /&gt;
* Package_Name&lt;br /&gt;
* Package_Description&lt;br /&gt;
* Package_GUID&lt;br /&gt;
* UoP_Description&lt;br /&gt;
* UoP_Tags&lt;br /&gt;
* Port_Name&lt;br /&gt;
* Port_Description&lt;br /&gt;
* Port_GUID&lt;br /&gt;
* Pattern&lt;br /&gt;
* Message_Request_Type&lt;br /&gt;
* Component_Type&lt;br /&gt;
* Partition_Type&lt;br /&gt;
* Transport_API_Language&lt;br /&gt;
* Profile&lt;br /&gt;
* Language&lt;br /&gt;
* Synch_Style&lt;br /&gt;
* Response_Type&lt;br /&gt;
* Exchange_Type&lt;br /&gt;
* Communication_Style&lt;br /&gt;
* Period&lt;br /&gt;
&lt;br /&gt;
The order of the columns is not enforced, it does not have to be in the same order as the suggested format above.&lt;br /&gt;
&lt;br /&gt;
Any additional user-made columns will be ignored and will not interfere with import.&lt;br /&gt;
&lt;br /&gt;
Bulk import can currently import Package, View, and Characteristic elements.&lt;br /&gt;
&lt;br /&gt;
== Column-specific Requirements ==&lt;br /&gt;
=== UoP Name, UoP GUID ===&lt;br /&gt;
Either a UoP Name or UoP GUID is required. If a UoP GUID is given, it must be associated with an existing UoP in the model. &lt;br /&gt;
&lt;br /&gt;
=== Package Name ===&lt;br /&gt;
* Leaving this column blank will default Package to the &amp;quot;Phenom&amp;quot; package.&lt;br /&gt;
* Setting this column to an existing Package will default to the first matching UoP Package within the model.&lt;br /&gt;
* If there is no matching Package, a new Package will be created within the &amp;quot;Phenom&amp;quot; Package.&lt;br /&gt;
&lt;br /&gt;
=== Port Name ===&lt;br /&gt;
* Port Names must be unique to the UoP they are imported under.&lt;br /&gt;
* Ports belonging to different UoPs may have the same name.&lt;br /&gt;
&lt;br /&gt;
=== Pattern ===&lt;br /&gt;
* Corresponds to the messagingPattern attribute on a port.&lt;br /&gt;
* Must be one of the following values: pub-sub, Client, Server.&lt;br /&gt;
&lt;br /&gt;
=== Message Request Type, Request Type, Response Type ===&lt;br /&gt;
* Correspond to the messageType, requestType, and responseType attributes on a port.&lt;br /&gt;
* Must reference the name of a view in the model.&lt;br /&gt;
&lt;br /&gt;
=== Component Type ===&lt;br /&gt;
* Denotes the xmi:type of UoP.&lt;br /&gt;
* Must be one of the following values: PlatformSpecific, Portable.&lt;br /&gt;
&lt;br /&gt;
=== Partition Type ===&lt;br /&gt;
* Denotes the partitionType attribute on a UoP.&lt;br /&gt;
* Most be one of the following values: POSIX, ARINC653.&lt;br /&gt;
&lt;br /&gt;
=== Transport API Language ===&lt;br /&gt;
* Denotes the transportAPILanguage attribute on a UoP.&lt;br /&gt;
* Must be one of the following values: C, CPP, Java, Ada.&lt;br /&gt;
&lt;br /&gt;
=== Profile ===&lt;br /&gt;
* Denotes the faceProfile attribute on a UoP.&lt;br /&gt;
* Must be one of the following values: GeneralPurpose, Security, SafetyBase, SafetyExtended.&lt;br /&gt;
&lt;br /&gt;
=== Language ===&lt;br /&gt;
* Denotes the programmingLanguage attribute on a port.&lt;br /&gt;
* Must be one of the following values: C, CPP, Java, Ada.&lt;br /&gt;
&lt;br /&gt;
=== Synch Style ===&lt;br /&gt;
* Denotes the synchronizationStyle attribute on a port.&lt;br /&gt;
* Must be one of the following values: Blocking, NonBlocking.&lt;br /&gt;
&lt;br /&gt;
=== Exchange Type ===&lt;br /&gt;
* Denotes the messageExchangeType attribute on a port.&lt;br /&gt;
* Must be one of the following values: InboundMessage, OutboundMessage.&lt;br /&gt;
&lt;br /&gt;
=== Communication Style ===&lt;br /&gt;
* Denotes the communicationStyle attribute on a port.&lt;br /&gt;
* Must be one of the following values: Queuing, SingleInstanceMessaging.&lt;br /&gt;
&lt;br /&gt;
=== Period ===&lt;br /&gt;
* Denotes the period attribute on a port.&lt;br /&gt;
* Must be a number.&lt;br /&gt;
&lt;br /&gt;
== Tagging New Elements (Optional) ==&lt;br /&gt;
UoP_Tags is an optional column can be used to tag new UoPs. Each field can have multiple comma-delimited tags.&lt;br /&gt;
&lt;br /&gt;
The raw CSV must have quotes around fields with commas (Excel normally handles this).&lt;br /&gt;
&lt;br /&gt;
== Additional Requirements ==&lt;br /&gt;
* Data within Package_Name, UoP_Name, and Port_Name must all begin with a letter, and only contain numbers, letters, or underscores. The data must also not match any of the following reserved words:&lt;br /&gt;
** &#039;&#039;&#039;IDL Reserved words:&#039;&#039;&#039;&amp;lt;p&amp;gt;&amp;quot;and&amp;quot;, &amp;quot;begin&amp;quot;, &amp;quot;break&amp;quot;, &amp;quot;case&amp;quot;, &amp;quot;common&amp;quot;, &amp;quot;compile_opt&amp;quot;, &amp;quot;continue&amp;quot;, &amp;quot;do&amp;quot;, &amp;quot;else&amp;quot;, &amp;quot;end&amp;quot;, &amp;quot;endcase&amp;quot;, &amp;quot;endelse&amp;quot;, &amp;quot;endfor&amp;quot;, &amp;quot;endforeach&amp;quot;, &amp;quot;endif&amp;quot;, &amp;quot;endrep&amp;quot;, &amp;quot;endswitch&amp;quot;, &amp;quot;endwhile&amp;quot;, &amp;quot;eq&amp;quot;, &amp;quot;for&amp;quot;, &amp;quot;foreach&amp;quot;, &amp;quot;forward_function&amp;quot;, &amp;quot;function&amp;quot;, &amp;quot;ge&amp;quot;, &amp;quot;goto&amp;quot;, &amp;quot;gt&amp;quot;, &amp;quot;if&amp;quot;, &amp;quot;inherits&amp;quot;, &amp;quot;le&amp;quot;, &amp;quot;lt&amp;quot;, &amp;quot;mod&amp;quot;, &amp;quot;ne&amp;quot;, &amp;quot;not&amp;quot;, &amp;quot;of&amp;quot;, &amp;quot;on_ioerror&amp;quot;, &amp;quot;or&amp;quot;, &amp;quot;pro&amp;quot;, &amp;quot;repeat&amp;quot;, &amp;quot;switch&amp;quot;, &amp;quot;then&amp;quot;, &amp;quot;until&amp;quot;, &amp;quot;while&amp;quot;, &amp;quot;xor&amp;quot;&amp;lt;/p&amp;gt;&lt;br /&gt;
** &#039;&#039;&#039;OCL Reserved words:&#039;&#039;&#039;&amp;lt;p&amp;gt; &amp;quot;abstract&amp;quot;, &amp;quot;any&amp;quot;, &amp;quot;attribute&amp;quot;, &amp;quot;boolean&amp;quot;, &amp;quot;case&amp;quot;, &amp;quot;char&amp;quot;, &amp;quot;component&amp;quot;, &amp;quot;const&amp;quot;, &amp;quot;consumes&amp;quot;, &amp;quot;context&amp;quot;, &amp;quot;custom&amp;quot;, &amp;quot;default&amp;quot;, &amp;quot;double&amp;quot;, &amp;quot;emits&amp;quot;, &amp;quot;enum&amp;quot;, &amp;quot;eventtype&amp;quot;, &amp;quot;exception&amp;quot;, &amp;quot;factory&amp;quot;, &amp;quot;false&amp;quot;, &amp;quot;finder&amp;quot;, &amp;quot;fixed&amp;quot;, &amp;quot;float&amp;quot;, &amp;quot;getraises&amp;quot;, &amp;quot;home&amp;quot;, &amp;quot;import&amp;quot;, &amp;quot;in&amp;quot;, &amp;quot;inout&amp;quot;, &amp;quot;interface&amp;quot;, &amp;quot;local&amp;quot;, &amp;quot;long&amp;quot;, &amp;quot;manages&amp;quot;, &amp;quot;module&amp;quot;, &amp;quot;multiple&amp;quot;, &amp;quot;native&amp;quot;, &amp;quot;object&amp;quot;, &amp;quot;octet&amp;quot;, &amp;quot;oneway&amp;quot;, &amp;quot;out&amp;quot;, &amp;quot;primarykey&amp;quot;, &amp;quot;private&amp;quot;, &amp;quot;provides&amp;quot;, &amp;quot;public&amp;quot;, &amp;quot;publishes&amp;quot;, &amp;quot;raises&amp;quot;, &amp;quot;readonly&amp;quot;, &amp;quot;sequence&amp;quot;, &amp;quot;setraises&amp;quot;, &amp;quot;short&amp;quot;, &amp;quot;string&amp;quot;, &amp;quot;struct&amp;quot;, &amp;quot;supports&amp;quot;, &amp;quot;switch&amp;quot;, &amp;quot;true&amp;quot;, &amp;quot;truncatable&amp;quot;, &amp;quot;typedef&amp;quot;, &amp;quot;typeid&amp;quot;, &amp;quot;typeprefix&amp;quot;, &amp;quot;union&amp;quot;, &amp;quot;unsigned&amp;quot;, &amp;quot;uses&amp;quot;, &amp;quot;valuebase&amp;quot;, &amp;quot;valuetype&amp;quot;, &amp;quot;void&amp;quot;, &amp;quot;wchar&amp;quot;, &amp;quot;wstring&amp;quot;&amp;lt;/p&amp;gt;&lt;br /&gt;
* If there are any errors during validation of the CSV file, the model import will not be initiated and a list of errors will be returned. They will be labeled by the row they occur on for convenience.&lt;br /&gt;
* There is a 2MB limit in place - if a larger file needs to be imported, it needs to be split up into smaller files.&lt;br /&gt;
* In the raw CSV (i.e., as observed from notepad), any field with commas must have surrounding quotes (Excel normally handles this).&lt;/div&gt;</summary>
		<author><name>Annie</name></author>
	</entry>
	<entry>
		<id>https://kb.phenomportal.com/index.php?title=Formatting_a_CSV_for_Entities_and_Associations_Import&amp;diff=1539</id>
		<title>Formatting a CSV for Entities and Associations Import</title>
		<link rel="alternate" type="text/html" href="https://kb.phenomportal.com/index.php?title=Formatting_a_CSV_for_Entities_and_Associations_Import&amp;diff=1539"/>
		<updated>2026-01-02T22:15:25Z</updated>

		<summary type="html">&lt;p&gt;Annie: /* Element and Attribute Specialization */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;To bulk import model content, the CSV file should be formatted as described in this article.&lt;br /&gt;
&lt;br /&gt;
{{Info| 1=Each row of the CSV creates one attribute on an element. Creation of new elements is incidental and done only if a match isn&#039;t found.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== General Column/Data Requirements ==&lt;br /&gt;
The following column headers must exist and contain data in each row:&lt;br /&gt;
* Element_Name&lt;br /&gt;
* Operation_Type&lt;br /&gt;
* Attribute_Name&lt;br /&gt;
* Attribute_Type&lt;br /&gt;
&lt;br /&gt;
The following columns are optional:&lt;br /&gt;
* Element_Description&lt;br /&gt;
* Element_Tags&lt;br /&gt;
* Attribute_Description&lt;br /&gt;
* Attribute_Tags&lt;br /&gt;
* Association_Path&lt;br /&gt;
* Package_Name&lt;br /&gt;
* Package_Description&lt;br /&gt;
* Package_Tags&lt;br /&gt;
* Element_Specialization&lt;br /&gt;
* Attribute_Specialization&lt;br /&gt;
&lt;br /&gt;
== Column-specific Requirements ==&lt;br /&gt;
=== Element Name &amp;amp; Description ===&lt;br /&gt;
* If an Entity (or Association) with a matching name is found in the model, the attribute will be added to it.&lt;br /&gt;
* New created elements default to a type of Entity.&lt;br /&gt;
* If an Entity (or Association) is created, the description is applied to that new element. If the element already exists, its description (if not an empty string) will be updated with the description provided here.&lt;br /&gt;
&lt;br /&gt;
=== Operation Type &amp;amp; Association Path ===&lt;br /&gt;
* Must be set to &#039;Composition&#039; or &#039;Association&#039;. If Operation_Type is Association, then the Element will automatically be turned into an Association.&lt;br /&gt;
* If the Attribute already exists, it will be updated to be an Associated Entity (i.e., turns the Entity into an Association)&lt;br /&gt;
* There &#039;&#039;&#039;MUST BE AT LEAST TWO&#039;&#039;&#039; associated entities or the creation/update operation will fail. It is possible to only add a single associated entity if the element already exists and already contains an associated entity.&lt;br /&gt;
* By default, the Association Path is empty. This is an advanced concept used to relate to specific attributes of an element rather than the entire element itself.&lt;br /&gt;
&lt;br /&gt;
=== Attribute Name, Type &amp;amp; Description ===&lt;br /&gt;
* Attribute_Name is the desired name for the attribute.&lt;br /&gt;
* Attribute_Type must be a valid Observable, Entity, or Association that either &lt;br /&gt;
** exists in the model, or &lt;br /&gt;
** was created on a previous row.&lt;br /&gt;
* Attribute_Description is the description that will be applied to that attribute. If the attribute already exists, its description (if not an empty string) will be updated with the description provided here.&lt;br /&gt;
&lt;br /&gt;
=== Package Name &amp;amp; Description ===&lt;br /&gt;
* These columns allow you to place new entity in the package specified by Package_Name. If a package with the provided name does not exist, the new package will be created under the PhenomEntities package.&lt;br /&gt;
* Package_Name specified the name of the existing/new package.&lt;br /&gt;
* Package_Description specifies the description that will be applied to that package.&lt;br /&gt;
&lt;br /&gt;
=== Element and Attribute Specialization ===&lt;br /&gt;
* These columns can be used to create new elements specializing other new elements, create new elements specializing existing elements, and update existing elements to specialize new or existing elements.&lt;br /&gt;
* If an element has a child with the same rolename and type as a child to be inherited via a new specialization, Phenom will attempt to align these attributes.&lt;br /&gt;
* The Attribute_Specialization column is used to denote a specialization when that attribute doesn&#039;t necessarily align with the rolename and type of the target specialized attribute. This column must be paired with the Element_Specialization column.&lt;br /&gt;
* Remove a specialization by filling in the corresponding column with &amp;lt;REMOVE&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Tagging (Optional) ==&lt;br /&gt;
* Optional columns can be added in to CSV to tag new Packages, Elements, or Attributes.&lt;br /&gt;
* Each field can have multiple comma delimited tags.&lt;/div&gt;</summary>
		<author><name>Annie</name></author>
	</entry>
	<entry>
		<id>https://kb.phenomportal.com/index.php?title=Formatting_a_CSV_for_View_Import&amp;diff=1538</id>
		<title>Formatting a CSV for View Import</title>
		<link rel="alternate" type="text/html" href="https://kb.phenomportal.com/index.php?title=Formatting_a_CSV_for_View_Import&amp;diff=1538"/>
		<updated>2026-01-02T22:11:53Z</updated>

		<summary type="html">&lt;p&gt;Annie: RM platform_type_guid&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;To bulk import view characteristics, the CSV file should be formatted as described in this article.&lt;br /&gt;
&lt;br /&gt;
== General Column/Data Requirements ==&lt;br /&gt;
The following column headers must exist and contain data in each row:&lt;br /&gt;
* View_Name&lt;br /&gt;
* Characteristic_Name&lt;br /&gt;
* Primitive&lt;br /&gt;
* Source&lt;br /&gt;
* Path&lt;br /&gt;
* Measurement&lt;br /&gt;
&lt;br /&gt;
The following columns are optional (for example, the Package columns are only there to specify destination if desired): &lt;br /&gt;
* DM_Name&lt;br /&gt;
* Package_Name&lt;br /&gt;
* Package_Description&lt;br /&gt;
* Package_Tags&lt;br /&gt;
* View_Description&lt;br /&gt;
* View_Tags&lt;br /&gt;
* Characteristic_Description&lt;br /&gt;
* Characteristic_Tags&lt;br /&gt;
* Characteristic_Foreign&lt;br /&gt;
* Primitive_Bound_Length&lt;br /&gt;
* Primitive_Bound_Scale&lt;br /&gt;
* Optional&lt;br /&gt;
* Lower_Bound&lt;br /&gt;
* Upper_Bound&lt;br /&gt;
* Nested_View&lt;br /&gt;
* Platform_Type&lt;br /&gt;
* View_GUID&lt;br /&gt;
* Characteristic_GUID&lt;br /&gt;
&lt;br /&gt;
The order of the columns is not enforced, it does not have to be in the same order as the suggested format above.&lt;br /&gt;
&lt;br /&gt;
Any additional user-made columns will be ignored and will not interfere with import.&lt;br /&gt;
&lt;br /&gt;
Bulk import can currently import Package, View, and Characteristic elements.&lt;br /&gt;
&lt;br /&gt;
== Column-specific Requirements ==&lt;br /&gt;
=== DM_Name ===&lt;br /&gt;
* Leaving this column blank will default to the first available Data Model.&lt;br /&gt;
* Setting this column to the name of an existing Data Model node will default to the first matching Data Model node within the project.&lt;br /&gt;
* If there is no matching Data Model, a new Data Model will be created.&lt;br /&gt;
&lt;br /&gt;
=== Package Name ===&lt;br /&gt;
* Leaving this column blank will default Package to the &amp;quot;Phenom&amp;quot; package.&lt;br /&gt;
* Setting this column to an existing Package will default to the first matching Platform Package within the model.&lt;br /&gt;
* If there is no matching Package, a new Package will be created within the &amp;quot;Phenom&amp;quot; Package.&lt;br /&gt;
&lt;br /&gt;
=== Package Description ===&lt;br /&gt;
Package Description will be imported for new Packages only. Only the first Description for new Packages will be imported.&lt;br /&gt;
&lt;br /&gt;
=== View Name ===&lt;br /&gt;
The data in this column for an existing View will be matched to the first View of that name within the model (there should only be one match). If there isn&#039;t a matching View, a new View will be created within the &amp;quot;Phenom&amp;quot; Package.&lt;br /&gt;
&lt;br /&gt;
=== View Description ===&lt;br /&gt;
View Description will be imported for new Views only. Only the first Description for new Views will be imported.&lt;br /&gt;
&lt;br /&gt;
=== Characteristic Name, Characteristic Description ===&lt;br /&gt;
* Characteristic Names must be unique to the View they are imported under.&lt;br /&gt;
* The Characteristic must not already exist in the desired View&lt;br /&gt;
* Characteristics belonging to different Views may have the same name.&lt;br /&gt;
&lt;br /&gt;
=== Primitive ===&lt;br /&gt;
This column isn&#039;t case sensitive. Acceptable values: &amp;quot;Char&amp;quot;, &amp;quot;Double&amp;quot;, &amp;quot;Float&amp;quot;, &amp;quot;Long&amp;quot;, &amp;quot;Short&amp;quot;, &amp;quot;String&amp;quot;, &amp;quot;ULong&amp;quot;, &amp;quot;UShort&amp;quot;, &amp;quot;Octet&amp;quot;, &amp;quot;Enumeration&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Source, Path, Measurement ===&lt;br /&gt;
* Source must exist in the model and must be the Entity/Association projected from the last element in the Path column.&lt;br /&gt;
* Path must have valid elements leading up to/ending with the Observable realized by the Measurement.&lt;br /&gt;
* Measurement must in the model and realize the Observable at the end of the Path.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;For example: &#039;&#039;&#039;AirSystemType&#039;&#039;&#039; is projected (through payload) from &#039;&#039;&#039;elementID&#039;&#039;&#039; which is realized by &#039;&#039;UniqueID_Unbounded_Integer&#039;&lt;br /&gt;
&lt;br /&gt;
=== Lower Bound and Upper Bound ===&lt;br /&gt;
&lt;br /&gt;
* This row must have both a Source and a Path for these values to be valid.&lt;br /&gt;
* The bound can be set to &amp;quot;unbounded&amp;quot;, which will set the bound to -1.&lt;br /&gt;
&lt;br /&gt;
=== Nested View ===&lt;br /&gt;
&lt;br /&gt;
* The Nested View must exist in the model and must be the name of a View. &lt;br /&gt;
&#039;&#039;See Nested Views for changes to other columns&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== View GUID and Characteristic GUID ===&lt;br /&gt;
&lt;br /&gt;
* A GUID must be associated with an existing node of the relevant xmi:type in the model.&lt;br /&gt;
&lt;br /&gt;
== Tagging New Elements (Optional) ==&lt;br /&gt;
Package_Tags, View_Tags, and Characteristic_Tags optional columns can be used to tag new Packages, Views, or Characteristics. Each field can have multiple comma-delimited tags.&lt;br /&gt;
&lt;br /&gt;
The raw CSV must have quotes around fields with commas (Excel normally handles this).&lt;br /&gt;
&lt;br /&gt;
Package_Tags will tag whichever package is chosen - this includes the Phenom package when a package isn&#039;t specified in the Package_Name column.&lt;br /&gt;
&lt;br /&gt;
== Nested Views Requirements ==&lt;br /&gt;
By referencing the name of another view, whether already existing in the model or being added by the same CSV file, in the &#039;&#039;&#039;Nested_View&#039;&#039;&#039; column, the import can create view sub-structuring or nesting. &lt;br /&gt;
&lt;br /&gt;
In view field rows representing nested views, the &#039;&#039;&#039;Source&#039;&#039;&#039; and &#039;&#039;&#039;Path&#039;&#039;&#039; columns represent the perspective path under which the view sub-structure is nested. At the same time, the &#039;&#039;&#039;Primitive&#039;&#039;&#039;, &#039;&#039;&#039;Platform_Type&#039;&#039;&#039;, and &#039;&#039;&#039;Measurement&#039;&#039;&#039; are not applicable. &lt;br /&gt;
&lt;br /&gt;
By default, all sub-structure nesting view field rows will be inferred to be representing a &amp;quot;private&amp;quot; nesting. This can be made explicit, or toggled off to accomplish a sub-structure import, by using the &#039;&#039;&#039;Characteristic_Foreign&#039;&#039;&#039; column: if set to &amp;quot;false&amp;quot;, the view sub-structure will be private to its nesting view, and an independent import if set to &amp;quot;true&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Union Views Requirements ==&lt;br /&gt;
Union views are not supported by the CSV import yet.&lt;br /&gt;
&lt;br /&gt;
== Additional Requirements ==&lt;br /&gt;
* Data within Package_Name, View_Name, and Characteristic_Name must all begin with a letter, and only contain numbers, letters, or underscores. The data must also not match any of the following reserved words:&lt;br /&gt;
** &#039;&#039;&#039;IDL Reserved words:&#039;&#039;&#039;&amp;lt;p&amp;gt;&amp;quot;and&amp;quot;, &amp;quot;begin&amp;quot;, &amp;quot;break&amp;quot;, &amp;quot;case&amp;quot;, &amp;quot;common&amp;quot;, &amp;quot;compile_opt&amp;quot;, &amp;quot;continue&amp;quot;, &amp;quot;do&amp;quot;, &amp;quot;else&amp;quot;, &amp;quot;end&amp;quot;, &amp;quot;endcase&amp;quot;, &amp;quot;endelse&amp;quot;, &amp;quot;endfor&amp;quot;, &amp;quot;endforeach&amp;quot;, &amp;quot;endif&amp;quot;, &amp;quot;endrep&amp;quot;, &amp;quot;endswitch&amp;quot;, &amp;quot;endwhile&amp;quot;, &amp;quot;eq&amp;quot;, &amp;quot;for&amp;quot;, &amp;quot;foreach&amp;quot;, &amp;quot;forward_function&amp;quot;, &amp;quot;function&amp;quot;, &amp;quot;ge&amp;quot;, &amp;quot;goto&amp;quot;, &amp;quot;gt&amp;quot;, &amp;quot;if&amp;quot;, &amp;quot;inherits&amp;quot;, &amp;quot;le&amp;quot;, &amp;quot;lt&amp;quot;, &amp;quot;mod&amp;quot;, &amp;quot;ne&amp;quot;, &amp;quot;not&amp;quot;, &amp;quot;of&amp;quot;, &amp;quot;on_ioerror&amp;quot;, &amp;quot;or&amp;quot;, &amp;quot;pro&amp;quot;, &amp;quot;repeat&amp;quot;, &amp;quot;switch&amp;quot;, &amp;quot;then&amp;quot;, &amp;quot;until&amp;quot;, &amp;quot;while&amp;quot;, &amp;quot;xor&amp;quot;&amp;lt;/p&amp;gt;&lt;br /&gt;
** &#039;&#039;&#039;OCL Reserved words:&#039;&#039;&#039;&amp;lt;p&amp;gt; &amp;quot;abstract&amp;quot;, &amp;quot;any&amp;quot;, &amp;quot;attribute&amp;quot;, &amp;quot;boolean&amp;quot;, &amp;quot;case&amp;quot;, &amp;quot;char&amp;quot;, &amp;quot;component&amp;quot;, &amp;quot;const&amp;quot;, &amp;quot;consumes&amp;quot;, &amp;quot;context&amp;quot;, &amp;quot;custom&amp;quot;, &amp;quot;default&amp;quot;, &amp;quot;double&amp;quot;, &amp;quot;emits&amp;quot;, &amp;quot;enum&amp;quot;, &amp;quot;eventtype&amp;quot;, &amp;quot;exception&amp;quot;, &amp;quot;factory&amp;quot;, &amp;quot;false&amp;quot;, &amp;quot;finder&amp;quot;, &amp;quot;fixed&amp;quot;, &amp;quot;float&amp;quot;, &amp;quot;getraises&amp;quot;, &amp;quot;home&amp;quot;, &amp;quot;import&amp;quot;, &amp;quot;in&amp;quot;, &amp;quot;inout&amp;quot;, &amp;quot;interface&amp;quot;, &amp;quot;local&amp;quot;, &amp;quot;long&amp;quot;, &amp;quot;manages&amp;quot;, &amp;quot;module&amp;quot;, &amp;quot;multiple&amp;quot;, &amp;quot;native&amp;quot;, &amp;quot;object&amp;quot;, &amp;quot;octet&amp;quot;, &amp;quot;oneway&amp;quot;, &amp;quot;out&amp;quot;, &amp;quot;primarykey&amp;quot;, &amp;quot;private&amp;quot;, &amp;quot;provides&amp;quot;, &amp;quot;public&amp;quot;, &amp;quot;publishes&amp;quot;, &amp;quot;raises&amp;quot;, &amp;quot;readonly&amp;quot;, &amp;quot;sequence&amp;quot;, &amp;quot;setraises&amp;quot;, &amp;quot;short&amp;quot;, &amp;quot;string&amp;quot;, &amp;quot;struct&amp;quot;, &amp;quot;supports&amp;quot;, &amp;quot;switch&amp;quot;, &amp;quot;true&amp;quot;, &amp;quot;truncatable&amp;quot;, &amp;quot;typedef&amp;quot;, &amp;quot;typeid&amp;quot;, &amp;quot;typeprefix&amp;quot;, &amp;quot;union&amp;quot;, &amp;quot;unsigned&amp;quot;, &amp;quot;uses&amp;quot;, &amp;quot;valuebase&amp;quot;, &amp;quot;valuetype&amp;quot;, &amp;quot;void&amp;quot;, &amp;quot;wchar&amp;quot;, &amp;quot;wstring&amp;quot;&amp;lt;/p&amp;gt;&lt;br /&gt;
* New Views not already within the model must be unique among elements of type IDLStruct and Enumeration.&lt;br /&gt;
* Multidimensional Measurements are supported, however each axis will default to the primitive found within the primitive column (these can be corrected within Phenom later if desired).&lt;br /&gt;
* If there are any errors during validation of the CSV file, the model import will not be initiated and a list of errors will be returned. They will be labeled by the row they occur on for convenience.&lt;br /&gt;
* There is a 2MB limit in place - if a larger file needs to be imported, it needs to be split up into smaller files.&lt;br /&gt;
* In the raw CSV (i.e., as observed from notepad), any field with commas must have surrounding quotes (Excel normally handles this).&lt;/div&gt;</summary>
		<author><name>Annie</name></author>
	</entry>
	<entry>
		<id>https://kb.phenomportal.com/index.php?title=Formatting_a_CSV_for_View_Import&amp;diff=1537</id>
		<title>Formatting a CSV for View Import</title>
		<link rel="alternate" type="text/html" href="https://kb.phenomportal.com/index.php?title=Formatting_a_CSV_for_View_Import&amp;diff=1537"/>
		<updated>2026-01-02T22:11:34Z</updated>

		<summary type="html">&lt;p&gt;Annie: RM platform_type_guid&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;To bulk import view characteristics, the CSV file should be formatted as described in this article.&lt;br /&gt;
&lt;br /&gt;
== General Column/Data Requirements ==&lt;br /&gt;
The following column headers must exist and contain data in each row:&lt;br /&gt;
* View_Name&lt;br /&gt;
* Characteristic_Name&lt;br /&gt;
* Primitive&lt;br /&gt;
* Source&lt;br /&gt;
* Path&lt;br /&gt;
* Measurement&lt;br /&gt;
&lt;br /&gt;
The following columns are optional (for example, the Package columns are only there to specify destination if desired): &lt;br /&gt;
* DM_Name&lt;br /&gt;
* Package_Name&lt;br /&gt;
* Package_Description&lt;br /&gt;
* Package_Tags&lt;br /&gt;
* View_Description&lt;br /&gt;
* View_Tags&lt;br /&gt;
* Characteristic_Description&lt;br /&gt;
* Characteristic_Tags&lt;br /&gt;
* Characteristic_Foreign&lt;br /&gt;
* Primitive_Bound_Length&lt;br /&gt;
* Primitive_Bound_Scale&lt;br /&gt;
* Optional&lt;br /&gt;
* Lower_Bound&lt;br /&gt;
* Upper_Bound&lt;br /&gt;
* Nested_View&lt;br /&gt;
* Platform_Type&lt;br /&gt;
* View_GUID&lt;br /&gt;
* Characteristic_GUID&lt;br /&gt;
&lt;br /&gt;
The order of the columns is not enforced, it does not have to be in the same order as the suggested format above.&lt;br /&gt;
&lt;br /&gt;
Any additional user-made columns will be ignored and will not interfere with import.&lt;br /&gt;
&lt;br /&gt;
Bulk import can currently import Package, View, and Characteristic elements.&lt;br /&gt;
&lt;br /&gt;
== Column-specific Requirements ==&lt;br /&gt;
=== DM_Name ===&lt;br /&gt;
* Leaving this column blank will default to the first available Data Model.&lt;br /&gt;
* Setting this column to the name of an existing Data Model node will default to the first matching Data Model node within the project.&lt;br /&gt;
* If there is no matching Data Model, a new Data Model will be created.&lt;br /&gt;
&lt;br /&gt;
=== Package Name ===&lt;br /&gt;
* Leaving this column blank will default Package to the &amp;quot;Phenom&amp;quot; package.&lt;br /&gt;
* Setting this column to an existing Package will default to the first matching Platform Package within the model.&lt;br /&gt;
* If there is no matching Package, a new Package will be created within the &amp;quot;Phenom&amp;quot; Package.&lt;br /&gt;
&lt;br /&gt;
=== Package Description ===&lt;br /&gt;
Package Description will be imported for new Packages only. Only the first Description for new Packages will be imported.&lt;br /&gt;
&lt;br /&gt;
=== View Name ===&lt;br /&gt;
The data in this column for an existing View will be matched to the first View of that name within the model (there should only be one match). If there isn&#039;t a matching View, a new View will be created within the &amp;quot;Phenom&amp;quot; Package.&lt;br /&gt;
&lt;br /&gt;
=== View Description ===&lt;br /&gt;
View Description will be imported for new Views only. Only the first Description for new Views will be imported.&lt;br /&gt;
&lt;br /&gt;
=== Characteristic Name, Characteristic Description ===&lt;br /&gt;
* Characteristic Names must be unique to the View they are imported under.&lt;br /&gt;
* The Characteristic must not already exist in the desired View&lt;br /&gt;
* Characteristics belonging to different Views may have the same name.&lt;br /&gt;
&lt;br /&gt;
=== Primitive ===&lt;br /&gt;
This column isn&#039;t case sensitive. Acceptable values: &amp;quot;Char&amp;quot;, &amp;quot;Double&amp;quot;, &amp;quot;Float&amp;quot;, &amp;quot;Long&amp;quot;, &amp;quot;Short&amp;quot;, &amp;quot;String&amp;quot;, &amp;quot;ULong&amp;quot;, &amp;quot;UShort&amp;quot;, &amp;quot;Octet&amp;quot;, &amp;quot;Enumeration&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Source, Path, Measurement ===&lt;br /&gt;
* Source must exist in the model and must be the Entity/Association projected from the last element in the Path column.&lt;br /&gt;
* Path must have valid elements leading up to/ending with the Observable realized by the Measurement.&lt;br /&gt;
* Measurement must in the model and realize the Observable at the end of the Path.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;For example: &#039;&#039;&#039;AirSystemType&#039;&#039;&#039; is projected (through payload) from &#039;&#039;&#039;elementID&#039;&#039;&#039; which is realized by &#039;&#039;UniqueID_Unbounded_Integer&#039;&lt;br /&gt;
&lt;br /&gt;
=== Lower Bound and Upper Bound ===&lt;br /&gt;
&lt;br /&gt;
* This row must have both a Source and a Path for these values to be valid.&lt;br /&gt;
* The bound can be set to &amp;quot;unbounded&amp;quot;, which will set the bound to -1.&lt;br /&gt;
&lt;br /&gt;
=== Nested View ===&lt;br /&gt;
&lt;br /&gt;
* The Nested View must exist in the model and must be the name of a View. &lt;br /&gt;
&#039;&#039;See Nested Views for changes to other columns&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== View GUID, Characteristic GUID, and Platform Type GUID ===&lt;br /&gt;
&lt;br /&gt;
* A GUID must be associated with an existing node of the relevant xmi:type in the model.&lt;br /&gt;
&lt;br /&gt;
== Tagging New Elements (Optional) ==&lt;br /&gt;
Package_Tags, View_Tags, and Characteristic_Tags optional columns can be used to tag new Packages, Views, or Characteristics. Each field can have multiple comma-delimited tags.&lt;br /&gt;
&lt;br /&gt;
The raw CSV must have quotes around fields with commas (Excel normally handles this).&lt;br /&gt;
&lt;br /&gt;
Package_Tags will tag whichever package is chosen - this includes the Phenom package when a package isn&#039;t specified in the Package_Name column.&lt;br /&gt;
&lt;br /&gt;
== Nested Views Requirements ==&lt;br /&gt;
By referencing the name of another view, whether already existing in the model or being added by the same CSV file, in the &#039;&#039;&#039;Nested_View&#039;&#039;&#039; column, the import can create view sub-structuring or nesting. &lt;br /&gt;
&lt;br /&gt;
In view field rows representing nested views, the &#039;&#039;&#039;Source&#039;&#039;&#039; and &#039;&#039;&#039;Path&#039;&#039;&#039; columns represent the perspective path under which the view sub-structure is nested. At the same time, the &#039;&#039;&#039;Primitive&#039;&#039;&#039;, &#039;&#039;&#039;Platform_Type&#039;&#039;&#039;, and &#039;&#039;&#039;Measurement&#039;&#039;&#039; are not applicable. &lt;br /&gt;
&lt;br /&gt;
By default, all sub-structure nesting view field rows will be inferred to be representing a &amp;quot;private&amp;quot; nesting. This can be made explicit, or toggled off to accomplish a sub-structure import, by using the &#039;&#039;&#039;Characteristic_Foreign&#039;&#039;&#039; column: if set to &amp;quot;false&amp;quot;, the view sub-structure will be private to its nesting view, and an independent import if set to &amp;quot;true&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Union Views Requirements ==&lt;br /&gt;
Union views are not supported by the CSV import yet.&lt;br /&gt;
&lt;br /&gt;
== Additional Requirements ==&lt;br /&gt;
* Data within Package_Name, View_Name, and Characteristic_Name must all begin with a letter, and only contain numbers, letters, or underscores. The data must also not match any of the following reserved words:&lt;br /&gt;
** &#039;&#039;&#039;IDL Reserved words:&#039;&#039;&#039;&amp;lt;p&amp;gt;&amp;quot;and&amp;quot;, &amp;quot;begin&amp;quot;, &amp;quot;break&amp;quot;, &amp;quot;case&amp;quot;, &amp;quot;common&amp;quot;, &amp;quot;compile_opt&amp;quot;, &amp;quot;continue&amp;quot;, &amp;quot;do&amp;quot;, &amp;quot;else&amp;quot;, &amp;quot;end&amp;quot;, &amp;quot;endcase&amp;quot;, &amp;quot;endelse&amp;quot;, &amp;quot;endfor&amp;quot;, &amp;quot;endforeach&amp;quot;, &amp;quot;endif&amp;quot;, &amp;quot;endrep&amp;quot;, &amp;quot;endswitch&amp;quot;, &amp;quot;endwhile&amp;quot;, &amp;quot;eq&amp;quot;, &amp;quot;for&amp;quot;, &amp;quot;foreach&amp;quot;, &amp;quot;forward_function&amp;quot;, &amp;quot;function&amp;quot;, &amp;quot;ge&amp;quot;, &amp;quot;goto&amp;quot;, &amp;quot;gt&amp;quot;, &amp;quot;if&amp;quot;, &amp;quot;inherits&amp;quot;, &amp;quot;le&amp;quot;, &amp;quot;lt&amp;quot;, &amp;quot;mod&amp;quot;, &amp;quot;ne&amp;quot;, &amp;quot;not&amp;quot;, &amp;quot;of&amp;quot;, &amp;quot;on_ioerror&amp;quot;, &amp;quot;or&amp;quot;, &amp;quot;pro&amp;quot;, &amp;quot;repeat&amp;quot;, &amp;quot;switch&amp;quot;, &amp;quot;then&amp;quot;, &amp;quot;until&amp;quot;, &amp;quot;while&amp;quot;, &amp;quot;xor&amp;quot;&amp;lt;/p&amp;gt;&lt;br /&gt;
** &#039;&#039;&#039;OCL Reserved words:&#039;&#039;&#039;&amp;lt;p&amp;gt; &amp;quot;abstract&amp;quot;, &amp;quot;any&amp;quot;, &amp;quot;attribute&amp;quot;, &amp;quot;boolean&amp;quot;, &amp;quot;case&amp;quot;, &amp;quot;char&amp;quot;, &amp;quot;component&amp;quot;, &amp;quot;const&amp;quot;, &amp;quot;consumes&amp;quot;, &amp;quot;context&amp;quot;, &amp;quot;custom&amp;quot;, &amp;quot;default&amp;quot;, &amp;quot;double&amp;quot;, &amp;quot;emits&amp;quot;, &amp;quot;enum&amp;quot;, &amp;quot;eventtype&amp;quot;, &amp;quot;exception&amp;quot;, &amp;quot;factory&amp;quot;, &amp;quot;false&amp;quot;, &amp;quot;finder&amp;quot;, &amp;quot;fixed&amp;quot;, &amp;quot;float&amp;quot;, &amp;quot;getraises&amp;quot;, &amp;quot;home&amp;quot;, &amp;quot;import&amp;quot;, &amp;quot;in&amp;quot;, &amp;quot;inout&amp;quot;, &amp;quot;interface&amp;quot;, &amp;quot;local&amp;quot;, &amp;quot;long&amp;quot;, &amp;quot;manages&amp;quot;, &amp;quot;module&amp;quot;, &amp;quot;multiple&amp;quot;, &amp;quot;native&amp;quot;, &amp;quot;object&amp;quot;, &amp;quot;octet&amp;quot;, &amp;quot;oneway&amp;quot;, &amp;quot;out&amp;quot;, &amp;quot;primarykey&amp;quot;, &amp;quot;private&amp;quot;, &amp;quot;provides&amp;quot;, &amp;quot;public&amp;quot;, &amp;quot;publishes&amp;quot;, &amp;quot;raises&amp;quot;, &amp;quot;readonly&amp;quot;, &amp;quot;sequence&amp;quot;, &amp;quot;setraises&amp;quot;, &amp;quot;short&amp;quot;, &amp;quot;string&amp;quot;, &amp;quot;struct&amp;quot;, &amp;quot;supports&amp;quot;, &amp;quot;switch&amp;quot;, &amp;quot;true&amp;quot;, &amp;quot;truncatable&amp;quot;, &amp;quot;typedef&amp;quot;, &amp;quot;typeid&amp;quot;, &amp;quot;typeprefix&amp;quot;, &amp;quot;union&amp;quot;, &amp;quot;unsigned&amp;quot;, &amp;quot;uses&amp;quot;, &amp;quot;valuebase&amp;quot;, &amp;quot;valuetype&amp;quot;, &amp;quot;void&amp;quot;, &amp;quot;wchar&amp;quot;, &amp;quot;wstring&amp;quot;&amp;lt;/p&amp;gt;&lt;br /&gt;
* New Views not already within the model must be unique among elements of type IDLStruct and Enumeration.&lt;br /&gt;
* Multidimensional Measurements are supported, however each axis will default to the primitive found within the primitive column (these can be corrected within Phenom later if desired).&lt;br /&gt;
* If there are any errors during validation of the CSV file, the model import will not be initiated and a list of errors will be returned. They will be labeled by the row they occur on for convenience.&lt;br /&gt;
* There is a 2MB limit in place - if a larger file needs to be imported, it needs to be split up into smaller files.&lt;br /&gt;
* In the raw CSV (i.e., as observed from notepad), any field with commas must have surrounding quotes (Excel normally handles this).&lt;/div&gt;</summary>
		<author><name>Annie</name></author>
	</entry>
	<entry>
		<id>https://kb.phenomportal.com/index.php?title=Formatting_a_CSV_for_Entities_and_Associations_Import&amp;diff=1536</id>
		<title>Formatting a CSV for Entities and Associations Import</title>
		<link rel="alternate" type="text/html" href="https://kb.phenomportal.com/index.php?title=Formatting_a_CSV_for_Entities_and_Associations_Import&amp;diff=1536"/>
		<updated>2026-01-02T21:14:00Z</updated>

		<summary type="html">&lt;p&gt;Annie: Added specialization columns&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;To bulk import model content, the CSV file should be formatted as described in this article.&lt;br /&gt;
&lt;br /&gt;
{{Info| 1=Each row of the CSV creates one attribute on an element. Creation of new elements is incidental and done only if a match isn&#039;t found.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== General Column/Data Requirements ==&lt;br /&gt;
The following column headers must exist and contain data in each row:&lt;br /&gt;
* Element_Name&lt;br /&gt;
* Operation_Type&lt;br /&gt;
* Attribute_Name&lt;br /&gt;
* Attribute_Type&lt;br /&gt;
&lt;br /&gt;
The following columns are optional:&lt;br /&gt;
* Element_Description&lt;br /&gt;
* Element_Tags&lt;br /&gt;
* Attribute_Description&lt;br /&gt;
* Attribute_Tags&lt;br /&gt;
* Association_Path&lt;br /&gt;
* Package_Name&lt;br /&gt;
* Package_Description&lt;br /&gt;
* Package_Tags&lt;br /&gt;
* Element_Specialization&lt;br /&gt;
* Attribute_Specialization&lt;br /&gt;
&lt;br /&gt;
== Column-specific Requirements ==&lt;br /&gt;
=== Element Name &amp;amp; Description ===&lt;br /&gt;
* If an Entity (or Association) with a matching name is found in the model, the attribute will be added to it.&lt;br /&gt;
* New created elements default to a type of Entity.&lt;br /&gt;
* If an Entity (or Association) is created, the description is applied to that new element. If the element already exists, its description (if not an empty string) will be updated with the description provided here.&lt;br /&gt;
&lt;br /&gt;
=== Operation Type &amp;amp; Association Path ===&lt;br /&gt;
* Must be set to &#039;Composition&#039; or &#039;Association&#039;. If Operation_Type is Association, then the Element will automatically be turned into an Association.&lt;br /&gt;
* If the Attribute already exists, it will be updated to be an Associated Entity (i.e., turns the Entity into an Association)&lt;br /&gt;
* There &#039;&#039;&#039;MUST BE AT LEAST TWO&#039;&#039;&#039; associated entities or the creation/update operation will fail. It is possible to only add a single associated entity if the element already exists and already contains an associated entity.&lt;br /&gt;
* By default, the Association Path is empty. This is an advanced concept used to relate to specific attributes of an element rather than the entire element itself.&lt;br /&gt;
&lt;br /&gt;
=== Attribute Name, Type &amp;amp; Description ===&lt;br /&gt;
* Attribute_Name is the desired name for the attribute.&lt;br /&gt;
* Attribute_Type must be a valid Observable, Entity, or Association that either &lt;br /&gt;
** exists in the model, or &lt;br /&gt;
** was created on a previous row.&lt;br /&gt;
* Attribute_Description is the description that will be applied to that attribute. If the attribute already exists, its description (if not an empty string) will be updated with the description provided here.&lt;br /&gt;
&lt;br /&gt;
=== Package Name &amp;amp; Description ===&lt;br /&gt;
* These columns allow you to place new entity in the package specified by Package_Name. If a package with the provided name does not exist, the new package will be created under the PhenomEntities package.&lt;br /&gt;
* Package_Name specified the name of the existing/new package.&lt;br /&gt;
* Package_Description specifies the description that will be applied to that package.&lt;br /&gt;
&lt;br /&gt;
=== Element and Attribute Specialization ===&lt;br /&gt;
* These columns can be used to create new elements specializing other new elements, create new elements specializing existing elements, and update existing elements to specialize new or existing elements.&lt;br /&gt;
* If an element has a child with the same rolename and type as a child to be inherited via a new specialization, Phenom will attempt to align these attributes.&lt;br /&gt;
* The Attribute_Specialization column is used to denote a specialization when that attribute doesn&#039;t necessarily align with the rolename and type of the target specialized attribute. This column must be paired with the Element_Specialization column.&lt;br /&gt;
&lt;br /&gt;
== Tagging (Optional) ==&lt;br /&gt;
* Optional columns can be added in to CSV to tag new Packages, Elements, or Attributes.&lt;br /&gt;
* Each field can have multiple comma delimited tags.&lt;/div&gt;</summary>
		<author><name>Annie</name></author>
	</entry>
	<entry>
		<id>https://kb.phenomportal.com/index.php?title=Formatting_a_CSV_for_Entities_and_Associations_Import&amp;diff=1535</id>
		<title>Formatting a CSV for Entities and Associations Import</title>
		<link rel="alternate" type="text/html" href="https://kb.phenomportal.com/index.php?title=Formatting_a_CSV_for_Entities_and_Associations_Import&amp;diff=1535"/>
		<updated>2026-01-02T21:12:05Z</updated>

		<summary type="html">&lt;p&gt;Annie: Added element and attribute specialization columns&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;To bulk import model content, the CSV file should be formatted as described in this article.&lt;br /&gt;
&lt;br /&gt;
{{Info| 1=Each row of the CSV creates one attribute on an element. Creation of new elements is incidental and done only if a match isn&#039;t found.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== General Column/Data Requirements ==&lt;br /&gt;
The following column headers must exist and contain data in each row:&lt;br /&gt;
* Element_Name&lt;br /&gt;
* Operation_Type&lt;br /&gt;
* Attribute_Name&lt;br /&gt;
* Attribute_Type&lt;br /&gt;
&lt;br /&gt;
The following columns are optional:&lt;br /&gt;
* Element_Description&lt;br /&gt;
* Element_Tags&lt;br /&gt;
* Attribute_Description&lt;br /&gt;
* Attribute_Tags&lt;br /&gt;
* Association_Path&lt;br /&gt;
* Package_Name&lt;br /&gt;
* Package_Description&lt;br /&gt;
* Package_Tags&lt;br /&gt;
&lt;br /&gt;
== Column-specific Requirements ==&lt;br /&gt;
=== Element Name &amp;amp; Description ===&lt;br /&gt;
* If an Entity (or Association) with a matching name is found in the model, the attribute will be added to it.&lt;br /&gt;
* New created elements default to a type of Entity.&lt;br /&gt;
* If an Entity (or Association) is created, the description is applied to that new element. If the element already exists, its description (if not an empty string) will be updated with the description provided here.&lt;br /&gt;
&lt;br /&gt;
=== Operation Type &amp;amp; Association Path ===&lt;br /&gt;
* Must be set to &#039;Composition&#039; or &#039;Association&#039;. If Operation_Type is Association, then the Element will automatically be turned into an Association.&lt;br /&gt;
* If the Attribute already exists, it will be updated to be an Associated Entity (i.e., turns the Entity into an Association)&lt;br /&gt;
* There &#039;&#039;&#039;MUST BE AT LEAST TWO&#039;&#039;&#039; associated entities or the creation/update operation will fail. It is possible to only add a single associated entity if the element already exists and already contains an associated entity.&lt;br /&gt;
* By default, the Association Path is empty. This is an advanced concept used to relate to specific attributes of an element rather than the entire element itself.&lt;br /&gt;
&lt;br /&gt;
=== Attribute Name, Type &amp;amp; Description ===&lt;br /&gt;
* Attribute_Name is the desired name for the attribute.&lt;br /&gt;
* Attribute_Type must be a valid Observable, Entity, or Association that either &lt;br /&gt;
** exists in the model, or &lt;br /&gt;
** was created on a previous row.&lt;br /&gt;
* Attribute_Description is the description that will be applied to that attribute. If the attribute already exists, its description (if not an empty string) will be updated with the description provided here.&lt;br /&gt;
&lt;br /&gt;
=== Package Name &amp;amp; Description ===&lt;br /&gt;
* These columns allow you to place new entity in the package specified by Package_Name. If a package with the provided name does not exist, the new package will be created under the PhenomEntities package.&lt;br /&gt;
* Package_Name specified the name of the existing/new package.&lt;br /&gt;
* Package_Description specifies the description that will be applied to that package.&lt;br /&gt;
&lt;br /&gt;
=== Element and Attribute Specialization ===&lt;br /&gt;
* These columns can be used to create new elements specializing other new elements, create new elements specializing existing elements, and update existing elements to specialize new or existing elements.&lt;br /&gt;
* If an element has a child with the same rolename and type as a child to be inherited via a new specialization, Phenom will attempt to align these attributes.&lt;br /&gt;
* The Attribute_Specialization column is used to denote a specialization when that attribute doesn&#039;t necessarily align with the rolename and type of the target specialized attribute. This column must be paired with the Element_Specialization column.&lt;br /&gt;
&lt;br /&gt;
== Tagging (Optional) ==&lt;br /&gt;
* Optional columns can be added in to CSV to tag new Packages, Elements, or Attributes.&lt;br /&gt;
* Each field can have multiple comma delimited tags.&lt;/div&gt;</summary>
		<author><name>Annie</name></author>
	</entry>
	<entry>
		<id>https://kb.phenomportal.com/index.php?title=Formatting_a_CSV_for_View_Import&amp;diff=1534</id>
		<title>Formatting a CSV for View Import</title>
		<link rel="alternate" type="text/html" href="https://kb.phenomportal.com/index.php?title=Formatting_a_CSV_for_View_Import&amp;diff=1534"/>
		<updated>2025-12-17T22:16:23Z</updated>

		<summary type="html">&lt;p&gt;Annie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;To bulk import view characteristics, the CSV file should be formatted as described in this article.&lt;br /&gt;
&lt;br /&gt;
== General Column/Data Requirements ==&lt;br /&gt;
The following column headers must exist and contain data in each row:&lt;br /&gt;
* View_Name&lt;br /&gt;
* Characteristic_Name&lt;br /&gt;
* Primitive&lt;br /&gt;
* Source&lt;br /&gt;
* Path&lt;br /&gt;
* Measurement&lt;br /&gt;
&lt;br /&gt;
The following columns are optional (for example, the Package columns are only there to specify destination if desired): &lt;br /&gt;
* DM_Name&lt;br /&gt;
* Package_Name&lt;br /&gt;
* Package_Description&lt;br /&gt;
* Package_Tags&lt;br /&gt;
* View_Description&lt;br /&gt;
* View_Tags&lt;br /&gt;
* Characteristic_Description&lt;br /&gt;
* Characteristic_Tags&lt;br /&gt;
* Characteristic_Foreign&lt;br /&gt;
* Primitive_Bound_Length&lt;br /&gt;
* Primitive_Bound_Scale&lt;br /&gt;
* Optional&lt;br /&gt;
* Lower_Bound&lt;br /&gt;
* Upper_Bound&lt;br /&gt;
* Nested_View&lt;br /&gt;
* Platform_Type&lt;br /&gt;
* View_GUID&lt;br /&gt;
* Characteristic_GUID&lt;br /&gt;
* Platform_Type_GUID&lt;br /&gt;
&lt;br /&gt;
The order of the columns is not enforced, it does not have to be in the same order as the suggested format above.&lt;br /&gt;
&lt;br /&gt;
Any additional user-made columns will be ignored and will not interfere with import.&lt;br /&gt;
&lt;br /&gt;
Bulk import can currently import Package, View, and Characteristic elements.&lt;br /&gt;
&lt;br /&gt;
== Column-specific Requirements ==&lt;br /&gt;
=== DM_Name ===&lt;br /&gt;
* Leaving this column blank will default to the first available Data Model.&lt;br /&gt;
* Setting this column to the name of an existing Data Model node will default to the first matching Data Model node within the project.&lt;br /&gt;
* If there is no matching Data Model, a new Data Model will be created.&lt;br /&gt;
&lt;br /&gt;
=== Package Name ===&lt;br /&gt;
* Leaving this column blank will default Package to the &amp;quot;Phenom&amp;quot; package.&lt;br /&gt;
* Setting this column to an existing Package will default to the first matching Platform Package within the model.&lt;br /&gt;
* If there is no matching Package, a new Package will be created within the &amp;quot;Phenom&amp;quot; Package.&lt;br /&gt;
&lt;br /&gt;
=== Package Description ===&lt;br /&gt;
Package Description will be imported for new Packages only. Only the first Description for new Packages will be imported.&lt;br /&gt;
&lt;br /&gt;
=== View Name ===&lt;br /&gt;
The data in this column for an existing View will be matched to the first View of that name within the model (there should only be one match). If there isn&#039;t a matching View, a new View will be created within the &amp;quot;Phenom&amp;quot; Package.&lt;br /&gt;
&lt;br /&gt;
=== View Description ===&lt;br /&gt;
View Description will be imported for new Views only. Only the first Description for new Views will be imported.&lt;br /&gt;
&lt;br /&gt;
=== Characteristic Name, Characteristic Description ===&lt;br /&gt;
* Characteristic Names must be unique to the View they are imported under.&lt;br /&gt;
* The Characteristic must not already exist in the desired View&lt;br /&gt;
* Characteristics belonging to different Views may have the same name.&lt;br /&gt;
&lt;br /&gt;
=== Primitive ===&lt;br /&gt;
This column isn&#039;t case sensitive. Acceptable values: &amp;quot;Char&amp;quot;, &amp;quot;Double&amp;quot;, &amp;quot;Float&amp;quot;, &amp;quot;Long&amp;quot;, &amp;quot;Short&amp;quot;, &amp;quot;String&amp;quot;, &amp;quot;ULong&amp;quot;, &amp;quot;UShort&amp;quot;, &amp;quot;Octet&amp;quot;, &amp;quot;Enumeration&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Source, Path, Measurement ===&lt;br /&gt;
* Source must exist in the model and must be the Entity/Association projected from the last element in the Path column.&lt;br /&gt;
* Path must have valid elements leading up to/ending with the Observable realized by the Measurement.&lt;br /&gt;
* Measurement must in the model and realize the Observable at the end of the Path.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;For example: &#039;&#039;&#039;AirSystemType&#039;&#039;&#039; is projected (through payload) from &#039;&#039;&#039;elementID&#039;&#039;&#039; which is realized by &#039;&#039;UniqueID_Unbounded_Integer&#039;&lt;br /&gt;
&lt;br /&gt;
=== Lower Bound and Upper Bound ===&lt;br /&gt;
&lt;br /&gt;
* This row must have both a Source and a Path for these values to be valid.&lt;br /&gt;
* The bound can be set to &amp;quot;unbounded&amp;quot;, which will set the bound to -1.&lt;br /&gt;
&lt;br /&gt;
=== Nested View ===&lt;br /&gt;
&lt;br /&gt;
* The Nested View must exist in the model and must be the name of a View. &lt;br /&gt;
&#039;&#039;See Nested Views for changes to other columns&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== View GUID, Characteristic GUID, and Platform Type GUID ===&lt;br /&gt;
&lt;br /&gt;
* A GUID must be associated with an existing node of the relevant xmi:type in the model.&lt;br /&gt;
&lt;br /&gt;
== Tagging New Elements (Optional) ==&lt;br /&gt;
Package_Tags, View_Tags, and Characteristic_Tags optional columns can be used to tag new Packages, Views, or Characteristics. Each field can have multiple comma-delimited tags.&lt;br /&gt;
&lt;br /&gt;
The raw CSV must have quotes around fields with commas (Excel normally handles this).&lt;br /&gt;
&lt;br /&gt;
Package_Tags will tag whichever package is chosen - this includes the Phenom package when a package isn&#039;t specified in the Package_Name column.&lt;br /&gt;
&lt;br /&gt;
== Nested Views Requirements ==&lt;br /&gt;
By referencing the name of another view, whether already existing in the model or being added by the same CSV file, in the &#039;&#039;&#039;Nested_View&#039;&#039;&#039; column, the import can create view sub-structuring or nesting. &lt;br /&gt;
&lt;br /&gt;
In view field rows representing nested views, the &#039;&#039;&#039;Source&#039;&#039;&#039; and &#039;&#039;&#039;Path&#039;&#039;&#039; columns represent the perspective path under which the view sub-structure is nested. At the same time, the &#039;&#039;&#039;Primitive&#039;&#039;&#039;, &#039;&#039;&#039;Platform_Type&#039;&#039;&#039;, and &#039;&#039;&#039;Measurement&#039;&#039;&#039; are not applicable. &lt;br /&gt;
&lt;br /&gt;
By default, all sub-structure nesting view field rows will be inferred to be representing a &amp;quot;private&amp;quot; nesting. This can be made explicit, or toggled off to accomplish a sub-structure import, by using the &#039;&#039;&#039;Characteristic_Foreign&#039;&#039;&#039; column: if set to &amp;quot;false&amp;quot;, the view sub-structure will be private to its nesting view, and an independent import if set to &amp;quot;true&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Union Views Requirements ==&lt;br /&gt;
Union views are not supported by the CSV import yet.&lt;br /&gt;
&lt;br /&gt;
== Additional Requirements ==&lt;br /&gt;
* Data within Package_Name, View_Name, and Characteristic_Name must all begin with a letter, and only contain numbers, letters, or underscores. The data must also not match any of the following reserved words:&lt;br /&gt;
** &#039;&#039;&#039;IDL Reserved words:&#039;&#039;&#039;&amp;lt;p&amp;gt;&amp;quot;and&amp;quot;, &amp;quot;begin&amp;quot;, &amp;quot;break&amp;quot;, &amp;quot;case&amp;quot;, &amp;quot;common&amp;quot;, &amp;quot;compile_opt&amp;quot;, &amp;quot;continue&amp;quot;, &amp;quot;do&amp;quot;, &amp;quot;else&amp;quot;, &amp;quot;end&amp;quot;, &amp;quot;endcase&amp;quot;, &amp;quot;endelse&amp;quot;, &amp;quot;endfor&amp;quot;, &amp;quot;endforeach&amp;quot;, &amp;quot;endif&amp;quot;, &amp;quot;endrep&amp;quot;, &amp;quot;endswitch&amp;quot;, &amp;quot;endwhile&amp;quot;, &amp;quot;eq&amp;quot;, &amp;quot;for&amp;quot;, &amp;quot;foreach&amp;quot;, &amp;quot;forward_function&amp;quot;, &amp;quot;function&amp;quot;, &amp;quot;ge&amp;quot;, &amp;quot;goto&amp;quot;, &amp;quot;gt&amp;quot;, &amp;quot;if&amp;quot;, &amp;quot;inherits&amp;quot;, &amp;quot;le&amp;quot;, &amp;quot;lt&amp;quot;, &amp;quot;mod&amp;quot;, &amp;quot;ne&amp;quot;, &amp;quot;not&amp;quot;, &amp;quot;of&amp;quot;, &amp;quot;on_ioerror&amp;quot;, &amp;quot;or&amp;quot;, &amp;quot;pro&amp;quot;, &amp;quot;repeat&amp;quot;, &amp;quot;switch&amp;quot;, &amp;quot;then&amp;quot;, &amp;quot;until&amp;quot;, &amp;quot;while&amp;quot;, &amp;quot;xor&amp;quot;&amp;lt;/p&amp;gt;&lt;br /&gt;
** &#039;&#039;&#039;OCL Reserved words:&#039;&#039;&#039;&amp;lt;p&amp;gt; &amp;quot;abstract&amp;quot;, &amp;quot;any&amp;quot;, &amp;quot;attribute&amp;quot;, &amp;quot;boolean&amp;quot;, &amp;quot;case&amp;quot;, &amp;quot;char&amp;quot;, &amp;quot;component&amp;quot;, &amp;quot;const&amp;quot;, &amp;quot;consumes&amp;quot;, &amp;quot;context&amp;quot;, &amp;quot;custom&amp;quot;, &amp;quot;default&amp;quot;, &amp;quot;double&amp;quot;, &amp;quot;emits&amp;quot;, &amp;quot;enum&amp;quot;, &amp;quot;eventtype&amp;quot;, &amp;quot;exception&amp;quot;, &amp;quot;factory&amp;quot;, &amp;quot;false&amp;quot;, &amp;quot;finder&amp;quot;, &amp;quot;fixed&amp;quot;, &amp;quot;float&amp;quot;, &amp;quot;getraises&amp;quot;, &amp;quot;home&amp;quot;, &amp;quot;import&amp;quot;, &amp;quot;in&amp;quot;, &amp;quot;inout&amp;quot;, &amp;quot;interface&amp;quot;, &amp;quot;local&amp;quot;, &amp;quot;long&amp;quot;, &amp;quot;manages&amp;quot;, &amp;quot;module&amp;quot;, &amp;quot;multiple&amp;quot;, &amp;quot;native&amp;quot;, &amp;quot;object&amp;quot;, &amp;quot;octet&amp;quot;, &amp;quot;oneway&amp;quot;, &amp;quot;out&amp;quot;, &amp;quot;primarykey&amp;quot;, &amp;quot;private&amp;quot;, &amp;quot;provides&amp;quot;, &amp;quot;public&amp;quot;, &amp;quot;publishes&amp;quot;, &amp;quot;raises&amp;quot;, &amp;quot;readonly&amp;quot;, &amp;quot;sequence&amp;quot;, &amp;quot;setraises&amp;quot;, &amp;quot;short&amp;quot;, &amp;quot;string&amp;quot;, &amp;quot;struct&amp;quot;, &amp;quot;supports&amp;quot;, &amp;quot;switch&amp;quot;, &amp;quot;true&amp;quot;, &amp;quot;truncatable&amp;quot;, &amp;quot;typedef&amp;quot;, &amp;quot;typeid&amp;quot;, &amp;quot;typeprefix&amp;quot;, &amp;quot;union&amp;quot;, &amp;quot;unsigned&amp;quot;, &amp;quot;uses&amp;quot;, &amp;quot;valuebase&amp;quot;, &amp;quot;valuetype&amp;quot;, &amp;quot;void&amp;quot;, &amp;quot;wchar&amp;quot;, &amp;quot;wstring&amp;quot;&amp;lt;/p&amp;gt;&lt;br /&gt;
* New Views not already within the model must be unique among elements of type IDLStruct and Enumeration.&lt;br /&gt;
* Multidimensional Measurements are supported, however each axis will default to the primitive found within the primitive column (these can be corrected within Phenom later if desired).&lt;br /&gt;
* If there are any errors during validation of the CSV file, the model import will not be initiated and a list of errors will be returned. They will be labeled by the row they occur on for convenience.&lt;br /&gt;
* There is a 2MB limit in place - if a larger file needs to be imported, it needs to be split up into smaller files.&lt;br /&gt;
* In the raw CSV (i.e., as observed from notepad), any field with commas must have surrounding quotes (Excel normally handles this).&lt;/div&gt;</summary>
		<author><name>Annie</name></author>
	</entry>
	<entry>
		<id>https://kb.phenomportal.com/index.php?title=Formatting_a_CSV_for_View_Import&amp;diff=1517</id>
		<title>Formatting a CSV for View Import</title>
		<link rel="alternate" type="text/html" href="https://kb.phenomportal.com/index.php?title=Formatting_a_CSV_for_View_Import&amp;diff=1517"/>
		<updated>2025-11-14T18:21:41Z</updated>

		<summary type="html">&lt;p&gt;Annie: /* General Column/Data Requirements */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;To bulk import view characteristics, the CSV file should be formatted as described in this article.&lt;br /&gt;
&lt;br /&gt;
== General Column/Data Requirements ==&lt;br /&gt;
The following column headers must exist and contain data in each row:&lt;br /&gt;
* View_Name&lt;br /&gt;
* Characteristic_Name&lt;br /&gt;
* Primitive&lt;br /&gt;
* Source&lt;br /&gt;
* Path&lt;br /&gt;
* Measurement&lt;br /&gt;
&lt;br /&gt;
The following columns are optional (for example, the Package columns are only there to specify destination if desired): &lt;br /&gt;
* DM_Name&lt;br /&gt;
* Package_Name&lt;br /&gt;
* Package_Description&lt;br /&gt;
* Package_Tags&lt;br /&gt;
* View_Description&lt;br /&gt;
* View_Tags&lt;br /&gt;
* Characteristic_Description&lt;br /&gt;
* Characteristic_Tags&lt;br /&gt;
* Characteristic_Foreign&lt;br /&gt;
* Primitive_Bound_Length&lt;br /&gt;
* Primitive_Bound_Scale&lt;br /&gt;
* Optional&lt;br /&gt;
* Lower_Bound&lt;br /&gt;
* Upper_Bound&lt;br /&gt;
* Nested_View&lt;br /&gt;
* Platform_Type&lt;br /&gt;
* View_GUID&lt;br /&gt;
* Characteristic_GUID&lt;br /&gt;
* Platform_Type_GUID&lt;br /&gt;
&lt;br /&gt;
The order of the columns is not enforced, it does not have to be in the same order as the suggested format above.&lt;br /&gt;
&lt;br /&gt;
Any additional user-made columns will be ignored and will not interfere with import.&lt;br /&gt;
&lt;br /&gt;
Bulk import can currently import Package, View, and Characteristic elements.&lt;br /&gt;
&lt;br /&gt;
== Column-specific Requirements ==&lt;br /&gt;
=== DM_Name ===&lt;br /&gt;
* Leaving this column blank will default Datamodel to the first available Datamodel.&lt;br /&gt;
* Setting this column to an existing Datamodel will default to the first matching Datamodel within the model.&lt;br /&gt;
* If there is no matching Datamodel, a new Datamodel will be created.&lt;br /&gt;
&lt;br /&gt;
=== Package Name ===&lt;br /&gt;
* Leaving this column blank will default Package to the &amp;quot;Phenom&amp;quot; package.&lt;br /&gt;
* Setting this column to an existing Package will default to the first matching Platform Package within the model.&lt;br /&gt;
* If there is no matching Package, a new Package will be created within the &amp;quot;Phenom&amp;quot; Package.&lt;br /&gt;
&lt;br /&gt;
=== Package Description ===&lt;br /&gt;
Package Description will be imported for new Packages only. Only the first Description for new Packages will be imported.&lt;br /&gt;
&lt;br /&gt;
=== View Name ===&lt;br /&gt;
The data in this column for an existing View will be matched to the first View of that name within the model (there should only be one match). If there isn&#039;t a matching View, a new View will be created within the &amp;quot;Phenom&amp;quot; Package.&lt;br /&gt;
&lt;br /&gt;
=== View Description ===&lt;br /&gt;
View Description will be imported for new Views only. Only the first Description for new Views will be imported.&lt;br /&gt;
&lt;br /&gt;
=== Characteristic Name, Characteristic Description ===&lt;br /&gt;
* Characteristic Names must be unique to the View they are imported under.&lt;br /&gt;
* The Characteristic must not already exist in the desired View&lt;br /&gt;
* Characteristics belonging to different Views may have the same name.&lt;br /&gt;
&lt;br /&gt;
=== Primitive ===&lt;br /&gt;
This column isn&#039;t case sensitive. Acceptable values: &amp;quot;Char&amp;quot;, &amp;quot;Double&amp;quot;, &amp;quot;Float&amp;quot;, &amp;quot;Long&amp;quot;, &amp;quot;Short&amp;quot;, &amp;quot;String&amp;quot;, &amp;quot;ULong&amp;quot;, &amp;quot;UShort&amp;quot;, &amp;quot;Octet&amp;quot;, &amp;quot;Enumeration&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Source, Path, Measurement ===&lt;br /&gt;
* Source must exist in the model and must be the Entity/Association projected from the last element in the Path column.&lt;br /&gt;
* Path must have valid elements leading up to/ending with the Observable realized by the Measurement.&lt;br /&gt;
* Measurement must in the model and realize the Observable at the end of the Path.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;For example: &#039;&#039;&#039;AirSystemType&#039;&#039;&#039; is projected (through payload) from &#039;&#039;&#039;elementID&#039;&#039;&#039; which is realized by &#039;&#039;UniqueID_Unbounded_Integer&#039;&lt;br /&gt;
&lt;br /&gt;
=== Lower Bound and Upper Bound ===&lt;br /&gt;
&lt;br /&gt;
* This row must have both a Source and a Path for these values to be valid.&lt;br /&gt;
* The bound can be set to &amp;quot;unbounded&amp;quot;, which will set the bound to -1.&lt;br /&gt;
&lt;br /&gt;
=== Nested View ===&lt;br /&gt;
&lt;br /&gt;
* The Nested View must exist in the model and must be the name of a View. &lt;br /&gt;
&#039;&#039;See Nested Views for changes to other columns&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== View GUID, Characteristic GUID, and Platform Type GUID ===&lt;br /&gt;
&lt;br /&gt;
* A GUID must be associated with an existing node of the relevant xmi:type in the model.&lt;br /&gt;
&lt;br /&gt;
== Tagging New Elements (Optional) ==&lt;br /&gt;
Package_Tags, View_Tags, and Characteristic_Tags optional columns can be used to tag new Packages, Views, or Characteristics. Each field can have multiple comma-delimited tags.&lt;br /&gt;
&lt;br /&gt;
The raw CSV must have quotes around fields with commas (Excel normally handles this).&lt;br /&gt;
&lt;br /&gt;
Package_Tags will tag whichever package is chosen - this includes the Phenom package when a package isn&#039;t specified in the Package_Name column.&lt;br /&gt;
&lt;br /&gt;
== Nested Views Requirements ==&lt;br /&gt;
By referencing the name of another view, whether already existing in the model or being added by the same CSV file, in the &#039;&#039;&#039;Nested_View&#039;&#039;&#039; column, the import can create view sub-structuring or nesting. &lt;br /&gt;
&lt;br /&gt;
In view field rows representing nested views, the &#039;&#039;&#039;Source&#039;&#039;&#039; and &#039;&#039;&#039;Path&#039;&#039;&#039; columns represent the perspective path under which the view sub-structure is nested. At the same time, the &#039;&#039;&#039;Primitive&#039;&#039;&#039;, &#039;&#039;&#039;Platform_Type&#039;&#039;&#039;, and &#039;&#039;&#039;Measurement&#039;&#039;&#039; are not applicable. &lt;br /&gt;
&lt;br /&gt;
By default, all sub-structure nesting view field rows will be inferred to be representing a &amp;quot;private&amp;quot; nesting. This can be made explicit, or toggled off to accomplish a sub-structure import, by using the &#039;&#039;&#039;Characteristic_Foreign&#039;&#039;&#039; column: if set to &amp;quot;false&amp;quot;, the view sub-structure will be private to its nesting view, and an independent import if set to &amp;quot;true&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Union Views Requirements ==&lt;br /&gt;
Union views are not supported by the CSV import yet.&lt;br /&gt;
&lt;br /&gt;
== Additional Requirements ==&lt;br /&gt;
* Data within Package_Name, View_Name, and Characteristic_Name must all begin with a letter, and only contain numbers, letters, or underscores. The data must also not match any of the following reserved words:&lt;br /&gt;
** &#039;&#039;&#039;IDL Reserved words:&#039;&#039;&#039;&amp;lt;p&amp;gt;&amp;quot;and&amp;quot;, &amp;quot;begin&amp;quot;, &amp;quot;break&amp;quot;, &amp;quot;case&amp;quot;, &amp;quot;common&amp;quot;, &amp;quot;compile_opt&amp;quot;, &amp;quot;continue&amp;quot;, &amp;quot;do&amp;quot;, &amp;quot;else&amp;quot;, &amp;quot;end&amp;quot;, &amp;quot;endcase&amp;quot;, &amp;quot;endelse&amp;quot;, &amp;quot;endfor&amp;quot;, &amp;quot;endforeach&amp;quot;, &amp;quot;endif&amp;quot;, &amp;quot;endrep&amp;quot;, &amp;quot;endswitch&amp;quot;, &amp;quot;endwhile&amp;quot;, &amp;quot;eq&amp;quot;, &amp;quot;for&amp;quot;, &amp;quot;foreach&amp;quot;, &amp;quot;forward_function&amp;quot;, &amp;quot;function&amp;quot;, &amp;quot;ge&amp;quot;, &amp;quot;goto&amp;quot;, &amp;quot;gt&amp;quot;, &amp;quot;if&amp;quot;, &amp;quot;inherits&amp;quot;, &amp;quot;le&amp;quot;, &amp;quot;lt&amp;quot;, &amp;quot;mod&amp;quot;, &amp;quot;ne&amp;quot;, &amp;quot;not&amp;quot;, &amp;quot;of&amp;quot;, &amp;quot;on_ioerror&amp;quot;, &amp;quot;or&amp;quot;, &amp;quot;pro&amp;quot;, &amp;quot;repeat&amp;quot;, &amp;quot;switch&amp;quot;, &amp;quot;then&amp;quot;, &amp;quot;until&amp;quot;, &amp;quot;while&amp;quot;, &amp;quot;xor&amp;quot;&amp;lt;/p&amp;gt;&lt;br /&gt;
** &#039;&#039;&#039;OCL Reserved words:&#039;&#039;&#039;&amp;lt;p&amp;gt; &amp;quot;abstract&amp;quot;, &amp;quot;any&amp;quot;, &amp;quot;attribute&amp;quot;, &amp;quot;boolean&amp;quot;, &amp;quot;case&amp;quot;, &amp;quot;char&amp;quot;, &amp;quot;component&amp;quot;, &amp;quot;const&amp;quot;, &amp;quot;consumes&amp;quot;, &amp;quot;context&amp;quot;, &amp;quot;custom&amp;quot;, &amp;quot;default&amp;quot;, &amp;quot;double&amp;quot;, &amp;quot;emits&amp;quot;, &amp;quot;enum&amp;quot;, &amp;quot;eventtype&amp;quot;, &amp;quot;exception&amp;quot;, &amp;quot;factory&amp;quot;, &amp;quot;false&amp;quot;, &amp;quot;finder&amp;quot;, &amp;quot;fixed&amp;quot;, &amp;quot;float&amp;quot;, &amp;quot;getraises&amp;quot;, &amp;quot;home&amp;quot;, &amp;quot;import&amp;quot;, &amp;quot;in&amp;quot;, &amp;quot;inout&amp;quot;, &amp;quot;interface&amp;quot;, &amp;quot;local&amp;quot;, &amp;quot;long&amp;quot;, &amp;quot;manages&amp;quot;, &amp;quot;module&amp;quot;, &amp;quot;multiple&amp;quot;, &amp;quot;native&amp;quot;, &amp;quot;object&amp;quot;, &amp;quot;octet&amp;quot;, &amp;quot;oneway&amp;quot;, &amp;quot;out&amp;quot;, &amp;quot;primarykey&amp;quot;, &amp;quot;private&amp;quot;, &amp;quot;provides&amp;quot;, &amp;quot;public&amp;quot;, &amp;quot;publishes&amp;quot;, &amp;quot;raises&amp;quot;, &amp;quot;readonly&amp;quot;, &amp;quot;sequence&amp;quot;, &amp;quot;setraises&amp;quot;, &amp;quot;short&amp;quot;, &amp;quot;string&amp;quot;, &amp;quot;struct&amp;quot;, &amp;quot;supports&amp;quot;, &amp;quot;switch&amp;quot;, &amp;quot;true&amp;quot;, &amp;quot;truncatable&amp;quot;, &amp;quot;typedef&amp;quot;, &amp;quot;typeid&amp;quot;, &amp;quot;typeprefix&amp;quot;, &amp;quot;union&amp;quot;, &amp;quot;unsigned&amp;quot;, &amp;quot;uses&amp;quot;, &amp;quot;valuebase&amp;quot;, &amp;quot;valuetype&amp;quot;, &amp;quot;void&amp;quot;, &amp;quot;wchar&amp;quot;, &amp;quot;wstring&amp;quot;&amp;lt;/p&amp;gt;&lt;br /&gt;
* New Views not already within the model must be unique among elements of type IDLStruct and Enumeration.&lt;br /&gt;
* Multidimensional Measurements are supported, however each axis will default to the primitive found within the primitive column (these can be corrected within Phenom later if desired).&lt;br /&gt;
* If there are any errors during validation of the CSV file, the model import will not be initiated and a list of errors will be returned. They will be labeled by the row they occur on for convenience.&lt;br /&gt;
* There is a 2MB limit in place - if a larger file needs to be imported, it needs to be split up into smaller files.&lt;br /&gt;
* In the raw CSV (i.e., as observed from notepad), any field with commas must have surrounding quotes (Excel normally handles this).&lt;/div&gt;</summary>
		<author><name>Annie</name></author>
	</entry>
</feed>