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

You will need client credential zip file (wallet) to connect with Oracle Autonomous Database on Oracle cloud. You can download wallet zip file from Oracle Cloud, you will need admin userid and password to perform this download.See Download Client Credentials (Wallets) for more details on how to download wallet file.

You must make sure that only authorized users have access to these wallet files. Unzip the client credentials zip file (wallet_databasename.zip) on endpoint where it will be used, which most likely will be FlexDeploy server as we generally use localhost endpoint for JDBC. For example, /home/flexdeploy/.wallets/<wallet_databasename> is folder where specific wallet file was unzipped. Make sure to secure this folder to FlexDeploy and/or Endpoint user, so that it is not readable by all users.

  • Database URL Syntax : jdbc:oracle:thin:@service_high?TNS_ADMIN=/home/flexdeploy/.wallets/<wallet_databasename>
  • Database URL Long Connection String Format 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")))
    • 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