Lo so, sembra una cosa tanto banale eppure non trovi il modo giusto per farla.
Come si carica un file excel? Come si aggiunge un bottone ad una tabella? Come si configurano gli utenti e i profili? In che modo posso collegare la mia app a dei servizi esterni tramite dei web services?
Questi sono alcuni dei problemi che ho dovuto affrontare fin da subito, dal momento in cui ho deciso di iniziare ad usare Oracle APEX per l’azienda in cui lavoro.
Sembrano cose scontate eppure per chi è alle prime armi non è così.
Per questo motivo deciso di scrivere questo articolo in cui ho riportato le 15 cose che avrei voluto sapere quando ho iniziato ad usare Oracle APEX e che ti consiglio di imparare.
….in realtà le cose che avrei voluto sapere subito erano anche di più ma è bene iniziare dai fondamentali, non credi?
Ti serviranno ora come in futuro, che tu sia alle prime armi piuttosto che un veterano di APEX.
Buona lettura.
IN QUESTO ARTICOLO
Quick SQL
Quick SQL è una delle funzionalità che più preferisco di Oracle APEX.
Mi aiuta a ridurre tantissimo lo sforzo necessario per creare gli oggetti database che mi servono quando devo creare una nuova applicazione da zero: tabelle, foreign keys, viste e package PL-SQL.
Usarlo è semplicissimo.
Iniziamo con qualcosa di facile: una tabella.
- Accedi al Workspace di Oracle APEX
- Vai in SQL Workshop > Utilities > Quick SQL
- Scrivi il nome della tabella che vuoi creare (es. progetto) e specifica tutte le colonne che deve avere come in figura.

- A destra, in modo del tutto automatico, Oracle APEX genererà lo script sql che dovrai lanciare per creare le tabella nel database.
- Non avendo specificato un tipo specifico, il tipo di dato sarà varchar2(4000).

- Ovviamente puoi specificare un tipo di dato diverso. Ad esempio, se voglio che il campo nome sia un varchar2(250) mentre il campo budget un number scriverò quello che vedi in figura.

- Puoi anche creare contemporaneamente più tabelle e metterle in relazione tra di loro con un vincolo di tipo foreign key

- Usando la direttiva view puoi creare delle viste. Sarà sufficiente elencare le tabelle che devono essere collegate tra di loro.

- Ecco un esempio di script generato automaticamente usando Quick SQL.

Oltre a quelle già citate, Quick SQL ha molte altre opzioni e funzionalità.
Per vederle tutte clicca sul menù Help mentre puoi trovare la guida ufficiale (release 22.1 di APEX) cliccando a questo link.

Come creare un package PL-SQL dalle tabelle
Anziché utilizzare direttamente le istruzioni di INSERT/UPDATE/DELETE, talvolta è più utile usare dei package PL-SQL per effettuare le operazioni di lettura e scrittura sulle tabelle del database.
Creare queste api PL-SQL è facilissimo con Oracle APEX.
- Accedi all’APP Builder e clicca su SQL Workshop > Utilities > Methods on Table
- Dai un nome al package e clicca Next

- Seleziona le tabelle per le quali vuoi creare la tua api PL-SQL e premi Next

- Oracle APEX ti mostrerà un riepilogo con l’elenco di tutte le store procedures che andrà a creare. Premi Create Package per completare l’operazione.

- Puoi vedere il package direttamente dallo Schema Browser cercandolo con il nome che gli hai assegnato durante la procedura guidata.

Usare la Search BOX
Via via che sviluppi la tua applicazione potrebbe diventare complesso ricordare esattamente in quale punto hai utilizzato o si trova uno specifico oggetto.
Che si tratti un Page Items, di una Region, di codice JavaScript oppure PL-SQL puoi trovare velocemente tutto quello che di cui hai bisogno usando la funzione Search disponibile direttamente dall’APP Builder.
- Dalla barra degli strumenti clicca sul campo Search

- Scrivi il nome di cosa vuoi cercare. Clicca l’opzione Search this App per ottenere tutti gli oggetti che hanno una corrispondenza.

- Cliccando su View andrai direttamente alla definizione dell’oggetto specifico.

Gestire i Backup la tua Applicazione
Lo sai che puoi gestire i backup della tua applicazione direttamente all’interno del Workspace APEX?
- Accedi all’APP Builder e clicca su Manage Backups

- Clicca Create Backup per fare un backup completo della tua applicazione (solo la definizione, non i dati)

- Per eseguire il Restore di un Backup clicca sul menù Actions e seleziona l’opzione Restore

Utilizzare il tab Help
Non sai come configurare un oggetto o un componente?
Non sforzarti di cercare la risposta chissà dove: magari potrebbe già essere a portata di mano!
- Attiva il tab Help e seleziona una l’opzione che ti interessa.
- Oracle APEX ti mostrerà automaticamente tutto quello che devi sapere per configurare correttamente qualsiasi componente.

Usare le Scelte Rapide (o Quick Picks)
Questa una funzionalità è davvero semplice da implementare e molto utile per l’utente finale che grazie ad essa sarà in grado di selezionare dei valori predefiniti all’interno di un Page Item.
- Seleziona un Page Item, ad esempio di tipo Text
- Abilita l’opzione Show Quick Picks e definisci i valori predefiniti che vuoi mostrare.

