sábado, 5 de diciembre de 2020

Nuevas Características en Apex 20.2: Tarjetas

 Las Tarjetas no son un componente nuevo en Oracle Apex, en esta nueva versión se ha mejorado este tipo de plantilla adicionándole nuevas capacidades como por ejemplo las acciones (botones, tarjeta entera y más) que permiten definir enlaces hacia otras páginas en la misma o diferente aplicación, aportando mayor dinamismo a estas.

Para este post, se partirá de una aplicación previamente desarrollada a la que se agregarán dos páginas: el reporte con tarjeta basado en EMPLOYEES y una pantalla para editar al empleado de la tarjeta seleccionada. (Para crear una aplicación desde cero, ir al siguiente artículo, si desea saber cómo crear un espacio de trabajo en Oracle Apex visitar el siguiente enlace o solicitar un espacio de trabajo gratuito en línea. Otra opción y muy buena es Oracle APEX en la versión Siempre gratis de Oracle Autonomous Database )

Parte 1: Creación del Reporte basado en Tarjetas. 

1) Abrir la aplicación basada en el esquema HR.

2) Click en el botón Crear Página.

3)  Seleccionar Informes. 



4) Seleccionar  Tarjetas. 

 5)  Especificar 11 como número de página y como nombre de página Empleados por Tarjetas y click en Siguiente.


6) Seleccionar la tercera opción de la Preferencia de Navegación y seleccionar Empleados (Puede seleccionar si lo prefiere, la primera opción de la preferencia de navegación).


7) Seleccionar Consulta SQL.

8) Seleccionar los campos EMPLOYEE_ID, FIRST_NAME, LAST_NAME, EMAIL y PHONE_NUMBER. y click en Volver.

  
 
9) Click en Siguiente

10) Seleccionar Cuadrícula y establecer obligatoriamente la Columna de título a LAST_NAME. Click en Crear.


11) Se ha creado la página 11 y se puede apreciar la región creada.


Parte 2: Creación de la pantalla o página de edición. 

1)  Click en icono + para crear una página.


2) Seleccionar Pantalla.

 

3)  Click en Pantalla.

 

4)  Introducir el nombre de la página y seleccionar Cuadro de Diálogo Modal y click en Siguiente.


 5)
Seleccionar la opción 3 de la Preferencia de navegación.

 
6) Seleccionar Tabla como Tipo de Origen y click en el botón de lista a la derecha de la opción Nombre de Tabla/Vista.

7) Seleccionar de la lista la tabla EMPLOYEES.

8) Seleccionar todos los campos de la table EMPLOYEES visualizados en el panel derecho.

Click en Seleccionar Columnas de Clave Primaria y elegir de la lista EMPLOYEE_ID. 

Click en Crear


9)  Se ha creado la página con su región como se visualiza en la imagen siguiente:


Parte 3: Enlace de la Tarjeta a la pantalla de Edición del Empleado.

1) Seleccionar la página 11 en la lista del diseñador.


 2) Seleccionar Acciones y hacer click en Crear Acción.

 


3) En el panel derecho seleccionar Acción.

   Tipo Botón.

    Etiqueta Editar Empleado.

4) En el grupo Enlace, Destino, click en botón de la derecha.


5) Establecer como página 14 y enlazar el elemento P14_EMPLOYEE_ID con el campo EMPLOYEE_ID y clic en Aceptar.
 

 6) Click en Guardar y después Ejecutar.
 
 
El resultado de la ejecución muestra el reporte de EMPLEADOS basado en Tarjetas.



 Si hace click sobre el botón Editar Empleado se abrirá un cuadro de diálogo modal.
 

 
Conclusiones
 
Las tarjetas constituyen una forma visual llamativa y más descriptiva de presentación de los datos de cada registro; las acciones asociadas en esta nueva versión permiten una mayor versatilidad al poder enlazar una tarjeta a diferentes páginas dentro de la misma o diferente aplicación.


 


Cómo instalar Oracle Apex 20.2 o superior en Oracle Database 18c/21c XE bajo Windows

Previo a la instalación de  Oracle Apex 20.2 se debe conocer que esta nueva versión depende de Oracle REST Data Service mas conocido como ORDS 20.3 que es un Web Listener que hace las veces de intermediario para la comunicación entre el navegador web y los objetos de Oracle APEX.

Este proceso de instalación lo realizaremos en tres fases:

Primera Fase: Descargar archivos de instalación.

1) Descargar Oracle Apex 20.2

2) Descargar ORDS  20.3

