Difference between revisions of "OtfProjectStructure"

From emotive
Jump to navigation Jump to search
 
(10 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
{{DISPLAYTITLE:Open Test Framework - Solutions and Projects}}[[Category:OTF]]
 
{{DISPLAYTITLE:Open Test Framework - Solutions and Projects}}[[Category:OTF]]
 
==Overview==
 
==Overview==
The OTF provides two containers to help you efficiently organize and manage all items, such as [[Core.Packages|Packages]], [[Core.Documents|Documents]] and [[OtfProjectSettings|Settings]]. These containers are called
+
The OTF provides two containers to help you efficiently organize and manage all items, such as [[Core.Packages|Packages]], [[Core.Documents|Documents]], [[OtfSolutionExplorer#Monitors|Layouts]] and [[OtfProjectSettings|Settings]]. These containers are called
 
* '''Solution''' and
 
* '''Solution''' and
 
* '''Project'''.
 
* '''Project'''.
The [[OtfSolutionExplorer|Solution Explorer]] can be used to view and manage a solution along with the projects inside and their associated items.
 
  
The picture below shows the overall storage structure inside the OTF. Beginning from right hand side a solution contains one ore more projects, a project contains one ore more packages, a package contains one ore more documents, a document contains one ore more procedures and a procedure contains one ore more activities. It is possible to call procedures or use global declarations inside the same document ('''In-Document reference'''), outside the document and inside the same project ('''Cross-Document reference''') and outside the project ('''Cross-Project reference''').
+
The OTF has 2 kinds of projects: '''Procedure Projects''' and '''Player Projects'''. Here in this first section, only the '''procedure projects''' are mentioned. The picture below shows overall structure of the solution and the '''procedure projects''' in the OTF. Beginning from right hand side a solution contains one or more projects, a project contains one or more packages, a package contains one or more documents, a document contains one or more procedures and a procedure contains one or more activities. It is possible to call procedures or use global elements such as validities, signatures and global declarations inside the same document ('''In-Document reference'''), outside the document yet inside the same procedure project ('''Cross-Document reference''') and outside the project ('''Cross-Project reference'''). A procedure project can be packed into a PTX zipped file. References to PTX files are also counted as ('''Cross-Project reference''').
  
 
{{ImageStyleCenter|OdfStorageStructure.png|800|OTF Storage Structure}}
 
{{ImageStyleCenter|OdfStorageStructure.png|800|OTF Storage Structure}}
  
Furthermore a project can be packed into a '''PTX'''. References to PTX files are also counted as ('''Cross-Project reference''').
+
The [[OtfSolutionExplorer|Solution Explorer]] can be used to view and manage a solution along with the projects inside and their associated items.
  
 
==Solution==
 
==Solution==
 
A solution contains one or more projects. Solutions group projects together which are needed for the test task as a whole. OTF automatically generates a solution when a new project is created. OTF stores the definition for a solution in two files: '''*.otfSln''' and '''*.otfSuo'''.
 
A solution contains one or more projects. Solutions group projects together which are needed for the test task as a whole. OTF automatically generates a solution when a new project is created. OTF stores the definition for a solution in two files: '''*.otfSln''' and '''*.otfSuo'''.
  
==Project==
+
==Procedure Project==
Projects are used in a solution to logically manage, build and debug [[Core.Documents|Documents]] and [[OtfProjectSettings|Project Settings]]. The executable output of a project is usually a dynamic-link library (.dll) file or a program (.exe), see project Output folder.
+
Procedure projects are used in a solution to logically manage, build and debug [[Core.Documents|Documents]] and [[OtfProjectSettings|Project Settings]]. The output of a procedure project is usually a '''D'''ynamic-'''L'''ink '''L'''ibrary (.dll) file or '''J'''ava '''AR'''chive (.jar), see Output folder or JavaOutput folder in the project folder. A procedure project contains all the elements to constitute the OTX test sequences such as the OTX Packages, OTX Documents, Procedures and Activities etc. It also contains the environment settings to execute the test sequences. A procedure project can be packed into a PTX zipped file. A procedure project or a PTX can be referred by another procedure/player project.
OTF provides pre- or self-defined [[OtfTemplates|Project Templates]]. You can use these templates to create the basic project container and a preliminary set of items that you might need in order to develop your test application.
+
 
 +
The OTF provides pre- or self-defined [[OtfTemplates|Project Templates]]. You can use these templates to create the basic project container and a preliminary set of items that you might need in order to develop your test application.
  
==PTX==
+
===PTX===
[[File:ProjectStructure.png|thumb|Project Structure]]
+
[[File:ProjectStructure.png|thumb|Procedure Project Structure]]
A PTX is a project packed in a ZIP archive (Format see ISO 22901 PDX). A PTX can be used as a container for OTX file deployment or as a library for importing in other projects.
+
A PTX is a procedure project packed in a ZIP archive (Format see ISO 22901 PDX). A PTX can be used as a container for OTX file deployment or as a library for importing in other projects. Click [[OtfProjectSharing|here]] for more information of packing a procedure project into a PTX.
  
A project can be exported to create a PTX  via the context menu of a [[OtfSolutionExplorer#Projects|project node]] in the [[OtfSolutionExplorer|Solution Explorer]].
+
A procedure project can be exported to create a PTX  via the context menu of a [[OtfSolutionExplorer#Projects|project node]] in the [[OtfSolutionExplorer|Solution Explorer]].
  
==Project Structure==
+
===Structure===
A project consists of a project settings file '''*.otfPrj''' and the following folders:
+
A procedure project consists of a project settings file '''*.otfPrj''' and the following folders:
  
 
{|{{TableHeader}}
 
{|{{TableHeader}}
Line 32: Line 32:
 
| '''Folder Name''' || '''Content'''
 
| '''Folder Name''' || '''Content'''
 
|-{{TableRow1}}
 
|-{{TableRow1}}
| '''DatabaseAccess''' || Settings of the DatabaseAccess-Extension, see [[OtfProjectSettings|Project Settings]].
+
| '''DatabaseAccess''' || Settings of the DatabaseAccess-Extension, this folder is obsolete and will be removed.
 
|-{{TableRow2}}
 
|-{{TableRow2}}
| '''HMI''' || Settings of the HMI-Extension e.g. Screen-Mapping, see [[OtfProjectSettings|Project Settings]].
+
| '''HMI''' || Settings of the HMI-Extension e.g. Screen-Mapping, see [[OtfProjectSettings#External_Applications_settings|Project Settings]].
 
|-{{TableRow1}}
 
|-{{TableRow1}}
| '''i18n''' || Settings of the I18N-Extension e.g. multilingual text library, see [[OtfProjectSettings|Project Settings]].
+
| '''i18n''' || Settings of the I18N-Extension e.g. multilingual text library, see [[OtfProjectSettings#i18n_settings|Project Settings]].
 
|-{{TableRow2}}
 
|-{{TableRow2}}
 
| '''JavaOutput''' || Contains all generated [https://en.wikipedia.org/wiki/JAR_(file_format) JAR] files for executing (click [[OtfExecution|here]] for more information).
 
| '''JavaOutput''' || Contains all generated [https://en.wikipedia.org/wiki/JAR_(file_format) JAR] files for executing (click [[OtfExecution|here]] for more information).
 
|-{{TableRow1}}
 
|-{{TableRow1}}
| '''Logging''' || Settings of the Logging-Extension, see [[OtfProjectSettings|Project Settings]].
+
| '''Logging''' || Settings of the Logging-Extension, see [[OtfProjectSettings#Logging_settings|Project Settings]].
 
|-{{TableRow2}}
 
|-{{TableRow2}}
| '''Measure''' || Settings of the Measure-Extension e.g. [[OtfDeviceMapping|Device Mapping]], see [[OtfProjectSettings|Project Settings]].
+
| '''Measure''' || Settings of the Measure-Extension, this folder is obsolete and will be removed.
 
|-{{TableRow1}}
 
|-{{TableRow1}}
| '''ODX''' || Settings of the DiagCom-Extension, see [[OtfProjectSettings|Project Settings]].
+
| '''ODX''' || Settings of the DiagCom-Extension, see [[OtfProjectSettings#DiagCom_.28ODX_Diagnostic_Data.29_settings|Project Settings]].
 
|-{{TableRow2}}
 
|-{{TableRow2}}
 
| '''OTX''' || Contains the OTX [[Core.Packages|Packages]] or [[Core.Documents|Documents]].
 
| '''OTX''' || Contains the OTX [[Core.Packages|Packages]] or [[Core.Documents|Documents]].
Line 50: Line 50:
 
| '''OTX-Backup''' || Contains the OTX backup files, see [[OtfSettings|OTF Settings]].
 
| '''OTX-Backup''' || Contains the OTX backup files, see [[OtfSettings|OTF Settings]].
 
|-{{TableRow2}}
 
|-{{TableRow2}}
| '''OTX-Mapping''' || External applications (*.exe or *.dll) using for [[OtfDeviceMapping|Device Mapping]] or [[OtfContextMapping|Context Mapping]], see [[OtfProjectSettings|Project Settings]].
+
| '''OTX-Mapping''' || External applications (*.exe or *.dll) using for [[OtfOtxMapping|OTX Mappings]].
 
|-{{TableRow1}}
 
|-{{TableRow1}}
 
| '''Output''' || Contains all generated [https://en.wikipedia.org/wiki/Dynamic-link_library DLL] files for executing (click [[OtfExecution|here]] for more information).
 
| '''Output''' || Contains all generated [https://en.wikipedia.org/wiki/Dynamic-link_library DLL] files for executing (click [[OtfExecution|here]] for more information).
Line 56: Line 56:
 
| '''PTX''' || Contains PTX libraries used inside the project
 
| '''PTX''' || Contains PTX libraries used inside the project
 
|-{{TableRow1}}
 
|-{{TableRow1}}
| '''Quantity''' || Settings of the Quantity-Extension e.g. ODX files with UNIT-SPECS, see [[OtfProjectSettings|Project Settings]]
+
| '''Quantity''' || Settings of the Quantity-Extension e.g. ODX files with UNIT-SPECS, see [[OtfProjectSettings#Quantities_settings|Project Settings]]
 
|}
 
|}
  
 
{{Note|The only mandatory folder of a project is the OTX folder. All other folders can be omitted. Not specified settings will be adjust to default values.}}
 
{{Note|The only mandatory folder of a project is the OTX folder. All other folders can be omitted. Not specified settings will be adjust to default values.}}
  
==References outside a Document==
+
===References===
All elements inside an OTX Document can be used from another document, if the elements have a sufficient [[Core.Visibilities|Visibility]]. The following elements can be referred
+
All elements with the sufficient [[Core.Visibilities|Visibility]] inside an OTX Document can be used by another document. The following elements can be referred:
 
# [[Core.Validities|Validities]]
 
# [[Core.Validities|Validities]]
 
# [[Core.Signatures|Signatures]]
 
# [[Core.Signatures|Signatures]]
Line 68: Line 68:
 
# [[Core.Procedures|Procedures]]
 
# [[Core.Procedures|Procedures]]
  
Before a global entity can be referred the related document shall be imported, see [[Core.Imports|Imports]]. If the document is outside the project, a reference to the outside project should be added, see [[OtfProjectSettings#Project_References_settings| Project Settings]].
+
Before a global entity can be referred, the related document shall be imported, see [[Core.Imports|Imports]]. If the document is outside the project, a reference to the outside project should be added, see [[OtfProjectSettings#Project_References_settings| Project Settings]].
 +
 
 +
==Player Project==
 +
The player projects do not directly contain the OTX test sequences but they contain layouts of how the test sequences are presented in the OTP etc. The layouts contain the command buttons and controls bound to the procedures and declarations of the other procedure projects. They are used in the solution to manage the layouts, the settings including the references to the test sequences. A player project can be packed into a PPX zipped file. A player project can refer to procedure projects or PTX files. However, a player project or a PPX can not be referred by any other procedure/player projects.
 +
 
 +
OTF provides pre- or self-defined [[OtfTemplates|Project Templates]]. You can use these templates to create the basic project container and a preliminary set of items that you might need in order to develop your test application.
 +
 
 +
===PPX===
 +
[[File:PlayerProjectStructure.png|thumb|Player Project Structure]]
 +
A PPX is a player project packed in a ZIP archive. A PPX can be used as a container for user layouts and playlists deployment. Click [[OtfProjectSharing|here]] for more information of packing a player project into a PPX.
 +
 
 +
A project can be exported to create a PPX  via the context menu of a [[OtfSolutionExplorer#Player_Projects|player project node]] in the [[OtfSolutionExplorer|Solution Explorer]].
 +
 
 +
===Structure===
 +
A player project consists of a player layout file '''*.playLay''', a player playlist file '''*.playLst''', a settings file '''*.playPrj''' and the following folders:
 +
 
 +
{|{{TableHeader}}
 +
|- style="background: gray; color: white; vertical-align:top;'''"
 +
| '''Folder Name''' || '''Content'''
 +
|-{{TableRow2}}
 +
| '''i18n''' || Settings of the I18N-Extension e.g. multilingual text library, see [[OtfPlayerProjectSettings#i18n_settings|Project Settings]].
 +
|-{{TableRow1}}
 +
| '''Logging''' || Settings of the Logging-Extension, see [[OtfPlayerProjectSettings#Logging_settings|Project Settings]].
 +
|-{{TableRow2}}
 +
| '''ODX''' || Settings of the DiagCom-Extension, see [[OtfPlayerProjectSettings#DiagCom_.28ODX_Diagnostic_Data.29_settings|Project Settings]].
 +
|-{{TableRow1}}
 +
| '''OTX-Mapping''' || External applications (*.exe or *.dll) using for [[OtfPlayerProjectSettings#External_Applications_settings|OTX Mappings]].
 +
|-{{TableRow2}}
 +
| '''PTX''' || Contains PTX libraries used inside the project
 +
|-{{TableRow1}}
 +
| '''Quantity''' || Settings of the Quantity-Extension e.g. ODX files with UNIT-SPECS, see [[OtfPlayerProjectSettings#Quantities_settings|Project Settings]]
 +
|}
 +
 
 +
{{Note|The only mandatory folder of a project is the PTX folder. All other folders can be omitted. Not specified settings will be adjust to default values.}}
 +
 
 +
===References===
 +
Some kinds of elements inside an OTX Document can be used to bound to elements in a player project. The following elements can be referred:
 +
# [[Core.Declarations.GlobalDeclarations|Global Declarations]] (only ContextVariables and StateVariables)
 +
# [[Core.Procedures|Procedures]]
 +
# [[Core.Parameters|LocalParameters]]
 +
 
 +
Before an element can be referred, a reference to the related procedure project should be added, see [[OtfProjectSettings#Project_References_settings| Project Settings]].

Latest revision as of 06:25, 21 November 2018

Overview

The OTF provides two containers to help you efficiently organize and manage all items, such as Packages, Documents, Layouts and Settings. These containers are called

  • Solution and
  • Project.

The OTF has 2 kinds of projects: Procedure Projects and Player Projects. Here in this first section, only the procedure projects are mentioned. The picture below shows overall structure of the solution and the procedure projects in the OTF. Beginning from right hand side a solution contains one or more projects, a project contains one or more packages, a package contains one or more documents, a document contains one or more procedures and a procedure contains one or more activities. It is possible to call procedures or use global elements such as validities, signatures and global declarations inside the same document (In-Document reference), outside the document yet inside the same procedure project (Cross-Document reference) and outside the project (Cross-Project reference). A procedure project can be packed into a PTX zipped file. References to PTX files are also counted as (Cross-Project reference).

OdfStorageStructure.png
OTF Storage Structure

The Solution Explorer can be used to view and manage a solution along with the projects inside and their associated items.

Solution

A solution contains one or more projects. Solutions group projects together which are needed for the test task as a whole. OTF automatically generates a solution when a new project is created. OTF stores the definition for a solution in two files: *.otfSln and *.otfSuo.

Procedure Project

Procedure projects are used in a solution to logically manage, build and debug Documents and Project Settings. The output of a procedure project is usually a Dynamic-Link Library (.dll) file or Java ARchive (.jar), see Output folder or JavaOutput folder in the project folder. A procedure project contains all the elements to constitute the OTX test sequences such as the OTX Packages, OTX Documents, Procedures and Activities etc. It also contains the environment settings to execute the test sequences. A procedure project can be packed into a PTX zipped file. A procedure project or a PTX can be referred by another procedure/player project.

The OTF provides pre- or self-defined Project Templates. You can use these templates to create the basic project container and a preliminary set of items that you might need in order to develop your test application.

PTX

Procedure Project Structure

A PTX is a procedure project packed in a ZIP archive (Format see ISO 22901 PDX). A PTX can be used as a container for OTX file deployment or as a library for importing in other projects. Click here for more information of packing a procedure project into a PTX.

A procedure project can be exported to create a PTX via the context menu of a project node in the Solution Explorer.

Structure

A procedure project consists of a project settings file *.otfPrj and the following folders:

Folder Name Content
DatabaseAccess Settings of the DatabaseAccess-Extension, this folder is obsolete and will be removed.
HMI Settings of the HMI-Extension e.g. Screen-Mapping, see Project Settings.
i18n Settings of the I18N-Extension e.g. multilingual text library, see Project Settings.
JavaOutput Contains all generated JAR files for executing (click here for more information).
Logging Settings of the Logging-Extension, see Project Settings.
Measure Settings of the Measure-Extension, this folder is obsolete and will be removed.
ODX Settings of the DiagCom-Extension, see Project Settings.
OTX Contains the OTX Packages or Documents.
OTX-Backup Contains the OTX backup files, see OTF Settings.
OTX-Mapping External applications (*.exe or *.dll) using for OTX Mappings.
Output Contains all generated DLL files for executing (click here for more information).
PTX Contains PTX libraries used inside the project
Quantity Settings of the Quantity-Extension e.g. ODX files with UNIT-SPECS, see Project Settings
Icons Note.png The only mandatory folder of a project is the OTX folder. All other folders can be omitted. Not specified settings will be adjust to default values.

References

All elements with the sufficient Visibility inside an OTX Document can be used by another document. The following elements can be referred:

  1. Validities
  2. Signatures
  3. Global Declarations
  4. Procedures

Before a global entity can be referred, the related document shall be imported, see Imports. If the document is outside the project, a reference to the outside project should be added, see Project Settings.

Player Project

The player projects do not directly contain the OTX test sequences but they contain layouts of how the test sequences are presented in the OTP etc. The layouts contain the command buttons and controls bound to the procedures and declarations of the other procedure projects. They are used in the solution to manage the layouts, the settings including the references to the test sequences. A player project can be packed into a PPX zipped file. A player project can refer to procedure projects or PTX files. However, a player project or a PPX can not be referred by any other procedure/player projects.

OTF provides pre- or self-defined Project Templates. You can use these templates to create the basic project container and a preliminary set of items that you might need in order to develop your test application.

PPX

Player Project Structure

A PPX is a player project packed in a ZIP archive. A PPX can be used as a container for user layouts and playlists deployment. Click here for more information of packing a player project into a PPX.

A project can be exported to create a PPX via the context menu of a player project node in the Solution Explorer.

Structure

A player project consists of a player layout file *.playLay, a player playlist file *.playLst, a settings file *.playPrj and the following folders:

Folder Name Content
i18n Settings of the I18N-Extension e.g. multilingual text library, see Project Settings.
Logging Settings of the Logging-Extension, see Project Settings.
ODX Settings of the DiagCom-Extension, see Project Settings.
OTX-Mapping External applications (*.exe or *.dll) using for OTX Mappings.
PTX Contains PTX libraries used inside the project
Quantity Settings of the Quantity-Extension e.g. ODX files with UNIT-SPECS, see Project Settings
Icons Note.png The only mandatory folder of a project is the PTX folder. All other folders can be omitted. Not specified settings will be adjust to default values.

References

Some kinds of elements inside an OTX Document can be used to bound to elements in a player project. The following elements can be referred:

  1. Global Declarations (only ContextVariables and StateVariables)
  2. Procedures
  3. LocalParameters

Before an element can be referred, a reference to the related procedure project should be added, see Project Settings.