Difference between revisions of "OtfProjectStructure"

From emotive
Jump to navigation Jump to search
Line 16: Line 16:
  
 
==Procedure Project==
 
==Procedure Project==
Procedure projects are used in a solution to logically manage, build and debug [[Core.Documents|Documents]] and [[OtfProjectSettings|Project Settings]]. The output of a project is usually a '''D'''ynamic-'''L'''ink '''L'''ibrary (.dll) file or '''J'''ava '''AR'''chive (.jar), see project output folder. The procedure projects contains all the elements to constitute the OTX test sequences such as the OTX Packages, OTX Documents, Procedures and Activities etc. The procedure projects 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.
+
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.
  
 
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.
 
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 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 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.
  
Line 27: Line 27:
  
 
===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 33: Line 33:
 
| '''Folder Name''' || '''Content'''
 
| '''Folder Name''' || '''Content'''
 
|-{{TableRow1}}
 
|-{{TableRow1}}
| '''DatabaseAccess''' || Settings of the DatabaseAccess-Extension.
+
| '''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 57: Line 57:
 
| '''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]]
 
|}
 
|}
  
Line 77: Line 77:
  
 
===PPX===
 
===PPX===
[[File:ProjectStructure.png|thumb|Project Structure]]
+
[[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 test sequences and specified layouts deployment. Click [[OtfProjectSharing|here]] for more information of packing a player project into a PPX.
+
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]].
 
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]].
Line 89: Line 89:
 
| '''Folder Name''' || '''Content'''
 
| '''Folder Name''' || '''Content'''
 
|-{{TableRow2}}
 
|-{{TableRow2}}
| '''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 [[OtfPlayerProjectSettings#i18n_settings|Project Settings]].
 
|-{{TableRow1}}
 
|-{{TableRow1}}
| '''Logging''' || Settings of the Logging-Extension, see [[OtfProjectSettings|Project Settings]].
+
| '''Logging''' || Settings of the Logging-Extension, see [[OtfPlayerProjectSettings#Logging_settings|Project Settings]].
 
|-{{TableRow2}}
 
|-{{TableRow2}}
| '''ODX''' || Settings of the DiagCom-Extension, see [[OtfProjectSettings|Project Settings]].
+
| '''ODX''' || Settings of the DiagCom-Extension, see [[OtfPlayerProjectSettings#DiagCom_.28ODX_Diagnostic_Data.29_settings|Project Settings]].
 
|-{{TableRow1}}
 
|-{{TableRow1}}
| '''OTX-Mapping''' || External applications (*.exe or *.dll) using for [[OtfOtxMapping|OTX Mappings]].
+
| '''OTX-Mapping''' || External applications (*.exe or *.dll) using for [[OtfPlayerProjectSettings#External_Applications_settings|OTX Mappings]].
 
|-{{TableRow2}}
 
|-{{TableRow2}}
 
| '''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 [[OtfPlayerProjectSettings#Quantities_settings|Project Settings]]
 
|}
 
|}
  
Line 106: Line 106:
 
===References===
 
===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:
 
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]]
+
# [[Core.Declarations.GlobalDeclarations|Global Declarations]] (only ContextVariables and StateVariables)
 
# [[Core.Procedures|Procedures]]
 
# [[Core.Procedures|Procedures]]
 
# [[Core.Parameters|LocalParameters]]
 
# [[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]].
 
Before an element can be referred, a reference to the related procedure project should be added, see [[OtfProjectSettings#Project_References_settings| Project Settings]].

Revision as of 06:24, 21 November 2018

UNDER DEVELOPMENT ...

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.