Difference between revisions of "OtfProjectStructure"

From emotive
Jump to navigation Jump to search
Line 6: Line 6:
 
* '''Project'''.
 
* '''Project'''.
  
{{Note|NOTE: The OTF has 2 kinds of projects: Projects of Procedures (OTX test sequences) and Projects of Players (OTP layouts). The procedure projects contain the OTX Packages, OTX Documents, Procedures (test sequences) and Activities etc. The player projects do not contain OTX elements 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. A player project can not be referred by any other procedure projects or player projects.}}
+
{{Note|NOTE: The OTF has 2 kinds of projects: Procedure Projects and Player Projects.  
 +
* 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 file for exchange purpose. A procedure project or a PTX can be referred by another procedure/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. A player project can be packed into a PPX file for exchange purpose. A player project or a PPX can not be referred by any other procedure/player projects.}}
  
 
The [[OtfSolutionExplorer|Solution Explorer]] can be used to view and manage a solution along with the projects inside and their associated items.
 
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 or more projects, a procedure 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 procedure/player project ('''Cross-Project reference''').
+
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'''). 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 procedure project can be packed into a '''PTX'''. References to PTX files are also counted as ('''Cross-Project reference'''). A player project can be packed into a '''PPX''' which can be executed in the [[OtpReference|OTP]].
 
  
 
==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==
 
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 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 project is usually a dynamic-link library (.dll) file or a program (.exe), see project Output folder.
 
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.
 
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==
+
A project is a folder containing the OTX documents and all the necessary settings supporting for design time and run time (click [[OtfProjectStructure#Project|'''here''']] for more information). A project can be exported into a PTX library for many usages. Users can exchange the test sequences to the other computers while all the environment settings are still preserved. The PTX library can be imported back into a solution as a project, or it can be used as a reference in another project. The PTX library can also be used to be executed with the OTX-Runtime API ([http://www.emotive.de/DeveloperReference/OtxRuntime DotNet OTX-Runtime API]/[http://www.emotive.de/DeveloperReference/OtxRuntimeJava Java OTX-Runtime API]).
 +
 
 +
===PTX===
 
[[File:ProjectStructure.png|thumb|Project Structure]]
 
[[File:ProjectStructure.png|thumb|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 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.
Line 29: Line 31:
 
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 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 project consists of a project settings file '''*.otfPrj''' and the following folders:
  
Line 63: Line 65:
 
{{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 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
 
# [[Core.Validities|Validities]]
 
# [[Core.Validities|Validities]]
Line 71: Line 73:
  
 
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==
 +
A player project does not contain its own OTX documents but it contains layouts using the elements from the referred projects, it also has all the necessary settings supporting for design time and run time. A player project shall be exported into a PPX library for many usages. Similar to the PTX, a PPX is used for exchanging the test sequences together with the layouts. It can be imported back into a solution as a player project but it can not be referred by any projects. The main usage of a PPX library is to run with the [https://www.emotive.de/otp-en.html Open Test Player] where the data of the test sequences can be displayed in customized graphic layouts.
 +
 +
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:ProjectStructure.png|thumb|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 project can be exported to create a PTX  via the context menu of a [[OtfSolutionExplorer#Projects|project node]] in the [[OtfSolutionExplorer|Solution Explorer]].-->
 +
 +
===Structure===
 +
<!--A project consists of a project settings file '''*.otfPrj''' and the following folders:
 +
 +
{|{{TableHeader}}
 +
|- style="background: gray; color: white; vertical-align:top;'''"
 +
| '''Folder Name''' || '''Content'''
 +
|-{{TableRow2}}
 +
| '''HMI''' || Settings of the HMI-Extension e.g. Screen-Mapping, see [[OtfProjectSettings|Project Settings]].
 +
|-{{TableRow1}}
 +
| '''i18n''' || Settings of the I18N-Extension e.g. multilingual text library, see [[OtfProjectSettings|Project Settings]].
 +
