buildAPEX

Builds an APEX application artifact, sourcing from an SCM or Oracle APEX Application Builder in a development environment. This operation can be used in conjunction with FlexDeploy's Full and Partial deployment models.

  • Full Deployment
    • Entire application gets exported.
    • Source from SCM
      • Set desired SCM type.
      • Add SCM export or checkout operation before buildAPEX operation in workflow.
    • Source from App Builder
      • Set SCM type to None. 
      • You only need to add buildAPEX operation in workflow.
  • Partial Deployment
    • Only selected page/components are exported. You can also export All Files, which means entire application gets exported.
    • Source from SCM
      • Set desired SCM type.
      • You only need to add buildAPEX operation in workflow.
      • SCM export or checkout operation is not required at all as FlexDeploy will implicitly perform extract of files from SCM based on project configurations.
    • Source from App Builder
      • Set SCM type to None.
      • You only need to add buildAPEX operation in workflow.
      • Oracle JDBC driver must on the FlexDeploy server's classpath. If the FlexDeploy is setup to use Oracle Database, the driver will be already available. However, if the FlexDeploy is using PostgreSQL or MySQL, then you will need to place the Oracle JDBC Driver on the FlexDeploy server, add it to the server's classpath, and restart it.

Artifact generated by this operation is zip file containing split application sql files. For APEX versions 4.x, no split is done hence artifact will be entire application sql file.

Environment/Instance Properties

Property Name

Property Code

Required

Description

Oracle SQLcl HomeFD_SQLCL_HOMEYes1

Folder where SQLcl is installed. Only required if sourcing from App Builder.

Use JDK 8 for Endpoint Java due to SQLcl requirements.

APEX UserFDAPEX_USERYes1Provide database user APEX_xxxxx or owner (parsing schema) of the application for export and import operations. You can use system user as well. Only required if sourcing from App Builder.
APEX PasswordFDAPEX_PASSWORDYes1Password for APEX User.  Only required if sourcing from App Builder.
Oracle Database URLFDORA_URLYes1

JDBC URL for Oracle database. For example:

  • jdbc:oracle:thin:@HOSTNAME:PORT:SID or
  • jdbc:oracle:thin:@//HOSTNAME:PORT/SERVICENAME

Only required if sourcing from App Builder.

Connecting to Oracle Autonomous Database

Once the Autonomous Database is created on Oracle cloud, download the client credentials zip file. You will need the admin userid and password. Unzip the client credentials zip file on endpoint where it will be used. You can mostly use localhost endpoint for this. For example, /home/flexdeploy/wallets/<wallet zip name>

  • Database URL Syntax : jdbc:oracle:thin:@service_high?TNS_ADMIN=/home/flexdeploy/wallets/<wallet zip name>
    • service_high is one of the entries in the tnsnames.ora file where client credentials zip file was unzipped
    • TNS_ADMIN value in URL points to the location of the unzipped client credentials zip file
  • Database URL Long Connection String Format Syntax Syntax : jdbc:oracle:thin:@(description= (retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=<hostname>))(connect_data=(service_name=<serice_name>))(security=(ssl_server_cert_dn="CN=<hostname>,OU=Oracle BMCS US,O=Oracle Corporation,L=Redwood City,ST=California,C=US")))
    • The " in the value for ssl_server_cert_dn field must be escaped using \
    • Examples for the same can be found here

1 - Required only if sourcing from App Builder.

Project Properties

Property Name

Property Code

Required

Description

Workspace Name

FDAPEX_WORKSPACE_NAME

YesAPEX Workspace Name. Provide uppercase name. This defaults to FD_INSTANCE_CODE expression, so if you keep instance code same as your workspace, you will not need to change default value.
Parsing Schema

FDAPEX_DB_SCHEMA

NoUsed to set the parsing (owner) schema of the APEX application. Provide uppercase schema name.
Application ID

FDAPEX_APPLICATION_ID

NoAPEX Application ID
Application NameFDAPEX_APPLICATION_NAMENoAPEX Application Name
Application Alias

FDAPEX_ALIAS

NoAPEX alphanumeric identifier unique within a workspace and page.
Export Supporting Object Definitions

FDAPEX_EXPORT_SUPPORTING_OBJECTS

NoSpecify whether to export supporting object definitions with your application.

FDAPEX_EXPORT_PUBLIC_REPORTS

NoSpecify whether to include public reports with your application.

FDAPEX_EXPORT_REPORT_SUBSCRIPTIONS

NoSpecify whether to include interactive report or interactive grid subscription settings with your application.

FDAPEX_EXPORT_DEV_COMMENTS

NoSpecify whether to include Developer Comments in your application export.

FDAPEX_INCLUDE_TRANSLATION

NoCheck to include Translations with your application export.

FDAPEX_USE_OFFSET

NoDetemines if the plugin will attempt to set the Offset.

FDAPEX_OFFSET

NoAPEX Offset value

FlexDeploy needs to identify the application id.  This can be provided by either entering the application id directly or by entering the associated application name. If the application name is not unique across workspaces, you must provide the workspace name in addition to the application name.

Inputs

Input Name

Input Code

Required

Description





Outputs

Output Name

Required

Description




Artifacts

Artifact generated by this operation is zip file containing split application sql files. For APEX versions 4.x, no split is done hence artifact will be entire application sql file.

Endpoint Selection

This operation will select all available endpoints associated to the environment/instance.

  • If sourcing from App Builder, you can use any Endpoint where SQLcl is installed and has connectivity to database using JDBC URL. We recommend use of LOCALHOST endpoint if connectivity can be established between FlexDeploy and your APEX database.
  • If sourcing from SCM, then you can use any Endpoint. We recommend using LOCALHOST endpoint in this case.

Endpoint Execution

This operation will execute on any one of the selected endpoints and will be random in the determination of which one.

The following macros are not currently supported in the footer:
  • style