Annex Guide – Text file structure

This section gives the brief explanation about 'Text file structure format'.
This is a plain text file, where the levels in the product breakdown structure are defined by the indentation level on the file. The system allows the user to create a project based on a text file that describes the structure of the product tree. The following annex describes the structure of the text file and the zip file that includes this file.  The given file can be either a plain text file, if there are no file references or else it must be a zipped package containing all files.
Zip file Package
If the file (named breakdown_structure.txt for instance) does not contain any references to attached files, the user can simply import this plain file. Otherwise one must prepare a zip package containing breakdown_structure.txt along with all the referred files. In addition, the zip package must contain a file with name TRUEplm_project_name.txt, which contains the name of the file described in the next paragraph. Please note that the name of the file should be without the filer type/suffix (.txt)
Text file structure
The main rule is that each new line in the text file represents an element in the breakdown structure. Lines that are on the same level of indentation represent elements on the same level in the breakdown structure. There are, however, some exceptions from the main rule. If a line starts with a prefix, there is one specific rule for each prefix. 
The prefixes are:

  • E:   For breakdown elements, the name of the node is followed by the colon ":"  
    • TYPE: type of the node, e.g. urn:rdl:epm-std:System
    • PHASE: The phase of the node in the project
    • DESCR: the description of the node
  • F:   file/document, the name of the file is followed after the colon ":"  
    • TYPE: type of the node, e.g. urn:rdl:epm-std:System
    • PHASE: The phase of the node in the project
    • DESCR: the description of the node
  • P(s):   string property prefix, the name of the property is followed after the colon ":"  
  • P(n):   numerical property prefix, the name of the property is followed after the colon ":
    • UNIT= the name of the unit  
  • P(e):   enumerate property prefix, the name of the property is followed after the colon ":"  

*Structure of the file:* See example in the next page 92.
To create the file, follow below mentioned rules

  1. The structure is created by indentation
  2. The indent is given in the file as   – indent = "number of spaces" 
  3. Child nodes (element or documents) are listed under the parent node one by one
  4. Properties of a node are listed one by one directly under the node 
  5. RDL files added to zipped pack
  6. For classes and types that belong to project's domain can be specified without urn prefix, external types - with full urn name

Example
Code Block
– TruePLM text export v.1.0
for urn:rdl:test_project
"E:" - node/folder prefix
"F:" - file/document prefix
"P(s) :" - string property prefix
"P(n) :" - numerical property prefix
"P(e) :" - enumeric property prefix
– indent = 4
E:carstens muinck, TYPE= urn:rdl:epm-std:System, PHASE= 0, DESCR= haley lafever
E:dinnie oswell, TYPE= urn:rdl:epm-std:Product_definition, PHASE= 0, DESCR= swinkels wiggins
P(s):date1 = 2019-09-12
P(e):enum1 = mo
P(n):num1 = 123, UNIT= metre per hour
P(s):text1 = 100 km
F:document.txt, TYPE= urn:rdl:epm-std:Design_document, DESCR= clendeni lemyre
P(s):text2 = $result = User::register($name, $email, $password);
E:oscar, TYPE= urn:rdl:epm-std:Module, PHASE= 0, DESCR= truesdal vrouwerf
P(s):date1 = 2019-09-27
P(e):enum1 = tu
E:zuranato cupido, TYPE= urn:rdl:epm-std:Subsystem, PHASE= 0, DESCR= amando abdel-az
P(s):date1 = 2019-09-06
P(e):enum1 = tu
F:AdminController.php TYPE= urn:rdl:epm-std:Design_document, DESCR= sdfsdgdfg
P(s):text2 = sample of textual property of a document
F:SiteController.php TYPE= urn:rdl:epm-std:Design_document, DESCR= qqqqqqqqqq
E:hopkin, TYPE= urn:rdl:epm-std:System, PHASE= 0, DESCR= nimish smrke-su
E:wolfgang, TYPE= urn:rdl:epm-std:Unit, PHASE= 0, DESCR= woei-pen
P(s):date1 = 2019-09-26
P(s):text1 = $categories = Category::getCategoriesList();
E:toby, TYPE= jobe pautenis, PHASE= 0, DESCR= tjahjadi
P(s):date1 = 2019-09-14
P(n):jobe = 11, UNIT= abbai
F:CatalogController.php TYPE= urn:rdl:epm-std:Design_document, DESCR= rosenber wigderso
P(s):text2 = require_once
E:another, root, TYPE= urn:rdl:epm-std:Module, PHASE= 0, DESCR= Test element to show description
P(s):date1 = 2019-09-12
P(e):enum1 = mo
P(s):text1 = sample of text "with quote" and 'apostrophy'
P(n):num1 = 12345.7, UNIT = metre per hour