Segunda Fase: Instalar Oracle Apex 20.2

1) Descomprimir el archivo descargado apex_20.2.zip en c:\apex

2) Copiar la ruta donde descomprimió el archivo apex descargado.

3) Abrir la consola Command o CMD.

4) Submitir sqlplus/nolog

5) Conectarse como usuario SYS AS SYSDBA usando la PDB XEPDB1.

      conn sys/contraseña@localhost:1521/XEPDB1 as sysdba

6) Ejecutar 

      @apexins.sql SYSAUX SYSAUX TEMP /i/


7) Verificar el puerto http con la sentencia select:
     

      select dbms_xdb.gethttpport from dual;

8) Cambiar el puerto http con la ejecución del procedimiento siguiente:
     
      exec dbms_xdb.sethttpport(0);

9) Desbloquear los usuarios: ANONYMOUS, XDB, APEX_PUBLIC_USER, FLOWS_FILES con las sentencias siguientes:

     alter session set container=CDB$ROOT;

      alter user ANONYMOUS account unlock; 

  alter user XDB account unlock;

       alter session set container=XEPDB1;
 
  alter user APEX_PUBLIC_USER account unlock;
 
  alter user FLOWS_FILES account unlock;
 
  alter user APEX_PUBLIC_USER 
  identified by contraseña;         
 
10)  Crear el perfil que se asignará al usuario  APEX_PUBLIC_USER:
    create profile APEX_USER_PROFILE limit 
          PASSWORD_LIFE_TIME UNLIMITED;
   alter user APEX_PUBLIC_USER profile APEX_USER_PROFILE;

 Tercera Fase: Instalar ORDS 20.3

1) Descomprimir el archivo descargado ords-20.2.1.227.0350.zip en la carpeta C:\ords

2) Copiar la ruta donde descomprimió el archivo ORDS descargado. 

3) Copiar la carpeta images desde c:\apex hasta c:\ords

3) Abrir la consola Command o CMD.

4) Ejecutar el comando cd C:\ords\

5) Ejecutar el comando 

    java -jar ords.war configdir C:\ords\config

Si  la ejecución de este comando genera un resultado como el siguiente: 

INFO        Defina config.dir en C:\ords\config en: C:\ords\ords.war 

..., ignorar y pasar a la ejecución de la instrucción número  6.

6) Ejecutar el comando 

    java -jar ords.war install advanced

En las siguientes configuraciones el valor encerrado entre corchetes al final de cada opción, es el valor por defecto o por omisión, en este ejemplo se respetan los valores por defecto.

Especifique el tipo de conexión de la base de datos que desea utilizar.
Introduzca el número de [1] Básica  [2] TNS  [3] URL personalizada [1]:
Introduzca el nombre del servidor de la base de datos [localhost]:
Introduzca el puerto de recepción de la base de datos [1521]: Introduzca 1 para especificar el nombre de servicio de la base de datos o 2 para especificar el SID de la base de datos [1]:

Para el nombre de servicio, se empelará XEPDB1, si Ud. dispone de otras PDB's puede introducir el nombre de alguna de éllas:
Introduzca el nombre de servicio de la base de datos:XEPDB1 

Para el siguiente parámetro de configuración, se RECOMIENDA la oipción por defecto.

Introduzca 1 si desea verificar/instalar el esquema de Oracle REST Data Services o 2 para omitir este paso [1]:1

Para el siguiente parámetro de configuración, deberá ingresar dos veces la misma contraseña que Ud deberá generar. 

Introduzca la contraseña de la base de datos de ORDS_PUBLIC_USER:  SuContraseña
Confirmar Contraseña:   
SuContraseña

Se inicia el proceso de verificación del esquema ORDS. 

 Requiere la conexión con privilegios de administrador para verificar el esquema de Oracle REST Data Services.

Su administrador es SYS AS SYSDBA.

Introduzca el nombre de usuario del administrador:sys as sysdba
Introduzca la contraseña de la base de datos de sys as sysdba: SuContraseña
Confirmar Contraseña:
SuContraseña

Conectando a la base de datos: Usuario: sys as sysdba URL: jdbc:oracle:thin:@//localhost:1521/XEPDB1

Recuperando información.
Introduzca el tablespace por defecto para ORDS_METADATA [SYSAUX]:

Introduzca el tablespace temporal para ORDS_METADATA [TEMP]:

Introduzca el tablespace por defecto para ORDS_PUBLIC_USER [USERS]:

Introduzca el tablespace temporal para ORDS_PUBLIC_USER [TEMP]:

