Extension Source Files
Once the extension is created, Integration Studio automatically generates, according to the definition of the extension elements, the necessary template files for the development boot-strap of that extension. Once these templates are generated, the source files listed below are added as resources of your extension and you can start coding the behavior of your extension actions.
Template files are the files needed to generate the extension assembly without any custom code, without any code written by the developer. These files are implicitly generated by Integration Studio in the following operations: Create a new Extension, Update the Extension Source Code, or Compare with Template.
The extension source files are stored in the file system in the Extension
folder, under the Source folder in the corresponding sub-folder, according to the application server you are using. You can check them in the Resources tree.
.NET Source files
By default, for a .NET
application server, your extension has the following source files, stored under the Source\NET
folder:
-
Project files called
<ExtensionName>.sln
,<ExtensionName>.csproj
. -
Extension implementation files:
-
Actions are implemented in the
<ExtensionName>.cs
file, which contains a .NET method for each action defined by your extension: the method name isMss<ActionName>
and parameters names aress<ParameterName>
.This file contains the signature of the methods that correspond to the actions exposed by your extension. You must not change these signatures. Any action, either defined in Integration Studio or imported from an assembly, must be defined in this file.
Actions are declared in the
Interface.cs
file in the same way as explained above for<ExtensionName>.cs
file. -
Entities are declared in the Entities.cs file, which contains a .NET structure for each entity defined in by your extension: the structure name is
EN<EntityName>EntityRecord
and member names aress<AttributeName>
. -
Record Lists are declared in the
RecordLists.cs
file, which contains a .NET class for each record list definition used in your actions: the class name isRL<RecordListDefinition>RecordList
and a set of methods are generated to manage the record list. -
Records are declared in the Record.cs file, which contains a .NET structure for each record definition used in your actions: the structure name is
RC<RecordDefinition>Record
and a set of methods are generated to manage the record. -
Structures are declared in the
Structures.cs
file, which contains a .NET structure for each structure defined in your extension: the structure name isST<EntityName>Structure
and member names aress<AttributeName>
.
These files are automatically generated by Integration Studio, during the Update Source Code operation, and you should not change them in the .NET IDE.
-
-
The
Bin2
folder contains the DLL files associated with your extension and their dependencies, namely: theOutSystems.Nss<ExtensionName>.dll
which is the main DLL of your extension; theOutSystems.HubEdition.RuntimePlatform.dll
, which is an internal DLL necessary to Integration Studio. -
The
Obj
folder contains the temporary files required by the IDE for building the .NET solution.
J2EE Source Files
By default, for a .J2EE
application server, the source files for your extension are stored under the Source\J2EE folder
, as follows:
-
Project files called
.classpath
,.project
, andbuild.xml
. -
Extension implementation files:
-
Actions are declared inside the actions folder and there is a file for each action defined by your extension. This file contains a Java class for the action: the file name
Act<ActionName>.java
, class name isAct<ActionName>
, method name ismos<ActionName>
, input parameters names areinParam<ParameterName>
, and output parameters names areoutParam<ParameterName>
. -
Entities are declared inside the entities folder and there is a file for each entity defined by your extension. This file contains a Java class for the entity: the file name
EN<EntityName>EntityRecord.java
, class name isEN<EntityName>EntityRecord
, and member names aress<AttributeName>
. -
Record Lists are declared inside the
recordlists
folder and there is a file for each record list definition used in your actions. This file contains a Java class for the entity: the file name isRL<RecordListDefinition>RecordList.java
, class name isRL<RecordListDefinition>RecordList
, and a set of methods are generated to manage the record list. -
Records are declared inside the records folder and there is a file for each record definition used in your actions. This file contains a Java class for the entity: the file name is
RC<RecordDefinition>Record.java
, class name isRC<RecordDefinition>
, and a set of methods are generated to manage the record. -
Structures are declared inside the structures folder and there is a file for each structure defined by your extension. This file contains a Java class for the structure: the file name is
ST<StructureName>Structure.java
, class name isST<StructureName>Structure
, and member names aress<AttributeName>
.
These files are automatically generated by Integration Studio, during the Update Source Code operation, and you should not change them in the Java IDE.
-
-
The
WEB-INF/lib
folder contains the JAR files associated with your extension and their dependencies, namely: theoutsystems.nos<ExtensionName>.jar
, which is the main JAR of your extension; and theoutsystems.hubedition.runtimeplatform.jar
, which is an internal JAR necessary to Integration Studio.
Both Source Files
By default, for a (Both)
application server, the source files of your extension, stored under the Source\NET
and Source\J2EE
folders, are the files explained above for each platform.
If necessary, you can explicitly add more source files to your extension.
Properties of the Source Files
The extension source files are added as resources of the extension with the following properties:
- Name: Name of the resource as explained above.
- Last Modified: Date and time when the resource was last modified since the last save.
- Deploy Action: For the files stored under the
Binaries
folder, this property has the valueCopy to Binaries directory
. For the rest of the files, this property has the valueIgnore
.
For more information about the Deploy Action property, see Resource Properties.