Difference between revisions of "OtfProjectStructure"

From emotive
Jump to navigation Jump to search
Line 10: Line 10:
 
{{ImageStyleCenter|OdfStorageStructure.png|800|OTF Storage Structure}}
 
{{ImageStyleCenter|OdfStorageStructure.png|800|OTF Storage Structure}}
  
Furthermore a project can be packed into a '''PTX'''.
+
Furthermore a project can be packed into a '''PTX'''. References to PTX files are also counted as ('''Cross-Project reference''').
  
 
==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==
 
==Project==
Line 23: Line 23:
 
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.
  
A PTX can be created inside the [[OtfSolutionExplorer|Solution Explorer]] via the context menu of a [[OtfSolutionExplorer#Projects|project node]].
+
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==
 
==Project 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:
  
 
{|{{TableHeader}}
 
{|{{TableHeader}}
Line 32: Line 32:
 
| '''Folder Name''' || '''Content'''
 
| '''Folder Name''' || '''Content'''
 
|-{{TableRow1}}
 
|-{{TableRow1}}
| '''APPs''' || External applications (*.exe or *.dll) using for [[OtfDeviceMapping|Device Mapping]] or [[OtfContextMapping|Context Mapping]], see [[OtfProjectSettings|Project Settings]].
+
| '''DatabaseAccess''' || Settings of the DatabaseAccess-Extension, see [[OtfProjectSettings|Project Settings]].
 
|-{{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|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|Project Settings]].
 
|-{{TableRow2}}
 
|-{{TableRow2}}
| '''Logging''' || Settings of the Logging-Extension, see [[OtfProjectSettings|Project Settings]]
+
| '''JavaOutput''' || Contains all generated [https://en.wikipedia.org/wiki/JAR_(file_format) JAR] files for executing (click [[OtfExecution|here]] for more information).
 
|-{{TableRow1}}
 
|-{{TableRow1}}
| '''Measure''' || Settings of the Measure-Extension e.g. [[OtfDeviceMapping|Device Mapping]], see [[OtfProjectSettings|Project Settings]]
+
| '''Logging''' || Settings of the Logging-Extension, see [[OtfProjectSettings|Project Settings]].
 
|-{{TableRow2}}
 
|-{{TableRow2}}
| '''ODX''' || Settings of the DiagCom-Extension, see [[OtfProjectSettings|Project Settings]]
+
| '''Measure''' || Settings of the Measure-Extension e.g. [[OtfDeviceMapping|Device Mapping]], see [[OtfProjectSettings|Project Settings]].
 
|-{{TableRow1}}
 
|-{{TableRow1}}
| '''OTX''' || Contains the OTX [[Core.Packages|Packages]] or [[Core.Documents|Documents]]
+
| '''ODX''' || Settings of the DiagCom-Extension, see [[OtfProjectSettings|Project Settings]].
 
|-{{TableRow2}}
 
|-{{TableRow2}}
| '''OTX-Backup''' || Contains the OTX backup files, see [[OtfSettings|OTF Settings]]
+
| '''OTX''' || Contains the OTX [[Core.Packages|Packages]] or [[Core.Documents|Documents]].
 
|-{{TableRow1}}
 
|-{{TableRow1}}
| '''Output''' || Contains all generated files for executing
+
| '''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}}
 
|-{{TableRow2}}
 
| '''PTX''' || Contains PTX libraries used inside the project
 
| '''PTX''' || Contains PTX libraries used inside the project
Line 58: Line 62:
  
 
==References outside a Document==
 
==References outside a Document==
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 refered
+
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.Procedures|Procedures]]
 
# [[Core.Declarations.GlobalDeclarations|Global Declarations]]
 
 
# [[Core.Validities|Validities]]
 
# [[Core.Validities|Validities]]
 
# [[Core.Signatures|Signatures]]
 
# [[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]].
 
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 12:22, 29 August 2018

Overview

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

  • Solution and
  • Project.

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 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).

OdfStorageStructure.png
OTF Storage Structure

Furthermore a project can be packed into a PTX. References to PTX files are also counted as (Cross-Project reference).

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.

Project

Projects are used in a solution to logically manage, build and debug Documents and Project Settings. The executable 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.

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.

Project Structure

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

Folder Name Content
DatabaseAccess Settings of the DatabaseAccess-Extension, see Project Settings.
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 outside a Document

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.