Introduzca 1 si desea utilizar el gateway PL/SQL o 2 para omitir este paso.

Si utiliza Oracle Application Express o migra desde mod_plsql, deberá introducir 1 [1]:

Introduzca el nombre de usuario de la base de datos de gateway PL/SQL [APEX_PUBLIC_USER]: 

Introduzca la contraseña de la base de datos de APEX_PUBLIC_USER: SuContraseña 

Confirmar Contraseña: SuContraseña

Introduzca 1 para especificar las contraseñas de los usuarios de base de datos de los servicios RESTful de Application Express (APEX_LISTENER, APEX_REST_PUBLIC_USER) o 2 para omitir este paso [1]:

Introduzca la contraseña de la base de datos de APEX_LISTENER: SuContraseña 

Confirmar Contraseña: SuContraseña

Introduzca la contraseña de la base de datos de APEX_REST_PUBLIC_USER: SuContraseña

Confirmar Contraseña: SuContraseña

Introduzca un número para seleccionar una función que activar:
   [1] SQL Developer Web (activa todas las funciones)
   [2] SQL activado para REST
   [3] API de base de datos
   [4] SQL activado para REST y API de base de datos
   [5] Ninguna
Seleccione [1]:1

Se inicia el proceso de instalación de ORDS.

INFO        reloaded pools: []
Instalando Oracle REST Data Services versión 20.3.0.r1781804
...Archivo log grabado en C:\Users\ROBERTO\ords_install_core_2020-07-29_220034_00628.log
... Requisitos de base de datos verificados
... Se ha creado el usuario de proxy de Oracle REST Data Services
... Se ha creado el esquema de Oracle REST Data Services
... Se han otorgado privilegios a Oracle REST Data Services
... Se han creado los objetos de base de datos de Oracle REST Data Services
... Archivo log grabado en C:\Users\ROBERTO\ords_install_datamodel_2020-07-29_220255_00217.log
... Archivo log grabado en C:\Users\ROBERTO\ords_install_apex_2020-07-29_220307_00275.log
Instalación de Oracle REST Data Services versión 20.3.0.r1781804 completada. Tiempo transcurrido: 00:02:50.195

Introduzca 1 si desea iniciar en modo autónomo o 2 para salir [1]:2

7) Ejecutar SQLPLUS y conectarse como SYS AS SYSDBA

     sqlplus SYS/contraseña@XEPDB1 as SYSDBA 

8) Ejecutar la sentencia

     @apex_rest_config.sql

 Procedimiento PL/SQL terminado correctamente.
 Procedimiento PL/SQL terminado correctamente.

Enter a password for the APEX_LISTENER user  []                 SuContraseña

Enter a password for the APEX_REST_PUBLIC_USER user              [] SuContraseña 

...set_appun.sql
...setting session environment
Procedimiento PL/SQL terminado correctamente.
Procedimiento creado.
Sesi¾n modificada.

SQL> 

9)  Ejecutar el procedimiento APPEND_HOST_ACE del paquete
DBMS_NETWORK_ACL_ADMIN para habilitar los servicios de red
:

BEGIN
 DBMS_NETWORK_ACL_ADMIN.APPEND_HOST_ACE(
  host => '*',

  ace=>xs$ace_type(privilege_list => xs$name_list('connect'),
  principal_name => 'APEX_200200',
  principal_type => xs_acl.ptype_db));
 

END;
 /

Procedimiento PL/SQL terminado correctamente.

10) Ejecutar ORDS manualmente desde CMD:

cd c:\ords

java  -jar ords.war standalone
Enter  the APEX static resources location [C:\ords\images]:
Enter  1 if using HTTP or 2 if using HTTPS [1]:
Enter the HTTP port [8080]: 
 
Finalmente, ejecutar su navegador web e ingresar a Oracle Apex 20.2 
usando la siguiente URL:  http://localhost:8080/ords/
 
Conclusión:
La instalación de Oracle Apex 20.2 implica obligatoriamente la instalación de ORDS como WebListener, proceso que en primera instancia parece algo extenso, sin embargo, con la práctica se podrá observar que es un proceso rápido y de fácil ejecución que permitirá correr Apex en Oracle XE y obtener las ventajas de desarrollo en este entorno amigable, rico en características y flexible. 
 



Entrada destacada

Cómo instalar Oracle Database 18c Express Edition para Windows

Oracle Database 18c XE ya está disponible para Windows 64bit, en este post se enseñará como instalar y configurar esta nueva versión en W...