diff --git a/cloud-foundation/solutions-for-oracle-res-mgr/RAG-in-a-Box-Easy-RM.zip b/cloud-foundation/solutions-for-oracle-res-mgr/RAG-in-a-Box-Easy-RM.zip index 430b794..a1593e0 100644 Binary files a/cloud-foundation/solutions-for-oracle-res-mgr/RAG-in-a-Box-Easy-RM.zip and b/cloud-foundation/solutions-for-oracle-res-mgr/RAG-in-a-Box-Easy-RM.zip differ diff --git a/cloud-foundation/solutions-for-oracle-res-mgr/RAG-in-a-Box-Hybrid-RM.zip b/cloud-foundation/solutions-for-oracle-res-mgr/RAG-in-a-Box-Hybrid-RM.zip index 9b87f3d..e2a94de 100644 Binary files a/cloud-foundation/solutions-for-oracle-res-mgr/RAG-in-a-Box-Hybrid-RM.zip and b/cloud-foundation/solutions-for-oracle-res-mgr/RAG-in-a-Box-Hybrid-RM.zip differ diff --git a/cloud-foundation/solutions-for-oracle-res-mgr/RAG-in-a-Box-Vector-RM.zip b/cloud-foundation/solutions-for-oracle-res-mgr/RAG-in-a-Box-Vector-RM.zip index 5404489..576cd27 100644 Binary files a/cloud-foundation/solutions-for-oracle-res-mgr/RAG-in-a-Box-Vector-RM.zip and b/cloud-foundation/solutions-for-oracle-res-mgr/RAG-in-a-Box-Vector-RM.zip differ diff --git a/cloud-foundation/solutions/RAG-in-a-Box-Easy/README.md b/cloud-foundation/solutions/RAG-in-a-Box-Easy/README.md index 4b4311f..bea0e21 100644 --- a/cloud-foundation/solutions/RAG-in-a-Box-Easy/README.md +++ b/cloud-foundation/solutions/RAG-in-a-Box-Easy/README.md @@ -34,7 +34,7 @@ We even allow visibility on the chunking results from the proximitiy search pass Please refer to the "Show Documentation" button in the app or the field help info (press the '?' next to each field). -## Important - please deploy the solution in one of the listed regions below as the GenAI it's only available in this regions. If you deploy it in other regions, the solution will not work. If you don't have any of the regions available in your tenancy, please subscribe to one of them. +## Important - please deploy the solution in any region but you need to use for the variable llm_region - one of the listed regions below as the GenAI it's only available in this regions. If you deploy it in other regions, the solution will not work. If you don't have any of the regions available in your tenancy, please subscribe to one of them. Some regions don't offer all the models. See the region for each pretrained model to find out which models are available in a region near you. @@ -47,6 +47,16 @@ Some regions don't offer all the models. See the region for each pretrained mode | UK South (London) | London | uk-london-1 | LHR | | US Midwest (Chicago) | Chicago | us-chicago-1 | ORD | +``` +There is this variable called llm_region : +variable "llm_region" { + type = string + default = "us-chicago-1" +} + +It is set to default to us-chicago-1 ; you need to use any region available in your tenancy subscribed to one of the available LLMs regions listed above. +``` + ## Deliverables @@ -358,7 +368,8 @@ The ADW subsystem / module is able to create ADW/ATP databases. The RAG IN A BOX SETTINGS are: -* Parameters: +* Parameters: + * __llm_region__ - The region that you need to connect to your LLM. Some regions don't offer all the models. See the region for each pretrained model to find out which models are available in a region near you. It is set to default to us-chicago-1 ; you need to use any region available in your tenancy subscribed to one of the available LLMs regions listed : sa-saopaulo-1 , eu-frankfurt-1 , ap-osaka-1 , uk-london-1 , us-chicago-1 * __riab_user__ - The username inside the database where you will install the apex application * __riab_password__ - The password for the user inside the database - The password must be between 12 and 30 characters long, and must contain at least 1 uppercase, 1 lowercase, and 1 numeric character. It cannot contain the double quote symbol (") or the username "admin", regardless of casing. The password is mandatory if source value is "BACKUP_FROM_ID", "BACKUP_FROM_TIMESTAMP", "DATABASE" or "NONE" * __apex_workspace__ - The name of the apex workspace @@ -444,7 +455,10 @@ variable "db_database_management_status" { # The RAG IN A BOX SETTINGS are: - +variable "llm_region" { + type = string + default = "us-chicago-1" +} # The username inside the database where you will install the apex application variable "riab_user" { diff --git a/cloud-foundation/solutions/RAG-in-a-Box-Easy/provisioners.tf b/cloud-foundation/solutions/RAG-in-a-Box-Easy/provisioners.tf index c073977..88d9b78 100644 --- a/cloud-foundation/solutions/RAG-in-a-Box-Easy/provisioners.tf +++ b/cloud-foundation/solutions/RAG-in-a-Box-Easy/provisioners.tf @@ -14,14 +14,14 @@ resource "null_resource" "sqlcl-create-usr" { echo 'Creating the APEX WORKSPACE and APEX USER running easyRAG-IN-A-BOX_APEX_ADMIN_v2.0.sql' sql -cloudconfig wallet_${var.db_name}.zip admin/${var.db_password}@'${local.conn_db}' @./scripts/easyRAG-IN-A-BOX_APEX_ADMIN_v2.0.sql ${var.apex_workspace} ${var.riab_user} ${var.apex_user} ${var.apex_password} ${var.apex_password} - echo 'Start running easyRAG-IN-A-BOX_USER_v2.2.sql script' - sql -cloudconfig wallet_${var.db_name}.zip ${var.riab_user}/${var.riab_password}@'${local.conn_db}' @./scripts/easyRAG-IN-A-BOX_USER_v2.2.sql + echo 'Start running easyRAG-IN-A-BOX_USER_v2.3.sql script' + sql -cloudconfig wallet_${var.db_name}.zip ${var.riab_user}/${var.riab_password}@'${local.conn_db}' @./scripts/easyRAG-IN-A-BOX_USER_v2.3.sql - echo 'Start running easyRAG-IN-A-BOX_USER_CREDS_v1.1.sql script' - sql -cloudconfig wallet_${var.db_name}.zip ${var.riab_user}/${var.riab_password}@'${local.conn_db}' @./scripts/easyRAG-IN-A-BOX_USER_CREDS_v1.1.sql ${var.apex_user} ${var.user_ocid} ${var.tenancy_ocid} "${local.final_bucket_url}" "${var.private_key}" ${var.fingerprint} ${var.compartment_id} + echo 'Start running easyRAG-IN-A-BOX_USER_CREDS_v1.2.sql script' + sql -cloudconfig wallet_${var.db_name}.zip ${var.riab_user}/${var.riab_password}@'${local.conn_db}' @./scripts/easyRAG-IN-A-BOX_USER_CREDS_v1.2.sql ${var.apex_user} ${var.user_ocid} ${var.tenancy_ocid} "${local.final_bucket_url}" "${var.private_key}" ${var.fingerprint} ${var.compartment_id} ${var.llm_region} echo 'Install the APEX APP in a box application running easyRAG-IN-A-BOX_APEX_USER_v2.0.sql' - sql -cloudconfig wallet_${var.db_name}.zip ${var.riab_user}/${var.riab_password}@'${local.conn_db}' @./scripts/easyRAG-IN-A-BOX_APEX_USER_v2.0.sql ${var.apex_workspace} ${var.riab_user} ./scripts/easyRAG-IN-A-BOX_f103_v2.1.sql + sql -cloudconfig wallet_${var.db_name}.zip ${var.riab_user}/${var.riab_password}@'${local.conn_db}' @./scripts/easyRAG-IN-A-BOX_APEX_USER_v2.0.sql ${var.apex_workspace} ${var.riab_user} ./scripts/easyRAG-IN-A-BOX_f103_v2.2.sql EOT } diff --git a/cloud-foundation/solutions/RAG-in-a-Box-Easy/schema.yaml b/cloud-foundation/solutions/RAG-in-a-Box-Easy/schema.yaml index cc8b300..36eab9d 100644 --- a/cloud-foundation/solutions/RAG-in-a-Box-Easy/schema.yaml +++ b/cloud-foundation/solutions/RAG-in-a-Box-Easy/schema.yaml @@ -25,7 +25,6 @@ groupings: - db_version - db_size_in_tbs - db_enable_auto_scaling - - db_compute_model - db_compute_count - db_workload - db_data_safe_status @@ -33,6 +32,7 @@ groupings: - db_database_management_status - title: "RAG IN A BOX SETTINGS" variables: + - llm_region - riab_user - riab_password - apex_workspace @@ -52,6 +52,7 @@ groupings: # - user_ocid # - fingerprint - private_key_path + - db_compute_model # General Configuration Variables variables: display_name_prefix: @@ -175,18 +176,6 @@ variables: eq: - db_is_free_tier - false - db_compute_model: - title: "The compute model of the Autonomous Database ECPUs" - description: "The compute model of the Autonomous Database ECPUs" - type: enum - enum: - - "ECPU" - default: "ECPU" - required: true - visible: - eq: - - db_is_free_tier - - false db_compute_count: title: The number of ECPUs cores to be made available to the database description: "The number of ECPU cores to enable. For ECPUs count needs to be minimum 2 and maximum 512 ECPUs" @@ -237,6 +226,19 @@ variables: required: true visible: true # RAG IN A BOX SETTINGS: + llm_region: + title: "Pick one of the listed regions that your tenancy it's subscribed to access the LLM" + description: "It is set to default to us-chicago-1 ; you need to use any region available in your tenancy subscribed to one of the available LLMs regions listed" + type: enum + enum: + - "us-chicago-1" + - "sa-saopaulo-1" + - "eu-frankfurt-1" + - "ap-osaka-1" + - "uk-london-1" + default: "us-chicago-1" + required: true + visible: true riab_user: title: "The username inside the database where you will install the apex application" description: "Provide the username inside the database where you will install the apex application. Constraints: 12 alphanumeric characters only. No Spaces." diff --git a/cloud-foundation/solutions/RAG-in-a-Box-Easy/scripts/easyRAG-IN-A-BOX_USER_CREDS_v1.1.sql b/cloud-foundation/solutions/RAG-in-a-Box-Easy/scripts/easyRAG-IN-A-BOX_USER_CREDS_v1.2.sql similarity index 91% rename from cloud-foundation/solutions/RAG-in-a-Box-Easy/scripts/easyRAG-IN-A-BOX_USER_CREDS_v1.1.sql rename to cloud-foundation/solutions/RAG-in-a-Box-Easy/scripts/easyRAG-IN-A-BOX_USER_CREDS_v1.2.sql index 332d5b9..121e5df 100644 --- a/cloud-foundation/solutions/RAG-in-a-Box-Easy/scripts/easyRAG-IN-A-BOX_USER_CREDS_v1.1.sql +++ b/cloud-foundation/solutions/RAG-in-a-Box-Easy/scripts/easyRAG-IN-A-BOX_USER_CREDS_v1.2.sql @@ -16,9 +16,11 @@ -- "&5" - ${var.private_key} -- "&6" - ${var.fingerprint} -- "&7" - ${var.compartment_id} +-- "&8" - ${var.llm_region} -- -- v1.0 iop initial release -- v1.1 mac update docs +-- v1.2 mac added variable 8 (llm region) -- ---------------------------------------------------------------- @@ -26,7 +28,7 @@ -- AS DATABASE USER ---------------------------------------------------------------- --- Insert data into the q_logs table + INSERT INTO eriab_user_settings VALUES ( '&1', 'VECTOR', @@ -39,7 +41,6 @@ INSERT INTO eriab_user_settings VALUES ( "refresh" : 1040 }')); --- Insert credentials data into the setting table INSERT INTO eriab_user_settings VALUES ( '&1', 'BUCKETCRED', @@ -50,7 +51,6 @@ INSERT INTO eriab_user_settings VALUES ( "fingerprint" : "&6" }')); --- Insert credentials data into the setting table INSERT INTO eriab_user_settings VALUES ( '&1', 'RAGCRED', @@ -58,7 +58,8 @@ INSERT INTO eriab_user_settings VALUES ( "tenancy_ocid" : "&3", "compartment_ocid" : "&7", "private_key" : "&5", - "fingerprint" : "&6" + "fingerprint" : "&6", + "llm_region" : "&8" }')); -- exercise the setting table diff --git a/cloud-foundation/solutions/RAG-in-a-Box-Easy/scripts/easyRAG-IN-A-BOX_USER_v2.2.sql b/cloud-foundation/solutions/RAG-in-a-Box-Easy/scripts/easyRAG-IN-A-BOX_USER_v2.3.sql similarity index 95% rename from cloud-foundation/solutions/RAG-in-a-Box-Easy/scripts/easyRAG-IN-A-BOX_USER_v2.2.sql rename to cloud-foundation/solutions/RAG-in-a-Box-Easy/scripts/easyRAG-IN-A-BOX_USER_v2.3.sql index b953555..ceb5c1a 100644 --- a/cloud-foundation/solutions/RAG-in-a-Box-Easy/scripts/easyRAG-IN-A-BOX_USER_v2.2.sql +++ b/cloud-foundation/solutions/RAG-in-a-Box-Easy/scripts/easyRAG-IN-A-BOX_USER_v2.3.sql @@ -18,6 +18,7 @@ -- v2.0 mac first production release -- v2.1 mac swapped llama with cohere model for answer generation -- v2.2 mac added eriab_util_timestamp_diff +-- v2.3 mac added support for llm region in profile creation statement -- -- Parameters -- @@ -82,7 +83,8 @@ INSERT INTO eriab_user_settings VALUES ( "tenancy_ocid" : "<>", "compartment_ocid" : "<>", "private_key" : "<>", - "fingerprint" : "<>" + "fingerprint" : "<>", + "llm_region" : "<>" }')); -- exercise the setting table @@ -158,6 +160,7 @@ is cocid varchar2(256); pkey varchar2(2000); fprint varchar2(256); + llmreg varchar2(256); jo json_object_t; bo clob := ' '; begin @@ -174,8 +177,9 @@ begin xtocid, xcocid, xpkey, - xfprint - into uocid,tocid,cocid,pkey,fprint + xfprint, + xllmreg + into uocid,tocid,cocid,pkey,fprint,llmreg from json_table( (select settings from eriab_user_settings where riab_user = r_user @@ -185,7 +189,8 @@ begin xtocid varchar2(256) format json PATH '$.tenancy_ocid', xcocid varchar2(256) format json PATH '$.compartment_ocid', xpkey varchar2(2000) format json PATH '$.private_key', - xfprint varchar2(256) format json PATH '$.fingerprint')); + xfprint varchar2(256) format json PATH '$.fingerprint', + xllmreg varchar2(256) format json PATH '$.llm_region')); -- credentials for GenAI OCI: dbms_lob.append(bo, '{ "user_ocid" : '); @@ -243,7 +248,8 @@ CREATE OR REPLACE PROCEDURE eriab_create_index ( rr number; st number; ml number; - bt varchar2(512); + bt varchar2(512); + llmreg varchar2(512); BEGIN -- Clean-up @@ -281,6 +287,16 @@ BEGIN ), '$[*]' COLUMNS ( xbt varchar2(512) format json PATH '$.bucket_url')); + +-- get llm region + select xllmreg into llmreg + from json_table( + (select settings from eriab_user_settings + where riab_user = r_user + and pref_type = 'RAGCRED' + ), '$[*]' COLUMNS ( + xllmreg varchar2(256) format json PATH '$.llm_region')); + -- Create an AI profile used for natural language queries DBMS_CLOUD_AI.create_profile( 'ERIAB_PROFILE', @@ -289,6 +305,7 @@ BEGIN "vector_index_name": "ERIAB_VECTOR_INDEX", "embedding_model": "cohere.embed-multilingual-v3.0", "model": "cohere.command-r-plus-08-2024", + "region": '||llmreg||', "oci_apiformat": "COHERE" }'); diff --git a/cloud-foundation/solutions/RAG-in-a-Box-Easy/scripts/easyRAG-IN-A-BOX_f103_v2.1.sql b/cloud-foundation/solutions/RAG-in-a-Box-Easy/scripts/easyRAG-IN-A-BOX_f103_v2.2.sql similarity index 99% rename from cloud-foundation/solutions/RAG-in-a-Box-Easy/scripts/easyRAG-IN-A-BOX_f103_v2.1.sql rename to cloud-foundation/solutions/RAG-in-a-Box-Easy/scripts/easyRAG-IN-A-BOX_f103_v2.2.sql index 6ad6eb0..162de1f 100644 --- a/cloud-foundation/solutions/RAG-in-a-Box-Easy/scripts/easyRAG-IN-A-BOX_f103_v2.1.sql +++ b/cloud-foundation/solutions/RAG-in-a-Box-Easy/scripts/easyRAG-IN-A-BOX_f103_v2.2.sql @@ -33,12 +33,12 @@ prompt APPLICATION 103 - eRAG-IN-A-BOX -- Application Export: -- Application: 103 -- Name: eRAG-IN-A-BOX --- Date and Time: 15:36 Monday March 3, 2025 +-- Date and Time: 12:07 Friday March 14, 2025 -- Exported By: ERIAB -- Flashback: 0 -- Export Type: Application Export -- Pages: 6 --- Items: 29 +-- Items: 30 -- Processes: 8 -- Regions: 11 -- Buttons: 14 @@ -19235,7 +19235,7 @@ wwv_flow_imp_page.create_page( ); wwv_flow_imp_page.create_page_button( p_id=>wwv_flow_imp.id(16525671731483739) -,p_button_sequence=>110 +,p_button_sequence=>120 ,p_button_name=>'SaveCredentials' ,p_button_action=>'DEFINED_BY_DA' ,p_button_template_options=>'#DEFAULT#:t-Button--iconLeft' @@ -19249,7 +19249,7 @@ wwv_flow_imp_page.create_page_button( ); wwv_flow_imp_page.create_page_button( p_id=>wwv_flow_imp.id(16525752246483740) -,p_button_sequence=>120 +,p_button_sequence=>130 ,p_button_name=>'ResetToDefault' ,p_button_action=>'DEFINED_BY_DA' ,p_button_template_options=>'#DEFAULT#:t-Button--iconLeft' @@ -19264,6 +19264,21 @@ wwv_flow_imp_page.create_page_button( ,p_grid_new_row=>'N' ,p_grid_new_column=>'Y' ); +wwv_flow_imp_page.create_page_item( + p_id=>wwv_flow_imp.id(8174485639618834) +,p_name=>'P3_LLM_REGION' +,p_item_sequence=>110 +,p_item_default=>'us-chicago-1' +,p_prompt=>'LLM Region Name' +,p_display_as=>'NATIVE_TEXT_FIELD' +,p_cSize=>30 +,p_field_template=>wwv_flow_imp.id(31840446627957509) +,p_item_template_options=>'#DEFAULT#' +,p_attribute_01=>'N' +,p_attribute_02=>'N' +,p_attribute_04=>'TEXT' +,p_attribute_05=>'BOTH' +); wwv_flow_imp_page.create_page_item( p_id=>wwv_flow_imp.id(16525323425483736) ,p_name=>'P3_BUCKET_URL' @@ -19470,8 +19485,9 @@ wwv_flow_imp_page.create_page_da_action( ' SUBSTR(xtocid, 2, LENGTH(xtocid) - 2),', ' SUBSTR(xcocid, 2, LENGTH(xcocid) - 2),', ' SUBSTR(xpkey, 2, LENGTH(xpkey) - 2),', -' SUBSTR(xfprint, 2, LENGTH(xfprint) - 2)', -' into :P3_LLM_USER_OCID,:P3_LLM_TENANCY_OCID,:P3_LLM_COMP_OCID,:P3_LLM_CERT,:P3_LLM_FINGERPRINT', +' SUBSTR(xfprint, 2, LENGTH(xfprint) - 2),', +' SUBSTR(xllmreg, 2, LENGTH(xllmreg) - 2)', +' into :P3_LLM_USER_OCID,:P3_LLM_TENANCY_OCID,:P3_LLM_COMP_OCID,:P3_LLM_CERT,:P3_LLM_FINGERPRINT,:P3_LLM_REGION', ' from json_table(', ' (select settings from eriab_user_settings', ' where riab_user = locusr', @@ -19481,10 +19497,11 @@ wwv_flow_imp_page.create_page_da_action( ' xtocid varchar2(256) format json PATH ''$.tenancy_ocid'',', ' xcocid varchar2(256) format json PATH ''$.compartment_ocid'',', ' xpkey varchar2(2000) format json PATH ''$.private_key'',', -' xfprint varchar2(256) format json PATH ''$.fingerprint''));', +' xfprint varchar2(256) format json PATH ''$.fingerprint'',', +' xllmreg varchar2(256) format json PATH ''$.llm_region''));', '', 'end;')) -,p_attribute_03=>'P3_BUCKET_USER_OCID,P3_BUCKET_TENANCY_OCID,P3_BUCKET_URL,P3_BUCKET_CERT,P3_BUCKET_FINGERPRINT,P3_LLM_USER_OCID,P3_LLM_TENANCY_OCID,P3_LLM_COMP_OCID,P3_LLM_CERT,P3_LLM_FINGERPRINT' +,p_attribute_03=>'P3_BUCKET_USER_OCID,P3_BUCKET_TENANCY_OCID,P3_BUCKET_URL,P3_BUCKET_CERT,P3_BUCKET_FINGERPRINT,P3_LLM_USER_OCID,P3_LLM_TENANCY_OCID,P3_LLM_COMP_OCID,P3_LLM_CERT,P3_LLM_FINGERPRINT,P3_LLM_REGION' ,p_attribute_04=>'N' ,p_attribute_05=>'PLSQL' ,p_wait_for_result=>'Y' @@ -19534,7 +19551,8 @@ wwv_flow_imp_page.create_page_da_action( ' "tenancy_ocid" : "''||:P3_LLM_TENANCY_OCID||''",', ' "compartment_ocid" : "''||:P3_LLM_COMP_OCID||''",', ' "private_key" : "''||:P3_LLM_CERT||''",', -' "fingerprint" : "''||:P3_LLM_FINGERPRINT||''"', +' "fingerprint" : "''||:P3_LLM_FINGERPRINT||''",', +' "llm_region" : "''||:P3_LLM_REGION||''"', ' }''));', ' ', ' else', @@ -19555,7 +19573,8 @@ wwv_flow_imp_page.create_page_da_action( ' "tenancy_ocid" : "''||:P3_LLM_TENANCY_OCID||''",', ' "compartment_ocid" : "''||:P3_LLM_COMP_OCID||''",', ' "private_key" : "''||:P3_LLM_CERT||''",', -' "fingerprint" : "''||:P3_LLM_FINGERPRINT||''"', +' "fingerprint" : "''||:P3_LLM_FINGERPRINT||''",', +' "llm_region" : "''||:P3_LLM_REGION||''"', ' }'')', ' where riab_user = :user', ' and pref_type = ''RAGCRED'';', @@ -19566,7 +19585,7 @@ wwv_flow_imp_page.create_page_da_action( ' eriab_create_bucket_cred( :user );', ' eriab_create_llm_cred( :user );', 'end;')) -,p_attribute_02=>'P3_BUCKET_USER_OCID,P3_BUCKET_TENANCY_OCID,P3_BUCKET_URL,P3_BUCKET_CERT,P3_BUCKET_FINGERPRINT,P3_LLM_USER_OCID,P3_LLM_TENANCY_OCID,P3_LLM_COMP_OCID,P3_LLM_CERT,P3_LLM_FINGERPRINT' +,p_attribute_02=>'P3_BUCKET_USER_OCID,P3_BUCKET_TENANCY_OCID,P3_BUCKET_URL,P3_BUCKET_CERT,P3_BUCKET_FINGERPRINT,P3_LLM_USER_OCID,P3_LLM_TENANCY_OCID,P3_LLM_COMP_OCID,P3_LLM_CERT,P3_LLM_FINGERPRINT,P3_LLM_REGION' ,p_attribute_05=>'PLSQL' ,p_wait_for_result=>'Y' ); @@ -19635,8 +19654,9 @@ wwv_flow_imp_page.create_page_process( ' SUBSTR(xtocid, 2, LENGTH(xtocid) - 2),', ' SUBSTR(xcocid, 2, LENGTH(xcocid) - 2),', ' SUBSTR(xpkey, 2, LENGTH(xpkey) - 2),', -' SUBSTR(xfprint, 2, LENGTH(xfprint) - 2)', -' into :P3_LLM_USER_OCID,:P3_LLM_TENANCY_OCID,:P3_LLM_COMP_OCID,:P3_LLM_CERT,:P3_LLM_FINGERPRINT', +' SUBSTR(xfprint, 2, LENGTH(xfprint) - 2),', +' SUBSTR(xllmreg, 2, LENGTH(xllmreg) - 2)', +' into :P3_LLM_USER_OCID,:P3_LLM_TENANCY_OCID,:P3_LLM_COMP_OCID,:P3_LLM_CERT,:P3_LLM_FINGERPRINT,:P3_LLM_REGION', ' from json_table(', ' (select settings from eriab_user_settings', ' where riab_user = locusr', @@ -19646,7 +19666,8 @@ wwv_flow_imp_page.create_page_process( ' xtocid varchar2(256) format json PATH ''$.tenancy_ocid'',', ' xcocid varchar2(256) format json PATH ''$.compartment_ocid'',', ' xpkey varchar2(2000) format json PATH ''$.private_key'',', -' xfprint varchar2(256) format json PATH ''$.fingerprint''));', +' xfprint varchar2(256) format json PATH ''$.fingerprint'',', +' xllmreg varchar2(256) format json PATH ''$.llm_region''));', '', 'end;')) ,p_process_clob_language=>'PLSQL' diff --git a/cloud-foundation/solutions/RAG-in-a-Box-Easy/variables.tf b/cloud-foundation/solutions/RAG-in-a-Box-Easy/variables.tf index 5c98dd4..aa86914 100644 --- a/cloud-foundation/solutions/RAG-in-a-Box-Easy/variables.tf +++ b/cloud-foundation/solutions/RAG-in-a-Box-Easy/variables.tf @@ -36,7 +36,6 @@ variable "private_key_path" { default = "" } - # Don't change the locals # Override `bucket_url` with dynamic values locals { @@ -146,6 +145,11 @@ variable "bucket_events_enabled" { ###### # RAG IN A BOX SETTINGS: +variable "llm_region" { + type = string + default = "us-chicago-1" +} + # The username inside the database where you will install the apex application variable "riab_user" { type = string diff --git a/cloud-foundation/solutions/RAG-in-a-Box-Hybrid/README.md b/cloud-foundation/solutions/RAG-in-a-Box-Hybrid/README.md index f6ca99e..5576d82 100644 --- a/cloud-foundation/solutions/RAG-in-a-Box-Hybrid/README.md +++ b/cloud-foundation/solutions/RAG-in-a-Box-Hybrid/README.md @@ -33,7 +33,8 @@ The "expert mode" even allows visibility on the chunking results from the proxim Please refer to the "Show Documentation" button in the app or the field help info (press the '?' next to each field). -## Important - please deploy the solution in one of the listed regions below as the GenAI it's only available in this regions. If you deploy it in other regions, the solution will not work. If you don't have any of the regions available in your tenancy, please subscribe to one of them. + +## Important - please deploy the solution in any region but you need to use for the variable llm_region - one of the listed regions below as the GenAI it's only available in this regions. If you deploy it in other regions, the solution will not work. If you don't have any of the regions available in your tenancy, please subscribe to one of them. Some regions don't offer all the models. See the region for each pretrained model to find out which models are available in a region near you. @@ -46,6 +47,16 @@ Some regions don't offer all the models. See the region for each pretrained mode | UK South (London) | London | uk-london-1 | LHR | | US Midwest (Chicago) | Chicago | us-chicago-1 | ORD | +``` +There is this variable called llm_region : +variable "llm_region" { + type = string + default = "us-chicago-1" +} + +It is set to default to us-chicago-1 ; you need to use any region available in your tenancy subscribed to one of the available LLMs regions listed above. +``` + ## Deliverables ---------------- @@ -388,7 +399,8 @@ The ADW subsystem / module is able to create ADW/ATP databases. The RAG IN A BOX SETTINGS are: -* Parameters: +* Parameters: + * __llm_region__ - The region that you need to connect to your LLM. Some regions don't offer all the models. See the region for each pretrained model to find out which models are available in a region near you. It is set to default to us-chicago-1 ; you need to use any region available in your tenancy subscribed to one of the available LLMs regions listed : sa-saopaulo-1 , eu-frankfurt-1 , ap-osaka-1 , uk-london-1 , us-chicago-1 * __riab_user__ - The username inside the database where you will install the apex application * __riab_password__ - The password for the user inside the database - The password must be between 12 and 30 characters long, and must contain at least 1 uppercase, 1 lowercase, and 1 numeric character. It cannot contain the double quote symbol (") or the username "admin", regardless of casing. The password is mandatory if source value is "BACKUP_FROM_ID", "BACKUP_FROM_TIMESTAMP", "DATABASE" or "NONE" * __apex_workspace__ - The name of the apex workspace @@ -474,7 +486,10 @@ variable "db_database_management_status" { # The RAG IN A BOX SETTINGS are: - +variable "llm_region" { + type = string + default = "us-chicago-1" +} # The username inside the database where you will install the apex application variable "riab_user" { diff --git a/cloud-foundation/solutions/RAG-in-a-Box-Hybrid/provisioners.tf b/cloud-foundation/solutions/RAG-in-a-Box-Hybrid/provisioners.tf index 98ae813..2862458 100644 --- a/cloud-foundation/solutions/RAG-in-a-Box-Hybrid/provisioners.tf +++ b/cloud-foundation/solutions/RAG-in-a-Box-Hybrid/provisioners.tf @@ -12,16 +12,16 @@ resource "null_resource" "sqlcl-create-usr" { sql -cloudconfig wallet_${var.db_name}.zip admin/${var.db_password}@'${local.conn_db}' @./scripts/hybridRAG-IN-A-BOX_ADMIN_v2.0.sql ${var.riab_user} ${var.riab_password} echo 'Creating the APEX WORKSPACE and APEX USER running hybridRAG-IN-A-BOX_APEX_ADMIN_v2.0.sql' - sql -cloudconfig wallet_${var.db_name}.zip admin/${var.db_password}@'${local.conn_db}' @./scripts/hybridRAG-IN-A-BOX_APEX_ADMIN_v2.0.sql ${var.apex_workspace} ${var.riab_user} ${var.apex_user} ${var.apex_password} ${var.apex_user} + sql -cloudconfig wallet_${var.db_name}.zip admin/${var.db_password}@'${local.conn_db}' @./scripts/hybridRAG-IN-A-BOX_APEX_ADMIN_v2.0.sql ${var.apex_workspace} ${var.riab_user} ${var.apex_user} ${var.apex_password} ${var.apex_password} - echo 'Start running hybridRAG-IN-A-BOX_USER_v2.2.sql script' - sql -cloudconfig wallet_${var.db_name}.zip ${var.riab_user}/${var.riab_password}@'${local.conn_db}' @./scripts/hybridRAG-IN-A-BOX_USER_v2.2.sql + echo 'Start running hybridRAG-IN-A-BOX_USER_v2.3.sql script' + sql -cloudconfig wallet_${var.db_name}.zip ${var.riab_user}/${var.riab_password}@'${local.conn_db}' @./scripts/hybridRAG-IN-A-BOX_USER_v2.3.sql - echo 'Start running hybridRAG-IN-A-BOX_USER_CREDS_v1.0.sql script' - sql -cloudconfig wallet_${var.db_name}.zip ${var.riab_user}/${var.riab_password}@'${local.conn_db}' @./scripts/hybridRAG-IN-A-BOX_USER_CREDS_v1.0.sql ${var.apex_user} ${var.user_ocid} ${var.tenancy_ocid} "${local.final_bucket_url}" "${var.private_key}" ${var.fingerprint} ${var.compartment_id} + echo 'Start running hybridRAG-IN-A-BOX_USER_CREDS_v1.1.sql script' + sql -cloudconfig wallet_${var.db_name}.zip ${var.riab_user}/${var.riab_password}@'${local.conn_db}' @./scripts/hybridRAG-IN-A-BOX_USER_CREDS_v1.1.sql ${var.apex_user} ${var.user_ocid} ${var.tenancy_ocid} "${local.final_bucket_url}" "${var.private_key}" ${var.fingerprint} ${var.compartment_id} ${var.llm_region} echo 'Install the APEX APP in a box application running hybridRAG-IN-A-BOX_APEX_USER_v2.0.sql' - sql -cloudconfig wallet_${var.db_name}.zip ${var.riab_user}/${var.riab_password}@'${local.conn_db}' @./scripts/hybridRAG-IN-A-BOX_APEX_USER_v2.0.sql ${var.apex_workspace} ${var.riab_user} ./scripts/hybridRAG-IN-A-BOX_f101_v1.2.sql + sql -cloudconfig wallet_${var.db_name}.zip ${var.riab_user}/${var.riab_password}@'${local.conn_db}' @./scripts/hybridRAG-IN-A-BOX_APEX_USER_v2.0.sql ${var.apex_workspace} ${var.riab_user} ./scripts/hybridRAG-IN-A-BOX_f101_v1.3.sql EOT } diff --git a/cloud-foundation/solutions/RAG-in-a-Box-Hybrid/schema.yaml b/cloud-foundation/solutions/RAG-in-a-Box-Hybrid/schema.yaml index e25ab6c..510f7c1 100644 --- a/cloud-foundation/solutions/RAG-in-a-Box-Hybrid/schema.yaml +++ b/cloud-foundation/solutions/RAG-in-a-Box-Hybrid/schema.yaml @@ -25,7 +25,6 @@ groupings: - db_version - db_size_in_tbs - db_enable_auto_scaling - - db_compute_model - db_compute_count - db_workload - db_data_safe_status @@ -33,6 +32,7 @@ groupings: - db_database_management_status - title: "RAG IN A BOX SETTINGS" variables: + - llm_region - riab_user - riab_password - apex_workspace @@ -52,6 +52,7 @@ groupings: # - user_ocid # - fingerprint - private_key_path + - db_compute_model # General Configuration Variables variables: display_name_prefix: @@ -175,18 +176,6 @@ variables: eq: - db_is_free_tier - false - db_compute_model: - title: "The compute model of the Autonomous Database ECPUs" - description: "The compute model of the Autonomous Database ECPUs" - type: enum - enum: - - "ECPU" - default: "ECPU" - required: true - visible: - eq: - - db_is_free_tier - - false db_compute_count: title: The number of ECPUs cores to be made available to the database description: "The number of ECPU cores to enable. For ECPUs count needs to be minimum 2 and maximum 512 ECPUs" @@ -237,6 +226,19 @@ variables: required: true visible: true # RAG IN A BOX SETTINGS: + llm_region: + title: "Pick one of the listed regions that your tenancy it's subscribed to access the LLM" + description: "It is set to default to us-chicago-1 ; you need to use any region available in your tenancy subscribed to one of the available LLMs regions listed" + type: enum + enum: + - "us-chicago-1" + - "sa-saopaulo-1" + - "eu-frankfurt-1" + - "ap-osaka-1" + - "uk-london-1" + default: "us-chicago-1" + required: true + visible: true riab_user: title: "The username inside the database where you will install the apex application" description: "Provide the username inside the database where you will install the apex application. Constraints: 12 alphanumeric characters only. No Spaces." diff --git a/cloud-foundation/solutions/RAG-in-a-Box-Hybrid/scripts/hybridRAG-IN-A-BOX_USER_CREDS_v1.0.sql b/cloud-foundation/solutions/RAG-in-a-Box-Hybrid/scripts/hybridRAG-IN-A-BOX_USER_CREDS_v1.1.sql similarity index 94% rename from cloud-foundation/solutions/RAG-in-a-Box-Hybrid/scripts/hybridRAG-IN-A-BOX_USER_CREDS_v1.0.sql rename to cloud-foundation/solutions/RAG-in-a-Box-Hybrid/scripts/hybridRAG-IN-A-BOX_USER_CREDS_v1.1.sql index 0c5123c..63bcfd1 100644 --- a/cloud-foundation/solutions/RAG-in-a-Box-Hybrid/scripts/hybridRAG-IN-A-BOX_USER_CREDS_v1.0.sql +++ b/cloud-foundation/solutions/RAG-in-a-Box-Hybrid/scripts/hybridRAG-IN-A-BOX_USER_CREDS_v1.1.sql @@ -16,8 +16,10 @@ -- "&5" - ${var.private_key} -- "&6" - ${var.fingerprint} -- "&7" - ${var.compartment_id} +-- "&8" - ${var.llm_region} -- -- v1.0 mac initial release +-- v1.1 mac added variable 8 (llm region) -- ---------------------------------------------------------------- @@ -72,7 +74,8 @@ INSERT INTO hriab_user_settings VALUES ( "tenancy_ocid" : "&3", "compartment_ocid" : "&7", "private_key" : "&5", - "fingerprint" : "&6" + "fingerprint" : "&6", + "llm_region" : "&8" }')); -- exercise the setting table diff --git a/cloud-foundation/solutions/RAG-in-a-Box-Hybrid/scripts/hybridRAG-IN-A-BOX_USER_v2.2.sql b/cloud-foundation/solutions/RAG-in-a-Box-Hybrid/scripts/hybridRAG-IN-A-BOX_USER_v2.3.sql similarity index 96% rename from cloud-foundation/solutions/RAG-in-a-Box-Hybrid/scripts/hybridRAG-IN-A-BOX_USER_v2.2.sql rename to cloud-foundation/solutions/RAG-in-a-Box-Hybrid/scripts/hybridRAG-IN-A-BOX_USER_v2.3.sql index b18bd27..08903c8 100644 --- a/cloud-foundation/solutions/RAG-in-a-Box-Hybrid/scripts/hybridRAG-IN-A-BOX_USER_v2.2.sql +++ b/cloud-foundation/solutions/RAG-in-a-Box-Hybrid/scripts/hybridRAG-IN-A-BOX_USER_v2.3.sql @@ -11,6 +11,7 @@ -- v2.0 mac hybrid initial prod release -- v2.1 mac fixed prefs -- v2.2 mac fixed small errors +-- v2.3 mac added support for llm region -- -- Parameters -- @@ -86,7 +87,8 @@ INSERT INTO hriab_user_settings VALUES ( "tenancy_ocid" : "<>", "compartment_ocid" : "<>", "private_key" : "<>", - "fingerprint" : "<>" + "fingerprint" : "<>", + "llm_region" : "<>" }')); -- exercise the setting table @@ -734,22 +736,33 @@ end; create or replace procedure hriab_gen_tokens ( user_question IN CLOB, - user_tokens OUT varchar2 + user_tokens OUT varchar2, + rag_user IN VARCHAR2 ) is prompt CLOB; t_tok varchar2(512); + llmreg varchar2(512); begin prompt := 'isolate tokens and remove punctuation, articles, verbs, prepositions, etc. from the following string -' || user_question || '-, return a list separated by the word "AND" prefixed with "S@@" and postfixed by "@@E"'; +-- get llm region + select SUBSTR(xllmreg, 2, LENGTH(xllmreg) - 2) into llmreg + from json_table( + (select settings from hriab_user_settings + where riab_user = rag_user + and pref_type = 'RAGCRED' + ), '$[*]' COLUMNS ( + xllmreg varchar2(256) format json PATH '$.llm_region')); + select dbms_vector_chain.utl_to_generate_text( prompt, json('{ "provider" : "ocigenai", "credential_name": "HRIAB_LLM_CRED", - "url" : "https://inference.generativeai.us-chicago-1.oci.oraclecloud.com/20231130/actions/chat", + "url" : "https://inference.generativeai.'||llmreg||'.oci.oraclecloud.com/20231130/actions/chat", "model" : "cohere.command-r-plus-08-2024", "chatRequest" : { "maxTokens": 50, @@ -773,7 +786,7 @@ end hriab_gen_tokens; -- exercise the routine VAR aa CLOB; begin - hriab_gen_tokens( to_clob('Describe the value of data strategy'), :aa); + hriab_gen_tokens( to_clob('Describe the value of data strategy'), :aa, 'DEFAULT'); DBMS_OUTPUT.PUT_LINE('tokens: ' || :aa); end; / @@ -795,6 +808,7 @@ create or replace procedure hriab_get_answer ( context CLOB; sources CLOB; a_type varchar2(50); + llmreg varchar2(512); a_temp CLOB; a_json CLOB; q_json JSON; @@ -807,14 +821,24 @@ create or replace procedure hriab_get_answer ( rowids SYS.ODCIVARCHAR2LIST := SYS.ODCIVARCHAR2LIST(); begin - -- DBMS_OUTPUT.PUT_LINE('user_question: ' || user_question); - -- DBMS_OUTPUT.PUT_LINE('user_tokens: ' || user_tokens); + -- DBMS_OUTPUT.PUT_LINE('user_question: ' || user_question); + -- DBMS_OUTPUT.PUT_LINE('user_tokens: ' || user_tokens); - -- initialize the concatenated string + -- initialize the concatenated string context := rag_context; prompt := ''; rowids.extend; -- need just one value + -- get llm region + select SUBSTR(xllmreg, 2, LENGTH(xllmreg) - 2) into llmreg + from json_table( + (select settings from hriab_user_settings + where riab_user = rag_user + and pref_type = 'RAGCRED' + ), '$[*]' COLUMNS ( + xllmreg varchar2(256) format json PATH '$.llm_region')); + + -- get query prefs select to_number(topk), to_number(penalty_t), to_number(penalty_v), @@ -979,7 +1003,7 @@ begin prompt, json('{ "provider" : "ocigenai", "credential_name": "HRIAB_LLM_CRED", - "url" : "https://inference.generativeai.us-chicago-1.oci.oraclecloud.com/20231130/actions/chat", + "url" : "https://inference.generativeai.'||llmreg||'.oci.oraclecloud.com/20231130/actions/chat", "model" : "cohere.command-r-plus-08-2024", "chatRequest" : { "maxTokens": 2048 } }')) into llm_answer diff --git a/cloud-foundation/solutions/RAG-in-a-Box-Hybrid/scripts/hybridRAG-IN-A-BOX_f101_v1.2.sql b/cloud-foundation/solutions/RAG-in-a-Box-Hybrid/scripts/hybridRAG-IN-A-BOX_f101_v1.3.sql similarity index 99% rename from cloud-foundation/solutions/RAG-in-a-Box-Hybrid/scripts/hybridRAG-IN-A-BOX_f101_v1.2.sql rename to cloud-foundation/solutions/RAG-in-a-Box-Hybrid/scripts/hybridRAG-IN-A-BOX_f101_v1.3.sql index 3cc3a3e..00e1427 100644 --- a/cloud-foundation/solutions/RAG-in-a-Box-Hybrid/scripts/hybridRAG-IN-A-BOX_f101_v1.2.sql +++ b/cloud-foundation/solutions/RAG-in-a-Box-Hybrid/scripts/hybridRAG-IN-A-BOX_f101_v1.3.sql @@ -33,12 +33,12 @@ prompt APPLICATION 101 - hRAG-IN-A-BOX -- Application Export: -- Application: 101 -- Name: hRAG-IN-A-BOX --- Date and Time: 16:59 Thursday March 6, 2025 +-- Date and Time: 14:36 Friday March 14, 2025 -- Exported By: HRIAB -- Flashback: 0 -- Export Type: Application Export -- Pages: 7 --- Items: 44 +-- Items: 45 -- Processes: 9 -- Regions: 13 -- Buttons: 20 @@ -18419,7 +18419,7 @@ wwv_flow_imp_page.create_page_process( ' end if;', '', ' if (:P1_AUTOGEN_TOKENS = ''Y'') then', -' hriab_gen_tokens( :P1_QUESTION, :P1_TOKENS);', +' hriab_gen_tokens( :P1_QUESTION, :P1_TOKENS, locusr);', ' end if;', '', ' -- get the start timestamp', @@ -20136,7 +20136,7 @@ wwv_flow_imp_page.create_page( ); wwv_flow_imp_page.create_page_button( p_id=>wwv_flow_imp.id(24408747334101253) -,p_button_sequence=>110 +,p_button_sequence=>120 ,p_button_name=>'SaveCredentials' ,p_button_action=>'DEFINED_BY_DA' ,p_button_template_options=>'#DEFAULT#:t-Button--iconLeft' @@ -20150,7 +20150,7 @@ wwv_flow_imp_page.create_page_button( ); wwv_flow_imp_page.create_page_button( p_id=>wwv_flow_imp.id(24408827849101254) -,p_button_sequence=>120 +,p_button_sequence=>130 ,p_button_name=>'ResetToDefault' ,p_button_action=>'DEFINED_BY_DA' ,p_button_template_options=>'#DEFAULT#:t-Button--iconLeft' @@ -20165,6 +20165,21 @@ wwv_flow_imp_page.create_page_button( ,p_grid_new_row=>'N' ,p_grid_new_column=>'Y' ); +wwv_flow_imp_page.create_page_item( + p_id=>wwv_flow_imp.id(8174780291618837) +,p_name=>'P3_LLM_REGION' +,p_item_sequence=>110 +,p_item_default=>'us-chicago-1' +,p_prompt=>'LLM Region Name' +,p_display_as=>'NATIVE_TEXT_FIELD' +,p_cSize=>30 +,p_field_template=>wwv_flow_imp.id(39723522230575023) +,p_item_template_options=>'#DEFAULT#' +,p_attribute_01=>'N' +,p_attribute_02=>'N' +,p_attribute_04=>'TEXT' +,p_attribute_05=>'BOTH' +); wwv_flow_imp_page.create_page_item( p_id=>wwv_flow_imp.id(24408399028101250) ,p_name=>'P3_BUCKET_URL' @@ -20372,8 +20387,9 @@ wwv_flow_imp_page.create_page_da_action( ' SUBSTR(xtocid, 2, LENGTH(xtocid) - 2),', ' SUBSTR(xcocid, 2, LENGTH(xcocid) - 2),', ' SUBSTR(xpkey, 2, LENGTH(xpkey) - 2),', -' SUBSTR(xfprint, 2, LENGTH(xfprint) - 2)', -' into :P3_LLM_USER_OCID,:P3_LLM_TENANCY_OCID,:P3_LLM_COMP_OCID,:P3_LLM_CERT,:P3_LLM_FINGERPRINT', +' SUBSTR(xfprint, 2, LENGTH(xfprint) - 2),', +' SUBSTR(xllmreg, 2, LENGTH(xllmreg) - 2)', +' into :P3_LLM_USER_OCID,:P3_LLM_TENANCY_OCID,:P3_LLM_COMP_OCID,:P3_LLM_CERT,:P3_LLM_FINGERPRINT,:P3_LLM_REGION', ' from json_table(', ' (select settings from hriab_user_settings', ' where riab_user = locusr', @@ -20383,10 +20399,11 @@ wwv_flow_imp_page.create_page_da_action( ' xtocid varchar2(256) format json PATH ''$.tenancy_ocid'',', ' xcocid varchar2(256) format json PATH ''$.compartment_ocid'',', ' xpkey varchar2(2000) format json PATH ''$.private_key'',', -' xfprint varchar2(256) format json PATH ''$.fingerprint''));', +' xfprint varchar2(256) format json PATH ''$.fingerprint'',', +' xllmreg varchar2(256) format json PATH ''$.llm_region''));', '', 'end;')) -,p_attribute_03=>'P3_BUCKET_USER_OCID,P3_BUCKET_TENANCY_OCID,P3_BUCKET_URL,P3_BUCKET_CERT,P3_BUCKET_FINGERPRINT,P3_LLM_USER_OCID,P3_LLM_TENANCY_OCID,P3_LLM_COMP_OCID,P3_LLM_CERT,P3_LLM_FINGERPRINT' +,p_attribute_03=>'P3_BUCKET_USER_OCID,P3_BUCKET_TENANCY_OCID,P3_BUCKET_URL,P3_BUCKET_CERT,P3_BUCKET_FINGERPRINT,P3_LLM_USER_OCID,P3_LLM_TENANCY_OCID,P3_LLM_COMP_OCID,P3_LLM_CERT,P3_LLM_FINGERPRINT,P3_LLM_REGION' ,p_attribute_04=>'N' ,p_attribute_05=>'PLSQL' ,p_wait_for_result=>'Y' @@ -20438,7 +20455,8 @@ wwv_flow_imp_page.create_page_da_action( ' "tenancy_ocid" : "''||:P3_LLM_TENANCY_OCID||''",', ' "compartment_ocid" : "''||:P3_LLM_COMP_OCID||''",', ' "private_key" : "''||:P3_LLM_CERT||''",', -' "fingerprint" : "''||:P3_LLM_FINGERPRINT||''"', +' "fingerprint" : "''||:P3_LLM_FINGERPRINT||''",', +' "llm_region" : "''||:P3_LLM_REGION||''"', ' }''));', ' ', ' else', @@ -20459,7 +20477,8 @@ wwv_flow_imp_page.create_page_da_action( ' "tenancy_ocid" : "''||:P3_LLM_TENANCY_OCID||''",', ' "compartment_ocid" : "''||:P3_LLM_COMP_OCID||''",', ' "private_key" : "''||:P3_LLM_CERT||''",', -' "fingerprint" : "''||:P3_LLM_FINGERPRINT||''"', +' "fingerprint" : "''||:P3_LLM_FINGERPRINT||''",', +' "llm_region" : "''||:P3_LLM_REGION||''"', ' }'')', ' where riab_user = :user', ' and pref_type = ''RAGCRED'';', @@ -20470,7 +20489,7 @@ wwv_flow_imp_page.create_page_da_action( ' hriab_create_bucket_cred( :user );', ' hriab_create_llm_cred( :user );', 'end;')) -,p_attribute_02=>'P3_BUCKET_USER_OCID,P3_BUCKET_TENANCY_OCID,P3_BUCKET_URL,P3_BUCKET_CERT,P3_BUCKET_FINGERPRINT,P3_LLM_USER_OCID,P3_LLM_TENANCY_OCID,P3_LLM_COMP_OCID,P3_LLM_CERT,P3_LLM_FINGERPRINT' +,p_attribute_02=>'P3_BUCKET_USER_OCID,P3_BUCKET_TENANCY_OCID,P3_BUCKET_URL,P3_BUCKET_CERT,P3_BUCKET_FINGERPRINT,P3_LLM_USER_OCID,P3_LLM_TENANCY_OCID,P3_LLM_COMP_OCID,P3_LLM_CERT,P3_LLM_FINGERPRINT,P3_LLM_REGION' ,p_attribute_05=>'PLSQL' ,p_wait_for_result=>'Y' ); @@ -20539,8 +20558,9 @@ wwv_flow_imp_page.create_page_process( ' SUBSTR(xtocid, 2, LENGTH(xtocid) - 2),', ' SUBSTR(xcocid, 2, LENGTH(xcocid) - 2),', ' SUBSTR(xpkey, 2, LENGTH(xpkey) - 2),', -' SUBSTR(xfprint, 2, LENGTH(xfprint) - 2)', -' into :P3_LLM_USER_OCID,:P3_LLM_TENANCY_OCID,:P3_LLM_COMP_OCID,:P3_LLM_CERT,:P3_LLM_FINGERPRINT', +' SUBSTR(xfprint, 2, LENGTH(xfprint) - 2),', +' SUBSTR(xllmreg, 2, LENGTH(xllmreg) - 2)', +' into :P3_LLM_USER_OCID,:P3_LLM_TENANCY_OCID,:P3_LLM_COMP_OCID,:P3_LLM_CERT,:P3_LLM_FINGERPRINT,:P3_LLM_REGION', ' from json_table(', ' (select settings from hriab_user_settings', ' where riab_user = locusr', @@ -20550,7 +20570,8 @@ wwv_flow_imp_page.create_page_process( ' xtocid varchar2(256) format json PATH ''$.tenancy_ocid'',', ' xcocid varchar2(256) format json PATH ''$.compartment_ocid'',', ' xpkey varchar2(2000) format json PATH ''$.private_key'',', -' xfprint varchar2(256) format json PATH ''$.fingerprint''));', +' xfprint varchar2(256) format json PATH ''$.fingerprint'',', +' xllmreg varchar2(256) format json PATH ''$.llm_region''));', '', 'end;')) ,p_process_clob_language=>'PLSQL' diff --git a/cloud-foundation/solutions/RAG-in-a-Box-Hybrid/variables.tf b/cloud-foundation/solutions/RAG-in-a-Box-Hybrid/variables.tf index 9246ed2..8435f1d 100644 --- a/cloud-foundation/solutions/RAG-in-a-Box-Hybrid/variables.tf +++ b/cloud-foundation/solutions/RAG-in-a-Box-Hybrid/variables.tf @@ -36,6 +36,8 @@ variable "private_key_path" { default = "" } + + # Don't change the locals # Override `bucket_url` with dynamic values locals { @@ -145,6 +147,11 @@ variable "bucket_events_enabled" { ###### # RAG IN A BOX SETTINGS: +variable "llm_region" { + type = string + default = "us-chicago-1" +} + # The username inside the database where you will install the apex application variable "riab_user" { type = string diff --git a/cloud-foundation/solutions/RAG-in-a-Box-Vector/README.md b/cloud-foundation/solutions/RAG-in-a-Box-Vector/README.md index bfb4c8f..93e5e70 100644 --- a/cloud-foundation/solutions/RAG-in-a-Box-Vector/README.md +++ b/cloud-foundation/solutions/RAG-in-a-Box-Vector/README.md @@ -33,7 +33,7 @@ The "expert mode" even allows visibility on the chunking results from the proxim Please refer to the "Show Documentation" button in the app or the field help info (press the '?' next to each field). -## Important - please deploy the solution in one of the listed regions below as the GenAI it's only available in this regions. If you deploy it in other regions, the solution will not work. If you don't have any of the regions available in your tenancy, please subscribe to one of them. +## Important - please deploy the solution in any region but you need to use for the variable llm_region - one of the listed regions below as the GenAI it's only available in this regions. If you deploy it in other regions, the solution will not work. If you don't have any of the regions available in your tenancy, please subscribe to one of them. Some regions don't offer all the models. See the region for each pretrained model to find out which models are available in a region near you. @@ -46,6 +46,17 @@ Some regions don't offer all the models. See the region for each pretrained mode | UK South (London) | London | uk-london-1 | LHR | | US Midwest (Chicago) | Chicago | us-chicago-1 | ORD | +``` +There is this variable called llm_region : +variable "llm_region" { + type = string + default = "us-chicago-1" +} + +It is set to default to us-chicago-1 ; you need to use any region available in your tenancy subscribed to one of the available LLMs regions listed above. +``` + + ## Deliverables ---------------- @@ -388,7 +399,8 @@ The ADW subsystem / module is able to create ADW/ATP databases. The RAG IN A BOX SETTINGS are: -* Parameters: +* Parameters: + * __llm_region__ - The region that you need to connect to your LLM. Some regions don't offer all the models. See the region for each pretrained model to find out which models are available in a region near you. It is set to default to us-chicago-1 ; you need to use any region available in your tenancy subscribed to one of the available LLMs regions listed : sa-saopaulo-1 , eu-frankfurt-1 , ap-osaka-1 , uk-london-1 , us-chicago-1 * __riab_user__ - The username inside the database where you will install the apex application * __riab_password__ - The password for the user inside the database - The password must be between 12 and 30 characters long, and must contain at least 1 uppercase, 1 lowercase, and 1 numeric character. It cannot contain the double quote symbol (") or the username "admin", regardless of casing. The password is mandatory if source value is "BACKUP_FROM_ID", "BACKUP_FROM_TIMESTAMP", "DATABASE" or "NONE" * __apex_workspace__ - The name of the apex workspace @@ -475,6 +487,10 @@ variable "db_database_management_status" { # The RAG IN A BOX SETTINGS are: +variable "llm_region" { + type = string + default = "us-chicago-1" +} # The username inside the database where you will install the apex application variable "riab_user" { diff --git a/cloud-foundation/solutions/RAG-in-a-Box-Vector/provisioners.tf b/cloud-foundation/solutions/RAG-in-a-Box-Vector/provisioners.tf index c718903..3044b9c 100644 --- a/cloud-foundation/solutions/RAG-in-a-Box-Vector/provisioners.tf +++ b/cloud-foundation/solutions/RAG-in-a-Box-Vector/provisioners.tf @@ -14,14 +14,14 @@ resource "null_resource" "sqlcl-create-usr" { echo 'Creating the APEX WORKSPACE and APEX USER running vectorRAG-IN-A-BOX_APEX_ADMIN_v2.0.sql' sql -cloudconfig wallet_${var.db_name}.zip admin/${var.db_password}@'${local.conn_db}' @./scripts/vectorRAG-IN-A-BOX_APEX_ADMIN_v2.0.sql ${var.apex_workspace} ${var.riab_user} ${var.apex_user} ${var.apex_password} ${var.apex_password} - echo 'Start running vectorRAG-IN-A-BOX_USER_v1.2.sql script' - sql -cloudconfig wallet_${var.db_name}.zip ${var.riab_user}/${var.riab_password}@'${local.conn_db}' @./scripts/vectorRAG-IN-A-BOX_USER_v1.2.sql + echo 'Start running vectorRAG-IN-A-BOX_USER_v1.5.sql script' + sql -cloudconfig wallet_${var.db_name}.zip ${var.riab_user}/${var.riab_password}@'${local.conn_db}' @./scripts/vectorRAG-IN-A-BOX_USER_v1.5.sql - echo 'Start running vectorRAG-IN-A-BOX_USER_CREDS_v1.1 script' - sql -cloudconfig wallet_${var.db_name}.zip ${var.riab_user}/${var.riab_password}@'${local.conn_db}' @./scripts/vectorRAG-IN-A-BOX_USER_CREDS_v1.1.sql ${var.apex_user} ${var.user_ocid} ${var.tenancy_ocid} "${local.final_bucket_url}" "${var.private_key}" ${var.fingerprint} ${var.compartment_id} + echo 'Start running vectorRAG-IN-A-BOX_USER_CREDS_v1.2 script' + sql -cloudconfig wallet_${var.db_name}.zip ${var.riab_user}/${var.riab_password}@'${local.conn_db}' @./scripts/vectorRAG-IN-A-BOX_USER_CREDS_v1.2.sql ${var.apex_user} ${var.user_ocid} ${var.tenancy_ocid} "${local.final_bucket_url}" "${var.private_key}" ${var.fingerprint} ${var.compartment_id} ${var.llm_region} echo 'Install the APEX APP in a box application running vectorRAG-IN-A-BOX_APEX_USER_v2.0.sql' - sql -cloudconfig wallet_${var.db_name}.zip ${var.riab_user}/${var.riab_password}@'${local.conn_db}' @./scripts/vectorRAG-IN-A-BOX_APEX_USER_v2.0.sql ${var.apex_workspace} ${var.riab_user} ./scripts/vectorRAG-IN-A-BOX_f100_v3.2.sql + sql -cloudconfig wallet_${var.db_name}.zip ${var.riab_user}/${var.riab_password}@'${local.conn_db}' @./scripts/vectorRAG-IN-A-BOX_APEX_USER_v2.0.sql ${var.apex_workspace} ${var.riab_user} ./scripts/vectorRAG-IN-A-BOX_f100_v3.5.sql EOT } diff --git a/cloud-foundation/solutions/RAG-in-a-Box-Vector/schema.yaml b/cloud-foundation/solutions/RAG-in-a-Box-Vector/schema.yaml index 48785f6..43ddcb2 100644 --- a/cloud-foundation/solutions/RAG-in-a-Box-Vector/schema.yaml +++ b/cloud-foundation/solutions/RAG-in-a-Box-Vector/schema.yaml @@ -25,7 +25,6 @@ groupings: - db_version - db_size_in_tbs - db_enable_auto_scaling - - db_compute_model - db_compute_count - db_workload - db_data_safe_status @@ -33,6 +32,7 @@ groupings: - db_database_management_status - title: "RAG IN A BOX SETTINGS" variables: + - llm_region - riab_user - riab_password - apex_workspace @@ -52,6 +52,7 @@ groupings: # - user_ocid # - fingerprint - private_key_path + - db_compute_model # General Configuration Variables variables: display_name_prefix: @@ -175,18 +176,6 @@ variables: eq: - db_is_free_tier - false - db_compute_model: - title: "The compute model of the Autonomous Database ECPUs" - description: "The compute model of the Autonomous Database ECPUs" - type: enum - enum: - - "ECPU" - default: "ECPU" - required: true - visible: - eq: - - db_is_free_tier - - false db_compute_count: title: The number of ECPUs cores to be made available to the database description: "The number of ECPU cores to enable. For ECPUs count needs to be minimum 2 and maximum 512 ECPUs" @@ -237,6 +226,19 @@ variables: required: true visible: true # RAG IN A BOX SETTINGS: + llm_region: + title: "Pick one of the listed regions that your tenancy it's subscribed to access the LLM" + description: "It is set to default to us-chicago-1 ; you need to use any region available in your tenancy subscribed to one of the available LLMs regions listed" + type: enum + enum: + - "us-chicago-1" + - "sa-saopaulo-1" + - "eu-frankfurt-1" + - "ap-osaka-1" + - "uk-london-1" + default: "us-chicago-1" + required: true + visible: true riab_user: title: "The username inside the database where you will install the apex application" description: "Provide the username inside the database where you will install the apex application. Constraints: 12 alphanumeric characters only. No Spaces." @@ -263,7 +265,7 @@ variables: required: true type: string visible: true - default: "ERIAB" + default: "VRIAB" apex_password: title: "The password for the apex user application" description: "Provide password for the apex user application. Constraints: 12 - 30 characters. At least one uppercase letter, one lowercase letter, and one number. No special characters." @@ -365,5 +367,4 @@ outputGroups: - adb_user_password - adb_admin_password - vectorRAG_IN_A_BOX_URL - - Buckets - + - Buckets \ No newline at end of file diff --git a/cloud-foundation/solutions/RAG-in-a-Box-Vector/scripts/vectorRAG-IN-A-BOX_USER_CREDS_v1.1.sql b/cloud-foundation/solutions/RAG-in-a-Box-Vector/scripts/vectorRAG-IN-A-BOX_USER_CREDS_v1.2.sql similarity index 94% rename from cloud-foundation/solutions/RAG-in-a-Box-Vector/scripts/vectorRAG-IN-A-BOX_USER_CREDS_v1.1.sql rename to cloud-foundation/solutions/RAG-in-a-Box-Vector/scripts/vectorRAG-IN-A-BOX_USER_CREDS_v1.2.sql index e6ddff1..5243492 100644 --- a/cloud-foundation/solutions/RAG-in-a-Box-Vector/scripts/vectorRAG-IN-A-BOX_USER_CREDS_v1.1.sql +++ b/cloud-foundation/solutions/RAG-in-a-Box-Vector/scripts/vectorRAG-IN-A-BOX_USER_CREDS_v1.2.sql @@ -16,9 +16,11 @@ -- "&5" - ${var.private_key} -- "&6" - ${var.fingerprint} -- "&7" - ${var.compartment_id} +-- "&8" - ${var.llm_region} -- -- v1.0 iop initial release -- v1.1 mac update docs +-- v1.2 mac added variable 8 (llm region) -- ---------------------------------------------------------------- @@ -79,7 +81,8 @@ INSERT INTO vriab_user_settings VALUES ( "tenancy_ocid" : "&3", "compartment_ocid" : "&7", "private_key" : "&5", - "fingerprint" : "&6" + "fingerprint" : "&6", + "llm_region" : "&8" }')); -- exercise the setting table diff --git a/cloud-foundation/solutions/RAG-in-a-Box-Vector/scripts/vectorRAG-IN-A-BOX_USER_v1.2.sql b/cloud-foundation/solutions/RAG-in-a-Box-Vector/scripts/vectorRAG-IN-A-BOX_USER_v1.5.sql similarity index 94% rename from cloud-foundation/solutions/RAG-in-a-Box-Vector/scripts/vectorRAG-IN-A-BOX_USER_v1.2.sql rename to cloud-foundation/solutions/RAG-in-a-Box-Vector/scripts/vectorRAG-IN-A-BOX_USER_v1.5.sql index aaabd88..3c5f3c4 100644 --- a/cloud-foundation/solutions/RAG-in-a-Box-Vector/scripts/vectorRAG-IN-A-BOX_USER_v1.2.sql +++ b/cloud-foundation/solutions/RAG-in-a-Box-Vector/scripts/vectorRAG-IN-A-BOX_USER_v1.5.sql @@ -11,6 +11,9 @@ -- v1.0 mac initial release -- v1.1 mac implement alternative query method -- v1.2 mac added "with target accuracy" and vriab_util_timestamp_diff +-- v1.3 mac adjusted get_answer() prompt processing for URL: tag +-- v1.4 mac added approx keyword to vector_distance call +-- v1.5 mac added support for llm region -- -- Parameters -- @@ -92,7 +95,8 @@ INSERT INTO vriab_user_settings VALUES ( "tenancy_ocid" : "<>", "compartment_ocid" : "<>", "private_key" : "<>", - "fingerprint" : "<>" + "fingerprint" : "<>", + "llm_region" : "<>" }')); -- exercise the setting table @@ -338,6 +342,7 @@ create or replace procedure vriab_process_input_files ( xo varchar2(512); ex varchar2(512); nox varchar2(512); + llmreg varchar2(512); begin -- This procedure reloads all files, so clear the embeddings table and drop the index built on it @@ -348,7 +353,7 @@ begin end; execute immediate 'truncate table vriab_embeddings'; --- get bucket url + -- get bucket url select SUBSTR(xbt, 2, LENGTH(xbt) - 2) into bt from json_table( (select settings from vriab_user_settings @@ -358,7 +363,16 @@ begin ), '$[*]' COLUMNS ( xbt varchar2(512) format json PATH '$.bucket_url')); --- get chunking prefs + -- get llm region + select SUBSTR(xllmreg, 2, LENGTH(xllmreg) - 2) into llmreg + from json_table( + (select settings from vriab_user_settings + where riab_user = r_user + and pref_type = 'RAGCRED' + ), '$[*]' COLUMNS ( + xllmreg varchar2(256) format json PATH '$.llm_region')); + + -- get chunking prefs select xxy, to_number(xmx), to_number(xov), @@ -435,7 +449,7 @@ begin json('{ "provider": "OCIGenAI", "credential_name": "VRIAB_LLM_CRED", - "url": "https://inference.generativeai.us-chicago-1.oci.oraclecloud.com/20231130/actions/embedText", + "url": "https://inference.generativeai.'||llmreg||'.oci.oraclecloud.com/20231130/actions/embedText", "model": "cohere.embed-multilingual-v3.0", "batch_size": 10 }') ) as text_vec, @@ -853,7 +867,6 @@ create or replace procedure vriab_get_answer ( ) is prompt CLOB; context CLOB; - sources CLOB; tk NUMBER; dm VARCHAR2(50); @@ -869,16 +882,27 @@ create or replace procedure vriab_get_answer ( mtext clob; murl varchar2(512); + llmreg varchar2(512); + a_json clob; begin - -- Generate embedding for the query - query_vec := dbms_vector.utl_to_embedding( + -- get llm region + select SUBSTR(xllmreg, 2, LENGTH(xllmreg) - 2) into llmreg + from json_table( + (select settings from vriab_user_settings + where riab_user = rag_user + and pref_type = 'RAGCRED' + ), '$[*]' COLUMNS ( + xllmreg varchar2(256) format json PATH '$.llm_region')); + + -- Generate embedding for the query + query_vec := dbms_vector.utl_to_embedding( user_question, json('{ "provider": "OCIGenAI", "credential_name": "VRIAB_LLM_CRED", - "url": "https://inference.generativeai.us-chicago-1.oci.oraclecloud.com/20231130/actions/embedText", + "url": "https://inference.generativeai.'||llmreg||'.oci.oraclecloud.com/20231130/actions/embedText", "model": "cohere.embed-multilingual-v3.0" }') ); @@ -901,8 +925,6 @@ begin dmx varchar2(256) format json PATH '$.distance', acx varchar2(256) format json PATH '$.accuracy')); - sources := 'Sources: '; - -- select your death if (use_plsql) then -- select columns to be returned, we don't need the vectors @@ -931,7 +953,7 @@ begin -- concatenate each value to the string context := context || ' ' || mtext; - sources := sources || ' ' || 'URL: ' || murl; + context := context || ' ' || mtext || ' ' || 'URL: ' || murl; end loop; else -- use plsql @@ -939,12 +961,10 @@ begin for i in (select docid, body, VECTOR_DISTANCE(text_vec, query_vec) as score, url from vriab_embeddings order by score asc - fetch first tk rows only with target accuracy ac) loop + fetch approx first tk rows only with target accuracy ac) loop -- concatenate each value to the string - context := context || ' ' || i.body; - sources := sources || ' ' || 'URL: ' || i.url; - + context := context || ' ' || i.body || ' ' || 'URL: ' || i.url; t_json.append( json_object( 'DOCID' value i.docid, 'SCORE' value i.score, 'BODY' value i.body, 'URL' value i.url format json) ); end loop; @@ -961,19 +981,19 @@ begin -- DBMS_OUTPUT.PUT_LINE('Generated context: ' || context); -- concatenate strings and format it as an enhanced prompt to the LLM - prompt := 'Answer the following question using the supplied context assuming you are a subject matter expert; include found URLs in a separated category labeled Sources. Question: ' - || user_question || ' Context: ' || context ||' '|| sources || ' ' || rag_context; + prompt := 'Answer the following question using the supplied context assuming you are a subject matter expert; include used URLs from the URL: tag in a separated category labeled Sources. Question: ' + || user_question || ' Context: ' || context ||' '|| rag_context; --DBMS_OUTPUT.PUT_LINE('Postprocessed prompt: ' || prompt); -- overwrite the passed in context with the locally generated one - rag_context := '++++Chunks++++' || chr(10) || a_json || chr(10) || '****Context**** '|| chr(10) || context || chr(10) || '----Sources---- '|| chr(10) || sources; + rag_context := '++++Chunks++++' || chr(10) || a_json || chr(10) || '****Context**** '|| chr(10) || context || chr(10); select dbms_vector_chain.utl_to_generate_text( prompt, json('{ "provider" : "ocigenai", "credential_name": "VRIAB_LLM_CRED", - "url" : "https://inference.generativeai.us-chicago-1.oci.oraclecloud.com/20231130/actions/chat", + "url" : "https://inference.generativeai.'||llmreg||'.oci.oraclecloud.com/20231130/actions/chat", "model" : "cohere.command-r-plus-08-2024", "chatRequest" : { "maxTokens": 2048 @@ -984,6 +1004,7 @@ begin end vriab_get_answer; / + /* -- exercise the routine VAR aa CLOB; @@ -1013,7 +1034,7 @@ BEGIN json('{ "provider": "OCIGenAI", "credential_name": "VRIAB_LLM_CRED", - "url": "https://inference.generativeai.us-chicago-1.oci.oraclecloud.com/20231130/actions/embedText", + "url": "https://inference.generativeai.'||llmreg||'.oraclecloud.com/20231130/actions/embedText", "model": "cohere.embed-multilingual-v3.0" }') ); diff --git a/cloud-foundation/solutions/RAG-in-a-Box-Vector/scripts/vectorRAG-IN-A-BOX_f100_v3.2.sql b/cloud-foundation/solutions/RAG-in-a-Box-Vector/scripts/vectorRAG-IN-A-BOX_f100_v3.5.sql similarity index 82% rename from cloud-foundation/solutions/RAG-in-a-Box-Vector/scripts/vectorRAG-IN-A-BOX_f100_v3.2.sql rename to cloud-foundation/solutions/RAG-in-a-Box-Vector/scripts/vectorRAG-IN-A-BOX_f100_v3.5.sql index 82b786e..db5d4ca 100644 --- a/cloud-foundation/solutions/RAG-in-a-Box-Vector/scripts/vectorRAG-IN-A-BOX_f100_v3.2.sql +++ b/cloud-foundation/solutions/RAG-in-a-Box-Vector/scripts/vectorRAG-IN-A-BOX_f100_v3.5.sql @@ -20,10 +20,10 @@ begin wwv_flow_imp.import_begin ( p_version_yyyy_mm_dd=>'2024.05.31' ,p_release=>'24.1.7' -,p_default_workspace_id=>7707926218118991 +,p_default_workspace_id=>8380405348216297 ,p_default_application_id=>100 -,p_default_id_offset=>7906062413493139 -,p_default_owner=>'RIAB' +,p_default_id_offset=>8381780196274270 +,p_default_owner=>'VRIABDB' ); end; / @@ -33,16 +33,16 @@ prompt APPLICATION 100 - vRAG-IN-A-BOX -- Application Export: -- Application: 100 -- Name: vRAG-IN-A-BOX --- Date and Time: 11:29 Monday March 3, 2025 +-- Date and Time: 15:25 Friday March 14, 2025 -- Exported By: VRIAB -- Flashback: 0 -- Export Type: Application Export -- Pages: 7 --- Items: 45 +-- Items: 46 -- Processes: 10 -- Regions: 14 --- Buttons: 17 --- Dynamic Actions: 14 +-- Buttons: 18 +-- Dynamic Actions: 15 -- Shared Components: -- Logic: -- Items: 1 @@ -84,7 +84,7 @@ prompt --application/create_application begin wwv_imp_workspace.create_flow( p_id=>wwv_flow.g_flow_id -,p_owner=>nvl(wwv_flow_application_install.get_schema,'RIAB') +,p_owner=>nvl(wwv_flow_application_install.get_schema,'VRIABDB') ,p_name=>nvl(wwv_flow_application_install.get_application_name,'vRAG-IN-A-BOX') ,p_alias=>nvl(wwv_flow_application_install.get_application_alias,'VRAG-IN-A-BOX102') ,p_page_view_logging=>'YES' @@ -100,7 +100,7 @@ wwv_imp_workspace.create_flow( ,p_timestamp_tz_format=>'DS' ,p_direction_right_to_left=>'N' ,p_flow_image_prefix => nvl(wwv_flow_application_install.get_image_prefix,'') -,p_authentication_id=>wwv_flow_imp.id(31184016932046916) +,p_authentication_id=>wwv_flow_imp.id(39565797128321186) ,p_application_tab_set=>0 ,p_logo_type=>'T' ,p_logo_text=>'RAG-IN-A-BOX' @@ -138,13 +138,13 @@ wwv_flow_imp_shared.create_user_interface( ,p_theme_style_by_user_pref=>false ,p_built_with_love=>false ,p_global_page_id=>0 -,p_navigation_list_id=>wwv_flow_imp.id(31184747236046938) +,p_navigation_list_id=>wwv_flow_imp.id(39566527432321208) ,p_navigation_list_position=>'SIDE' -,p_navigation_list_template_id=>wwv_flow_imp.id(31348939739047576) +,p_navigation_list_template_id=>wwv_flow_imp.id(39730719935321846) ,p_nav_list_template_options=>'#DEFAULT#:t-TreeNav--styleA:js-navCollapsed--hidden' ,p_nav_bar_type=>'LIST' -,p_nav_bar_list_id=>wwv_flow_imp.id(31473993222048350) -,p_nav_bar_list_template_id=>wwv_flow_imp.id(31348512523047574) +,p_nav_bar_list_id=>wwv_flow_imp.id(39855773418322620) +,p_nav_bar_list_template_id=>wwv_flow_imp.id(39730292719321844) ,p_nav_bar_template_options=>'#DEFAULT#' ); end; @@ -152,13 +152,13 @@ end; prompt --application/shared_components/navigation/lists/navigation_menu begin wwv_flow_imp_shared.create_list( - p_id=>wwv_flow_imp.id(31184747236046938) + p_id=>wwv_flow_imp.id(39566527432321208) ,p_name=>'Navigation Menu' ,p_list_status=>'PUBLIC' ,p_version_scn=>42210296789524 ); wwv_flow_imp_shared.create_list_item( - p_id=>wwv_flow_imp.id(31484310723048558) + p_id=>wwv_flow_imp.id(39866090919322828) ,p_list_item_display_sequence=>10 ,p_list_item_link_text=>'Home' ,p_list_item_link_target=>'f?p=&APP_ID.:1:&APP_SESSION.::&DEBUG.:::' @@ -166,7 +166,7 @@ wwv_flow_imp_shared.create_list_item( ,p_list_item_current_type=>'TARGET_PAGE' ); wwv_flow_imp_shared.create_list_item( - p_id=>wwv_flow_imp.id(31494633895539246) + p_id=>wwv_flow_imp.id(39876414091813516) ,p_list_item_display_sequence=>20 ,p_list_item_link_text=>'Settings' ,p_list_item_link_target=>'f?p=&APP_ID.:2:&APP_SESSION.::&DEBUG.:::' @@ -179,13 +179,13 @@ end; prompt --application/shared_components/navigation/lists/navigation_bar begin wwv_flow_imp_shared.create_list( - p_id=>wwv_flow_imp.id(31473993222048350) + p_id=>wwv_flow_imp.id(39855773418322620) ,p_name=>'Navigation Bar' ,p_list_status=>'PUBLIC' ,p_version_scn=>42195170971905 ); wwv_flow_imp_shared.create_list_item( - p_id=>wwv_flow_imp.id(31485809010048595) + p_id=>wwv_flow_imp.id(39867589206322865) ,p_list_item_display_sequence=>10 ,p_list_item_link_text=>'&APP_USER.' ,p_list_item_link_target=>'#' @@ -194,22 +194,22 @@ wwv_flow_imp_shared.create_list_item( ,p_list_item_current_type=>'TARGET_PAGE' ); wwv_flow_imp_shared.create_list_item( - p_id=>wwv_flow_imp.id(31486372944048597) + p_id=>wwv_flow_imp.id(39868153140322867) ,p_list_item_display_sequence=>20 ,p_list_item_link_text=>'---' ,p_list_item_link_target=>'separator' ,p_list_item_disp_cond_type=>'USER_IS_NOT_PUBLIC_USER' -,p_parent_list_item_id=>wwv_flow_imp.id(31485809010048595) +,p_parent_list_item_id=>wwv_flow_imp.id(39867589206322865) ,p_list_item_current_type=>'TARGET_PAGE' ); wwv_flow_imp_shared.create_list_item( - p_id=>wwv_flow_imp.id(31486756661048601) + p_id=>wwv_flow_imp.id(39868536857322871) ,p_list_item_display_sequence=>30 ,p_list_item_link_text=>'Sign Out' ,p_list_item_link_target=>'&LOGOUT_URL.' ,p_list_item_icon=>'fa-sign-out' ,p_list_item_disp_cond_type=>'USER_IS_NOT_PUBLIC_USER' -,p_parent_list_item_id=>wwv_flow_imp.id(31485809010048595) +,p_parent_list_item_id=>wwv_flow_imp.id(39867589206322865) ,p_list_item_current_type=>'TARGET_PAGE' ); end; @@ -230,7 +230,7 @@ wwv_flow_imp.g_varchar2_table(5) := '8C7AFF4BB3DA46C52AF93F569A25D012606E0454A30 wwv_flow_imp.g_varchar2_table(6) := '6DC0EFF59EB6876201177F4F7C8AF6C4E940E929701C075785733422251C9CED6236F78D6BFE7E3A07121D5CDEFEC47CFE959335C3645FCBED6214CCB3CB5236A2B1D7E0C40124CE806EC781DB88C3F5CEA578BA2BE5413A81606070D584B050E2C606E5'; wwv_flow_imp.g_varchar2_table(7) := '84454F304D30FFF9333410261026F00F94D5989DA82900230000000049454E44AE426082'; wwv_flow_imp_shared.create_app_static_file( - p_id=>wwv_flow_imp.id(31475010004048400) + p_id=>wwv_flow_imp.id(39856790200322670) ,p_file_name=>'icons/app-icon-32.png' ,p_mime_type=>'image/png' ,p_file_charset=>'utf-8' @@ -284,7 +284,7 @@ wwv_flow_imp.g_varchar2_table(40) := '747B4C9D1B37255AAC5E017E48E8D5739EA982C819 wwv_flow_imp.g_varchar2_table(41) := '8A401B86A15A2309793018C6F3E4AAB6490DC2D9CE2B819C2046BE4DD29E78EBFEBAC1622D4A89A10815691132F408BFEC26620C53B94986FBD50E469C14FE8635575D33E33A69BD094CFAC3BC2D9E7A83D913D600788531CC857FF612A1202008080282'; wwv_flow_imp.g_varchar2_table(42) := '8020200808028280202008080282802020080802828020200808028280202008080282802020080802828020107404FE0FA1066D145FC4CFB80000000049454E44AE426082'; wwv_flow_imp_shared.create_app_static_file( - p_id=>wwv_flow_imp.id(31475312613048406) + p_id=>wwv_flow_imp.id(39857092809322676) ,p_file_name=>'icons/app-icon-144-rounded.png' ,p_mime_type=>'image/png' ,p_file_charset=>'utf-8' @@ -348,7 +348,7 @@ wwv_flow_imp.g_varchar2_table(50) := 'B3F324007D40350224806AF3B3F324007D40350224 wwv_flow_imp.g_varchar2_table(51) := '7D40350224806AF3B3F324007D40350224806AF3B3F324007D40350224806AF3B3F324007D40350224806AF3B3F324007D40350224806AF3B3F324007D40350224806AF3B3F324007D40350224806AF3B3F3FF0FE61D3D7C1BDD2B480000000049454E44'; wwv_flow_imp.g_varchar2_table(52) := 'AE426082'; wwv_flow_imp_shared.create_app_static_file( - p_id=>wwv_flow_imp.id(31475644419048441) + p_id=>wwv_flow_imp.id(39857424615322711) ,p_file_name=>'icons/app-icon-192.png' ,p_mime_type=>'image/png' ,p_file_charset=>'utf-8' @@ -443,7 +443,7 @@ wwv_flow_imp.g_varchar2_table(81) := '16C38A8B1DD7A913E1A04ED4B9F813EBC4EB545AD4 wwv_flow_imp.g_varchar2_table(82) := '10000110000110000110000110000110000110000110000110000110000110000110000110000110000110000110000110000110000110000110000110000110000110000110000110000110000110000110000110000110000110000110000110000110'; wwv_flow_imp.g_varchar2_table(83) := '0001100001100001100001100081C210F87F37FF43B0612B399C0000000049454E44AE426082'; wwv_flow_imp_shared.create_app_static_file( - p_id=>wwv_flow_imp.id(31475868703048442) + p_id=>wwv_flow_imp.id(39857648899322712) ,p_file_name=>'icons/app-icon-256-rounded.png' ,p_mime_type=>'image/png' ,p_file_charset=>'utf-8' @@ -631,7 +631,7 @@ wwv_flow_imp.g_varchar2_table(174) := '1040000104FC11A000F0271744820002082080803 wwv_flow_imp.g_varchar2_table(175) := '0001041040C099000580336A06420001041040C01F010A007F7241240820800002083813A0007046CD40082080000208F8234001E04F2E880401041040000167021400CEA819080104104000017F042800FCC90591208000020820E04C8002C019350321'; wwv_flow_imp.g_varchar2_table(176) := '8000020820E08F0005803FB920120410400001049C09500038A36620041040000104FC11A000F0271744820002082080803381FF0F99120A31172AA5720000000049454E44AE426082'; wwv_flow_imp_shared.create_app_static_file( - p_id=>wwv_flow_imp.id(31476177811048443) + p_id=>wwv_flow_imp.id(39857958007322713) ,p_file_name=>'icons/app-icon-512.png' ,p_mime_type=>'image/png' ,p_file_charset=>'utf-8' @@ -642,7 +642,7 @@ end; prompt --application/plugin_settings begin wwv_flow_imp_shared.create_plugin_setting( - p_id=>wwv_flow_imp.id(31179889790046882) + p_id=>wwv_flow_imp.id(39561669986321152) ,p_plugin_type=>'REGION TYPE' ,p_plugin=>'NATIVE_DISPLAY_SELECTOR' ,p_attributes=>wwv_flow_t_plugin_attributes(wwv_flow_t_varchar2( @@ -650,14 +650,14 @@ wwv_flow_imp_shared.create_plugin_setting( ,p_version_scn=>42195170934244 ); wwv_flow_imp_shared.create_plugin_setting( - p_id=>wwv_flow_imp.id(31180101049046890) + p_id=>wwv_flow_imp.id(39561881245321160) ,p_plugin_type=>'ITEM TYPE' ,p_plugin=>'NATIVE_SELECT_MANY' ,p_attribute_01=>'separated' ,p_version_scn=>42195170934255 ); wwv_flow_imp_shared.create_plugin_setting( - p_id=>wwv_flow_imp.id(31180473168046891) + p_id=>wwv_flow_imp.id(39562253364321161) ,p_plugin_type=>'ITEM TYPE' ,p_plugin=>'NATIVE_COLOR_PICKER' ,p_attribute_01=>'FULL' @@ -665,7 +665,7 @@ wwv_flow_imp_shared.create_plugin_setting( ,p_version_scn=>42195170934257 ); wwv_flow_imp_shared.create_plugin_setting( - p_id=>wwv_flow_imp.id(31180702712046892) + p_id=>wwv_flow_imp.id(39562482908321162) ,p_plugin_type=>'ITEM TYPE' ,p_plugin=>'NATIVE_STAR_RATING' ,p_attribute_01=>'fa-star' @@ -673,7 +673,7 @@ wwv_flow_imp_shared.create_plugin_setting( ,p_version_scn=>42195170934269 ); wwv_flow_imp_shared.create_plugin_setting( - p_id=>wwv_flow_imp.id(31181083151046893) + p_id=>wwv_flow_imp.id(39562863347321163) ,p_plugin_type=>'ITEM TYPE' ,p_plugin=>'NATIVE_SINGLE_CHECKBOX' ,p_attribute_01=>'Y' @@ -681,7 +681,7 @@ wwv_flow_imp_shared.create_plugin_setting( ,p_version_scn=>42195170934289 ); wwv_flow_imp_shared.create_plugin_setting( - p_id=>wwv_flow_imp.id(31181360942046894) + p_id=>wwv_flow_imp.id(39563141138321164) ,p_plugin_type=>'REGION TYPE' ,p_plugin=>'NATIVE_MAP_REGION' ,p_attributes=>wwv_flow_t_plugin_attributes(wwv_flow_t_varchar2( @@ -689,13 +689,13 @@ wwv_flow_imp_shared.create_plugin_setting( ,p_version_scn=>42195170934298 ); wwv_flow_imp_shared.create_plugin_setting( - p_id=>wwv_flow_imp.id(31181651695046895) + p_id=>wwv_flow_imp.id(39563431891321165) ,p_plugin_type=>'WEB SOURCE TYPE' ,p_plugin=>'NATIVE_ADFBC' ,p_version_scn=>42195170934305 ); wwv_flow_imp_shared.create_plugin_setting( - p_id=>wwv_flow_imp.id(31181929324046897) + p_id=>wwv_flow_imp.id(39563709520321167) ,p_plugin_type=>'REGION TYPE' ,p_plugin=>'NATIVE_IR' ,p_attributes=>wwv_flow_t_plugin_attributes(wwv_flow_t_varchar2( @@ -703,7 +703,7 @@ wwv_flow_imp_shared.create_plugin_setting( ,p_version_scn=>42195170934317 ); wwv_flow_imp_shared.create_plugin_setting( - p_id=>wwv_flow_imp.id(31182223531046898) + p_id=>wwv_flow_imp.id(39564003727321168) ,p_plugin_type=>'ITEM TYPE' ,p_plugin=>'NATIVE_YES_NO' ,p_attribute_01=>'Y' @@ -712,20 +712,20 @@ wwv_flow_imp_shared.create_plugin_setting( ,p_version_scn=>42195170934317 ); wwv_flow_imp_shared.create_plugin_setting( - p_id=>wwv_flow_imp.id(31182554864046899) + p_id=>wwv_flow_imp.id(39564335060321169) ,p_plugin_type=>'DYNAMIC ACTION' ,p_plugin=>'NATIVE_OPEN_AI_ASSISTANT' ,p_version_scn=>42195170934317 ); wwv_flow_imp_shared.create_plugin_setting( - p_id=>wwv_flow_imp.id(31182848769046900) + p_id=>wwv_flow_imp.id(39564628965321170) ,p_plugin_type=>'PROCESS TYPE' ,p_plugin=>'NATIVE_GEOCODING' ,p_attribute_01=>'RELAX_HOUSE_NUMBER' ,p_version_scn=>42195170934328 ); wwv_flow_imp_shared.create_plugin_setting( - p_id=>wwv_flow_imp.id(31183194522046901) + p_id=>wwv_flow_imp.id(39564974718321171) ,p_plugin_type=>'ITEM TYPE' ,p_plugin=>'NATIVE_DATE_PICKER_APEX' ,p_attribute_01=>'MONTH-PICKER:YEAR-PICKER:TODAY-BUTTON' @@ -735,7 +735,7 @@ wwv_flow_imp_shared.create_plugin_setting( ,p_version_scn=>42195170934351 ); wwv_flow_imp_shared.create_plugin_setting( - p_id=>wwv_flow_imp.id(31183445965046902) + p_id=>wwv_flow_imp.id(39565226161321172) ,p_plugin_type=>'ITEM TYPE' ,p_plugin=>'NATIVE_GEOCODED_ADDRESS' ,p_attribute_01=>'RELAX_HOUSE_NUMBER' @@ -750,7 +750,7 @@ end; prompt --application/shared_components/security/authorizations/administration_rights begin wwv_flow_imp_shared.create_security_scheme( - p_id=>wwv_flow_imp.id(31477483716048446) + p_id=>wwv_flow_imp.id(39859263912322716) ,p_name=>'Administration Rights' ,p_scheme_type=>'NATIVE_FUNCTION_BODY' ,p_attribute_01=>'return true;' @@ -768,10 +768,10 @@ end; prompt --application/shared_components/logic/application_items/app_item_expert_mode begin wwv_flow_imp_shared.create_flow_item( - p_id=>wwv_flow_imp.id(8159584369848303) + p_id=>wwv_flow_imp.id(16541364566122573) ,p_name=>'APP_ITEM_EXPERT_MODE' ,p_protection_level=>'N' -,p_required_patch=>-wwv_flow_imp.id(31183727531046906) +,p_required_patch=>-wwv_flow_imp.id(39565507727321176) ,p_version_scn=>44377073788090 ); end; @@ -794,7 +794,7 @@ end; prompt --application/pages/page_groups begin wwv_flow_imp_page.create_page_group( - p_id=>wwv_flow_imp.id(31477743817048458) + p_id=>wwv_flow_imp.id(39859524013322728) ,p_group_name=>'Administration' ); end; @@ -807,17 +807,17 @@ end; prompt --application/shared_components/navigation/breadcrumbs/breadcrumb begin wwv_flow_imp_shared.create_menu( - p_id=>wwv_flow_imp.id(31184393672046923) + p_id=>wwv_flow_imp.id(39566173868321193) ,p_name=>'Breadcrumb' ); wwv_flow_imp_shared.create_menu_option( - p_id=>wwv_flow_imp.id(31184464162046928) + p_id=>wwv_flow_imp.id(39566244358321198) ,p_short_name=>'Home' ,p_link=>'f?p=&APP_ID.:1:&APP_SESSION.::&DEBUG.:::' ,p_page_id=>1 ); wwv_flow_imp_shared.create_menu_option( - p_id=>wwv_flow_imp.id(31495569430539268) + p_id=>wwv_flow_imp.id(39877349626813538) ,p_short_name=>'SETTINGS' ,p_link=>'f?p=&APP_ID.:2:&APP_SESSION.::&DEBUG.:::' ,p_page_id=>2 @@ -832,7 +832,7 @@ end; prompt --application/shared_components/user_interface/templates/page/drawer begin wwv_flow_imp_shared.create_template( - p_id=>wwv_flow_imp.id(31185077399046952) + p_id=>wwv_flow_imp.id(39566857595321222) ,p_theme_id=>42 ,p_name=>'Drawer' ,p_internal_name=>'DRAWER' @@ -968,8 +968,8 @@ wwv_flow_imp_shared.create_template( ,p_reference_id=>1659739787629394056 ); wwv_flow_imp_shared.create_page_tmpl_display_point( - p_id=>wwv_flow_imp.id(31185395939046977) -,p_page_template_id=>wwv_flow_imp.id(31185077399046952) + p_id=>wwv_flow_imp.id(39567176135321247) +,p_page_template_id=>wwv_flow_imp.id(39566857595321222) ,p_name=>'Content Body' ,p_placeholder=>'BODY' ,p_has_grid_support=>true @@ -980,8 +980,8 @@ wwv_flow_imp_shared.create_page_tmpl_display_point( ,p_max_fixed_grid_columns=>12 ); wwv_flow_imp_shared.create_page_tmpl_display_point( - p_id=>wwv_flow_imp.id(31185695618046980) -,p_page_template_id=>wwv_flow_imp.id(31185077399046952) + p_id=>wwv_flow_imp.id(39567475814321250) +,p_page_template_id=>wwv_flow_imp.id(39566857595321222) ,p_name=>'Dialog Header' ,p_placeholder=>'REGION_POSITION_01' ,p_has_grid_support=>false @@ -991,8 +991,8 @@ wwv_flow_imp_shared.create_page_tmpl_display_point( ,p_glv_new_row=>true ); wwv_flow_imp_shared.create_page_tmpl_display_point( - p_id=>wwv_flow_imp.id(31185979346046981) -,p_page_template_id=>wwv_flow_imp.id(31185077399046952) + p_id=>wwv_flow_imp.id(39567759542321251) +,p_page_template_id=>wwv_flow_imp.id(39566857595321222) ,p_name=>'Dialog Footer' ,p_placeholder=>'REGION_POSITION_03' ,p_has_grid_support=>false @@ -1006,7 +1006,7 @@ end; prompt --application/shared_components/user_interface/templates/page/left_side_column begin wwv_flow_imp_shared.create_template( - p_id=>wwv_flow_imp.id(31187899277047008) + p_id=>wwv_flow_imp.id(39569679473321278) ,p_theme_id=>42 ,p_name=>'Left Side Column' ,p_internal_name=>'LEFT_SIDE_COLUMN' @@ -1191,8 +1191,8 @@ wwv_flow_imp_shared.create_template( ,p_reference_id=>2525196570560608698 ); wwv_flow_imp_shared.create_page_tmpl_display_point( - p_id=>wwv_flow_imp.id(31188262655047010) -,p_page_template_id=>wwv_flow_imp.id(31187899277047008) + p_id=>wwv_flow_imp.id(39570042851321280) +,p_page_template_id=>wwv_flow_imp.id(39569679473321278) ,p_name=>'After Logo' ,p_placeholder=>'AFTER_LOGO' ,p_has_grid_support=>false @@ -1203,8 +1203,8 @@ wwv_flow_imp_shared.create_page_tmpl_display_point( ,p_max_fixed_grid_columns=>4 ); wwv_flow_imp_shared.create_page_tmpl_display_point( - p_id=>wwv_flow_imp.id(31188565448047011) -,p_page_template_id=>wwv_flow_imp.id(31187899277047008) + p_id=>wwv_flow_imp.id(39570345644321281) +,p_page_template_id=>wwv_flow_imp.id(39569679473321278) ,p_name=>'After Navigation Bar' ,p_placeholder=>'AFTER_NAVIGATION_BAR' ,p_has_grid_support=>false @@ -1215,8 +1215,8 @@ wwv_flow_imp_shared.create_page_tmpl_display_point( ,p_max_fixed_grid_columns=>4 ); wwv_flow_imp_shared.create_page_tmpl_display_point( - p_id=>wwv_flow_imp.id(31188879016047012) -,p_page_template_id=>wwv_flow_imp.id(31187899277047008) + p_id=>wwv_flow_imp.id(39570659212321282) +,p_page_template_id=>wwv_flow_imp.id(39569679473321278) ,p_name=>'Before Navigation Bar' ,p_placeholder=>'BEFORE_NAVIGATION_BAR' ,p_has_grid_support=>false @@ -1227,8 +1227,8 @@ wwv_flow_imp_shared.create_page_tmpl_display_point( ,p_max_fixed_grid_columns=>4 ); wwv_flow_imp_shared.create_page_tmpl_display_point( - p_id=>wwv_flow_imp.id(31189190965047013) -,p_page_template_id=>wwv_flow_imp.id(31187899277047008) + p_id=>wwv_flow_imp.id(39570971161321283) +,p_page_template_id=>wwv_flow_imp.id(39569679473321278) ,p_name=>'Body' ,p_placeholder=>'BODY' ,p_has_grid_support=>true @@ -1239,8 +1239,8 @@ wwv_flow_imp_shared.create_page_tmpl_display_point( ,p_max_fixed_grid_columns=>8 ); wwv_flow_imp_shared.create_page_tmpl_display_point( - p_id=>wwv_flow_imp.id(31189449229047013) -,p_page_template_id=>wwv_flow_imp.id(31187899277047008) + p_id=>wwv_flow_imp.id(39571229425321283) +,p_page_template_id=>wwv_flow_imp.id(39569679473321278) ,p_name=>'Breadcrumb Bar' ,p_placeholder=>'REGION_POSITION_01' ,p_has_grid_support=>false @@ -1250,8 +1250,8 @@ wwv_flow_imp_shared.create_page_tmpl_display_point( ,p_glv_new_row=>true ); wwv_flow_imp_shared.create_page_tmpl_display_point( - p_id=>wwv_flow_imp.id(31189744660047014) -,p_page_template_id=>wwv_flow_imp.id(31187899277047008) + p_id=>wwv_flow_imp.id(39571524856321284) +,p_page_template_id=>wwv_flow_imp.id(39569679473321278) ,p_name=>'Left Column' ,p_placeholder=>'REGION_POSITION_02' ,p_has_grid_support=>false @@ -1262,8 +1262,8 @@ wwv_flow_imp_shared.create_page_tmpl_display_point( ,p_max_fixed_grid_columns=>4 ); wwv_flow_imp_shared.create_page_tmpl_display_point( - p_id=>wwv_flow_imp.id(31190052640047015) -,p_page_template_id=>wwv_flow_imp.id(31187899277047008) + p_id=>wwv_flow_imp.id(39571832836321285) +,p_page_template_id=>wwv_flow_imp.id(39569679473321278) ,p_name=>'Dialogs, Drawers and Popups' ,p_placeholder=>'REGION_POSITION_04' ,p_has_grid_support=>true @@ -1274,8 +1274,8 @@ wwv_flow_imp_shared.create_page_tmpl_display_point( ,p_max_fixed_grid_columns=>12 ); wwv_flow_imp_shared.create_page_tmpl_display_point( - p_id=>wwv_flow_imp.id(31190336754047015) -,p_page_template_id=>wwv_flow_imp.id(31187899277047008) + p_id=>wwv_flow_imp.id(39572116950321285) +,p_page_template_id=>wwv_flow_imp.id(39569679473321278) ,p_name=>'Footer' ,p_placeholder=>'REGION_POSITION_05' ,p_has_grid_support=>true @@ -1286,8 +1286,8 @@ wwv_flow_imp_shared.create_page_tmpl_display_point( ,p_max_fixed_grid_columns=>8 ); wwv_flow_imp_shared.create_page_tmpl_display_point( - p_id=>wwv_flow_imp.id(31190656260047016) -,p_page_template_id=>wwv_flow_imp.id(31187899277047008) + p_id=>wwv_flow_imp.id(39572436456321286) +,p_page_template_id=>wwv_flow_imp.id(39569679473321278) ,p_name=>'Top Navigation' ,p_placeholder=>'REGION_POSITION_06' ,p_has_grid_support=>false @@ -1297,8 +1297,8 @@ wwv_flow_imp_shared.create_page_tmpl_display_point( ,p_glv_new_row=>true ); wwv_flow_imp_shared.create_page_tmpl_display_point( - p_id=>wwv_flow_imp.id(31190912604047017) -,p_page_template_id=>wwv_flow_imp.id(31187899277047008) + p_id=>wwv_flow_imp.id(39572692800321287) +,p_page_template_id=>wwv_flow_imp.id(39569679473321278) ,p_name=>'Banner' ,p_placeholder=>'REGION_POSITION_07' ,p_has_grid_support=>false @@ -1308,8 +1308,8 @@ wwv_flow_imp_shared.create_page_tmpl_display_point( ,p_glv_new_row=>true ); wwv_flow_imp_shared.create_page_tmpl_display_point( - p_id=>wwv_flow_imp.id(31191275256047020) -,p_page_template_id=>wwv_flow_imp.id(31187899277047008) + p_id=>wwv_flow_imp.id(39573055452321290) +,p_page_template_id=>wwv_flow_imp.id(39569679473321278) ,p_name=>'Full Width Content' ,p_placeholder=>'REGION_POSITION_08' ,p_has_grid_support=>true @@ -1324,7 +1324,7 @@ end; prompt --application/shared_components/user_interface/templates/page/left_and_right_side_columns begin wwv_flow_imp_shared.create_template( - p_id=>wwv_flow_imp.id(31191671749047022) + p_id=>wwv_flow_imp.id(39573451945321292) ,p_theme_id=>42 ,p_name=>'Left and Right Side Columns' ,p_internal_name=>'LEFT_AND_RIGHT_SIDE_COLUMNS' @@ -1516,8 +1516,8 @@ wwv_flow_imp_shared.create_template( ,p_reference_id=>2525203692562657055 ); wwv_flow_imp_shared.create_page_tmpl_display_point( - p_id=>wwv_flow_imp.id(31191988392047024) -,p_page_template_id=>wwv_flow_imp.id(31191671749047022) + p_id=>wwv_flow_imp.id(39573768588321294) +,p_page_template_id=>wwv_flow_imp.id(39573451945321292) ,p_name=>'After Logo' ,p_placeholder=>'AFTER_LOGO' ,p_has_grid_support=>false @@ -1528,8 +1528,8 @@ wwv_flow_imp_shared.create_page_tmpl_display_point( ,p_max_fixed_grid_columns=>4 ); wwv_flow_imp_shared.create_page_tmpl_display_point( - p_id=>wwv_flow_imp.id(31192218869047025) -,p_page_template_id=>wwv_flow_imp.id(31191671749047022) + p_id=>wwv_flow_imp.id(39573999065321295) +,p_page_template_id=>wwv_flow_imp.id(39573451945321292) ,p_name=>'After Navigation Bar' ,p_placeholder=>'AFTER_NAVIGATION_BAR' ,p_has_grid_support=>false @@ -1540,8 +1540,8 @@ wwv_flow_imp_shared.create_page_tmpl_display_point( ,p_max_fixed_grid_columns=>4 ); wwv_flow_imp_shared.create_page_tmpl_display_point( - p_id=>wwv_flow_imp.id(31192503963047025) -,p_page_template_id=>wwv_flow_imp.id(31191671749047022) + p_id=>wwv_flow_imp.id(39574284159321295) +,p_page_template_id=>wwv_flow_imp.id(39573451945321292) ,p_name=>'Before Navigation Bar' ,p_placeholder=>'BEFORE_NAVIGATION_BAR' ,p_has_grid_support=>false @@ -1552,8 +1552,8 @@ wwv_flow_imp_shared.create_page_tmpl_display_point( ,p_max_fixed_grid_columns=>4 ); wwv_flow_imp_shared.create_page_tmpl_display_point( - p_id=>wwv_flow_imp.id(31192819969047026) -,p_page_template_id=>wwv_flow_imp.id(31191671749047022) + p_id=>wwv_flow_imp.id(39574600165321296) +,p_page_template_id=>wwv_flow_imp.id(39573451945321292) ,p_name=>'Body' ,p_placeholder=>'BODY' ,p_has_grid_support=>true @@ -1564,8 +1564,8 @@ wwv_flow_imp_shared.create_page_tmpl_display_point( ,p_max_fixed_grid_columns=>6 ); wwv_flow_imp_shared.create_page_tmpl_display_point( - p_id=>wwv_flow_imp.id(31193159428047027) -,p_page_template_id=>wwv_flow_imp.id(31191671749047022) + p_id=>wwv_flow_imp.id(39574939624321297) +,p_page_template_id=>wwv_flow_imp.id(39573451945321292) ,p_name=>'Breadcrumb Bar' ,p_placeholder=>'REGION_POSITION_01' ,p_has_grid_support=>false @@ -1575,8 +1575,8 @@ wwv_flow_imp_shared.create_page_tmpl_display_point( ,p_glv_new_row=>true ); wwv_flow_imp_shared.create_page_tmpl_display_point( - p_id=>wwv_flow_imp.id(31193483985047027) -,p_page_template_id=>wwv_flow_imp.id(31191671749047022) + p_id=>wwv_flow_imp.id(39575264181321297) +,p_page_template_id=>wwv_flow_imp.id(39573451945321292) ,p_name=>'Left Column' ,p_placeholder=>'REGION_POSITION_02' ,p_has_grid_support=>false @@ -1587,8 +1587,8 @@ wwv_flow_imp_shared.create_page_tmpl_display_point( ,p_max_fixed_grid_columns=>3 ); wwv_flow_imp_shared.create_page_tmpl_display_point( - p_id=>wwv_flow_imp.id(31193727102047028) -,p_page_template_id=>wwv_flow_imp.id(31191671749047022) + p_id=>wwv_flow_imp.id(39575507298321298) +,p_page_template_id=>wwv_flow_imp.id(39573451945321292) ,p_name=>'Right Column' ,p_placeholder=>'REGION_POSITION_03' ,p_has_grid_support=>false @@ -1599,8 +1599,8 @@ wwv_flow_imp_shared.create_page_tmpl_display_point( ,p_max_fixed_grid_columns=>3 ); wwv_flow_imp_shared.create_page_tmpl_display_point( - p_id=>wwv_flow_imp.id(31194068860047029) -,p_page_template_id=>wwv_flow_imp.id(31191671749047022) + p_id=>wwv_flow_imp.id(39575849056321299) +,p_page_template_id=>wwv_flow_imp.id(39573451945321292) ,p_name=>'Dialogs, Drawers and Popups' ,p_placeholder=>'REGION_POSITION_04' ,p_has_grid_support=>true @@ -1611,8 +1611,8 @@ wwv_flow_imp_shared.create_page_tmpl_display_point( ,p_max_fixed_grid_columns=>12 ); wwv_flow_imp_shared.create_page_tmpl_display_point( - p_id=>wwv_flow_imp.id(31194344364047030) -,p_page_template_id=>wwv_flow_imp.id(31191671749047022) + p_id=>wwv_flow_imp.id(39576124560321300) +,p_page_template_id=>wwv_flow_imp.id(39573451945321292) ,p_name=>'Footer' ,p_placeholder=>'REGION_POSITION_05' ,p_has_grid_support=>true @@ -1623,8 +1623,8 @@ wwv_flow_imp_shared.create_page_tmpl_display_point( ,p_max_fixed_grid_columns=>6 ); wwv_flow_imp_shared.create_page_tmpl_display_point( - p_id=>wwv_flow_imp.id(31194647458047030) -,p_page_template_id=>wwv_flow_imp.id(31191671749047022) + p_id=>wwv_flow_imp.id(39576427654321300) +,p_page_template_id=>wwv_flow_imp.id(39573451945321292) ,p_name=>'Top Navigation' ,p_placeholder=>'REGION_POSITION_06' ,p_has_grid_support=>false @@ -1634,8 +1634,8 @@ wwv_flow_imp_shared.create_page_tmpl_display_point( ,p_glv_new_row=>true ); wwv_flow_imp_shared.create_page_tmpl_display_point( - p_id=>wwv_flow_imp.id(31194907057047031) -,p_page_template_id=>wwv_flow_imp.id(31191671749047022) + p_id=>wwv_flow_imp.id(39576687253321301) +,p_page_template_id=>wwv_flow_imp.id(39573451945321292) ,p_name=>'Banner' ,p_placeholder=>'REGION_POSITION_07' ,p_has_grid_support=>false @@ -1645,8 +1645,8 @@ wwv_flow_imp_shared.create_page_tmpl_display_point( ,p_glv_new_row=>true ); wwv_flow_imp_shared.create_page_tmpl_display_point( - p_id=>wwv_flow_imp.id(31195208039047032) -,p_page_template_id=>wwv_flow_imp.id(31191671749047022) + p_id=>wwv_flow_imp.id(39576988235321302) +,p_page_template_id=>wwv_flow_imp.id(39573451945321292) ,p_name=>'Full Width Content' ,p_placeholder=>'REGION_POSITION_08' ,p_has_grid_support=>true @@ -1661,7 +1661,7 @@ end; prompt --application/shared_components/user_interface/templates/page/login begin wwv_flow_imp_shared.create_template( - p_id=>wwv_flow_imp.id(31195615249047033) + p_id=>wwv_flow_imp.id(39577395445321303) ,p_theme_id=>42 ,p_name=>'Login' ,p_internal_name=>'LOGIN' @@ -1791,8 +1791,8 @@ wwv_flow_imp_shared.create_template( ,p_reference_id=>2099711150063350616 ); wwv_flow_imp_shared.create_page_tmpl_display_point( - p_id=>wwv_flow_imp.id(31195959114047034) -,p_page_template_id=>wwv_flow_imp.id(31195615249047033) + p_id=>wwv_flow_imp.id(39577739310321304) +,p_page_template_id=>wwv_flow_imp.id(39577395445321303) ,p_name=>'Background Image' ,p_placeholder=>'BACKGROUND_IMAGE' ,p_has_grid_support=>false @@ -1803,8 +1803,8 @@ wwv_flow_imp_shared.create_page_tmpl_display_point( ,p_max_fixed_grid_columns=>12 ); wwv_flow_imp_shared.create_page_tmpl_display_point( - p_id=>wwv_flow_imp.id(31196293049047035) -,p_page_template_id=>wwv_flow_imp.id(31195615249047033) + p_id=>wwv_flow_imp.id(39578073245321305) +,p_page_template_id=>wwv_flow_imp.id(39577395445321303) ,p_name=>'Content Body' ,p_placeholder=>'BODY' ,p_has_grid_support=>true @@ -1815,8 +1815,8 @@ wwv_flow_imp_shared.create_page_tmpl_display_point( ,p_max_fixed_grid_columns=>12 ); wwv_flow_imp_shared.create_page_tmpl_display_point( - p_id=>wwv_flow_imp.id(31196521613047036) -,p_page_template_id=>wwv_flow_imp.id(31195615249047033) + p_id=>wwv_flow_imp.id(39578301809321306) +,p_page_template_id=>wwv_flow_imp.id(39577395445321303) ,p_name=>'Body Header' ,p_placeholder=>'REGION_POSITION_01' ,p_has_grid_support=>false @@ -1826,8 +1826,8 @@ wwv_flow_imp_shared.create_page_tmpl_display_point( ,p_glv_new_row=>true ); wwv_flow_imp_shared.create_page_tmpl_display_point( - p_id=>wwv_flow_imp.id(31196870622047037) -,p_page_template_id=>wwv_flow_imp.id(31195615249047033) + p_id=>wwv_flow_imp.id(39578650818321307) +,p_page_template_id=>wwv_flow_imp.id(39577395445321303) ,p_name=>'Body Footer' ,p_placeholder=>'REGION_POSITION_02' ,p_has_grid_support=>false @@ -1841,7 +1841,7 @@ end; prompt --application/shared_components/user_interface/templates/page/master_detail begin wwv_flow_imp_shared.create_template( - p_id=>wwv_flow_imp.id(31198216217047041) + p_id=>wwv_flow_imp.id(39579996413321311) ,p_theme_id=>42 ,p_name=>'Marquee' ,p_internal_name=>'MASTER_DETAIL' @@ -2035,8 +2035,8 @@ wwv_flow_imp_shared.create_template( ,p_reference_id=>1996914646461572319 ); wwv_flow_imp_shared.create_page_tmpl_display_point( - p_id=>wwv_flow_imp.id(31198532715047043) -,p_page_template_id=>wwv_flow_imp.id(31198216217047041) + p_id=>wwv_flow_imp.id(39580312911321313) +,p_page_template_id=>wwv_flow_imp.id(39579996413321311) ,p_name=>'After Logo' ,p_placeholder=>'AFTER_LOGO' ,p_has_grid_support=>false @@ -2047,8 +2047,8 @@ wwv_flow_imp_shared.create_page_tmpl_display_point( ,p_max_fixed_grid_columns=>4 ); wwv_flow_imp_shared.create_page_tmpl_display_point( - p_id=>wwv_flow_imp.id(31198884339047044) -,p_page_template_id=>wwv_flow_imp.id(31198216217047041) + p_id=>wwv_flow_imp.id(39580664535321314) +,p_page_template_id=>wwv_flow_imp.id(39579996413321311) ,p_name=>'After Navigation Bar' ,p_placeholder=>'AFTER_NAVIGATION_BAR' ,p_has_grid_support=>false @@ -2059,8 +2059,8 @@ wwv_flow_imp_shared.create_page_tmpl_display_point( ,p_max_fixed_grid_columns=>4 ); wwv_flow_imp_shared.create_page_tmpl_display_point( - p_id=>wwv_flow_imp.id(31199184292047045) -,p_page_template_id=>wwv_flow_imp.id(31198216217047041) + p_id=>wwv_flow_imp.id(39580964488321315) +,p_page_template_id=>wwv_flow_imp.id(39579996413321311) ,p_name=>'Before Navigation Bar' ,p_placeholder=>'BEFORE_NAVIGATION_BAR' ,p_has_grid_support=>false @@ -2071,8 +2071,8 @@ wwv_flow_imp_shared.create_page_tmpl_display_point( ,p_max_fixed_grid_columns=>4 ); wwv_flow_imp_shared.create_page_tmpl_display_point( - p_id=>wwv_flow_imp.id(31199478096047045) -,p_page_template_id=>wwv_flow_imp.id(31198216217047041) + p_id=>wwv_flow_imp.id(39581258292321315) +,p_page_template_id=>wwv_flow_imp.id(39579996413321311) ,p_name=>'Body' ,p_placeholder=>'BODY' ,p_has_grid_support=>true @@ -2083,8 +2083,8 @@ wwv_flow_imp_shared.create_page_tmpl_display_point( ,p_max_fixed_grid_columns=>8 ); wwv_flow_imp_shared.create_page_tmpl_display_point( - p_id=>wwv_flow_imp.id(31199721964047046) -,p_page_template_id=>wwv_flow_imp.id(31198216217047041) + p_id=>wwv_flow_imp.id(39581502160321316) +,p_page_template_id=>wwv_flow_imp.id(39579996413321311) ,p_name=>'Breadcrumb Bar' ,p_placeholder=>'REGION_POSITION_01' ,p_has_grid_support=>false @@ -2094,8 +2094,8 @@ wwv_flow_imp_shared.create_page_tmpl_display_point( ,p_glv_new_row=>true ); wwv_flow_imp_shared.create_page_tmpl_display_point( - p_id=>wwv_flow_imp.id(31200046794047047) -,p_page_template_id=>wwv_flow_imp.id(31198216217047041) + p_id=>wwv_flow_imp.id(39581826990321317) +,p_page_template_id=>wwv_flow_imp.id(39579996413321311) ,p_name=>'Master Detail' ,p_placeholder=>'REGION_POSITION_02' ,p_has_grid_support=>true @@ -2106,8 +2106,8 @@ wwv_flow_imp_shared.create_page_tmpl_display_point( ,p_max_fixed_grid_columns=>8 ); wwv_flow_imp_shared.create_page_tmpl_display_point( - p_id=>wwv_flow_imp.id(31200351529047048) -,p_page_template_id=>wwv_flow_imp.id(31198216217047041) + p_id=>wwv_flow_imp.id(39582131725321318) +,p_page_template_id=>wwv_flow_imp.id(39579996413321311) ,p_name=>'Right Side Column' ,p_placeholder=>'REGION_POSITION_03' ,p_has_grid_support=>false @@ -2118,8 +2118,8 @@ wwv_flow_imp_shared.create_page_tmpl_display_point( ,p_max_fixed_grid_columns=>4 ); wwv_flow_imp_shared.create_page_tmpl_display_point( - p_id=>wwv_flow_imp.id(31200667198047048) -,p_page_template_id=>wwv_flow_imp.id(31198216217047041) + p_id=>wwv_flow_imp.id(39582447394321318) +,p_page_template_id=>wwv_flow_imp.id(39579996413321311) ,p_name=>'Dialogs, Drawers and Popups' ,p_placeholder=>'REGION_POSITION_04' ,p_has_grid_support=>true @@ -2130,8 +2130,8 @@ wwv_flow_imp_shared.create_page_tmpl_display_point( ,p_max_fixed_grid_columns=>12 ); wwv_flow_imp_shared.create_page_tmpl_display_point( - p_id=>wwv_flow_imp.id(31200971632047049) -,p_page_template_id=>wwv_flow_imp.id(31198216217047041) + p_id=>wwv_flow_imp.id(39582751828321319) +,p_page_template_id=>wwv_flow_imp.id(39579996413321311) ,p_name=>'Footer' ,p_placeholder=>'REGION_POSITION_05' ,p_has_grid_support=>true @@ -2142,8 +2142,8 @@ wwv_flow_imp_shared.create_page_tmpl_display_point( ,p_max_fixed_grid_columns=>8 ); wwv_flow_imp_shared.create_page_tmpl_display_point( - p_id=>wwv_flow_imp.id(31201225954047051) -,p_page_template_id=>wwv_flow_imp.id(31198216217047041) + p_id=>wwv_flow_imp.id(39583006150321321) +,p_page_template_id=>wwv_flow_imp.id(39579996413321311) ,p_name=>'Top Navigation' ,p_placeholder=>'REGION_POSITION_06' ,p_has_grid_support=>false @@ -2153,8 +2153,8 @@ wwv_flow_imp_shared.create_page_tmpl_display_point( ,p_glv_new_row=>true ); wwv_flow_imp_shared.create_page_tmpl_display_point( - p_id=>wwv_flow_imp.id(31201547435047051) -,p_page_template_id=>wwv_flow_imp.id(31198216217047041) + p_id=>wwv_flow_imp.id(39583327631321321) +,p_page_template_id=>wwv_flow_imp.id(39579996413321311) ,p_name=>'Banner' ,p_placeholder=>'REGION_POSITION_07' ,p_has_grid_support=>false @@ -2164,8 +2164,8 @@ wwv_flow_imp_shared.create_page_tmpl_display_point( ,p_glv_new_row=>true ); wwv_flow_imp_shared.create_page_tmpl_display_point( - p_id=>wwv_flow_imp.id(31201878476047052) -,p_page_template_id=>wwv_flow_imp.id(31198216217047041) + p_id=>wwv_flow_imp.id(39583658672321322) +,p_page_template_id=>wwv_flow_imp.id(39579996413321311) ,p_name=>'Full Width Content' ,p_placeholder=>'REGION_POSITION_08' ,p_has_grid_support=>true @@ -2180,7 +2180,7 @@ end; prompt --application/shared_components/user_interface/templates/page/minimal_no_navigation begin wwv_flow_imp_shared.create_template( - p_id=>wwv_flow_imp.id(31202226098047053) + p_id=>wwv_flow_imp.id(39584006294321323) ,p_theme_id=>42 ,p_name=>'Minimal (No Navigation)' ,p_internal_name=>'MINIMAL_NO_NAVIGATION' @@ -2363,8 +2363,8 @@ wwv_flow_imp_shared.create_template( ,p_reference_id=>2977628563533209425 ); wwv_flow_imp_shared.create_page_tmpl_display_point( - p_id=>wwv_flow_imp.id(31202506471047055) -,p_page_template_id=>wwv_flow_imp.id(31202226098047053) + p_id=>wwv_flow_imp.id(39584286667321325) +,p_page_template_id=>wwv_flow_imp.id(39584006294321323) ,p_name=>'After Logo' ,p_placeholder=>'AFTER_LOGO' ,p_has_grid_support=>false @@ -2375,8 +2375,8 @@ wwv_flow_imp_shared.create_page_tmpl_display_point( ,p_max_fixed_grid_columns=>4 ); wwv_flow_imp_shared.create_page_tmpl_display_point( - p_id=>wwv_flow_imp.id(31202833125047056) -,p_page_template_id=>wwv_flow_imp.id(31202226098047053) + p_id=>wwv_flow_imp.id(39584613321321326) +,p_page_template_id=>wwv_flow_imp.id(39584006294321323) ,p_name=>'After Navigation Bar' ,p_placeholder=>'AFTER_NAVIGATION_BAR' ,p_has_grid_support=>false @@ -2387,8 +2387,8 @@ wwv_flow_imp_shared.create_page_tmpl_display_point( ,p_max_fixed_grid_columns=>4 ); wwv_flow_imp_shared.create_page_tmpl_display_point( - p_id=>wwv_flow_imp.id(31203138750047056) -,p_page_template_id=>wwv_flow_imp.id(31202226098047053) + p_id=>wwv_flow_imp.id(39584918946321326) +,p_page_template_id=>wwv_flow_imp.id(39584006294321323) ,p_name=>'Before Navigation Bar' ,p_placeholder=>'BEFORE_NAVIGATION_BAR' ,p_has_grid_support=>false @@ -2399,8 +2399,8 @@ wwv_flow_imp_shared.create_page_tmpl_display_point( ,p_max_fixed_grid_columns=>4 ); wwv_flow_imp_shared.create_page_tmpl_display_point( - p_id=>wwv_flow_imp.id(31203401690047057) -,p_page_template_id=>wwv_flow_imp.id(31202226098047053) + p_id=>wwv_flow_imp.id(39585181886321327) +,p_page_template_id=>wwv_flow_imp.id(39584006294321323) ,p_name=>'Body' ,p_placeholder=>'BODY' ,p_has_grid_support=>true @@ -2411,8 +2411,8 @@ wwv_flow_imp_shared.create_page_tmpl_display_point( ,p_max_fixed_grid_columns=>12 ); wwv_flow_imp_shared.create_page_tmpl_display_point( - p_id=>wwv_flow_imp.id(31203786223047058) -,p_page_template_id=>wwv_flow_imp.id(31202226098047053) + p_id=>wwv_flow_imp.id(39585566419321328) +,p_page_template_id=>wwv_flow_imp.id(39584006294321323) ,p_name=>'Breadcrumb Bar' ,p_placeholder=>'REGION_POSITION_01' ,p_has_grid_support=>false @@ -2422,8 +2422,8 @@ wwv_flow_imp_shared.create_page_tmpl_display_point( ,p_glv_new_row=>true ); wwv_flow_imp_shared.create_page_tmpl_display_point( - p_id=>wwv_flow_imp.id(31204042504047058) -,p_page_template_id=>wwv_flow_imp.id(31202226098047053) + p_id=>wwv_flow_imp.id(39585822700321328) +,p_page_template_id=>wwv_flow_imp.id(39584006294321323) ,p_name=>'Dialogs, Drawers and Popups' ,p_placeholder=>'REGION_POSITION_04' ,p_has_grid_support=>true @@ -2434,8 +2434,8 @@ wwv_flow_imp_shared.create_page_tmpl_display_point( ,p_max_fixed_grid_columns=>12 ); wwv_flow_imp_shared.create_page_tmpl_display_point( - p_id=>wwv_flow_imp.id(31204360611047059) -,p_page_template_id=>wwv_flow_imp.id(31202226098047053) + p_id=>wwv_flow_imp.id(39586140807321329) +,p_page_template_id=>wwv_flow_imp.id(39584006294321323) ,p_name=>'Footer' ,p_placeholder=>'REGION_POSITION_05' ,p_has_grid_support=>true @@ -2446,8 +2446,8 @@ wwv_flow_imp_shared.create_page_tmpl_display_point( ,p_max_fixed_grid_columns=>12 ); wwv_flow_imp_shared.create_page_tmpl_display_point( - p_id=>wwv_flow_imp.id(31204665921047060) -,p_page_template_id=>wwv_flow_imp.id(31202226098047053) + p_id=>wwv_flow_imp.id(39586446117321330) +,p_page_template_id=>wwv_flow_imp.id(39584006294321323) ,p_name=>'Top Navigation' ,p_placeholder=>'REGION_POSITION_06' ,p_has_grid_support=>false @@ -2457,8 +2457,8 @@ wwv_flow_imp_shared.create_page_tmpl_display_point( ,p_glv_new_row=>true ); wwv_flow_imp_shared.create_page_tmpl_display_point( - p_id=>wwv_flow_imp.id(31204900849047060) -,p_page_template_id=>wwv_flow_imp.id(31202226098047053) + p_id=>wwv_flow_imp.id(39586681045321330) +,p_page_template_id=>wwv_flow_imp.id(39584006294321323) ,p_name=>'Banner' ,p_placeholder=>'REGION_POSITION_07' ,p_has_grid_support=>false @@ -2468,8 +2468,8 @@ wwv_flow_imp_shared.create_page_tmpl_display_point( ,p_glv_new_row=>true ); wwv_flow_imp_shared.create_page_tmpl_display_point( - p_id=>wwv_flow_imp.id(31205259547047061) -,p_page_template_id=>wwv_flow_imp.id(31202226098047053) + p_id=>wwv_flow_imp.id(39587039743321331) +,p_page_template_id=>wwv_flow_imp.id(39584006294321323) ,p_name=>'Full Width Content' ,p_placeholder=>'REGION_POSITION_08' ,p_has_grid_support=>true @@ -2484,7 +2484,7 @@ end; prompt --application/shared_components/user_interface/templates/page/modal_dialog begin wwv_flow_imp_shared.create_template( - p_id=>wwv_flow_imp.id(31205670429047062) + p_id=>wwv_flow_imp.id(39587450625321332) ,p_theme_id=>42 ,p_name=>'Modal Dialog' ,p_internal_name=>'MODAL_DIALOG' @@ -2620,8 +2620,8 @@ wwv_flow_imp_shared.create_template( ,p_reference_id=>2098960803539086924 ); wwv_flow_imp_shared.create_page_tmpl_display_point( - p_id=>wwv_flow_imp.id(31205932407047064) -,p_page_template_id=>wwv_flow_imp.id(31205670429047062) + p_id=>wwv_flow_imp.id(39587712603321334) +,p_page_template_id=>wwv_flow_imp.id(39587450625321332) ,p_name=>'Content Body' ,p_placeholder=>'BODY' ,p_has_grid_support=>true @@ -2632,8 +2632,8 @@ wwv_flow_imp_shared.create_page_tmpl_display_point( ,p_max_fixed_grid_columns=>12 ); wwv_flow_imp_shared.create_page_tmpl_display_point( - p_id=>wwv_flow_imp.id(31206246153047064) -,p_page_template_id=>wwv_flow_imp.id(31205670429047062) + p_id=>wwv_flow_imp.id(39588026349321334) +,p_page_template_id=>wwv_flow_imp.id(39587450625321332) ,p_name=>'Dialog Header' ,p_placeholder=>'REGION_POSITION_01' ,p_has_grid_support=>false @@ -2643,8 +2643,8 @@ wwv_flow_imp_shared.create_page_tmpl_display_point( ,p_glv_new_row=>true ); wwv_flow_imp_shared.create_page_tmpl_display_point( - p_id=>wwv_flow_imp.id(31206500174047065) -,p_page_template_id=>wwv_flow_imp.id(31205670429047062) + p_id=>wwv_flow_imp.id(39588280370321335) +,p_page_template_id=>wwv_flow_imp.id(39587450625321332) ,p_name=>'Dialog Footer' ,p_placeholder=>'REGION_POSITION_03' ,p_has_grid_support=>false @@ -2658,7 +2658,7 @@ end; prompt --application/shared_components/user_interface/templates/page/right_side_column begin wwv_flow_imp_shared.create_template( - p_id=>wwv_flow_imp.id(31207192331047067) + p_id=>wwv_flow_imp.id(39588972527321337) ,p_theme_id=>42 ,p_name=>'Right Side Column' ,p_internal_name=>'RIGHT_SIDE_COLUMN' @@ -2849,8 +2849,8 @@ wwv_flow_imp_shared.create_template( ,p_reference_id=>2525200116240651575 ); wwv_flow_imp_shared.create_page_tmpl_display_point( - p_id=>wwv_flow_imp.id(31207483452047069) -,p_page_template_id=>wwv_flow_imp.id(31207192331047067) + p_id=>wwv_flow_imp.id(39589263648321339) +,p_page_template_id=>wwv_flow_imp.id(39588972527321337) ,p_name=>'After Logo' ,p_placeholder=>'AFTER_LOGO' ,p_has_grid_support=>false @@ -2861,8 +2861,8 @@ wwv_flow_imp_shared.create_page_tmpl_display_point( ,p_max_fixed_grid_columns=>4 ); wwv_flow_imp_shared.create_page_tmpl_display_point( - p_id=>wwv_flow_imp.id(31207742138047070) -,p_page_template_id=>wwv_flow_imp.id(31207192331047067) + p_id=>wwv_flow_imp.id(39589522334321340) +,p_page_template_id=>wwv_flow_imp.id(39588972527321337) ,p_name=>'After Navigation Bar' ,p_placeholder=>'AFTER_NAVIGATION_BAR' ,p_has_grid_support=>false @@ -2873,8 +2873,8 @@ wwv_flow_imp_shared.create_page_tmpl_display_point( ,p_max_fixed_grid_columns=>4 ); wwv_flow_imp_shared.create_page_tmpl_display_point( - p_id=>wwv_flow_imp.id(31208039791047071) -,p_page_template_id=>wwv_flow_imp.id(31207192331047067) + p_id=>wwv_flow_imp.id(39589819987321341) +,p_page_template_id=>wwv_flow_imp.id(39588972527321337) ,p_name=>'Before Navigation Bar' ,p_placeholder=>'BEFORE_NAVIGATION_BAR' ,p_has_grid_support=>false @@ -2885,8 +2885,8 @@ wwv_flow_imp_shared.create_page_tmpl_display_point( ,p_max_fixed_grid_columns=>4 ); wwv_flow_imp_shared.create_page_tmpl_display_point( - p_id=>wwv_flow_imp.id(31208364587047071) -,p_page_template_id=>wwv_flow_imp.id(31207192331047067) + p_id=>wwv_flow_imp.id(39590144783321341) +,p_page_template_id=>wwv_flow_imp.id(39588972527321337) ,p_name=>'Body' ,p_placeholder=>'BODY' ,p_has_grid_support=>true @@ -2897,8 +2897,8 @@ wwv_flow_imp_shared.create_page_tmpl_display_point( ,p_max_fixed_grid_columns=>8 ); wwv_flow_imp_shared.create_page_tmpl_display_point( - p_id=>wwv_flow_imp.id(31208697949047072) -,p_page_template_id=>wwv_flow_imp.id(31207192331047067) + p_id=>wwv_flow_imp.id(39590478145321342) +,p_page_template_id=>wwv_flow_imp.id(39588972527321337) ,p_name=>'Breadcrumb Bar' ,p_placeholder=>'REGION_POSITION_01' ,p_has_grid_support=>false @@ -2908,8 +2908,8 @@ wwv_flow_imp_shared.create_page_tmpl_display_point( ,p_glv_new_row=>true ); wwv_flow_imp_shared.create_page_tmpl_display_point( - p_id=>wwv_flow_imp.id(31208924545047073) -,p_page_template_id=>wwv_flow_imp.id(31207192331047067) + p_id=>wwv_flow_imp.id(39590704741321343) +,p_page_template_id=>wwv_flow_imp.id(39588972527321337) ,p_name=>'Right Column' ,p_placeholder=>'REGION_POSITION_03' ,p_has_grid_support=>false @@ -2920,8 +2920,8 @@ wwv_flow_imp_shared.create_page_tmpl_display_point( ,p_max_fixed_grid_columns=>4 ); wwv_flow_imp_shared.create_page_tmpl_display_point( - p_id=>wwv_flow_imp.id(31209225576047074) -,p_page_template_id=>wwv_flow_imp.id(31207192331047067) + p_id=>wwv_flow_imp.id(39591005772321344) +,p_page_template_id=>wwv_flow_imp.id(39588972527321337) ,p_name=>'Dialogs, Drawers and Popups' ,p_placeholder=>'REGION_POSITION_04' ,p_has_grid_support=>true @@ -2932,8 +2932,8 @@ wwv_flow_imp_shared.create_page_tmpl_display_point( ,p_max_fixed_grid_columns=>12 ); wwv_flow_imp_shared.create_page_tmpl_display_point( - p_id=>wwv_flow_imp.id(31209499976047074) -,p_page_template_id=>wwv_flow_imp.id(31207192331047067) + p_id=>wwv_flow_imp.id(39591280172321344) +,p_page_template_id=>wwv_flow_imp.id(39588972527321337) ,p_name=>'Footer' ,p_placeholder=>'REGION_POSITION_05' ,p_has_grid_support=>true @@ -2944,8 +2944,8 @@ wwv_flow_imp_shared.create_page_tmpl_display_point( ,p_max_fixed_grid_columns=>8 ); wwv_flow_imp_shared.create_page_tmpl_display_point( - p_id=>wwv_flow_imp.id(31209848206047077) -,p_page_template_id=>wwv_flow_imp.id(31207192331047067) + p_id=>wwv_flow_imp.id(39591628402321347) +,p_page_template_id=>wwv_flow_imp.id(39588972527321337) ,p_name=>'Top Navigation' ,p_placeholder=>'REGION_POSITION_06' ,p_has_grid_support=>false @@ -2955,8 +2955,8 @@ wwv_flow_imp_shared.create_page_tmpl_display_point( ,p_glv_new_row=>true ); wwv_flow_imp_shared.create_page_tmpl_display_point( - p_id=>wwv_flow_imp.id(31210149914047077) -,p_page_template_id=>wwv_flow_imp.id(31207192331047067) + p_id=>wwv_flow_imp.id(39591930110321347) +,p_page_template_id=>wwv_flow_imp.id(39588972527321337) ,p_name=>'Banner' ,p_placeholder=>'REGION_POSITION_07' ,p_has_grid_support=>false @@ -2966,8 +2966,8 @@ wwv_flow_imp_shared.create_page_tmpl_display_point( ,p_glv_new_row=>true ); wwv_flow_imp_shared.create_page_tmpl_display_point( - p_id=>wwv_flow_imp.id(31210438886047078) -,p_page_template_id=>wwv_flow_imp.id(31207192331047067) + p_id=>wwv_flow_imp.id(39592219082321348) +,p_page_template_id=>wwv_flow_imp.id(39588972527321337) ,p_name=>'Full Width Content' ,p_placeholder=>'REGION_POSITION_08' ,p_has_grid_support=>true @@ -2982,7 +2982,7 @@ end; prompt --application/shared_components/user_interface/templates/page/standard begin wwv_flow_imp_shared.create_template( - p_id=>wwv_flow_imp.id(31210869918047080) + p_id=>wwv_flow_imp.id(39592650114321350) ,p_theme_id=>42 ,p_name=>'Standard' ,p_internal_name=>'STANDARD' @@ -3167,8 +3167,8 @@ wwv_flow_imp_shared.create_template( ,p_reference_id=>4070909157481059304 ); wwv_flow_imp_shared.create_page_tmpl_display_point( - p_id=>wwv_flow_imp.id(31211194853047081) -,p_page_template_id=>wwv_flow_imp.id(31210869918047080) + p_id=>wwv_flow_imp.id(39592975049321351) +,p_page_template_id=>wwv_flow_imp.id(39592650114321350) ,p_name=>'After Logo' ,p_placeholder=>'AFTER_LOGO' ,p_has_grid_support=>false @@ -3179,8 +3179,8 @@ wwv_flow_imp_shared.create_page_tmpl_display_point( ,p_max_fixed_grid_columns=>4 ); wwv_flow_imp_shared.create_page_tmpl_display_point( - p_id=>wwv_flow_imp.id(31211436104047082) -,p_page_template_id=>wwv_flow_imp.id(31210869918047080) + p_id=>wwv_flow_imp.id(39593216300321352) +,p_page_template_id=>wwv_flow_imp.id(39592650114321350) ,p_name=>'After Navigation Bar' ,p_placeholder=>'AFTER_NAVIGATION_BAR' ,p_has_grid_support=>false @@ -3191,8 +3191,8 @@ wwv_flow_imp_shared.create_page_tmpl_display_point( ,p_max_fixed_grid_columns=>4 ); wwv_flow_imp_shared.create_page_tmpl_display_point( - p_id=>wwv_flow_imp.id(31211767674047082) -,p_page_template_id=>wwv_flow_imp.id(31210869918047080) + p_id=>wwv_flow_imp.id(39593547870321352) +,p_page_template_id=>wwv_flow_imp.id(39592650114321350) ,p_name=>'Before Navigation Bar' ,p_placeholder=>'BEFORE_NAVIGATION_BAR' ,p_has_grid_support=>false @@ -3203,8 +3203,8 @@ wwv_flow_imp_shared.create_page_tmpl_display_point( ,p_max_fixed_grid_columns=>4 ); wwv_flow_imp_shared.create_page_tmpl_display_point( - p_id=>wwv_flow_imp.id(31212077206047083) -,p_page_template_id=>wwv_flow_imp.id(31210869918047080) + p_id=>wwv_flow_imp.id(39593857402321353) +,p_page_template_id=>wwv_flow_imp.id(39592650114321350) ,p_name=>'Body' ,p_placeholder=>'BODY' ,p_has_grid_support=>true @@ -3215,8 +3215,8 @@ wwv_flow_imp_shared.create_page_tmpl_display_point( ,p_max_fixed_grid_columns=>12 ); wwv_flow_imp_shared.create_page_tmpl_display_point( - p_id=>wwv_flow_imp.id(31212335616047084) -,p_page_template_id=>wwv_flow_imp.id(31210869918047080) + p_id=>wwv_flow_imp.id(39594115812321354) +,p_page_template_id=>wwv_flow_imp.id(39592650114321350) ,p_name=>'Breadcrumb Bar' ,p_placeholder=>'REGION_POSITION_01' ,p_has_grid_support=>false @@ -3226,8 +3226,8 @@ wwv_flow_imp_shared.create_page_tmpl_display_point( ,p_glv_new_row=>true ); wwv_flow_imp_shared.create_page_tmpl_display_point( - p_id=>wwv_flow_imp.id(31212632885047085) -,p_page_template_id=>wwv_flow_imp.id(31210869918047080) + p_id=>wwv_flow_imp.id(39594413081321355) +,p_page_template_id=>wwv_flow_imp.id(39592650114321350) ,p_name=>'Dialogs, Drawers and Popups' ,p_placeholder=>'REGION_POSITION_04' ,p_has_grid_support=>true @@ -3238,8 +3238,8 @@ wwv_flow_imp_shared.create_page_tmpl_display_point( ,p_max_fixed_grid_columns=>12 ); wwv_flow_imp_shared.create_page_tmpl_display_point( - p_id=>wwv_flow_imp.id(31212943579047085) -,p_page_template_id=>wwv_flow_imp.id(31210869918047080) + p_id=>wwv_flow_imp.id(39594723775321355) +,p_page_template_id=>wwv_flow_imp.id(39592650114321350) ,p_name=>'Footer' ,p_placeholder=>'REGION_POSITION_05' ,p_has_grid_support=>true @@ -3250,8 +3250,8 @@ wwv_flow_imp_shared.create_page_tmpl_display_point( ,p_max_fixed_grid_columns=>12 ); wwv_flow_imp_shared.create_page_tmpl_display_point( - p_id=>wwv_flow_imp.id(31213276969047086) -,p_page_template_id=>wwv_flow_imp.id(31210869918047080) + p_id=>wwv_flow_imp.id(39595057165321356) +,p_page_template_id=>wwv_flow_imp.id(39592650114321350) ,p_name=>'Top Navigation' ,p_placeholder=>'REGION_POSITION_06' ,p_has_grid_support=>false @@ -3261,8 +3261,8 @@ wwv_flow_imp_shared.create_page_tmpl_display_point( ,p_glv_new_row=>true ); wwv_flow_imp_shared.create_page_tmpl_display_point( - p_id=>wwv_flow_imp.id(31213513546047087) -,p_page_template_id=>wwv_flow_imp.id(31210869918047080) + p_id=>wwv_flow_imp.id(39595293742321357) +,p_page_template_id=>wwv_flow_imp.id(39592650114321350) ,p_name=>'Banner' ,p_placeholder=>'REGION_POSITION_07' ,p_has_grid_support=>false @@ -3272,8 +3272,8 @@ wwv_flow_imp_shared.create_page_tmpl_display_point( ,p_glv_new_row=>true ); wwv_flow_imp_shared.create_page_tmpl_display_point( - p_id=>wwv_flow_imp.id(31213889933047087) -,p_page_template_id=>wwv_flow_imp.id(31210869918047080) + p_id=>wwv_flow_imp.id(39595670129321357) +,p_page_template_id=>wwv_flow_imp.id(39592650114321350) ,p_name=>'Full Width Content' ,p_placeholder=>'REGION_POSITION_08' ,p_has_grid_support=>true @@ -3288,7 +3288,7 @@ end; prompt --application/shared_components/user_interface/templates/page/wizard_modal_dialog begin wwv_flow_imp_shared.create_template( - p_id=>wwv_flow_imp.id(31214298134047089) + p_id=>wwv_flow_imp.id(39596078330321359) ,p_theme_id=>42 ,p_name=>'Wizard Modal Dialog' ,p_internal_name=>'WIZARD_MODAL_DIALOG' @@ -3423,8 +3423,8 @@ wwv_flow_imp_shared.create_template( ,p_reference_id=>2120348229686426515 ); wwv_flow_imp_shared.create_page_tmpl_display_point( - p_id=>wwv_flow_imp.id(31214510248047091) -,p_page_template_id=>wwv_flow_imp.id(31214298134047089) + p_id=>wwv_flow_imp.id(39596290444321361) +,p_page_template_id=>wwv_flow_imp.id(39596078330321359) ,p_name=>'Wizard Body' ,p_placeholder=>'BODY' ,p_has_grid_support=>true @@ -3435,8 +3435,8 @@ wwv_flow_imp_shared.create_page_tmpl_display_point( ,p_max_fixed_grid_columns=>12 ); wwv_flow_imp_shared.create_page_tmpl_display_point( - p_id=>wwv_flow_imp.id(31214889220047092) -,p_page_template_id=>wwv_flow_imp.id(31214298134047089) + p_id=>wwv_flow_imp.id(39596669416321362) +,p_page_template_id=>wwv_flow_imp.id(39596078330321359) ,p_name=>'Wizard Progress Bar' ,p_placeholder=>'REGION_POSITION_01' ,p_has_grid_support=>false @@ -3446,8 +3446,8 @@ wwv_flow_imp_shared.create_page_tmpl_display_point( ,p_glv_new_row=>true ); wwv_flow_imp_shared.create_page_tmpl_display_point( - p_id=>wwv_flow_imp.id(31215139677047092) -,p_page_template_id=>wwv_flow_imp.id(31214298134047089) + p_id=>wwv_flow_imp.id(39596919873321362) +,p_page_template_id=>wwv_flow_imp.id(39596078330321359) ,p_name=>'Wizard Buttons' ,p_placeholder=>'REGION_POSITION_03' ,p_has_grid_support=>false @@ -3461,7 +3461,7 @@ end; prompt --application/shared_components/user_interface/templates/button/icon begin wwv_flow_imp_shared.create_button_templates( - p_id=>wwv_flow_imp.id(31360458231047627) + p_id=>wwv_flow_imp.id(39742238427321897) ,p_template_name=>'Icon' ,p_internal_name=>'ICON' ,p_template=>'' @@ -3493,7 +3493,7 @@ end; prompt --application/shared_components/user_interface/templates/button/text_with_icon begin wwv_flow_imp_shared.create_button_templates( - p_id=>wwv_flow_imp.id(31361234024047637) + p_id=>wwv_flow_imp.id(39743014220321907) ,p_template_name=>'Text with Icon' ,p_internal_name=>'TEXT_WITH_ICON' ,p_template=>'