|-{{TableRow2}}
 +
| '''JavaOutput''' || Contains all generated [https://en.wikipedia.org/wiki/JAR_(file_format) JAR] files for executing (click [[OtfExecution|here]] for more information).
 +
|-{{TableRow1}}
 +
| '''Logging''' || Settings of the Logging-Extension, see [[OtfProjectSettings|Project Settings]].
 +
|-{{TableRow2}}
 +
| '''Measure''' || Settings of the Measure-Extension e.g. [[OtfDeviceMapping|Device Mapping]], see [[OtfProjectSettings|Project Settings]].
 +
|-{{TableRow1}}
 +
| '''ODX''' || Settings of the DiagCom-Extension, see [[OtfProjectSettings|Project Settings]].
 +
|-{{TableRow2}}
 +
| '''OTX''' || Contains the OTX [[Core.Packages|Packages]] or [[Core.Documents|Documents]].
 +
|-{{TableRow1}}
 +
| '''OTX-Backup''' || Contains the OTX backup files, see [[OtfSettings|OTF Settings]].
 +
|-{{TableRow2}}
 +
| '''OTX-Mapping''' || External applications (*.exe or *.dll) using for [[OtfDeviceMapping|Device Mapping]] or [[OtfContextMapping|Context Mapping]], see [[OtfProjectSettings|Project Settings]].
 +
|-{{TableRow1}}
 +
| '''Output''' || Contains all generated [https://en.wikipedia.org/wiki/Dynamic-link_library DLL] files for executing (click [[OtfExecution|here]] for more information).
 +
|-{{TableRow2}}
 +
| '''PTX''' || Contains PTX libraries used inside the project
 +
|-{{TableRow1}}
 +
| '''Quantity''' || Settings of the Quantity-Extension e.g. ODX files with UNIT-SPECS, see [[OtfProjectSettings|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.}}-->
 +
 +
===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
 +
# [[Core.Validities|Validities]]
 +
# [[Core.Signatures|Signatures]]
 +
# [[Core.Declarations.GlobalDeclarations|Global Declarations]]
 +
# [[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]].-->

Revision as of 10:06, 14 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.
Icons Note.png NOTE: The OTF has 2 kinds of projects: Procedure Projects and Player Projects.
  • 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 file for exchange purpose. A procedure project or a PTX can be referred by another procedure/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. A player project can be packed into a PPX file for exchange purpose. A player project or a PPX can not be referred by any other procedure/player projects.

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

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). References to PTX files are also counted as (Cross-Project reference).

OdfStorageStructure.png
OTF Storage Structure

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 project is usually a dynamic-link library (.dll) file or a program (.exe), see project Output folder. 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.

A project is a folder containing the OTX documents and all the necessary settings supporting for design time and run time (click here for more information). A project can be exported into a PTX library for many usages. Users can exchange the test sequences to the other computers while all the environment settings are still preserved. The PTX library can be imported back into a solution as a project, or it can be used as a reference in another project. The PTX library can also be used to be executed with the OTX-Runtime API (DotNet OTX-Runtime API/Java OTX-Runtime API).

PTX

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 project can be exported to create a PTX via the context menu of a project node in the Solution Explorer.

Structure

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

Folder Name Content
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 e.g. Device Mapping, see Project Settings.
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 Device Mapping or Context Mapping, see Project Settings.
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 inside an OTX Document can be used from another document, if the elements have a sufficient Visibility. 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

A player project does not contain its own OTX documents but it contains layouts using the elements from the referred projects, it also has all the necessary settings supporting for design time and run time. A player project shall be exported into a PPX library for many usages. Similar to the PTX, a PPX is used for exchanging the test sequences together with the layouts. It can be imported back into a solution as a player project but it can not be referred by any projects. The main usage of a PPX library is to run with the Open Test Player where the data of the test sequences can be displayed in customized graphic layouts.

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

Structure

References