- Come risultato vedrai comparire dei link come in figura. Cliccando su uno di essi Oracle APEX inserirà il relativo valore nel Page Item

- Se definisci una scelta rapida come quella che ho riportato nella figura sotto otterrai un bottone che consente all’utente di sbiancare velocemente il campo.

Implementare la Ricerca Interattiva
Ti sarà capitato di effettuare una ricerca usando Google.
Immagino avrai notato come i risultati visualizzati si aggiornano interattivamente in funzione di quello che scrivi nella barra di ricerca.

Anche in Oracle APEX possiamo implementare un meccanismo simile quando definiamo dei report.
Il risultato è davvero molto carino: l’utente vedrà il report aggiornarsi automaticamente in funzione di quello che scrive nella barra di ricerca.

Vediamo come fare
- Supponiamo di aver definito un report come quello in figura

- P3_SEARCH è un Page Item di tipo Text.

- Aggiungi una Dynamic Action al Page Item

- Vai alla definizione della Dynamic Action e scegli l’opzione Key Release

- Aggiungi alla Dynamic Action una Action di tipo Refresh che aggiorna il Report.

Caricare i dati da un file Excel
É inutile girarci intorno. Se stai sviluppando applicazioni gestionali prima o poi ci sbatterai la testa.
Tanto vale imparare da subito come si fa.
Leggi come creare una pagina in grado di importare i dati da un file excel.
Usare le icone nei Report
Quella di aggiungere delle icone alle tabelle costruite con un Interactive Report oppure una Interactive Grid è una richiesta molto comune.
Leggi questo tutorial su come visualizzare le icone in un report (il post va riferimento ad un Interactive Report ma il metodo va bene anche per una Interactive Grid).

Come aggiungere pulsanti alle righe di un Report
Ecco un altra esigenza molto diffusa: mostrare uno o più pulsanti per ogni riga di un Interactive Report (in realtà la stessa funzionalità può essere replicata anche in una Interactive Grid).
Leggi questo articolo per sapere come fare.

Disabilitare lo Spinner
Gli spinner sono dei componenti grafici che vengono mostrati automaticamente tutte le volte che viene eseguita una Dynamic Actions e servono per far capire all’utente che il sistema “sta facendo qualcosa”.
Anche se non ho nulla contro di loro, in generale tendo a nasconderli quando non necessari (tipicamente quando le azioni dinamiche che ho definito in una pagina sono immediate).
- Dall’App Builder, clicca sulla definizione della pagina

- Vai in CSS > Inline ed inserisci il seguente codice CSS e poi Salva
.u-Processing {
display:none !important;
}
Come usare e pubblicare Servizi REST
Oracle APEX supporta nativamente l’integrazione con API Rest.
Questo vuol dire che puoi creare una applicazione e collegarla ad un servizio REST esterno usando, ad esempio, del codice PL-SQL.
Inoltre è possibile definire un Data Source di tipo REST che può alimentare in tempo reale un report creato in APEX.
In questo caso, non hai nemmeno la necessità di scrivere codice perché sarà APEX stesso a creare il connettore verso l’API Rest.
Leggi come chiamare un servizio REST in Oracle APEX.
Allo stesso tempo puoi anche pubblicare dei servizi REST per far si che applicazioni esterne si colleghino alla tua applicazione APEX.
Leggi come creare un servizio REST in Oracle APEX.
Utilizzare il Classic Report
Anche se ha un nome che lo fa sembrare poco moderno, il Classic Report è, invece, uno dei miei componenti preferiti.
Non solo perché grazie ai tanti template disponibili, è utilizzabile in tantissimi contesti ma anche perché può essere personalizzato in tantissimi modi.
Di fatto lo trovo in assoluto uno degli oggetti più versatili di Oracle APEX.
Per questo motivo in questo articolo ho provato a spiegare come sfruttarlo.
Come implementare l’autenticazione e profilazione degli utenti
Anche se Oracle APEX ha un suo meccanismo di autenticazione è possibile sfruttare altri meccanismi come, ad esempio, il social login.
In alternativa potresti creare un tuo schema di autenticazione totalmente custom.
In questo articolo, invece, ti spiego come gestire i profili utente (chiamati anche schemi di autorizzazione).

Aggiungere CSS ad una Pagina APEX
Ti hanno chiesto di modificare colore di un bottone e non sai come fare?
Non preoccuparti, Oracle APEX ti consente di caricare ed usare CSS custom in Oracle APEX.
In questo articolo ho spiegato come modificare, ad esempio, la pagina di login di una app APEX.

Conclusioni
Ebbene, hai trovato qualche spunto utile?
Spero di si.
Fammi sapere se anche tu hai qualche trucchetto o consiglio da dare a chi usa per la prima volta Oracle APEX!
Un abbraccio.
Daniele
Interessante il contenuto, una cosa che si trova difficilmente in rete e sarebbe molto interessante e su come importare una applicazione con tutti i file/oggetti di supporto compensivo di dati direttamente da un unica export preparata da un’altro workspace.
Grazie e complimenti per l’ottimo lavoro svolto
Giovanni