Es ist wieder soweit: Am 29. Juni 2018 startet die APEX Summer School. Natürlich steht bei der von der DOAG durchgeführten Veranstaltung das aktuelle Release 18.1 im Mittelpunkt. Ab dem 29. Juni finden, jeweils Freitags von 15:00 Uhr bis 16:00 Uhr, fünf Webinare zu den Neuerungen in APEX 18.1 statt. Los geht's mit einem Überblick, danach werden größere und kleinere neue Features und Funktionen vorgestellt. 29.06. Einstieg (Tobias Arnhold und Carsten Czarski) 06.07. The "Golden Nuggets" (Dietmar Aust) 13:07. REST Services und Remote SQL (Oliver Lemm) 20.07. Das Universal Theme: Stand der Dinge, Was ist neu? (Daniel Hochleitner) 27.07. Application Express Interactive Grid (Till Albert) Die Teilnahme an den Webinaren ist kostenlos - die Zahl der Plätze ist allerdings aus technischen Gründen begrenzt. Am besten also gleich anmelden.
Es ist wieder soweit: Am 29. Juni 2018 startet die APEX Summer School. Natürlich steht bei der von der DOAGdurchgeführten Veranstaltung das aktuelle Release 18.1 im Mittelpunkt. Ab dem 29. Juni...
In der Community dreht sich derzeit fast alles um Application Express 18.1 - so findet Ihr auf dem englischsprachigen Application Express Blog eine Vielzahl von Artikeln zur neuen Unterstützung für REST Services und REST Enabled SQL. In diesem Blog Posting geht es um das APEX_STRING package - das ist seit 5.1 vorhanden - Ihr könnt es also sofort nutzen. APEX_STRING enthält einige Funktionen und Prozeduren zum einfachen Umgang mit Zeichenketten. So ist mit der Funktion SPLIT ein String Tokenizer enthalten ... select apex_string.split( 'a,b,c,d,e,f,g,h', ',' ) from dual; COLUMN_VALUE --------------------------- a b c d e f Auch in PL/SQL kann SPLIT verwendet werden. declare l_array wwv_flow_t_varchar2; begin l_array := apex_string.split( 'a,b,c,d,e,f,g,h', ',' ); for i in 1 .. l_array.count loop dbms_output.put_line( apex_string.format( 'element at index %s: %s', i, l_array(i) ) ); end loop; end; / element at index 1: a element at index 2: b element at index 3: c element at index 4: d element at index 5: e : Ist man nur an den ersten Werten eines größeren Strings (oder CLOBs) interessiert, so ist der Parameter P_LIMIT bedeutsam: Ist das Limit erreicht, bricht die Funktion ab und spart so Rechenaufwand. Das letzte Element im zurückgegebenen Array enthält den Rest des Strings. Neben VARCHAR2 unterstützt SPLIT auch den CLOB-Datentypen, SPLIT_NUMBERS liefert außerdem ein Array von NUMBER-Datentypen zurück. Aufmerksame Leser dürften bemerken, dass in obigem Block noch eine weitere Funktion aus dem APEX_STRING-Paket verwendet wurde: FORMAT. FORMAT vereinfacht das Zusammensetzen von Strings aus festen Literalen und variablen Inhalten: anstelle vieler Konkatenationen mit || setzt man %s oder %{N} in den String ein. APEX_STRING ersetzt das n-te %s durch das n-the Argument p{N} (also das erste %s durch das Argument p0, das zweite durch p1 und so fort). Die Argumente p{N} können mit %{N} auch direkt angesprochen und so mehrfach verwendet werden: So spricht man p0 mit %0, p1 mit %1 an und so fort. select apex_string.format( p_message => 'Text mit Platzhaltern: USER: %s, SYSDATE: %s, RANDOM VALUE: %s', p0 => user, p1 => sysdate, p2 => dbms_random.value ) as formatted_text from dual; FORMATTED_TEXT ------------------------------------------------------------------------------ Text mit Platzhaltern: USER: SYS, SYSDATE: 21.01.2017 06:39:47, RANDOM VALUE: ,52835625740274072229710302735665090347 select apex_string.format( p_message => 'Text mit Platzhaltern: USER: %0, SYSDATE: %1, nochmal USER: %0', p0 => user, p1 => sysdate ) as formatted_text from dual; FORMATTED_TEXT ------------------------------------------------------------------------------ Text mit Platzhaltern: USER: SYS, SYSDATE: 21.01.2017 06:42:34, nochmal USER: SYS Mit den PLIST Prozeduren können einfache Property Listen verwaltet werden. Ein Eintrag in einer solchen Liste, die in einem Array vom Typ WWV_FLOW_T_VARCHAR2 abgelegt wird, ist ein Key-Value-Paar. Folgerichtig gibt es die Funktionen PLIST_GET, PLIST_PUT und PLIST_DELETE. Der folgende Code zeigt, wie's geht: declare l_props wwv_flow_t_varchar2 := wwv_flow_t_varchar2(); begin apex_string.plist_put( l_props, 'username', 'SCOTT' ); apex_string.plist_put( l_props, 'password', 'tiger' ); apex_string.plist_put( l_props, 'connection', 'localhost:1521/orcl' ); for i in 1 .. l_props.count loop dbms_output.put_line( apex_string.format( '%0: %1', i, l_props( i ) ) ); end loop; dbms_output.put_line( apex_string.format( p_message => '*** %0/%1@%2', p0 => apex_string.plist_get(l_props, 'username'), p1 => apex_string.plist_get(l_props, 'password'), p2 => apex_string.plist_get(l_props, 'connection') )); apex_string.plist_delete( l_props, 'password' ); for i in 1 .. l_props.count loop dbms_output.put_line( apex_string.format( '%0: %1', i, l_props( i ) ) ); end loop; end; / 1: username 2: SCOTT 3: password 4: tiger 5: connection 6: localhost:1521/orcl *** SCOTT/tiger@localhost:1521/orcl 1: username 2: SCOTT 3: 4: 5: connection 6: localhost:1521/orcl Die Prozedur PUSH ist ein bequemer Weg, einen einfachen Wert an das Array anzuhängen. Der folgende Code zeigt sie im Zusammenspiel mit der Funktion SHUFFLE, welche das Array "durcheinanderwürfelt". declare l_array wwv_flow_t_varchar2; begin apex_string.push( l_array, 'Value 1' ); apex_string.push( l_array, 'Value 2' ); apex_string.push( l_array, 'Value 3' ); apex_string.push( l_array, 'Value 4' ); apex_string.shuffle( l_array ); for i in 1 .. l_array.count loop dbms_output.put_line( apex_string.format( '%0: %1', i, l_array( i ) ) ); end loop; end; / 1: Value 3 2: Value 2 3: Value 1 4: Value 4 Eine sehr mächtige Funktion ist für GREP, diese funktioniert wie die REGEXP_* SQL-Funktionen, liefert mehrere Ergebnisse aber als Array zurück. Das folgende Beispiel zeigt das: Aus einem Text sollen alle Email-Adressen extrahiert werden (die Regexp für Emailadressen ist sicherlich nicht die beste, für dieses Beispiel soll es aber reichen). select * from table( apex_string.grep( 'This is a text with some mail adresses. The first one is a.a@oracle.com, we have ' || 'noname@company.com and thesupport@firma.de', '[A-Z0-9._%+-]*@[A-Z0-9.-]*\.[A-Z]*', 'i' )); COLUMN_VALUE -------------------------- a.a@oracle.com noname@company.com thesupport@firma.de Die "normale" Funktion REGEXP_SUBSTR liefert stets genau einen String zurück; APEX_STRING.GREP dagegen ein Array mit einem Element für jeden Match. Genau das macht die Arbeit mit den extrahierten Werten massiv einfacher. Zum Schluß stellen wir mit JOIN das Gegenstück zur eingangs vorgestellten Funktion SPLIT vor und schließen so den Kreis. declare l_array wwv_flow_t_varchar2; begin apex_string.push( l_array, 'Value 1' ); apex_string.push( l_array, 'Value 2' ); apex_string.push( l_array, 'Value 3' ); apex_string.push( l_array, 'Value 4' ); apex_string.shuffle( l_array ); dbms_output.put_line( apex_string.join( l_array, '#' ) ); end; / Value 4#Value 2#Value 1#Value 3 APEX_STRING ist ein mit Sicherheit sehr nützliches Paket - welches einen näheren Blick absolut verdient.
In der Community dreht sich derzeit fast alles um Application Express 18.1 - so findet Ihr auf dem englischsprachigen Application Express Blog eine Vielzahl von Artikeln zur neuen Unterstützung für...
Seit dem 11. März ist Application Express 18.1 - Early Adopter 2 auf apexea.oracle.com verfügbar. Wie immer kann sich jedermann kostenlos einen Workspace einrichten lassen und mit dem Testen beginnen. Die im Early Adopter 1 eingeführten neuen Features wurden weiter ausgebaut und einige neue kamen hinzu: Native Unterstützung für REST Enabled SQL zum Ansprechen einer externen Oracle-Datenbank Native Unterstützung für REST Services Der neue Create Application Wizard macht das Erstellen einer neuen Anwendung noch einfacher Mit Social Login können externe Dienste wie Google oder Facebook zur Anmeldung an einer APEX-Anwendung genutzt werden. Mit Pyramid, Gantt oder Box Pot stehen neue JET Charts bereit Darüber hinaus gibt es zahlreiche kleinere neue Funktionen. Detaillierte Beschreibungen der neuen Features enthält das englischsprachige Oracle Application Express Blog - schauen Sie auch hier hinein.
Seit dem 11. März ist Application Express 18.1 - Early Adopter 2 auf apexea.oracle.com verfügbar. Wie immer kann sich jedermann kostenlos einen Workspace einrichten lassen und mit dem Testen beginnen....
Die Arbeit mit JSON ist, auch für den APEX-Entwickler, inzwischen zum Alltag geworden. So liefern REST Services, die man aus der APEX-Anwendung heraus aufruft, typischerweise JSON zurück - auch Konfigurationsdaten werden mehr und mehr als JSON gespeichert und verwaltet. So entsteht die Aufgabe, ein JSON Dokument zu parsen oder eines zu generieren. Je nach verwendeter Datenbankversion gibt es unterschiedliche viele Möglichkeiten, ein JSON Dokument mit APEX zu verarbeiten. Nutzt man 11.2 oder 12.1.0.1, so bietet die Datenbank selbst keine nativen JSON-Funktionen an - das PL/SQL Paket APEX_JSON ist das Mittel der Wahl. Ab 12.1.0.2 stehen SQL-Funktionen wie JSON_TABLE, JSON_QUERY oder JSON_VALUE bereit. Diese können in SQL-Abfragen genutzt werden. Ab 12.2 stehen zusätzlich SQL-Funktionen zum Erzeugen von JSON und ein PL/SQL Parser bereit. Nutzt man also eine Datenbank der Version 12.2 oder gar 18.1, so bieten sich sehr viele Möglichkeiten an, mit JSON zu arbeiten. Oft wird weiterhin APEX_JSON genutzt, einfach weil man es kennt - oder auch "weil es ein APEX-Package ist". Aber es lohnt sich wirklich, die nativen Funktionen der Datenbank genauer anzusehen - mit wenig Aufwand kann eine ganze Menge Performance herausgeholt werden. Dieser Tipp stellt einige Aspekte vor. Hören Sie nicht auf zu lesen, wenn Sie mit einer 11.2 Datenbank arbeiten oder eine solche unterstützen müssen. Mit der PL/SQL Conditional Compilation können Sie Code für unterschiedliche Datenbankversionen aufnehmen - je nach Datenbankversion bekommt der PL/SQL Compiler bestimmten Code vorgelegt. Wenn Sie mehrere Datenbankversionen unterstützen müssen, kann Ihr Code somit aus dem Stand von einer neuen Datenbankversion profitieren - als Nebeneffekt trainieren Sie bereits für die neuen Features der aktuellen Datenbankversionen. Vorbereitungen Zunächst braucht es ein JSON-Dokument, welches geparst werden soll. Am einfachsten ist es, man holt sich eines aus dem Internet - das in früheren Tipps schon öfter verwendete Earthquake-Beispiel bietet sich an. Mit dem APEX_WEB_SERVICE-Paket kann das JSON sehr leicht abgeholt werden. Zum testen speichert man es am besten in eine Tabelle ab, wie folgt: create table earthquake_json( id number generated always as identity, fetched_at timestamp default systimestamp, document clob, constraint document_isjson check (document is json) ); insert into earthquake_json( document ) values ( apex_web_service.make_rest_request( p_url => 'https://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/all_month.geojson', p_http_method => 'GET' ) ); select id, fetched_at, dbms_lob.getlength(document) from earthquake_json; ID FETCHED_AT DBMS_LOB.GETLENGTH(DOCUMENT) --- ---------------------------- ---------------------------- 1 26.02.18 02:29:59,988083000 6743973 Das JSON-Dokument hat die im folgenden abgebildete Struktur - das Attribut features ist ein Array, mit einem Element für jedes registrierte Erdbeben. Dieses JSON-Dokument gilt es zu parsen. Es ist bewusst ein etwas größeres gewählt worden, damit die Performance-Unterschiede (es gibt welche) recht deutlich werden. JSON mit PL/SQL parsen Zunächst möchten wir wissen, wieviele Elemente im Array features enthalten sind. Zunächst arbeiten wir mit APEX_JSON als PL/SQL Block. Das ist ab APEX 5.0, auf allen Datenbankversionen, verfügbar. declare l_clob clob; l_feature_count pls_integer; l_time timestamp; begin select document into l_clob from earthquake_json where id = 1; l_time := systimestamp; apex_json.parse( p_source => l_clob ); dbms_output.put_line( 'Parsing Time: ' || extract( second from ( systimestamp - l_time ) ) ); l_time := systimestamp; l_feature_count := apex_json.get_count( 'features' ); dbms_output.put_line( 'Array Count: ' || l_feature_count ); dbms_output.put_line( 'Get Array Count Time: ' || extract( second from ( systimestamp - l_time ) ) ); end; Parsing Time: 12,293681 Array Count: 9456 Get Array Count Time: 0,000039 Der Aufruf von APEX_JSON.PARSE hat etwa 12 Sekunden verbraucht; das eigentliche JSON-Parsing ist also recht teuer. Das eigentliche "Zählen" der Elemente geht dann ganz schnell. Grund ist, dass APEX_JSON.PARSE eine PL/SQL Record-Struktur aufbaut, welche das JSON repräsentiert. Ist diese einmal aufgebaut, so sind die Zugriffe recht fix. Schauen wir uns dagegen mal die ab Oracle 12.2 vorhandenen PL/SQL Object Types zum JSON-Parsing an (JSON_OBJECT_T, JSON_ARRAY_T, JSON_ELEMENT_T). Jeder Objekttyp enthält eine statische Methode PARSE. Auch hier wird das JSON-Dokument durch eine In-Memory Struktur repräsentiert, so dass die Zugriffe auf einzelne Elemente danach recht fix sind. Ein PL/SQL-Block, der zum Parsing JSON_OBJECT_T anstelle von APEX_JSON verwendet, sieht gar nicht so stark verändert aus ... declare l_clob clob; l_feature_count pls_integer; l_time timestamp; l_json json_object_t; l_features json_array_t; begin select document into l_clob from earthquake_json where id = 1; l_time := systimestamp; l_json := json_object_t.parse( l_clob ); dbms_output.put_line( 'Parsing Time: ' || extract( second from ( systimestamp - l_time ) ) ); l_time := systimestamp; l_features := l_json.get_array( 'features' ); dbms_output.put_line( 'Array Count: ' || l_features.get_size ); dbms_output.put_line( 'Get Array Count Time: ' || extract( second from ( systimestamp - l_time ) ) ); end; Parsing Time: 0,124148 Array Count: 9456 Get Array Count Time: 0,000083 ... bei der verbrauchten Zeit ergeben sich aber massive Unterschiede: 0.12 Sekunden vs. 12 Sekunden ist etwa Faktor 100. Bei kleineren JSON-Dokumenten fallen die Unterschiede zwar nicht so krass aus, aber sie sind dennoch da. JSON-Parsing mit APEX_JSON ist wesentlich teurer als mit den nativen PL/SQL Funktionen. Der Grund ist ein einfacher: APEX_JSON Ist eine reine PL/SQL Implementierung; die nativen Funktionen sind im Datenbankkern in C implementiert. Und gerade eine Aufgabe wie das Parsen von JSON profitiert massiv von einer nativen Implementierung. JSON mit einer SQL Abfrage parsen Wenn es darum geht, die Details der verschiedenen Erdbeben zu verarbeiten, ist dieser prozedurale Ansatz allerdings nicht immer optimal. So wollen wir das stärkste und das schwächste Erdbeben des JSON-Dokumentes herausfinden. Nun, wir befinden uns in einer Datenbank; und was liegt näher als die Nutzung von SQL? Mit der nativen SQL Funktion JSON_TABLE ist das kein Problem ... with eqdata as ( select e.id, e.title, e.mag from earthquake_json j, json_table( document, '$.features[*]' columns( id varchar2(20) path '$.id', mag number path '$.properties.mag', title varchar2(200) path '$.properties.title' ) ) e ), minmax as ( select min(e.mag) minmag, max(e.mag) maxmag from eqdata e ) select e.id, e.title, e.mag from eqdata e, minmax m where e.mag in ( m.minmag, m.maxmag ) / ID TITLE MAG ----------- ---------------------------------------------- ----- us2000d7q6 M 7.5 - 89km SSW of Porgera, Papua New Guinea 7.5 uw61366531 M -0.8 - 36km NNE of Amboy, Washington -0.8 2 rows selected. Elapsed: 00:00:01.545 Diese Art des JSON Parsings ist sehr elegant, lassen sich so doch alle Möglichkeiten von SQL, auch für JSON-Dokumente, nutzen. Man kann das natürlich auch per PL/SQL Block realisieren; das SQL-Beispiel ist aber doch sehr klarer, strukturierter, leichter wartbar und wahrscheinlich auch schneller. JSON_TABLE steht ab der Datenbankversion 12.1.0.2 zur Verfügung - auf einer 11.2-Datenbank gibt es kein JSON_TABLE. Allerdings kann APEX_JSON hier weiterhelfen: Es bietet zwar kein Äquivalent zu JSON_TABLE an, allerdings gibt es die TO_XMLTYPE-Funktion, mit der sich ein JSON nach XML wandeln lässt. Und die SQL-Funktion XMLTABLE gibt es schon seit Oracle 9.2. Das für eine 11.2 Datenbank angepasste Beispiel sieht wie folgt aus. with eqdata as ( select e.id, e.title, e.mag from earthquake_json j, xmltable( '/json/features/row' passing apex_json.to_xmltype( j.document ) columns id varchar2(20) path 'id/text()', mag number path 'properties/mag/text()', title varchar2(200) path 'properties/title/text()' ) e ), minmax as ( select min(e.mag) minmag, max(e.mag) maxmag from eqdata e ) select e.id, e.title, e.mag from eqdata e, minmax m where e.mag in ( m.minmag, m.maxmag ) / ID TITLE MAG ----------- ---------------------------------------------- ----- us2000d7q6 M 7.5 - 89km SSW of Porgera, Papua New Guinea 7.5 uw61366531 M -0.8 - 36km NNE of Amboy, Washington -0.8 2 rows selected. Elapsed: 00:00:27.152 Allerdings hat das seinen Preis. Mit etwa 27 Sekunden braucht der Vorgang wesentlich länger als JSON_TABLE mit etwa einer Sekunde. Ein großer Teil der Zeit wird für APEX_JSON.TO_XMLTYPE verbraucht, was man recht einfach nachweisen kann ... select apex_json.to_xmltype(document) from earthquake_json where id = 1; APEX_JSON.TO_XMLTYPE(DOCUMENT) ------------------------------ <json>... Elapsed: 00:00:12.711 ... und was in etwa dem Zeitverbrauch von APEX_JSON.PARSE entspricht, der weiter oben bereits festgestellt wurde. Aus diesen einfachen Tests lassen sich einfache Regeln zum Umgang mit JSON in APEX (aber auch außerhalb von APEX) ableiten ... APEX_JSON bringt JSON-Funktionen in 11.2 und 12.1.0.1-Datenbanken, hat aber seinen Preis. Da es in PL/SQL implementiert ist, ist JSON-Parsing, im Vergleich zu nativen Funktionen, recht teuer. Wenn native Funktionen zum JSON Parsing zur Verfügung stehen (also ab 12.1.0.2), sind diese eigentlich immer vorzuziehen - es ist sehr empfehlenswert, sich deren Syntax und Arbeitsweise genauer anzusehen. Die JSON_TABLE-Funktion (12.1.0.2 oder höher) bzw. APEX_JSON.TO_XMLTYPE und XMLTYPE erlauben es, mit SQL-Queries auf JSON-Dokumenten zu arbeiten. Geht es darum, JSON-Daten als APEX-Bericht zu visualisieren oder anderweitig auszuwerten, ist die Arbeit mit SQL wesentlich eleganter als das prozedurale Arbeiten mit PL/SQL. In eigenen Applikationen sollten Aufrufe von APEX_JSON.PARSE, je nach Anwendungsfall, nach und nach in JSON_TABLE und JSON_OBJECT_T.PARSE überführt werden. Weiterführende Links Dokumentation zu APEX_JSON (ab APEX 5.0) https://docs.oracle.com/cd/E59726_01/doc.50/e39149/apex_json.htm#AEAPI29635 Dokumentation zu JSON_TABLE (ab Datenbank 12.1.0.2) https://docs.oracle.com/database/121/SQLRF/functions092.htm#SQLRF56973 Dokumentation zu JSON_OBJECT_T (Datenbank 12.2.0.1) https://docs.oracle.com/en/database/oracle/oracle-database/12.2/adjsn/using-PLSQL-object-types-for-JSON.html#GUID-F0561593-D0B9-44EA-9C8C-ACB6AA9474EE Zurück zu blogs.oracle.com/apexcommunity_deutsch
Die Arbeit mit JSON ist, auch für den APEX-Entwickler, inzwischen zum Alltag geworden. So liefern REST Services, die man aus der APEX-Anwendung heraus aufruft, typischerweise JSON zurück - auch...
Denkt man als APEX-Entwickler an einen Bericht, so hat man meist die typische, tabellarische Darstellung vor Augen. Aber das geht auch anders. Der Classic Report ist sicherlich eine der vielseitigsten Komponenten in Application Express. Der Grund dafür ist, dass die Report-Darstellung komplett templategetrieben ist. Man kann eigene Templates erstellen, aber auch aus den von Application Express bereits mitgelieferten wählen. Dieses Posting gibt einen kleinen Überblick über diese Templates - einiges davon ist aus der Universal Theme Sample Application (apex.oracle.com/ut) entnommen - dort finden Sie noch mehr Beispiele und Informationen zum Look & Feel von APEX-Komponenten. Starten Sie mit dem ersten Berichts-Template. Navigieren Sie dazu, im Page Designer, zu den Berichtsattributen Ihres Berichts, und dann zum Abschnitt Appearance. Wählen Sie beispielsweise das Template Media List aus, speichern Sie die Änderung ab und starten Sie die Seite neu. Das ist noch nicht wirklich das gewünschte Ergebnis - man sieht deutlich, dass das Template ganz bestimmte Ergebnisspalten von der SQL-Abfrage erwartet. Noch genauer sieht man das, wenn man in die Template-Definition hineinsieht. Diese erreichen Sie übrigens bequem mit dem Klick auf die Schaltfläche > rechts neben der Auswahlliste für das Berichtstemplate. Platzhalter wie #ICON_CLASS# oder #LIST_TITLE# sind leicht zu erkennen. Mit diesen Informationen kann die SQL-Abfrage nun angepasst werden. select ename as list_title, job as list_text, 'fa fa-user' as icon_class, null as edit_link, sal as list_badge from emp Starten Sie die Seite nach dem Speichern nochmals ... Das sieht schon besser aus. Allerdings sind zum Template noch Template Options verfügbar. Diese werden wiederum im Page Designer eingerichtet, indem Sie auf die Schaltfläche rechts von Template Options klicken. Aktivieren Sie Show Badges und Apply Theme Colors, speichern Sie, und starten Sie die Seite danach nochmals. Nur eine kleine Änderung an der SQL-Abfrage - und wenige Mausklicks - und schon haben Sie eine völlig andere Visualisierung Ihrer Daten. Das funktioniert mit den anderen Berichts-Templates analog ... Hier ein Beispiel for das Berichtstemplate Comments ... zunächst die SQL-Abfrage (die Daten der Tabelle EMP sind nicht sehr gut für dieses Template geeignet, als Beispiel reicht es jedoch aus). select ename as user_name, 'My comment is: ' || job as comment_text, hiredate as comment_date, null as user_icon, 'Comment' as actions, ' ' as attribute_1, sal as attribute_2, ' ' as attribute_3, ' ' as attribute_4 from emp Das Ergebnis sieht dann wie folgt aus. Beim Template Alert kommt es nicht nur auf die Platzhalter an, sondern vor allem auf den Inhalt des Platzhalters #ALERT_TYPE#. Zunächst die SQL-Abfrage ... select ename as alert_title, job as alert_desc, sal as alert_action, case when sal < 1000 then 'info' when sal between 2000 and 3000 then 'success' when sal between 3000 and 4000 then 'warning' else 'danger' end as alert_type from emp Das Ergebnis sieht dann wie folgt aus - eine "Berichtszeile" enthält tatsächlich nur die drei Attribute title, desc und action. Das Aussehen wird vor allem von der Spalte alert_type gesteuert - und hier ist es wichtig, die Schlüsselworte info, success, warning und danger zu kennen. Das Ergebnis sieht wie folgt aus. Das Template Badge List eignet sich gut, wenn der Report nur aus einer Zeile besteht.Liefert die SQL-Abfrage mehrere Zeilen zurück, ist es nicht so gut geeignet. Die Spaltennamen der SQL-Abfrage gehen hier direkt in die Darstellung ein. Am Beispiel ... select empno, ename, extract(year from hiredate) as hired, sal, comm, deptno from emp where rownum = 1 Man sieht, dass hier keine besonderen Platzhalter verwendet werden - die Spaltennamen können beliebig sein. Das Template stellt diese, wie folgt, direkt dar. Das Timeline Template eignet sich gut zur Darstellung zeitlich hintereinander liegender Vorgänge ... select apex_string.get_initials(ename) as user_avatar, ename as user_name, hiredate as event_date, 'fa fa-user' as event_icon, case deptno when 10 then 'is-new' when 20 then 'is-removed' when 30 then 'is-updated' when 40 then 'is-updated' end as event_status, 'Hired' as event_type, job as event_title, sal || case when comm is not null then ' - ' end || comm as event_desc from emp Das Ergebnis sieht wie folgt aus - an der Query ist schon erkennbar, dass das Template recht viele Spalten und damit viele Darstellungsoptionen unterstützt. Das Template Search Results eignet sich sehr gut im Zusammenspiel mit einem Suchfeld. Die folgende SQL-Abfrage liefert Spalten für dieses Template zurück. select ename search_title, job search_desc, null search_link, 'Sal' label_01, sal value_01, 'Hiredate' label_02, hiredate value_02, 'Comm' label_03, comm value_03, 'Deptno' label_04, deptno value_04 from emp where instr(ename||job, :P10_SEARCH)>0 or :P10_SEARCH is null Natürlich wird diese Abfrage bei großen Datenmengen langsam sein; hier könnte bspw. Oracle Text als Suchtechnologie in Betracht kommen. Das Ergebnis wird in etwa wie folgt aussehen. Zum Abschluss sei das Template Cards erwähnt. Die Art der Darstellung findet man recht oft im Internet - und mit diesem Template wird es wirklich einfach, Tabellendaten auf die gleiche Art und Weise zu visualisieren ... Zunächst zur SQL-Abfrage ... select ename card_title, apex_string.get_initials(ename) card_initials, job card_text, hiredate card_subtext, 'f?p=...' card_link from emp Das Ergebnis sieht zunächst so aus ... Das Template Cards bietet viele Template Options an. So lassen sich Icons oder Initialen für eine Karte einschalten; man kann die Karten in den Farben des Theme darstellen und steuern, wieviele Karten pro Zeile dargestellt werden sollen. Man sieht sehr schön, dass man das Aussehen eines klassischen Berichts sehr schön steuern kann - und das ganz ohne HTML- und CSS-Kenntnisse - es reicht aus, die SQL-Abfrage so anzupassen, dass das Berichts-Template mit den richtigen Ergebnisspalten versorgt wird. Probieren Sie es einfach mal aus. Zurück zur Community-Seite
Denkt man als APEX-Entwickler an einen Bericht, so hat man meist die typische, tabellarische Darstellung vor Augen. Aber das geht auch anders. Der Classic Report ist sicherlich eine der vielseitigsten...
Seit dem 21. Dezember 2017 steht das Early Adopter Release von Application Express 5.2 zum Testen bereit. Wie immer findet das Early Adopter Programm online statt - unter apexea.oracle.com kann man sich einen Workspace beantragen und mit dem Testen der neuen Features beginnen. Im Mittelpunkt des neuen Release stehen diesmal: Sobald Sie eine neue Applikation erstellen, nutzen Sie bereits den neuen Create Application Wizard; im Gegensatz zu früheren Versionen lassen sich so - aus dem Stand - wesentlich mächtigere Anwendungen erstellen. Unterstützung für REST Enabled SQL - erzeugen Sie eine Application Express Komponente (einen Report oder Chart) auf Basis einer SQL-Abfrage, die auf einer anderen Datenbank ausgeführt wird - und das ohne Database Link. Die Kommunikation findet über eine spezielle REST Schnittstelle statt, die von Oracle REST Data Services bereitgestellt wird. Völlig neue Unterstützung für RESTful Services: Erzeugen Sie eine APEX-Komponente (einen Report, Kalender oder Chart) direkt auf einen externen RESTful Service. Alle Kommunikation und alles JSON oder XML-Parsing wird von Application Express übernommen. Neue Oracle JET Charts: Gantt und Box Plot Charts stehen nun zusätzlich zur Verfügung; auch für REST Services oder REST Enabled SQL. Darüber hinaus gibt es, wie immer, viele neue Funktionen und Features im Detail. Auf der englischen Ausgabe dieses Blogs steht bereits ein Tutorial für REST Enabled SQL zur Verfügung - und weitere werden folgen. Am besten erzeugen Sie sich gleich einen Workspace - und auf geht's!
Seit dem 21. Dezember 2017 steht das Early Adopter Release von Application Express 5.2 zum Testen bereit. Wie immer findet das Early Adopter Programm online statt - unter apexea.oracle.com kann man...
Das APEX Element Rich Text Editor erlaubt es, im Gegensatz zu einem normalen Textbereich, formatierten Text zu bearbeiten. Der Text wird dann als HTML-Code an Application Express gesendet und typischerweise auch als solcher in Tabellen abgelegt. Das technische Fundament des Rich Text Editors ist die Javascript Bibliothek CKEditor. Zwar sind die im Page Designer angebotenen Konfigurationsmöglichkeiten recht überschaubar, doch bietet der CKEditor eine umfangreiche API zur Konfiguration an - und diese lässt sich ab Application Express 5.1 sehr leicht nutzen. Navigieren Sie dazu, im Page Designer, zu Ihrem Rich Text Editor Element und dort zum Abschnitt Advanced. Das Attribute Initialization Javascript Code ist der Einstieg in die Konfigurationsmöglichkeiten des CKEditor. Typischerweise wird dort eine Funktion wie folgt hinterlegt. function ( configObject ) { configObject.{attribute-name-1} = {attribute-value-1}; configObject.{attribute-name-2} = {attribute-value-2}; : return configObject; } Application Express ruft diese Funktion kurz vor der Initialisierung des Editors auf und übergibt das Standard-Konfigurations-Objekt. Dieses können Sie nun in Ihrem Javascript-Code verändern und an Application Express zurückgeben. Der CKEditor wird dann mit der von Ihnen veränderten Konfiguration initialisiert. Einen Überblick über die Möglichkeiten finden Sie in der API-Dokumentation des CKEditor. Machen Sie ein paar erste Tests: Die folgende Javascript-Funktion setzt die Grundfarbe für den Editor auf eine Art Grün, und die Möglichkeit, die Größe des Editors zu verändern wird abgeschaltet. Danach starten Sie die Seite, um sich das Ergebnis anzusehen. function ( configObject ) { configObject.uiColor = "#AADC6E"; configObject.resize_enabled = false; return configObject; } CKEditor bietet sehr viele Varianten an, wie das HTML generiert werden soll. So führt die Return-Taste standardmäßig dazu, dass mit einem <p> Tag ein neuer Absatz produziert wird. Das kann geändert werden - es soll ein einfacher Zeilenumbruch mit dem Tag <br> erzeugt werden. function ( configObject ) { configObject.enterMode = 2; configObject.uiColor = "#AADC6E"; configObject.resize_enabled = false; return configObject; } Wem die von Application Express angebotenen Varianten der Toolbar nicht gefallen, kann sich eine eigene zusammenstellen. function ( configObject ) { configObject.enterMode = 2; configObject.uiColor = "#AADC6E"; configObject.resize_enabled = false; configObject.toolbar = [ ['Link','Unlink','Anchor'], ['Image','Table','HorizontalRule','Smiley','SpecialChar'], '/', ['Bold','Italic','Underline','Strike','-','Subscript','Superscript','-', 'RemoveFormat'], ['NumberedList','BulletedList','-','Outdent','Indent','Blockquote'] ]; return configObject; } Die API-Dokumentation des CKEditor bietet noch viele weitere Einstellungsmöglichkeiten an. Am besten ist es sicherlich, sich dafür einmal etwas Zeit zu nehmen - als Ergebnis bekommt man einen Rich Text Editor nach Maß - in der APEX-Anwendung. Doch das ist noch nicht alles. Kombiniert man diese Konfigurationen geschickt mit zusätzlichen APEX-Seiten oder RESTful services, so lässt der Rich Text Editor sich sehr elegant mit einem Bilder-Upload versehen oder man kann ich "responsive" gestalten. Wie das geht, erfahren Sie im vollständigen Community Tipp.
Das APEX Element Rich Text Editor erlaubt es, im Gegensatz zu einem normalen Textbereich, formatierten Text zu bearbeiten. Der Text wird dann als HTML-Code an Application Express gesendet...
Mit DATE oder TIMESTAMP Datentypen wird ständig gearbeitet; sie kommen in jedem Datenmodell vor und folglich muss jede APEX-Anwendung damit umgehen können. Dieser Tipp enthält einige Informationen zum Umgang mit diesen Datentypen - und worauf man als APEX-Entwickler achten sollte. DATE oder TIMESTAMP? Die Oracle-Datenbank bietet vier Datentypen zum Speichern von Zeitstempeln an: DATE ist der älteste Datentyp zum Speichern von Zeitstempeln in der Datenbank. Anders als der Name nahelegt, speichert DATE immer sowohl das Datum als auch die Uhrzeit ab. Intern werden ganz konkrete Werte für Jahr, Monat, Tag, Stunde, Minute und Sekunde abgelegt. Die SQL-Funktion SYSDATE gibt den aktuellen Zeitstempel zurück. SQL> alter session set nls_date_format='YYYY-MM-DD HH24:MI:SS'; Session geändert. SQL> select sysdate, dump(sysdate) as date_bytes from dual; SYSDATE DATE_BYTES -------------------- ----------------------------------- 2017-11-23 23:41:08 Typ=13 Len=8: 225,7,11,23,23,41,8,0 TIMESTAMP erweitert den DATE-Datentypen um Sekundenbruchteile. Das interne Speicherformat für den TIMESTAMP sieht auch die Zeitzone vor, um diese aktiv nutzen zu können, braucht es jedoch die nachfolgend erläuterten Datentypen TIMESTAMP WITH TIME ZONE und TIMESTAMP WITH LOCAL TIME ZONE. Wie man am folgenden Beispiel sehen kann, liefert LOCALTIMESTAMP den aktuellen Zeitstempel als TIMESTAMP-Datentyp zurück. SQL> alter session set nls_timestamp_format='YYYY-MM-DD HH24:MI:SS.FF6'; Session geändert. SQL> select localtimestamp, dump(localtimestamp) ts_bytes from dual; LOCALTIMESTAMP TS_BYTES --------------------------- --------------------------------------------------------------------- 2017-11-24 08:45:41.434175 Typ=187 Len=20: 225,7,11,24,8,45,41,0,24,252,224,25,1,0,3,0,127,1,0,0 TIMESTAMP WITH TIME ZONE unterstützt die Zeitzone, und zwar explizit. Die Zeitzonen-Information wird beim Erzeugen einer Instanz explizit übergeben und in der Ausgabe sollte sie stets enthalten sein (richtige Formatmaske verwenden). Gibt man einen TIMESTAMP WITH TIME ZONE ohne Zeitzonen-Information aus, so ist die Information unvollständig. Es finden keine implizite Umrechnungen zwischen Zeitzonen statt; dem Entwickler stehen SQL-Funktionen dafür zur Verfügung. Instanz. Um den aktuellen Zeitstempel zu bekommen, verwendet man die SQL-Funktionen SYSTIMESTAMP oderCURRENT_TIMESTAMP. Ersterer liefert die Systemzeit in der Datenbank-Zeitzone, letzterer in der Session Zeitzone zurück. Im folgenden ein Beispiel für SYSTIMESTAMP. SQL> alter session set nls_timestamp_tz_format='YYYY-MM-DD HH24:MI:SS.FF6 TZR'; Session geändert. SQL> select systimestamp from dual; SYSTIMESTAMP ---------------------------------- 2017-11-23 23:57:04.609608 -08:00 TIMESTAMP WITH LOCAL TIME ZONE unterstützt die Zeitzone implizit. Eine Instanz wird ohne Angabe einer Zeitzone erzeugt; es wird die Session-Zeitzone angenommen; die Ausgabe erfolgt ebenfalls in der Session Zeitzone. Oracle-Intern werden die Instanzen auf die Datenbank-Zeitzone normalisiert. Das folgende Beispiel zeigt, wie TIMESTAMP WITH LOCAL TIME ZONE funktioniert. Zuerst wird eine Tabelle erzeugt und darin der aktuelle Zeitstempel gespeichert. SYSTIMESTAMP liefert zwar einen TIMESTAMP WITH TIME ZONE zurück, dieser wird aber automatisch auf TIMESTAMP WITH LOCAL TIME ZONE konviertiert. Wird die Tabelle danach selektiert, so wird stets auf die aktuelle Session-Zeitzone umgerechnet. SQL> create table zeitstempel( ts timestamp with local time zone ); Table created. SQL> insert into zeitstempel values ( systimestamp ); 1 row created. SQL> alter session set time_zone='Europe/Berlin'; Session altered. SQL> select * from zeitstempel; TS --------------------------------------------------------------------------- 2017-11-24 12:55:39.761283 SQL> alter session set time_zone='EST'; Session altered. SQL> select * from zeitstempel; TS --------------------------------------------------------------------------- 2017-11-24 06:55:39.761283 Formatmasken Ob man mit einer Anwendung oder einem Werkzeug wie SQL Developer oder SQLPlus arbeitet; jede Ausgabe einer DATE- oder TIMESTAMP Instanz ist eine Konvertierung nach VARCHAR2. Die macht man entweder mit TO_CHAR explizit - oder die Datenbank macht es implizit. Und hierfür sind die NLS-Datumsformatmasken wichtig. Für die verschiedenen Datentypen gibt es verschiedene NLS-Parameter für die Default-Formatmaske. Weiterlesen ...
Mit DATE oder TIMESTAMP Datentypen wird ständig gearbeitet; sie kommen in jedem Datenmodell vor und folglich muss jede APEX-Anwendung damit umgehen können. Dieser Tipp enthält einige Informationen zum...
Mit dem in Application Express 5.1 neu eingeführten Interactive Grid haben die meisten Entwickler sicherlich schon experimentiert - und tatsächlich ist es damit sehr einfach, ein tabellarisches Formular auf eine Tabelle oder View zu erzeugen. Einfach die SQL-Abfrage hinterlegen; das Interactive Grid in den Attributen editierbar machen und ... fertig. Allerdings kann man mit dem Interactive Grid wesentlich mehr machen als nur Tabellen zu editieren. So lassen sich die im Raster angezeigten Daten mit der SQL-Abfrage beliebig generieren - die Eingaben der Nutzer können nach dem Page Submit mit PL/SQL verarbeitet werden. So lassen sich auch Seiten erzeugen, bei denen der Nutzer Daten from Scratch in das Raster eingibt; danach kann eine völlig freie Verarbeitung stattfinden - ganz unabhängig von einer Tabelle oder View. Von hier aus stehen eigentlich alle Möglichkeiten offen. Sie können die eingegebenen Daten in PL/SQL Prozeduren verarbeiten und am Ende in Tabellen ablegen; Sie können damit externe Web Services aufrufen oder beliebige andere Dinge tun; das interactive Grid ist nun nicht mehr allein ein Formular für eine Tabelle - es kann zur Datenerfassung für alle möglichen Zwecke dienen. Unser aktueller Community-Tipp zeigt, anhand eines Beispiels, wie Sie ein solches Interactive Grid einrichten und die PL/SQL Verarbeitung konfigurieren. Schauen Sie mal rein!
Mit dem in Application Express 5.1 neu eingeführten Interactive Grid haben die meisten Entwickler sicherlich schon experimentiert - und tatsächlich ist es damit sehr einfach, ein...
Nahezu jede APEX-Anwendung enthält mehr oder weniger Javascript Code. Vor allem Formulare lassen sich mit Hilfe von Dynamic Actions und Javascript Code wesentlich nutzerfreundlicher gestalten. Wenn es darum geht, Formularelemente mit Javascript zu verändern oder zu steuern, kennen viele APEX-Entwickler die seit Jahren vorhandenen Javascript-Funktionen $s, $v und $x. Mit $s setzt man den Wert eines Formularelements, mit $v liest man ihn aus und $x stellt fest, ob ein APEX-Element mit dem übergebenen Namen überhaupt auf der Seite existiert. Diese Funktionen existieren schon sehr lange in Application Express - und sie sind auch sehr beliebt, zumal die Namen so schön kurz und damit schnell getippt sind. Allerdings sind diese Abkürzungen; die eigentlichen Funktionen befinden sich im Javascript Namensraum "apex.item". Und dieser enthält mehr Funktionen, als Sie vielleicht denken. Diese Funktionen sind ein hervorragendes Handwerkszeug, um Formulare interaktiver und nutzerfreundlicher zu gestalten. Greifen Sie per Javascript auf den Elementwerte zu, egal ob der Typ ein Rich Text Editor, ein Date Picker, eine Auswahlliste oder ein einfaches Textfeld ist. Aktivieren, deaktivieren oder verstecken Sie ein Formularelement mit einem einfachen Javascript Aufruf. Sie können sogar feststellen, ob der Anwender den Wert bereits geändert hat oder nicht, was besonders nützlich ist, wenn man entscheiden muss, ob ein AJAX-Request zum Server nun nötig ist oder nicht. Vorher sei allerdings die grundsätzliche Empfehlung zu Javascript-Code in APEX-Anwendungen nochmals erwähnt: Wo es möglich ist, sollte deklarativ mit Dynamic Actions gearbeitet und "manueller" Javascript-Code vermieden werden. Geht es also darum, ein Seitenelement zu verstecken oder anzuzeigen, so ist eine Dynamic Action mit Show oder Hide Aktionen meist die bessere Wahl. Nur dort, wo Dynamic Actions nicht möglich oder nicht angemessen sind, sollte eigener Javascript-Code zum Einsatz kommen. Lesen Sie in unserem aktuellen Tipp, welche Funktionen es im Namensraum apex.item gibt und wie Sie diese nutzen können.
Nahezu jede APEX-Anwendung enthält mehr oder weniger Javascript Code. Vor allem Formulare lassen sich mit Hilfe von Dynamic Actions und Javascript Code wesentlich nutzerfreundlicher gestalten. Wenn es...
Die Oracle Datenbank ist traditionell auf vielen Plattformen verfügbar. Neben dem Betriebssystem als Plattform, gibt es auch verschiedene gängige Virtualisierungslösungen; und in jüngster Zeit wird die Container-Technologie Docker mehr und mehr populär. Docker unterscheidet sich vom Konzept der virtuellen Maschinen dadurch, dass nicht immer ein eigenes Betriebssystem aufgebaut wird. Vielmehr basieren mehrere Docker Container auf gemeinsam genutzten Ressourcen, so dass die Möglichkeiten des Host-Systems wesentlich besser ausgenutzt werden. Vor allem Entwickler können Docker hervorragend nutzen, um eine Application-Express-Umgebung nicht nur schnell bereitzustellen, sondern auch (für Tests) zu klonen oder einfach zurückzusetzen. In allen Fällen ist wird nur der Docker-Container mit der Datenbank und Application Express - und nicht etwa ein ganzes Betriebssystem (mit allen Hintergrundprozessen) gestartet. Ralf Durben von der ORACLE Deutschland B.V. & Co KG hat in diesem Community Tipp zusammengestellt, wie man ein Docker Image mit der Oracle-Datenbank erstellt und nutzt. Es wird nicht nur darauf eingegangen, wie man die fertigen Oracle-Datenbank Images aus dem Docker Store verwendet, sondern auch, wie man sich selbst sein eigenes, individuelles Docker-Image erzeugen kann. Dieser Tipp ist ein Muss (nicht nur) für jeden Application Express Entwickler, der hin und wieder eine Entwicklungs- oder Testumgebung aufsetzen muss - gleich reinschauen!
Die Oracle Datenbank ist traditionell auf vielen Plattformen verfügbar. Neben dem Betriebssystem als Plattform, gibt es auch verschiedene gängige Virtualisierungslösungen; und in jüngster Zeit wird...
Das APEX Entwicklerteam trifft sich im September in Frankfurt, um dort die künftige Entwicklung von Application Express zu besprechen. Und Sie können dabei sein! Nehmen Sie am ersten APEX Day teil — und nutzen Sie die Gelegenheit, die APEX-Entwickler persönlich zu treffen, interessante Details zur aktuellen APEX-Version zu erfahren und einen Ausblick auf künftige Versionen zu erhalten. Die Teilnahme ist kostenlos. Themen wie Interactive Grid, REST Services, Universal Theme - und viele andere stehen auf der Agenda. Und uatürlich gibt es reichlich Gelegenheit für Diskussionen, Fragen und Antworten. Bringen Sie Ihre Feature Requests mit! Die Plätze sind limitiert - melden Sie sich also am besten gleich an.
Das APEX Entwicklerteam trifft sich im September in Frankfurt, um dort die künftige Entwicklung von Application Express zu besprechen. Und Sie können dabei sein! Nehmen Sie am ersten APEX Day teil —...
Die Anforderung, mit REST Services zu arbeiten, haben auch Application Express-Entwickler mehr und mehr auf dem Schreibtisch. Zwar können Web Service Referenzen für REST Services in den Gemeinsamen Komponenten eingerichtet werden; die Unterstützung ist jedoch recht limitiert: So muss die JSON-Antwort, die der REST Service sendet, typischerweise manuell geparst und verarbeitet werden. In den vergangenen Wochen konnten Sie bereits mehrere Tipps zum Thema im Rahmen der APEX-Community lesen: So haben Sie erfahren, wie Sie, mit der seit Version 5.1 vorhandenen neuen Packaged Applications REST Client Assistant ... SQL und PL/SQL Code zum Zugriff auf den REST Service und zum JSON-Parsing erzeugen größere Datenmengen seitenweise vom REST Service abrufen können ein Wallet konfigurieren, um problemlos auf SSL-gesicherte Services zuzugreifen In den bisherigen Tipps wurden stets alle Daten des REST Service abgerufen - entweder alle auf einmal, oder seitenweise. In der Praxis sind aber oft nur Teilmengen der Daten gefragt: man möchte die Ergebnismenge mit einem Filter einschränken. "Das ist ja einfach" dürfte nun der allererste Gedanke sein - schließlich findet das JSON-Parsing mit SQL und den SQL-Funktionen XMLTABLE oder JSON_TABLE statt. Beide stellen die Daten so bereit, als ob sie aus einer Tabelle kämen - in der WHERE-Klausel können nun also beliebige SQL-Filter verwendet werden. Problematisch wird dies allerdings, wenn die Antwort des REST Service potenziell sehr große Datenmengen zurück liefert - man stelle sich vor, ohne Filter würde eine sechs- oder gar siebenstellige Anzahl an Zeilen zurückgegeben. Viele REST-Services geben die Daten dann seitenweise ab; das wurde im Community-Tipp Größere Datenmengen seitenweise vom REST Service abrufen näher betrachtet. Ginge man wie oben vor, bedeutet das, dass man zunächst alle Daten, über mehrere Seiten hinweg, vom REST Service abrufen würde. Anschließend würde man, per SQL-Filter, das meiste davon wieder verwerfen. Es ist klar, dass dies für den kleinere Services (unter 1.000 Zeilen) noch in Ordnung geht, bei größeren Datenmengen ist diese Vorgehensweise allerdings problematisch. Lesen Sie in unserem aktuellen Tipp, wie Sie die Ergebnismenge eines REST Service filtern können - wann Sie problemlos mit SQL arbeiten und wann Sie eine Filter-Syntax, am Beispiel von Oracle REST Data Services, nutzen können.
Die Anforderung, mit REST Services zu arbeiten, haben auch Application Express-Entwickler mehr und mehr auf dem Schreibtisch. Zwar können Web Service Referenzen für REST Services in den Gemeinsamen...
Die Artikelreihe zum Thema "Application Express und REST Services" pausiert für eine Ausgabe - dafür schieben wir einen Tipp ein, der zumindest mit dem Thema verwandt ist. Es geht HTTPS-Requests einer APEX-Anwendung. Zunächst funktioniert ein solcher ganz genauso wie ein HTTP-Aufruf - man verwendet einfach die HTTPS-URL. Zum Testen nehmen wir die HTTPS-URL des USGS (US Geological Survey), die bereits im ersten Community Tipp zum Thema REST Services und Application Express ein Thema war. select apex_web_service.make_rest_request( p_url => 'https://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/2.5_day.geojson', p_http_method => 'GET' ) from dual; Der erste Versuch schlägt jedoch fast immer fehl ... Fehlerbericht - ORA-29273: HTTP-Anforderung nicht erfolgreich ORA-29024: Zertifikatvalidierung nicht erfolgreich ORA-06512: in "SYS.UTL_HTTP", Zeile 380 Blogs und Diskussionsforen sind voll von Fragen, was bei dieser Fehlermeldung zu tun ist - in diesem Tipp erfahren Sie es: Die Fehlermeldung besagt, dass die Datenbank das SSL-Zertifikat, mit dem sich der Webserver ausgewiesen hat, nicht validieren konnte. Für diese Validierung muss ein Oracle Wallet eingerichtet und dann in Application Express konfiguriert werden. Vorab jedoch ein paar einfache, erklärende Worte zum Thema SSL-Zertifikate (die Erklärungen sind sicherlich nicht vollständig, für das Verständnis dieses Tipps sollten sie jedoch hinreichend sein): Wenn Sie eine HTTPS-Verbindung zu einem Server aufbauen, weist dieser sich mit einem SSL-Zertifikat aus. Ein solches Zertifikat funktioniert wie eine Art Personalausweis: es weist aus, dass der Server, der auf die Anfrage antwortet, tatsächlich der ist, den man mit der URL angesprochen hat. Nun stellt sich natürlich die Frage, ob ein solcher "Ausweis" auch echt ist - und diese Echtheit wird von der Certificate Authority zertifiziert: das SSL-Zertifikat des Webservers wird mit einem Zertifikat der CA "unterschrieben". Das Zertifikat der CA kann nun wiederum von einer weiteren CA "unterschrieben" werden - womit das nächste Zertifikat ins Spiel kommt. Diese Kette (Certificate Chain) kann auch noch länger werden; irgendwo muss aber ein Ende sein - und das ist ein CA-Zertifikat, dem einfach vertraut wird, auch wenn es nicht "unterschrieben" ist (Trusted Certificate). In einem Web-Browser wie Firefox, Chrome oder anderen sind alle gängigen CA-Zertifikate vorinstalliert - so kann man bequem im Internet surfen. Die Oracle-Datenbank verwaltet solche Zertifikate in einem Wallet - dieses muss jedoch zuerst erzeugt werden, es ist zu Beginn leer und die nötigen CA-Zertifikate müssen hinzugefügt werden. Dieser Artikel beschreibt, wie man ein Oracle Wallet erzeugt, wie man die nötigen CA-Zertifikate in dieses lädt und schließlich, wie man das Wallet zentral in Application Express einrichtet, so dass es in allen Workspaces und Anwendungen genutzt werden kann (ganzen Artikel lesen).
Die Artikelreihe zum Thema "Application Express und REST Services" pausiert für eine Ausgabe - dafür schieben wir einen Tipp ein, der zumindest mit dem Thema verwandt ist. Es geht HTTPS-Requests einer...
Die Anforderung, mit REST Services zu arbeiten, haben auch Application Express-Entwickler mehr und mehr auf dem Schreibtisch. Zwar können Web Service Referenzen für REST Services in den Gemeinsamen Komponenten eingerichtet werden; die Unterstützung ist jedoch recht limitiert: So muss die JSON-Antwort, die der REST Service sendet, typischerweise manuell geparst und verarbeitet werden. Oracle Application Express enthält die Packaged Application REST Client Assistant, welche dem Entwickler dabei hilft, REST Services in die APEX-Anwendung zu integrieren. Im ersten Teil des Artikels (REST Services und Application Express 5.1 - Teil 1) wurde vorgestellt, wie man mit dem REST Client Assistant PL/SQL und SQL Code erzeugen kann, so dass die Daten des REST Service in einer Application Express-Anwendung dargestellt oder verarbeitet werden können. In diesem Artikel machen wir den nächsten Schritt: Viele REST-Services liefern große Ergebnismengen nicht komplett, sondern seitenweise aus. Ein Beispiel für einen REST Service, der mit größeren Datenmengen arbeitet, lässt sich schnell in der eigenen Umgebung erstellen. Sie brauchen dazu lediglich eine Tabelle mit mehr als den 14 Zeilen, wie sie die wohlbekannte EMP Tabelle enthält. Einige hundert sollten es schon sein. Im Zweifelsfalle generieren Sie sich einfach eine solche. Den REST Service stellen Sie dann mit Hilfe von Oracle REST Data Services (ORDS) bereit. Lesen Sie in unserem aktuellen Tipp, wie Sie einen solchen REST Service in Ihre APEX-Anwendung nicht nur einfach integrieren, sondern auch das Vor- und Zurückblättern in der Ergebnismenge unterstützen können. Blättert der Endbenutzer auf der APEX-Seite vor, so wird die nächste Seite vom REST-Service abgerufen, blättert er zurück, so wird auch diese Seite vom REST Service geholt. Lassen Sie sich schließlich vom REST Client Assistant eine Table Function generieren, welche die gesamte Ergebnismenge für Sie abruft.
Die Anforderung, mit REST Services zu arbeiten, haben auch Application Express-Entwickler mehr und mehr auf dem Schreibtisch. Zwar können Web Service Referenzen für REST Services in den Gemeinsamen Ko...
Die Anforderung, mit REST Services zu arbeiten, haben auch Application Express-Entwickler mehr und mehr auf dem Schreibtisch. Zwar können Web Service Referenzen für REST Services in den Gemeinsamen Komponenten eingerichtet werden; die Unterstützung ist jedoch recht limitiert: So muss die JSON-Antwort, die der REST Service sendet, typischerweise manuell geparst und verarbeitet werden. Allerdings bringt Application Express 5.1 zwei neue Packaged Applications für REST Services mit: Den REST Client Assistant und Sample REST Services. Dieser Community Tipp zeigt auf, wie man einen externen REST Service, mit Hilfe des REST Client Assistant, in seine eigene APEX-Anwendung einbinden kann. Dabei wird aller SQL und PL/SQL Code zum Aufrufen des Service oder zum JSON-Parsing vom REST Client Assistant generiert.
Die Anforderung, mit REST Services zu arbeiten, haben auch Application Express-Entwickler mehr und mehr auf dem Schreibtisch. Zwar können Web Service Referenzen für REST Services in den...
Der Umgang mit AJAX-Technologie, also dem Absetzen einer separaten HTTP-Abfrage und dem dynamischen Verändern der APEX-Seite, ist mittlerweile vielen vertraut. Allerdings zeigen sich in der Praxis recht unterschiedliche Wege, AJAX umzusetzen. In vielen älteren Anwendungen, und auch in vielen Blog Postings, findet sich immer noch die Javascript-Funktion htmldb_Get. Diese wurde im jüngsten APEX Release 5.1 aus dem Support genommen (Release Notes) - und streng genommen war sie noch nie wirklich dokumentiert. Wie man es auch nimmt, es ist höchste Zeit, sich von htmldb_Get zu verabschieden. Dieser Community-Tipp stellt eine AJAX-Problemstellung und aktuelle Lösungsansätze dazu vor.
Der Umgang mit AJAX-Technologie, also dem Absetzen einer separaten HTTP-Abfrage und dem dynamischen Verändern der APEX-Seite, ist mittlerweile vielen vertraut. Allerdings zeigen sich in der Praxis...
Es kommt nicht oft vor, wenn es jedoch passiert, ist der Ärger groß: Eine Anwendung, eine Seite oder eine Gemeinsame Komponente wurde versehentlich gelöscht. Wenn man schnell ist, kann man den Fehler ganz einfach beheben - und zwar mit der Flashback-Option beim Export einer Anwendung, Seite oder Komponente. Erfahren Sie in unserem aktuellen Community-Tipp, wie das geht.
Es kommt nicht oft vor, wenn es jedoch passiert, ist der Ärger groß: Eine Anwendung, eine Seite oder eine Gemeinsame Komponente wurde versehentlich gelöscht. Wenn man schnell ist, kann man den Fehler...
PL/SQL Logik in APEX ist etwas völlig Normales und findet nahezu überall täglich statt. Gelegentlich kommt es aber vor, dass aus APEX heraus solche PL/SQL-Logik angestoßen werden soll, die länger laufen wird. Hinterlegt man diese ganz normal als PL/SQL-Prozess auf einer Anwendungsseite, so müsste der Anwender mit dem Browser warten, bis der Prozess durchgelaufen ist. Das kann für bis zu einer Minute gerade noch akzeptabel sein, dauert es aber länger, so muss der PL/SQL-Prozess in den Hintergrund gebracht werden.In diesem Community-Tipp erfahren Sie, wie Sie PL/SQL-Code mit dem Paket DBMS_SCHEDULER im Hintergrund ausführen, den Status Ihres Jobs abfragen und dem Endanwender als "Fortschrittsbalken" präsentieren können.
PL/SQL Logik in APEX ist etwas völlig Normales und findet nahezu überall täglich statt. Gelegentlich kommt es aber vor, dass aus APEX heraus solche PL/SQL-Logik angestoßen werden soll, die länger...
Eines der neuen Features im neuen Application Express Release 5.1 sind die neuen Charts auf Basis von Oracle JET. JET steht für Javascript Extension Toolkit und ist eine Bibliotheks- und Utility-Sammlung für Javascript-Entwickler. Diese finden in Oracle JET alles, was sie brauchen, um damit reine Javascript-Anwendungen zu erstellen. Oracle JET enthält auch eine Reihe von Komponenten zur Visualisierung von Daten - und genau diese wurden als Grundlage für die neuen Application Express Diagramme verwendet. Unser aktueller Community-Tipp stellt diese neuen, auf HTML5 basierenden Diagrammtypen vor, zeigt auf, was neu ist und geht auch auf Themen wie Upgrade von Diagrammen aus älteren APEX-Versionen oder die Möglichkeiten der Konfiguration mit Javascript ein.
Eines der neuen Features im neuen Application Express Release 5.1 sind die neuen Charts auf Basis von Oracle JET. JET steht für Javascript Extension Toolkit und ist eine Bibliotheks- und...
Seit Dezember 2016 ist Application Express 5.1 verfügbar. Wie immer gibt es eine Menge neuer Features für Entwickler und Endbenutzer. Aber auch für den Administrator, der mit Installation, Upgrade oder dem Betrieb von APEX-Instanzen oder Anwendungen verantwortlich ist, bringt das neue Release einige Verbesserungen mit. Dieser Community Tipp stellt einige dieser neuen Funktionen vor. Erfahren Sie, wie Sie das Upgrade auf Application Express als Minimum Downtime Upgrade durchführen oder Statistiken per REST Interface abrufen können. Schließlich gibt es neue PL/SQL-Prozeduren speziell für administrative Zwecke. Schauen Sie gleich rein.
Seit Dezember 2016 ist Application Express 5.1 verfügbar. Wie immer gibt es eine Menge neuer Features für Entwickler und Endbenutzer. Aber auch für den Administrator, der mit Installation, Upgrade...
Kurz nach Bereitstellung auf dem öffentlichen Demoserver apex.oracle.com, ist das neue Application Express Release 5.1 nun zum Download verfügbar. Nun kann Application Express 5.1 auch in eigenen Umgebungen installiert werden. Oft wurde nach dem "editierbaren interactive Report" gefragt - mit dem neuen Interactive Grid ist dies nun Realität. Die Integration von Oracle JET bringt viele neue Diagrammtypen - out of the box. Das Universal Theme wurde erweitert und nochmals verbessert. Vor allem die neue Icon Bibliothek Font APEX ist erwähnenswert. Darüber hinaus bringt das neue Release zahlreiche neue Funktionen im Detail - wie die Möglichkeit, ein Icon für ein Formularelement oder für die Applikation selbst festzulegen. Eine Aufzählung würde hier zu weit führen; die vollständige Liste findet sich in den Release Notes in der Dokumentation. Besonders erwähnenswert sind die Packaged Applications, die mit der Version 5.1 wiederum erweitert wurden.
Kurz nach Bereitstellung auf dem öffentlichen Demoserver apex.oracle.com, ist das neue Application Express Release 5.1 nun zum Download verfügbar. Nun kann Application Express 5.1 auch in eigenen...
Seit dem 16. Dezember 2016 ist APEX 5.1 auf dem öffentlichen Demoserver apex.oracle.com verfügbar. Damit steht dem Testen der neuen Funktionen nichts mehr im Wege - und natürlich werden sich die Community-Tipps im Jahr 2017 intensiv mit diesen neuen Funktionen beschäftigen. Oft wurde nach dem "editierbaren interactive Report" gefagt - mit dem neuen Interactive Grid ist dies nun Realität. Die Integration von Oracle JET bringt viele neue Diagrammtypen - out of the box. Das Universal Theme wurde erweitert und nochmals verbessert. Vor allem die neue Icon Bibliothek Font APEX ist erwähnenswert. Darüber hinaus bringt das neue Release, wie immer, zahlreiche neue Funktionen im Detail. In diesem Community Tipp geht es jedoch nicht um die neuen Features, sondern um etwas, was sich mit Application Express 5.1 auch für bestehende Anwendungen ändert: asynchrone Dynamic Actions. Dieser Tipp erläutert den Unterschied zwischen synchronen und asynchronen Dynamic Actions, was ich in 5.1 ändert und was für den Entwickler zu tun ist. Wer also schon bislang viel mit Dynamic Actions gearbeitet hat, schaut am besten gleich einmal hinein.
Seit dem 16. Dezember 2016 ist APEX 5.1 auf dem öffentlichen Demoserver apex.oracle.comverfügbar. Damit steht dem Testen der neuen Funktionen nichts mehr im Wege - und natürlich werden sich die...
Nicht selten besteht in einer Geschäftsanwendung der Bedarf, mit Daten zu "spielen", Änderungen zu simulieren und verschiedene Versionen eines Datenbestandes zu verwalten. Solche Simulationen sind quasi eine "langlaufende Transaktion" - Änderungen (eine Simulation) werden zu einem späteren Zeitpunkt komplett angewendet oder zurückgerollt. Für kurze Transaktionszeiträume ist dieses Problem seit langem gelöst - die Oracle Datenbank beherrscht Transaktionen, die nötige Isolation, sowie COMMIT und ROLLBACK seit den frühen Anfängen. Langlaufende Transaktionenen haben jedoch einen anderen Charakter: Sie erstrecken sich über viele Datenbanksitzungen, gegebenenfalls mehrere Anwendungen und auch viele Nutzer. Nur wenigen ist die Tatsache bekannt, dass die Oracle-Datenbank eine Komponente enthält, mit der sich solche Anforderungen umsetzen lassen: Oracle Workspace Manager. Wie Sie diesen in Application Express-Anwendungen einsetzen können, zeigt unser aktueller Tipp.
Nicht selten besteht in einer Geschäftsanwendung der Bedarf, mit Daten zu "spielen", Änderungen zu simulieren und verschiedene Versionen eines Datenbestandes zu verwalten. Solche Simulationen sind...
Ab dem 15. November trifft sich die deutschsprachige Oracle Community zur alljährlichen DOAG-Konferenz in Nürnberg. Application Express ist dort, wie in den Jahren zuvor, ein wichtiges Thema. Im Konferenzplaner bringt die einfache Suche nach APEX bereits 46 Treffer, darunter Vorträge aus dem APEX Entwicklerteam von Joel Kallman oder Patrick Wolf. Aber auch bekannte Sprecher wie Dietmar Aust, Denes Kubicek, Tobias Arnhold und andere sind dabei. In die DOAG-Konferenz eingebettet ist der Oracle Cloud Day, eine eintägige Oracle-Veranstaltung am 15. November rund um das Thema Cloud Computing - hier können APEX-Interessierte erfahren, wie sich Daten aller Art und aus unterschiedlichsten Quellen, mit APEX zusammenfassen und visualisieren lassen. Und das sowohl on Premise als auch in der Cloud. Besonders zu erwähnen ist die 3. APEX Open Mic Night, die am Mittwoch, dem 16. November, im Rahmen der DOAG-Konferenz um 20:30 im Raum "Istanbul" stattfinden wird. Fünf Minuten Redezeit erhalten alle Teilnehmer, um der Gruppe eigene, spannende APEX-Projekte zu präsentieren und Erfahrungen auszutauschen. Bier und Fingerfood stehen bereit – einzige Voraussetzung: gute Laune. Auch nach der DOAG-Konferenz gibt es Gelegenheiten zum Informationsaustausch. So treffen sich die APEX-Meetup-Gruppen in München und Frankfurt am Freitag, dem 18. November. Das ist besonders für diejenigen, die nicht an der DOAG Konferenz teilnehmen können, eine gute Gelegenheit zum Austausch und zur Diskussion. Für 2017 kündigen sich die ersten Veranstaltungen bereits an. Im Januar 2017 gibt es eine Roadshow zum Thema Anwendungsmodernisierung mit Application Express. Erfahren Sie von den Experten von Oracle und der MT AG in München, Frankfurt, Ratingen oder Hamburg, wie sich "Legacy" Anwendungen mit APEX modernisieren lassen. Dabei gibt es natürlich auch Informationen zum neuen Release 5.1 - die Veranstaltung ist kostenlos, also am besten gleich anmelden. Und schließlich steht für Mai 2017 die dritte APEX Connect Konferenz auf der Agenda. Wie im Vorjahr wird sie in Berlin stattfinden und das Treffen für alle (nicht nur) deutschsprachigen APEX-Entwickler sein. Derzeit läuft noch der Call for Papers. Bis zum 21. November können noch Vorträge eingereicht werden. Das lohnt sich: Vortragende haben freien Eintritt zur Konferenz.
Ab dem 15. Novembertrifft sich die deutschsprachige Oracle Community zur alljährlichen DOAG-Konferenz in Nürnberg. Application Express ist dort, wie in den Jahren zuvor, ein wichtiges Thema. Im...
Die Sammlung an Packaged Applications, die mit Application Express ausgeliefert wird, wächst mit jedem Release. Im aktuellen Release 5.0.4 finden sich 35 Packaged Apps (und mit dem kommenden Release 5.1 werden es, aller Wahrscheinlichkeit nach, nochmals mehr werden). In diesen Packaged Applications können sich wahre Schätze verbergen; sie zeigen nicht nur, wie man Application Express Komponenten richtig ausnutzen kann; in vielen Packaged Applications sind darüber hinaus Plug-Ins enthalten, die man einfach in seine Anwendung übernehmen kann. Dieser Community Tipp stellt vor, was es mit Packaged Applications auf sich hat und zeigt Ihnen drei der in den Packaged Applications vorhandenen Plug-Ins.Kennen Sie schon den Mini-Kalender, die Status-Liste oder den Sunburst Chart? Nein? Dann gleich den aktuellen Tipp lesen und ausprobieren.
Die Sammlung an Packaged Applications, die mit Application Express ausgeliefert wird, wächst mit jedem Release. Im aktuellen Release 5.0.4 finden sich 35 Packaged Apps (und mit dem kommenden Release...
Mit APEX 5.0 wurde nicht nur das Universal Theme eingeführt, sondern auch die Theme Styles. Ein Theme Style ist, vereinfacht gesagt, ein Satz von CSS-Dateien, die mit den HTML-Templates des Themes kombiniert werden. Während die Templates im Theme die Seitenstruktur bestimmen, bestimmt der Theme Style Eigenschaften wie die Farbgebung, Schriftarten oder Ränder. In der Early Adopter Version von APEX 5.1, die seit einiger Zeit auf apexea.oracle.com zum Testen bereitsteht, können Sie die für APEX 5.1 geplanten neuen Features testen. Auch bei den Theme Styles hat sich einiges getan. So lässt sich der Theme Style nun auf Ebene des Users oder der Session - und nicht mehr nur auf Ebene der Anwendung setzen. Unterschiedliche Endanwender können die Anwendung so mit unterschiedlichen Theme Styles sehen. Sogar der gleiche Endanwender kann - je nach Situation - einen anderen Theme Style präsentiert bekommen. Wie das geht, verrät unser aktueller Community-Tipp.
Mit APEX 5.0 wurde nicht nur das Universal Theme eingeführt, sondern auch die Theme Styles. Ein Theme Style ist, vereinfacht gesagt, ein Satz von CSS-Dateien, die mit den HTML-Templates des...
Seit dem 16. September - und rechtzeitig zur Oracle Open World wurde das zweite Application Express Early Adopter Release freigegeben. Wie schon beim EA-1 können Sie einfach einen Workspace beantragen und mit dem Testen loslegen. Natürlich hat sich das zweite Early Adopter Release gegenüber dem ersten weiterentwickelt - vor allem das neue Interactive Grid ist nun wesentlich vollständiger als zuvor. Aber auch in anderen Komponenten gibt es Neuerungen: So bietet der Application Express-Kalender nun die oft nachgefragte Möglichkeit an, tiefer in die Konfiguration einzugreifen und alle Möglichkeiten des zugrundeliegenden jQuery FullCalendar zu nutzen. Die Sammlung der Packaged Apps wurde erweitert - schauen Sie sich mal die Competetive Analysis an. Darüber hinaus gibt es dieses Mal einen kleinen Tipp zum Thema SQL NULL. Lesen Sie in wenigen Minuten, welche Besonderheiten SQL NULL vor allem beim Vergleichen in einem IF-THEN Block mit sich bringt - schließlich betrifft dies nicht nur APEX-Entwickler eigentlich jeden Tag.
Seit dem 16. September - und rechtzeitig zur Oracle Open World wurde das zweite Application Express Early Adopter Release freigegeben. Wie schon beim EA-1 können Sie einfach einen Workspace beantragen...
Ein APEX-Bericht mit einem Suchfeld ist nichts Besonderes; interaktive Berichte enthalten diese aus dem Stand; klassische Berichte sind schnell damit ausgestattet. Endanwender können dann sehr bequem in den Daten suchen. Das funktioniert in den meisten Fällen ganz wunderbar; hat aber Grenzen. So ist eine einfache LIKE-Suche in großen Datenbeständen oft inperformant. Vor allem aber fehlt die fehlertolerante Suche - fremdsprachige Namen oder Begriffe sowie Sonderzeichen bereiten dem Endbenutzer oft Probleme. Die gute Nachricht ist, dass die Datenbank mit der Volltext-Engine Oracle Text Antworten auf diese Fragen hat. Oracle Text kann nicht nur zur Suche in Dokumentbeständen, sondern auch zur Suche in relationalen Tabellendaten genutzt werden. Wie man einen solchen Index aufsetzt und in einer Application Express-Anwendung nutzen kann, zeigt dieser Community-Tipp.
Ein APEX-Bericht mit einem Suchfeld ist nichts Besonderes; interaktive Berichte enthalten diese aus dem Stand; klassische Berichte sind schnell damit ausgestattet. Endanwender können dann sehr bequem...
Sicherheit ist für alle Web-Anwendungen ein wichtiges Thema - so auch für Application Express. In diesem Tipp geht es um das Thema Cross Site Scripting (XSS) im Zusammenspiel mit Berichten (Reports). In der Praxis werden Berichte vielfältig eingesetzt, und oft werden die Darstellungsmöglichkeiten des Browsers voll ausgenutzt. In diesem Tipp zeigen wir Ihnen, wie Sie die Spalten Ihrer Berichte dynamisch formatieren können, ohne dass Cross-Site-Scriting Lücken entstehen. Application Express bringt alles nötige mit - schauen Sie am besten gleich rein.
Sicherheit ist für alle Web-Anwendungen ein wichtiges Thema - so auch für Application Express. In diesem Tipp geht es um das Thema Cross Site Scripting (XSS) im Zusammenspiel mit Berichten (Reports)....
Eins der wichtigsten neuen Features in APEX 5.1 ist mit Sicherheit das neue Interactive Grid - in der APEX 5.1 Early Adopter Instanz können Sie es auch gleich selbst ausprobieren. In diesem Tipp stellen wir Ihnen das neue Feature vor und zeigen die ersten Schritte. Erfahren Sie, wie Sie Ihrer APEX-Anwendungsseite ein Interactive Grid hinzufügen, wie Sie es editierbar machen und wie Sie mehrere Interactive Grids zu Master-Detail Formularen kombinieren können. Von dort aus können Sie dann leicht selbst weiter experimentieren
Eins der wichtigsten neuen Features in APEX 5.1 ist mit Sicherheit das neue Interactive Grid - in der APEX 5.1 Early Adopter Instanz können Sie es auch gleich selbst ausprobieren. In diesem Tipp stelle...
Ab sofort steht APEX 5.1 Early Adopter 1 zum Testen auf apexea.oracle.com bereit. Das neue Release bringt viele, interessante neue Funktionen mit (Übersicht), die Sie nun ausprobieren können. Im Zentrum steht mit Sicherheit das neue Interactive Grid, welches tabellarische Formulare völlig neu definiert: Ein Interactive Grid kann nicht nur auf eine Tabelle oder SQL-Abfrage erzeugt werden; auch Master-Detail, Master-Detail-Detail oder Parent-Child-Grandchild Beziehungen werden unterstützt. Darüber hinaus hat sich bei den APEX-Diagrammen eine Menge getan: Oracle JET Charts halten Einzug in Application Express. Erleben Sie moderne, responsive Diagramme auf Basis von HTML5 - auf dem Desktop als auch auf mobilen Geräten; und quasi "nebenher" bringen die JET-Charts auch noch neue Diagrammtypen mit. Neben diesen größeren Neuerungen gibt es, wie immer, eine Menge neuer Funktionen und Verbesserungen im Detail. Also am besten gleich einen Workspace beantragen und loslegen.
Ab sofort steht APEX 5.1 Early Adopter 1 zum Testen auf apexea.oracle.com bereit. Das neue Release bringt viele, interessante neue Funktionen mit (Übersicht), die Sie nun ausprobieren können. Im...
Hat man APEX-Anwendungsseiten mit vielen Regionen, so entsteht oft der Wunsch, etwas aufzuräumen, und bestimmte Regionen nur per Klick sichtbar zu machen. Seit der Version 5.0 bietet APEX hierfür mehrere Möglichkeiten an - neben dem Region Display Selector, der auch in den älteren Themes zur Verfügung steht, bietet das Universal Theme noch den Tabs Container und den Carousel Container an. Unser aktueller Community-Tipp beschreibt die Möglichkeiten und deren Unterschiede. Schauen Sie gleich rein.
Hat man APEX-Anwendungsseiten mit vielen Regionen, so entsteht oft der Wunsch, etwas aufzuräumen, und bestimmte Regionen nur per Klick sichtbar zu machen. Seit der Version 5.0 bietet APEX hierfür...
Mit der URL-Syntax arbeitet man als APEX-Entwickler eigentlich täglich, ständig setzt man f?p= URLs zusammen. Der grundsätzliche Aufbau einer APEX-URL ist zwar den meisten APEX-Entwicklern hinreichend bekannt, es lohnt sich aber dennoch, ab und zu mal genauer hinzusehen: Auch die APEX-URL-Syntax enthält weniger bekannte (und selten genutzte) Parameter und Möglichkeiten.Wissen Sie, wozu man den Backslash bei der Übergabe von APEX-Elementen verwenden kann ...?Kennen Sie die URL-Parameter P_TRACE oder X01 ..?Unser aktueller Community Tipp beschäftigt sich mit der URL-Syntax - schauen Sie gleich rein.
Mit der URL-Syntax arbeitet man als APEX-Entwickler eigentlich täglich, ständig setzt man f?p= URLs zusammen. Der grundsätzliche Aufbau einer APEX-URL ist zwar den meisten APEX-Entwicklern...
Das Application Express ein metadatengetriebenes Werkzeug ist, ist den meisten Entwicklern hinreichend bekannt: Alle Details einer APEX-Anwendung werden im Repository in Tabellen abgespeichert - zur Laufzeit werden die Anwendungsseiten anhand dieser Metadaten erstellt. APEX stellt, wie die Datenbank selbst, Dictionary Views bereit. Aus diesen lassen sich alle Informationen zu einer Anwendung mit SQL auslesen und verarbeiten. In unserem aktuellen Community-Tipp wird gezeigt, wie man das APEX-Dictionary, in einer APEX-Anwendung, zum Erzeugen dynamischer Komponenten nutzen kann. So wird vorgestellt, wie man einen Bericht, basierend auf den Metadaten eines anderen APEX-Berichts erzeugen kann. So wird es möglich, dem Endanwender eine Spaltenauswahl für einen klassischen(!) Bericht zu präsentieren. Schauen Sie am besten gleich einmal rein.
Das Application Express ein metadatengetriebenes Werkzeug ist, ist den meisten Entwicklern hinreichend bekannt: Alle Details einer APEX-Anwendung werden im Repository in Tabellen abgespeichert - zur...
Wenn APEX-Installationen im Rechenzentrum betrieben werden, entsteht immer häufiger die Notwendigkeit, Anwendungsexporte nicht mehr über die APEX-Oberfläche, sondern skriptgesteuert durchzuführen. Ein Grund dafür kann bspw. sein, dass das die APEX-Entwicklungsumgebung auf dem Produktivsystem entfernt wurde (Runtime-Only-Install). Neue Anwendungen müssen also auf einem anderen Wege installiert werden. Auch kann es interessant sein, die Anwendungen des Entwicklungssystems (bspw. jeden Abend) automatisiert zu exportieren und (zum Beispiel) in das Versionskontrollsystem einzustellen. Es ist nicht jedem bekannt, aber APEX bringt die nötigen Werkzeuge bereits mit. Welche Werkzeuge das sind, wie man sie nutzt und welche Vorbereitungen nötig sind, verrät unser aktueller Community-Tipp.
Wenn APEX-Installationen im Rechenzentrum betrieben werden, entsteht immer häufiger die Notwendigkeit, Anwendungsexporte nicht mehr über die APEX-Oberfläche, sondern skriptgesteuert durchzuführen. Ein...
Eine Kalenderansicht gehört zum Standardumfang vieler Anwendungen - dementsprechend stellt APEX seit der ersten Version einen Kalender bereit. Mit APEX 5.0 wurde dieser allerdings gründlich modernisiert: APEX setzt nun auf dem populären jQuery-Plugin FullCalendar auf und stellt dem Entwickler eine Komponente bereit, die es erlaubt, mit wenig Aufwand eine Kalenderansicht mit modernem Look & Feel bereitzustellen.Im ersten Teil des Tipp wurde der Kalender vorgestellt und es wurde gezeigt, wie man mit Hilfe von SQL-Funktionen wiederkehrende Ereignisse darstellen kann. In diesem Teil, der direkt auf dem ersten Teil aufbaut, zeigen wir, wie Sie die Kalenderansicht noch individueller gestalten oder die jQuery FullCalendar API direkt nutzen können.
Eine Kalenderansicht gehört zum Standardumfang vieler Anwendungen - dementsprechend stellt APEX seit der ersten Version einen Kalender bereit. Mit APEX 5.0 wurde dieser allerdings...
Im Frühjahr 2016 finden einige, nicht nur für APEX-Entwickler interessante, Veranstaltungen rund um Entwicklerthemen statt. Am 7. und 8. März findet in Rotterdam die 7. APEX World Konferenz - mit einem umfangreichen englischen Vortragsprogramm statt. Die APEX World hat sich in den letzten Jahren zu einer recht großen Konferenz entwickelt - allein im letzten Jahr 2015 nahmen etwa 400 Personen teil. Auch das APEX-Entwicklerteam ist mit Marc Sewtz, Hilary Farrell und Anthony Rayner vor Ort.https://www.ogh.nl/apex/ Für die APEX Startup Workshops am 15. und 16. März in Ratingen und Dreieich sind noch einige Plätze frei. Diese Workshops richten sich an APEX-Einsteiger: An einem Tag erfährt man alles, was man zum Start mit APEX wissen muss. Vom 26. bis zum 28. April findet die zweite APEX Connect Konferenz statt. Nach dem großen Erfolg im letzten Jahr geht die APEX Connect dieses Mal über drei Tage - ein Tag davon steht ganz im Zeichen von PL/SQL. Die Agenda ist wiederum hochkarätig und mit Top-Sprechern aus der deutschen und internationalen APEX-Community besetzt. So kann man sich jetzt schon auf die Keynote von Mike Hichwa, dem "Vater" und APEX-Entwicker der ersten Stunde, freuen. Der Frühbuchertarif läuft bis zum 15. März - also am besten zeitnah anmelden.http://apex.doag.org Während der APEX Connect werden die Gewinner der APEX Dashboard Competition gekürt. In diesem Wettbewerb ist ein Dataset vorgegeben und die Aufgabe ist es, ein modernes, gut aussehendes und am besten auch "Cooles" Dashboard zu erstellen. Wer bis zum Einsendeschluß am 1. April ein APEX-Dashboard abgibt, hat die Chance auf ein Apple iPad Pro!http://apexcompetition.org Wer am 23. und 24. Februar Zeit hat, kann auf dem DOAG DevCamp an einer etwas anderen Entwicklerkonferenz teilnehmen. Eine festgelegte Agenda mit Vorträgen gibt es nicht - diese wird von den Teilnehmern zu Beginn der Veranstaltung spontan diskutiert und zusammengestellt. Da es dann auch keine vorbereiteten Folien gibt, ergeben sich meist sehr lebhafte und ergiebige Diskussionen und man erhält völlig neue Impulse und Eindrücke. Das DOAG Devcamp findet in Bonn statt - Anmeldungen sind noch möglich.http://barcamp.doag.org Nicht zu vergessen sei die Online-Reihe Modern Application Development mit Oracle-Technologie, die seit Januar und noch bis zum März läuft. Jede Woche wird eine neue Online-Session zu modernen Entwicklertechnologien wie JSON, REST, Node.js, Document Stores, NoSQL-Datenbanken und anderen freigegeben. Einige Sessions sind schon öffentlich - einfach ein wenig Zeit nehmen und reinschauen.
Im Frühjahr 2016 finden einige, nicht nur für APEX-Entwickler interessante, Veranstaltungen rund um Entwicklerthemen statt. Am 7. und 8. März findet in Rotterdam die 7. APEX World Konferenz - mit einem...
Eine Kalenderansicht gehört zum Standardumfang vieler Anwendungen - dementsprechend stellt APEX seit der ersten Version einen Kalender bereit. Mit APEX 5.0 wurde dieser allerdings gründlich modernisiert: APEX setzt nun auf dem populären jQuery-Plugin FullCalendar auf. Die alte Kalender-Komponente steht noch als Legacy Calendar bereit, sollte aber nur in Ausnahmefällen verwendet werden. Das Erstellen einer Kalender-Komponente ist genauso einfach wie bisher: Als Datenquelle dient eine SQL-Abfrage und mit Einstellungen wird die Kalenderansicht konfiguriert.Dieser Tipp stellt das Arbeiten mit dem APEX Kalender vor: Zunächst wird eine einfache Kalenderregion erstellt, diese wird dann um wiederkehrende Ereignisse erweitert und schließlich wird Drag & Drop für Ereignisse realisiert.
Eine Kalenderansicht gehört zum Standardumfang vieler Anwendungen - dementsprechend stellt APEX seit der ersten Version einen Kalender bereit. Mit APEX 5.0 wurde dieser allerdings...
Je mehr APEX für unternehmenskritische Anwendungen eingesetzt wird, desto wichtiger wird die Verfügbarkeit der APEX-Installation. Da APEX in der Oracle-Datenbank läuft, können alle Hochverfügbarkeitstechnologien derselben genutzt werden. So lässt sich APEX fast ohne Veränderung in einer RAC-Datenbank betreiben (Real Application Clusters). Auch die Verwendung einer Standby-Datenbank mit Oracle Data Guard für ein APEX-System ist völlig unproblematisch. Letztere soll als Beispiel für diesen Tipp dienen, analog dazu lässt sich aber auch die Kombination von RAC und Data Guard implementieren. Wir bedanken uns bei Niels de Bruijn, Frank Gerasch und Sebastian Solbach für wertvollen Input und Mitarbeit an diesem Tipp.
Je mehr APEX für unternehmenskritische Anwendungen eingesetzt wird, desto wichtiger wird die Verfügbarkeit der APEX-Installation. Da APEX in der Oracle-Datenbank läuft, können alle...
Möchte mab mit einer APEX-Anwendung oder mit PL/SQL Code auf das Netzwerk zugreifen, so benötigt man schon seit der Version 11g zusätzliche Privilegien; es müssen sog. Netzwerk-ACL eingerichtet werden. In Oracle12c wurde neue Syntax zum Einrichten der Netzwerk-ACL eingeführt.Die alte 11g-Syntax (Community Tipp) funktioniert noch, so dass alte Skripte weiterhin laufen. Allerdings bringt Oracle12c neben der veränderten Syntax eine wesentlich feiner granulare Erteilung von Netzwerkrechten: so wird nicht einfach nur ein Host und ein Port freigeschaltet, vielmehr können auch einzelne Netzwerkprotokolle wie HTTP oder SMTP freigegeben werden. Allein aus diesem Grund ist sehr zu empfehlen, alte Skripte und Netzwerk-Grants aus Oracle11g-Zeiten auf die neue Syntax, die in diesem Tipp beschrieben wird, zu migrieren.
Möchte mab mit einer APEX-Anwendung oder mit PL/SQL Code auf das Netzwerk zugreifen, so benötigt man schon seit der Version 11g zusätzliche Privilegien; es müssen sog. Netzwerk-ACL eingerichtet...
Eins der weniger bekannten neuen Features in APEX 5.0 ist die Möglichkeit, einen LDAP- oder Single Sign On Server zum Login am APEX Workspace zu nutzen. Für APEX-Anwendungen selbst ist dies schon immer möglich: man kann seine Anwendung mit einem beliebigen Authentifizierungsschema versehen, so dass keine eigene Passwortverwaltung mehr nötig ist. Genau dies ist jetzt auch für APEX-Workspaces möglich - standardmäßig ist dort Application Express Accounts als Authentifierungsverfahren eingetragen. Dies kann nun auf Database User, einen LDAP-Server, auf Oracle Single Sign On oder auf ein anderes Verfahren umgestellt werden Es gibt allerdings einige Dinge zu beachten; was genau, beschreibt unser aktueller Tipp.
Eins der weniger bekannten neuen Features in APEX 5.0 ist die Möglichkeit, einen LDAP- oder Single Sign On Server zum Login am APEX Workspace zu nutzen. Für APEX-Anwendungen selbst ist dies schon immer...
Ab 1. Dezember öffnen wir jeden Tag ein Türchen für die Oracle-Community. Jeden Tag gibt es ein kurzes Youtube Video (wenige Minuten) zu unterschiedlichsten Datenbank Technologien in englischer oder deutscher Sprache. Zu Wort kommen Produktmanager, Entwickler und die Oracle-Experten aus Deutschland. Am besten gleich reinsehen und die Youtube-Playlist schon mal abonnieren. Am 1. Dezember geht's los und die Videos werden sichtbar. Die Speaker verraten wir schon jetzt Tammy Bednar, Andy Rivenes, Markus Michalewicz, Kellyn Pot'Vin-Gorman, Patrick Wolf, Jason Straub, Jagan Athreya, Heinz-Wilhelm Fabry, David Peake, Carsten Czarski, Ralf Durben, Matthias Kratz, Sebastian Solbach, Frank Schneede, Hermann Bär, Bryn Llewelyn, Manuel Hoßfeld und Ulrike Schwinn. Man sieht: auch für Entwickler ist einiges dabei - es lohnt sich also. Schauen Sie ab 1. Dezember mal rein.
Ab 1. Dezember öffnen wir jeden Tag ein Türchen für die Oracle-Community. Jeden Tag gibt es ein kurzes Youtube Video (wenige Minuten) zu unterschiedlichsten Datenbank Technologien in englischer oder...
Cloud Computing ist in aller Munde - und die Oracle-Datenbank und damit Application Express stehen seit einiger Zeit in der Oracle Cloud zur Verfügung. Entwickler können aus der Oracle Cloud schnell und einfach an eine laufende Datenbank oder einen APEX-Workspace kommen. Vergleicht man dies mit dem Alltag im Unternehmen, wo für eine Datenbank oder ein Schema nicht selten Tage oder Wochen vergehen, so lässt sich erahnen, wie flexibel und schnell man mit der Cloud werden kann. In der Cloud arbeitet man mit exakt der gleichen Datenbank wie "zu Hause" - also sind auch APEX-Anwendung in der Cloud genauso wie on Premise. Dieser Community-Tipp stellt die Datenbank-Services der Oracle Cloud vor - schauen Sie mal rein.
Cloud Computing ist in aller Munde - und die Oracle-Datenbank und damit Application Express stehen seit einiger Zeit in der Oracle Cloud zur Verfügung. Entwickler können aus der Oracle Cloud schnell...
Die alljährliche DOAG-Konferenz in Nürnberg steht wieder vor der Tür. Vom 17. bis zum 19. November heißt es wieder: Drei Tage lang Oracle "pur". Und auch dieses Jahr ist APEX wieder ein wichtiges Thema auf der DOAG. Im Raum Istanbul finden wieder die APEX-Vorträge statt. Bekannte Sprecher wie Patrick Wolf, Peter Raganitsch, Jürgen Schuster, Oliver Lemm, Dietmar Aust und viele andere sind hier anzutreffen. Am Abend des 18. November (Mittwoch) findet - ebenfalls im Raum Istanbul - wieder die APEX Open Mic Night statt. Wie schon im letzten Jahr ist "das Mikrofon offen" - das heißt, jeder aus der Community kann 10 Minuten lang sein APEX-Lieblingsprojekt vostellen - am besten als Demo. Also: die APEX-Fans treffen sich Mittwochs nach dem Essen im Raum "Istanbul". Das Warm-Up der APEX-Community findet montags vor der Konferenz in Nürnberg im "Barfüßer" statt. Wer schon am Vorabend da ist und sich austauschen möchte, meldet sich am besten hier an. Wer in München und Umgebung wohnt, kann sich am Freitag nach der Konferenz beim APEX Meetup in München austauschen; das ist vor allem für die interessant, die nicht zur Konferenz kommen konnten. David Peake vom APEX Development-Team ist ebenfalls dabei. Wegen der Platzreservierung bitte hier anmelden. Doch die DOAG ist nicht alles. Seit dem 19. Oktober gibt es eine neue Webseite der weltweiten APEX Community: apex.world. Wer zu den Entwicklungen zu APEX stets auf aktuellem Stand bleiben möchte, dem sei diese Seite wärmstens empfohlen. Natürlich bleibt die deutschsprachige APEX-Community-Seite mit Tipps, Tricks und How Tos alle 14 Tage erhalten. Wer schließlich als APEX-Entwickler ein wenig "über den Tellerrand" schauen und sich über moderne Entwicklungstrends informieren möchte, der kann ab Januar 2016 an der deutschsprachigen Kampagne "Moderne Anwendungsentwicklung im Unternehmen" teilnehmen. Themen wie JSON, REST, HTML5, Node.js und andere werden - online - von Dietmar Aust, Kai Donato, Rainer Willems, Karin Patenge, Beda Hammerschmidt und Carsten Czarski in deutscher Sprache vorgestellt. Eine Live-Diskussion (als Webinar) rundet die Reihe ab. Wenn Sie über erscheinende Videos und Neuigkeiten zum Thema informiert werden sollen, melden Sie sich an (Rechts oben auf Anmelden klicken) oder folgen Sie uns auf Twitter: @ModernAppDev12c. #letswreckthistogether
Die alljährliche DOAG-Konferenz in Nürnberg steht wieder vor der Tür. Vom 17. bis zum 19. November heißt es wieder: Drei Tage lang Oracle "pur". Und auch dieses Jahr ist APEX wieder ein wichtiges...
Mit dem Release 5.0 hat APEX bekanntlich eine Reihe von PL/SQL Paketen mitgebracht. Eines davon ist APEX_JSON. APEX_JSON erlaubt sowohl das Generieren als auch das Parsen von JSON mit PL/SQL. Schaut man genauer in das Paket hinein, so stellt man fest, dass beides auf unterschiedliche Art und Weise gelöst werden kann - so kann man beim JSON-Parsing jedes Attribut einzeln kodieren, oder man wählt einen generischen Ansatz über XMLTYPE. Im Blog SQL und PL/SQL in Oracle sind zu APEX_JSON zwei Postings erschienen. APEX_JSON ohne APEX: JSON parsen mit SQL und PL/SQL APEX_JSON ohne APEX: JSON erzeugen mit SQL und PL/SQL Für das JSON-Parsing stehen Ihnen ab Oracle 12.1.0.2 die wesentlich schnelleren nativen SQL/JSON-Funktionen bereit; auf einer 12c-Datenbank sollten Sie diese, wo möglich, verwenden.
Mit dem Release 5.0 hat APEX bekanntlich eine Reihe von PL/SQL Paketen mitgebracht. Eines davon ist APEX_JSON. APEX_JSON erlaubt sowohl das Generieren als auch das Parsen von JSON mit PL/SQL. Schaut...
Viele APEX-Komponenten haben eine SQL-Anfrage als Basis. Ob es ein klassischer oder interaktiver Bericht ist, ein Kalender oder ein Diagramm; immer ist eine SQL-Abfrage die Datenquelle. Das bedeutet auch, dass in diesen Komponenten der ganze SQL-Funktionsumfang genutzt werden kann. Ob Analytische oder Linguistische SQL-Funktionen, Volltextsuche, Räumliche Abfragen (Geodaten) oder XML und JSON-Funktionen - der Funktionsumfang ist wirklich eindrucksvoll. In diesem Tipp geht es um die SQL MODEL-Klausel, die es, kurz gesagt, erlaubt, Spreadsheet-Formeln in einer SQL-Abfrage zu verwenden. Damit wird es möglich, einzelne Spalten und Zeilen in einer SQL-Ergebnismenge wie in einer Excel-Formel anzusprechen und ggfs. zu verändern. Das sei am besten anhand eines Beispiels erläutert - Ausgangspunkt ist eine einfache SQL-Abfrage auf die Tabelle EMP.
Viele APEX-Komponenten haben eine SQL-Anfrage als Basis. Ob es ein klassischer oder interaktiver Bericht ist, ein Kalender oder ein Diagramm; immer ist eine SQL-Abfrage die Datenquelle. Das bedeutet...
Dass APEX eine ganze Reihe von Packaged Applications mitbringt, ist bekannt. Nicht überall bekannt ist, dass in diesen Anwendungen Plug-Ins zum Einsatz kommen, die Sie exportieren und in Ihren eigenen Anwendungen verwenden können. Matt Mulvaney von Explorer (UK) Ltd. hat eine sehr gute Zusammenstellung der in den Packaged Applications vorhandenen Plug-Ins veröffentlicht. Schauen Sie mal rein; mit Sicherheit sind Plug-Ins dabei, die Sie in der Praxis gebrauchen können.
Dass APEX eine ganze Reihe von Packaged Applications mitbringt, ist bekannt. Nicht überall bekannt ist, dass in diesen Anwendungen Plug-Ins zum Einsatz kommen, die Sie exportieren und in Ihren...
Das PL/SQL-Paket APEX_UTIL taucht in Blogs, Howto-Dokumenten und in der Dokumentation immer wieder auf - und wenn man es sich mal ansieht, entdeckt man eine Fülle von Prozeduren und Funktionen - manche kann man direkt verwenden, andere sind im Grunde genommen nur für APEX selbst gedacht. Es ist über den Lauf der Zeit gar nicht so einfach, den Überblick zu behalten: Mit jedem Release kommen einige Prozeduren und Funktionen neu dazu, andere werden überflüssig. Unser aktueller Tipp gibt Hilfestellung und erläutert, ohne Anspruch auf Vollständigkeit, einige der in APEX_UTIL enthaltenen Funktionen und Prozeduren.
Das PL/SQL-Paket APEX_UTIL taucht in Blogs, Howto-Dokumenten und in der Dokumentation immer wieder auf - und wenn man es sich mal ansieht, entdeckt man eine Fülle von Prozeduren und Funktionen - manche...
Der Umgang mit ZIP-Archiven ist etwas ganz alltägliches - und so ist der Wunsch naheliegend, auch in Application Express-Anwendungen mit ZIP-Archiven umgehen zu können. So ist es denkbar, ein ZIP-Archiv aus mehreren Dokumenten (BLOBs) zu erstellen und via APEX_MAIL als Email zu versenden. Eine andere Anwendung wäre das Hochladen eines ZIP-Archivs, welches dann von der Anwendung ausgepackt wird. Ab APEX 5.0 ist der Umgang mit ZIP-Archiven denkbar einfach geworden - denn das PL/SQL Paket APEX_ZIP bringt die nötige Funktionalität mit und ist im APEX-Standardumfang enthalten. Das Einbinden zusätzlicher Bibliotheken ist, auch in Oracle11g, nicht mehr nötig. Lesen Sie in diesem Community-Tipp, wie Sie APEX_ZIP mit wenigen Handgriffen verwenden und ZIP-Archive in Ihren APEX-Applikationen nutzen können.
Der Umgang mit ZIP-Archiven ist etwas ganz alltägliches - und so ist der Wunsch naheliegend, auch in Application Express-Anwendungen mit ZIP-Archiven umgehen zu können. So ist es denkbar, ein...
Seit dem 15. Juli 2015 steht das APEX Patchset 5.0.1 zur Verfügung. Wie immer laden die Nutzer einer 5.0-Installation den Patch Nr. 21364820 von My Oracle Support herunter und wenden ihn gemäß der beliegenden Readme-Datei an. Nutzer einer älteren APEX-Installation laden die Vollinstallation APEX 5.0.1 aus dem OTN herunter und installieren diese normal. Die Patch Set Notes informieren über die Änderungen im Detail; beachten Sie bitte auch die aktuellen Known Issues. Das Patchset beinhaltet vor allem Bugfixes - wenigstens ein neues Feature hat es dann aber doch noch ins Patchset geschafft: Die Packaged Application Sample Charts enthält auf Seite 16 einen neuen Chart-Typen: D3 Collapsible Tree - auf apex.oracle.com können Sie gleich reinschauen.
Seit dem 15. Juli 2015 steht das APEX Patchset 5.0.1 zur Verfügung. Wie immer laden die Nutzer einer 5.0-Installation den Patch Nr. 21364820 von My Oracle Support herunter und wenden ihn gemäß der...
Wie man Dateien in eigene APEX-Tabellen hochladen kann, wurde bereits in einem Community-Tipp veröffentlicht. Heute beschäftigen wir uns mit der anderen Seite, nämlich den Möglichkeiten, Dateien aus Tabellen zum Download anzubieten oder einfach nur in der Webseite anzuzeigen. Hierzu stellt Application Express zwei Varianten bereit: Das out-of-the-box vorhandene BLOB-Handling erlaubt, es Download-Links bereitzustellen, ohne auch nur eine Zeile programmieren zu müssen. Geht man "manuell" vor, so eröffnen sich wesentlich umfangreichere Möglichkeiten. Mehr Details dazu finden Sie im aktuellen Community-Tipp. Schauen Sie gleich rein.
Wie man Dateien in eigene APEX-Tabellen hochladen kann, wurde bereits in einem Community-Tipp veröffentlicht. Heute beschäftigen wir uns mit der anderen Seite, nämlich den Möglichkeiten, Dateien...
Dass Dateien mit einer APEX-Anwendundung in Tabellen hochgeladen werden müssen, ist eine gängige Anforderung. Und seit den ersten Versionen von APEX hat sich hier auch eine ganze Menge getan - speziell in APEX 5.0 wurden nochmals Neuerungen beim Datei-Upload eingeführt. Während man früher den Prozess komplett "von Hand" programmieren musste, bietet APEX heute fertige Komponenten an - einfache Fälle lassen sich damit ohne PL/SQL-Programmierung lösen. In diesem Tipp stellen wir beide Varianten vor - neben der einfachen auch die "manuelle Programmierung"; denn für "ausgefallene" Anforderungen wird diese immer noch gebraucht. Zum Community-Tipp.
Dass Dateien mit einer APEX-Anwendundung in Tabellen hochgeladen werden müssen, ist eine gängige Anforderung. Und seit den ersten Versionen von APEX hat sich hier auch eine ganze Menge getan -...
Die aktuelle Datenbankversion Oracle12c erlaubt es Ihnen mit Oracle Multitenant, aus einer Datenbankinstallation mehrere sog. Pluggable Databases bereitzustellen. Jede Pluggable Database ist eine vollwertige Oracle-Datenbank mit eigenem DBA-Account und isoliert von den anderen Pluggable Databases. Mit der auf APEX basierenden Pluggable Database Self Service Applikation können Sie solche Pluggable Databases (PDB) im Selbstbedienungsverfahren bereitstellen. Die APEX-Anwendung erlaubt es einem Anwender, sich anzumelden und eine PDB per Mausklick zu erstellen oder wieder zu zerstören. Einen einfacheren Weg, Datenbanken, zum Beispiel für APEX-Entwickler, bereitzustellen, gibt es nicht. Die können die Pluggable Database Self Service Applikation aus dem OTN herunterladen. Das beigefügte Readme.pdf beschreibt die Installation. Probieren Sie es aus!
Die aktuelle Datenbankversion Oracle12c erlaubt es Ihnen mit Oracle Multitenant, aus einer Datenbankinstallation mehrere sog. Pluggable Databases bereitzustellen. Jede Pluggable Database ist...
Das in APEX 5.0 neue Universal Theme bietet Ihnen völlig neue Möglichkeiten zur Gestaltung des Anwendungslayouts. Ohne dass Sie auch nur eine Zeile Javascript schreiben müssen, können Sie einen Region Display Selector, einen Maximize Button oder eine Diaschau implementieren. In diesem Tipp erfahren Sie, was Sie alles mit einfachen APEX-Regionen anstellen können, indem Sie die von APEX bereitgestellten Template Options verändern.
Das in APEX 5.0 neue Universal Theme bietet Ihnen völlig neue Möglichkeiten zur Gestaltung des Anwendungslayouts. Ohne dass Sie auch nur eine Zeile Javascript schreiben müssen, können Sie einen Region...
Das neue Universal Theme ist eine der wichtigsten Neuerungen in APEX 5.0 - APEX-Anwendungen, die es verwenden, sehen "aus dem Stand" modern aus. Sie profitieren automatisch von Technologien wie Responsive Web Design, Vektorgrafiken, HTML5 und CSS3 - ohne dass Sie sich im Detail damit auseinandersetzen müssen. Doch wie bringt man eine bestehende Anwendung aus APEX 4.2 zum Universal Theme ...? Nach dem Upgrade auf APEX 5.0 sieht diese zunächst genauso aus wie vorher - um das Layout zu ändern, müssen Sie etwas tun.Der neue APEX Universal Theme Migration Guide führt Sie Schritt für Schritt durch diesen Vorgang und enthält Informationen zu allem, was man für eine Migration zum Universal Theme wissen muss. Schauen Sie am besten gleich mal rein.
Das neue Universal Theme ist eine der wichtigsten Neuerungen in APEX 5.0 - APEX-Anwendungen, die es verwenden, sehen "aus dem Stand" modern aus. Sie profitieren automatisch von Technologien...
Modale Dialoge sind ab APEX 5.0 out-of-the-box enthalten und benötigen keine zusätzlichen Plugins oder Javascript-Bibliotheken mehr. Ein modaler Dialog "sperrt" den Rest der Anwendung, solange er aktiv ist: Der Endanwender muss sich mit diesem Dialog beschäftigen - ihn zu Ende führen oder abbrechen - bevor er zu einer anderen Stelle der Anwendung navigieren kann. Erfahren Sie in diesem Community-Tipp, wie Sie modale Dialoge konfigurieren können - so lassen sich Position und Größe des Dialogfensters ebenso einstellen wie die Tatsache, ob dessen Größe veränderbar sein soll oder nicht. Schließlich erlaubt APEX sogar die Nutzung von Effekten beim Ein- und Ausblenden des Fensters - alles durch Setzen weniger Attribute. Ein kleiner Ausflug in die Vorgehensweise, wie man mit einem modalen Dialog eine Art "Super-Auswahlliste" realisiert, rundet den Tipp ab. Übrigens: Im Juli 2015 findet die APEX 5.0 Summer School - schon angemeldet?
Modale Dialoge sind ab APEX 5.0 out-of-the-box enthalten und benötigen keine zusätzlichen Plugins oder Javascript-Bibliotheken mehr. Ein modaler Dialog "sperrt" den Rest der Anwendung, solange er...
APEX 5.0 ist freigegeben und steht zum Download bereit - und im Sommer 2015 haben wir eine Menge damit vor. Im Juni und Juli gibt es nicht nur die DOAG-Konferenz APEX Connect, sondern, zusätzlich noch, zwei besondere Leckerbissen: Im Workshop APEX Design 2015 mit Marc Sewtz und Shakeeb Rahman erfahrt Ihr alles, was man zum Universal Theme wissen muss. APEX Design findet, nach der DOAG APEX Connect, in Düsseldorf und München statt und ist eine der wenigen Gelegenheiten, direkten Kontakt zu den APEX-Entwicklern zu bekommen. Die Teilnahme ist kostenlos - die Anzahl der Plätze begrenzt. Meldet Euch also gleich an!http://tinyurl.com/orclapexdesign Im Juli findet die APEX 5.0 Summer School statt - in acht Webseminaren erfahren Sie von den bekannten Experten der deutschsprachigen APEX Community alles, was man über APEX 5.0 wissen muss. Peter Raganitsch wird den Page Designer vorstellen, Christian Rokitta das Universal Theme. Erleben Sie darüber hinaus Denes Kubicek, Dietmar Aust und andere. Die Teilnahme ist auch hier kostenlos - ein Muss für jeden APEX-Entwickler. http://tinyurl.com/orclapexsummerschool Und nicht vergessen: am 9. und 10. Juni gibt es zwei Tage lang "APEX Pur" in Düsseldorf: auf der DOAG APEX Connect 2015. Übrigens: am 8. Mai endet der Frühbuchertarif - mit der Anmeldung sollte man also nicht mehr allzu lange warten. Der APEX Sommer 2015 findet auch auf Twitter statt - benutzt bei Diskussionen den Hashtag #apexsummer15: Community lebt vom Austausch. ... der Sommer wird heiß - #letswreckthistogether.
APEX 5.0 ist freigegeben und steht zum Download bereit - und im Sommer 2015 haben wir eine Menge damit vor. Im Juni und Juli gibt es nicht nur die DOAG-Konferenz APEX Connect, sondern, zusätzlich...
Nach langer Wartezeit ist es nun soweit: APEX 5.0 steht zum Download bereit. Nun können Sie den Page Designer, das neue Universal Theme und die vielen anderen neuen Funktionen auch in Ihrer eigenen Installation erleben. Informationen zur Installation finden Sie im Installation Guide und in den Release Notes. Während die Datenbankinstallation in gewohnter Manier mit dem apexins.sql Skript erfolgt, ergeben sich bei der Konfiguration der statischen Dateien auf dem Webserver kleinere Neuerungen - hier müssen die Parameter PlsqlPathAlias und PlsqlPathAliasProcedure gesetzt werden. Näheres enthält der Installation Guide. Im Laufe der nächsten Wochen und Monate wird es hier weitere Tipps zu APEX 5.0 geben - wer nicht solange warten kann, schaut am besten in Patrick Wolfs Blog - dort hat Patrick bereits einige Postings veröffentlicht. Darüber hinaus enthält das Blog eine eine umfangreiche Liste mit APEX 5.0 Artikeln aus dem Internet. Schauen Sie mal rein.
Nach langer Wartezeit ist es nun soweit: APEX 5.0 steht zum Download bereit.Nun können Sie den Page Designer, das neue Universal Theme und die vielen anderen neuen Funktionen auch in Ihrer eigenen...
Seit März 2015 steht APEX 5.0 auf dem Demoserver apex.oracle.com bereit - Zeit, sich die neuen Funktionen etwas genauer anzusehen. In diesem Community-Tipp geht es um die neuen Template Options, mit denen sich das Aussehen von APEX-Komponenten noch besser beeinflussen lässt als vorher. Das neue Universal Theme macht von diesen Template Options bereits regen Gebrauch. In diesem Tipp erfahren Sie, wie Template Options funktionieren und wie Sie ihre eigenen Template Options erstellen können.
Seit März 2015 steht APEX 5.0 auf dem Demoserver apex.oracle.com bereit - Zeit, sich die neuen Funktionen etwas genauer anzusehen. In diesem Community-Tipp geht es um die neuen Template Options, mit...
Dateien als BLOBs in Tabellen zu speichern, ist nichts besonderes für einen APEX-Entwickler; APEX unterstützt dies seit einiger Zeit aus dem Stand - und wer seine Prozesse zum Up- und Download von Dateien individuell umsetzen möchte, findet zahlreiche Möglichkeiten dazu. Zu diesem Thema sind bereits vor einiger Zeit Community-Tipps erschienen. In diesem Tipp beschäftigen wir uns mit Large Objects, also BLOB und CLOB-Datentypen. APEX selbst wird heute keine besondere Rolle spielen; es geht eher um Tabellen, LOB-Segmente und Speichereinstellungen für diese. Sie erfahren, welche Optionen und Möglichkeiten Ihnen bei einer Tabelle zur Verfügung stehen, wie Sie den Platzverbrauch Ihrer Large Objects bestimmen können und wie man man mit Large Objects in PL/SQL umgeht.
Dateien als BLOBs in Tabellen zu speichern, ist nichts besonderes für einen APEX-Entwickler; APEX unterstützt dies seit einiger Zeit aus dem Stand - und wer seine Prozesse zum Up- und Download von...
Das Thema Security begleitet den APEX-Entwickler ständig. Es geht dabei nicht immer nur um sicheres Coding und den Schutz vor SQL Injection oder Cross-Site-Scripting. Nein, auch Themen wie Verschlüsselung mitsamt Key-Management oder Auditierung sind für den Entwickler bedeutsam.Im März 2015 veranstaltet Oracle in München, Berlin und Düsseldorf eine Veranstaltungsreihe zu diesem Thema. Dabei werden die Möglichkeiten, welche die Datenbank in diesem Bereich bietet, nicht nur vorgestellt, sondern im Detail erläutert. Eine gute Gelegenheit, sich einen halben Tag mit dem Thema Security zu beschäftigen.03.03.2015: München05.03.2015: Berlin10.03.2015: DüsseldorfDie Teilnahme an der Veranstaltung ist kostenlos. Melden Sie sich am besten gleich an.
Das Thema Security begleitet denAPEX-Entwickler ständig. Es geht dabei nicht immer nur um sicheres Coding und den Schutz vor SQL Injection oder Cross-Site-Scripting. Nein, auch Themen wie...
Dynamic Actions erlauben dem APEX-Entwickler, Javascript-Aktivitäten deklarativ in der APEX-Anwendung zu hinterlegen. Wer Javascript in seiner APEX-Anwendung verwendet (und wer tut das nicht?), sollte auch Dynamic Actions nutzen - die Möglichkeiten sind vielfältig. Partial Page Refreshes Setzen von Formularelementen - ohne erneutes Laden der Seite Aktualisierung einer Seite im Hintergrund Client Side Validations Die Basis für das alles ist Javascript, was an sich gar nicht so schwer ist. Worauf es aber ankommt, ist die strukturierte und wartbare Implementierung des Javascript Code - und genau hier setzen die Dynamic Actions an. Jürgen Schuster hat eine Beispielanwendung für Dynamic Actions erstellt und diese online verfügbar (dynamic-actions.com) gemacht. Die Anwendung bietet unter anderem das Speichern von Eingaben ohne Page Submit, Hover-Effekte in interaktiven Berichten, Highlighting von Berichtszeilen nach einer Ändernung und vieles mehr. Schauen Sie einfach mal rein und erleben Sie, was möglich ist. Die Applikation ist frei zugänglich (Open Door Credentials). Die Schaltfläche What can I do on this page? (oben rechts) beschreibt, was die jeweilige Seite demonstriert. Wer interessiert ist, kann die Applikation von Jürgen Schuster bekommen.
Dynamic Actions erlauben dem APEX-Entwickler, Javascript-Aktivitäten deklarativ in der APEX-Anwendung zu hinterlegen. Wer Javascript in seiner APEX-Anwendung verwendet (und wer tut das nicht?), sollte...
Ab sofort steht das dritte Early Adopter-Release von APEX 5.0 auf apexea.oracle.com bereit. Im Vergleich zum zweiten Early Adopter wurden sehr große Fortschritte gemacht. So ist nun der Universal Theme ThemeRoller enthalten; Sie können nun das Farbschema Ihrer Anwendung LIVE und - WYSIWYG an Ihre Wünsche anpassen. Beantragen Sie gleich Ihren Workspace und probieren Sie es aus. Wenn Sie mehr über das neue Universal Theme erfahren wollen, schauen Sie sich die neue Packaged Application Universal Theme Sample Application an - diese stellt alle neuen Layout-Elemente vor. Doch nicht nur das Universal Theme und der ThemeRoller sind neu: Auch der Page Designer hat im Vergleich zum EA2-Release massive Fortschritte gemacht. Neu ist auch, dass bereits während der Early Adopter-Phase die Dokumentation bereitgestellt wird. Sie können die Details zu den neuen Funktionen nun also auch nachlesen.Besuchen Sie also noch heute apexea.oracle.com, beantragen Sie Ihren neuen Workspace und probieren Sie die neuen Funktionen gleich aus.
Ab sofort steht das dritte Early Adopter-Release von APEX 5.0 auf apexea.oracle.combereit. Im Vergleich zum zweiten Early Adopter wurden sehr große Fortschritte gemacht. So ist nun der Universal...
Drag & Drop Fileupload ist ein Feature, welches in Apex nativ nicht gegeben ist. Mit Hilfe der freien Bibliothek Dropzone.js ist aber leicht möglich, dies zu realisieren. Auch das gleichzeitige Hochladen von mehreren Dateien ist möglich. Das Hochladen der Dateien erfolgt direkt nach dem "Loslassen" der Datei, und wird dargestellt, wenn die Datei vollständig hochgeladen wurde. In diesem gemeinsamen Community-Tipp der MT AG und Oracle wird der komplette Prozess erläutert, welcher von der Einbindung der Javascript-Bibliothek, über die Nutzung im Zusammenspiel mit einem APEX "File-Browse" Element, bis hin zur Verarbeitung der Dateien in der Datenbank reicht.
Drag & Drop Fileupload ist ein Feature, welches in Apex nativ nicht gegeben ist. Mit Hilfe der freien Bibliothek Dropzone.jsist aber leicht möglich, dies zu realisieren. Auch das gleichzeitige...
Zunächst wünschen wir allen APEX-Entwicklern (und natürlich auch den anderen Lesern) ein Gutes und Erfolgreiches neues Jahr 2015. Es geht auch gleich los mit dem ersten Community-Tipp. Mit SQL arbeitet man als APEX Entwickler jeden Tag. Sei es die SQL-Abfrage als Datenquelle in einem Bericht, Diagramm oder Kalender oder sei es ein DML-Kommando in einem PL/SQL Prozess: SQL ist überall. Und auch SQL hat sich in den mehr als 30 Jahren, seit es die Oracle-Datenbank gibt, enorm weiterentwickelt. Alle Möglichkeiten im Kopf zu behalten ist gar nicht so einfach - daher haben wir für Sie 10 SQL-Tipps zusammengestellt. Schauen Sie mal hinein - vielleicht ist etwas dabei, was Sie noch nicht kannten ... Tipp #1: Zeilen ohne Tabelle generieren Tipp #2: Joins müssen nicht "=" sein. Tage zwischen zwei Datum finden Tipp #3: Arbeiten mit Monaten - aber richtig : Hier geht es zum Community Tipp
Zunächst wünschen wir allen APEX-Entwicklern (und natürlich auch den anderen Lesern) ein Gutes und Erfolgreiches neues Jahr 2015. Es geht auch gleich los mit dem ersten Community-Tipp. Mit SQL arbeitet...
Im letzten Community-Tipp haben Sie erfahren, wie D3js-Diagramme funktionieren und wie Sie diese in APEX-Applikationen einbinden können. Die immer gleiche Vorgehensweise (JavaScript-Code, PL/SQL Ajax Callback und Dynamic Actions) legen die Implementierung als Plugin nahe - daher stehen Ihnen ab sofort drei D3-Diagramme als APEX-Plugins zur Verfügung: D3 Bubble Chart D3 Sunburst Chart D3 Treemap Chart Viel Spaß beim Ausprobieren - dies ist der letzte APEX Community Tipp im Jahr 2014. Wir wünschen Ihnen besinnliche Weihnachten und ein Gutes Neues Jahr 2015.
Im letzten Community-Tipp haben Sie erfahren, wie D3js-Diagramme funktionieren und wie Sie diese in APEX-Applikationen einbinden können. Die immer gleiche Vorgehensweise (JavaScript-Code, PL/SQL Ajax...
Alle Jahre im November ist es wieder soweit: Die Oracle Community trifft sich in Nürnberg zur DOAG Jahreskonferenz - diesmal kurz DOAG2014. Auch die Themen APEX und PL/SQL sind wieder mit zahlreichen Vorträgen vertreten - so stehen fast 50 Vorträge zum Thema APEX im Programm. Mit dabei sind namhafte Sprecher wie Niels de Bruijn, Peter Raganitsch, Denes Kubicek, Tobias Arnhold, Dietmar Aust und einige mehr ... Die Auswahl ist eigentlich immer schwierig; für jeden Vortrag, den man sich aussucht, verpasst man typischerweise zwei oder drei mindestens ebenso interessante. Dennoch möchten wir hier eine kleine Auswahl interessanter Vorträge und Programmpunkte vorstellen. Wie in den Vorjahren ist das APEX Entwicklerteam auch dieses Jahr auf der DOAG Konferenz vertreten. So stellt Joel Kallman, der Leiter des APEX Entwicklerteams, die neue Version APEX 5.0 am 18. November um 13:00 vor. Um 10:00 Uhr am gleichen Tag bekommen Sie den neuen Page Designer aus erster Hand von Patrick Wolf gezeigt. Um 16:00 Uhr schließlich erfahren Sie von Marc Sewtz alles Wissenswerte über das neue Universal Theme. All diese Vorträge finden im "APEX-Raum" Istanbul statt. Am 2. Konferenztag trifft sich die PL/SQL Community um 09:00 Uhr im Raum Hong Kong. Mit dabei ist Bryn Llewelyn, der Oracle-Produktmanager für PL/SQL. Hier findet kein Vortrag statt, vielmehr dient dieses Treffen dem Austausch innerhalb der Community. Die APEX Open Mic Night ist auf der KScope-Konferenz in den USA stets ein Highlight - und dieses Jahr findet sie zum ersten Mal auf der DOAG-Konferenz statt. Wie der Name schon sagt, ist das Mikrofon im APEX-Raum "Istanbul" zwischen 20:00 Uhr und 21:30 "offen" - jeder kann 10 Minuten lang sein APEX-Lieblingsfeature oder -Anwendung vorstellen. Das ganze findet mit Getränken in lockerer und offener Atmosphäre statt. Wer während der Konferenz eine "Folienpause" braucht, ist im Demo Kino sicherlich gut aufgehoben. In dieser Reihe, die im "Foyer Tokio" auf der obersten Etage stattfindet, stehen Live-Demonstrationen im Mittelpunkt. Powerpoint ist dort nur in homöopathischen Dosierungen erlaubt. Einen Blick über den Tellerrand können Sie im Vortrag APEX, NodeJs and HTML5: Magic! von Alan Arentsen und Alex Nuijten werfen. Am dritten Konferenztag um 16:00 erfahren Sie im Raum Istanbul, wie man APEX mit modernen Technologien wie node.js oder HTML5 kombiniert. Dafür lohnt es sich, bis zum letzten Vortrag zu bleiben. Und wie immer wird sich die Community sehr rege über Twitter austauschen. Unter dem Hashtag #doag2014 können Sie die Konferenz quasi live mitverfolgen.
Alle Jahre im November ist es wieder soweit: Die Oracle Community trifft sich in Nürnberg zur DOAG Jahreskonferenz - diesmal kurz DOAG2014. Auch die Themen APEX und PL/SQL sind wieder mit...
Mit der APEX Connect findet im am 09. und 10. Juni 2015 die erste Konferenz im deutschsprachigen Raum statt, die sich allein auf Application Express konzentriert. Zwei Tage lang wird der Umgang mit APEX im Mittelpunkt stehen - und dazu ist euer Input gefragt. Ob es um die Anwendungsentwicklung, Oberflächendesign, Betriebsfragen oder andere APEX-Themen geht: Die Community ist gespannt auf Eure Erfahrungen. Hochkarätige Sprecher des APEX-Entwicklerteams, der internationalen und deutschsprachigen APEX Community haben bereits ihr Kommen zugesagt. Mit eurem Vortrag könnt Ihr Teil dieses Programms werden. Reicht also euren Vortrag bis zum 20. Oktober 2014 ein - es lohnt sich!
Mit der APEX Connect findet im am 09. und 10. Juni 2015 die erste Konferenz im deutschsprachigen Raum statt, die sich allein auf Application Express konzentriert. Zwei Tage lang wird der Umgang mit...
Am 30. September gab es auf der Oracle Open World auch Neuigkeiten zu Application Express, die sich über soziale Medien sehr schnell verbreitet haben. Das APEX Patchset 4.2.6 steht seit kurzem zum Download bereit. Wie immer gibt es eine Komplettversion für Neuinstallationen oder Upgrades von APEX-Versionen älter als 4.2. Wer schon APEX 4.2.x einsetzt, lädt das Patchset aus MyOracleSupport herunter (Patch Number 19595896) und wendet es entsprechend der Patch Set Notes an. Es wird ein öffentlich zugängliches Early Adopter 3 für Application Express geben. Es ist ein "delivered beta programm" für APEX geplant - ein solches Programm wird mit einer begrenzten Anzahl Kunden durchgeführt, die das Beta-Release dann zur Installation in einer eigenen Umgebung erhalten. Details dazu werden veröffentlicht. Ein Release-Termin für APEX 5.0 steht noch nicht fest. Allerdings ist der "Release-Zeitraum", von dem gesprochen wird, nun das "Fiskaljahr 2015", welches am 31.05.2015 endet. APEX 5.0 wird also voraussichtlich später kommen, als bislang erwartet. Hier einige Tweets zum Thema aus der APEX Community:
Am 30. September gab es auf der Oracle Open World auch Neuigkeiten zu Application Express, die sich über soziale Medien sehr schnell verbreitet haben. Das APEX Patchset 4.2.6 steht seit kurzem zum...
Wenn es darum geht, Datenbestände zwischen verschiedenen Oracle-Datenbanken zu übertragen, dann ist Export und Import das Mittel der Wahl. Schon vor einiger Zeit, mit Oracle10g, wurde eine Alternative zu den "klassischen" Werkzeugen exp und imp geschaffen: Data Pump. Die wesentliche (und für diesen Tipp wichtige) Neuerung ist, dass die Data Pump serverbasiert arbeitet. Mit dem PL/SQL-Paket DBMS_DATAPUMP steht auch eine Programmierschnittstelle bereit, mit der Export- und Importvorgänge aus PL/SQL heraus angestoßen werden können. In diesem Tipp zeigen wir Ihnen, wie Sie einen solchen Data Pump Export aus einer APEX-Anwendung heraus anstoßen und das Export-Dumpfile (welches ja auf dem Datenbankserver liegt) dennoch über eine APEX-Applikation herunterladen können.
Wenn es darum geht, Datenbestände zwischen verschiedenen Oracle-Datenbanken zu übertragen, dann ist Export und Import das Mittel der Wahl. Schon vor einiger Zeit, mit Oracle10g, wurde eine Alternative...
Icons und Symbole kann man als APEX-Entwickler nicht genug haben. In vielen Fällen kann man mit einem guten Symbol mehr aussagen als mit vielen Worten. Das Erstellen von Icons fällt dagegen meist eher schwer: Die wenigsten APEX-Entwickler sind gleichzeitig Web-Designer - so findet man in den meisten APEX-Anwendungen genau die Icons, die APEX von Haus aus mitbringt . Font Awesome erfreut sich immer größerer Beliebtheit bei Web-Entwicklern. Es bietet eine immense Fülle an Icons und Symbolen - und das Interessante an Font Awesome ist: Wie der Name schon sagt, werden die Icons als Schriftart (Font) bereitgestellt - so können sie mit CSS-Style-Angaben weiter formatiert werden. In unserem aktuellen Tipp stellen wir Ihnen die Möglichkeiten von Font Awesome vor und zeigen, wie Sie es in APEX einbinden und nutzen können. Zum Community Tipp
Icons und Symbole kann man als APEX-Entwickler nicht genug haben. In vielen Fällen kann man mit einem guten Symbol mehr aussagen als mit vielen Worten. Das Erstellen von Icons fällt dagegenmeist eher...
Mit dem im Juli 2014 erschienenen Patchset 12.1.0.2 wird die Oracle-Datenbank erstmals mit nativer Unterstützung für JSON ausgestattet: So ist es unter anderem nun möglich ... JSON in Tabellen zu speichern und zu validieren Daten aus JSON-Dokumenten zu extrahieren "Relationale Sichten" auf JSON-Dokumente zu generieren In Tabellen gespeicherte JSON-Dokumente zu indizieren In diesem Tipp erfahren Sie, wie Sie die neuen SQL/JSON-Funktionen (nicht nur mit APEX) praktisch ausnutzen können. Mit diesen neuen SQL-Funktionen wird die erste Hälfte der JSON-Unterstützung in der Oracle-Datenbank - auf SQL-Ebene - umgesetzt. Das mit APEX 5.0 bereits angekündigte PL/SQL Paket APEX_JSON wird die zweite Hälfte, den PL/SQL-Bereich, abdecken - so dass Ihnen spätestens mit APEX 5.0 auf 12.1.0.2 eine komplett JSON-fähige Datenbank zur Verfügung stehen wird.
Mit dem im Juli 2014 erschienenen Patchset 12.1.0.2 wird die Oracle-Datenbank erstmals mit nativer Unterstützung für JSON ausgestattet: So ist es unter anderem nun möglich ... JSON in Tabellen zu...
APEX ist bereits seit dem ersten Tag für Hosting-Umgebungen ausgelegt. Wie jedermann auf dem öffentlichen Demoserver apex.oracle.com selbst ausprobieren kann, kann ein Workspace in Selbstbedienung beantragt werden. Nach der Genehmigung durch den Administrator wird der Workspace einrichtet und der Entwickler kann mit der Arbeit beginnen. Dieser von APEX mit ausgelieferte Bereitstellungsprozeß ist zwar sehr bequem - in vielen Fällen passt er jedoch nicht auf die Bedürfnisse im Unternehmen. Dann sind eigene Verfahren zur Bereitstellung von APEX-Workspaces gefragt. Dieser Community Tipp beschreibt anhand eines einfachen, aber ausbaufähigen Beispiels, wie man eine Provisioning-Anwendung für APEX-Workspaces selbst erstellen kann. Eigene Genehmigungsverfahren, Workspace-Namenskonventionen und Integration ins Single-Sign On sind dann kein Problem mehr.
APEX ist bereits seit dem ersten Tag für Hosting-Umgebungen ausgelegt. Wie jedermann auf dem öffentlichen Demoserver apex.oracle.com selbst ausprobieren kann, kann ein Workspace in Selbstbedienungbeant...
Noch ist es, wie immer im Juli, etwas ruhiger - aber nach der Sommerpause stehen einige Neuigkeiten und für Entwickler interessante Veranstaltungen an. Im September startet, wie schon im letzten Jahr, die Reihe der Oracle Database Days 12c. Im September wird der Fokus auf der bereits angekündigten Oracle12c In-Memory Option liegen. In Stuttgart, Berlin und Düsseldorf haben Sie die Gelegenheit, mehr zu dieser neuen Technologie zu erfahren. Im Oktober geht es weiter mit APEX 5.0: In Ratingen, München und Hamburg wird das Release nicht nur im Detail betrachtet - darüber hinaus wird "Enterprise APEX", also der unternehmensweise Einsatz von APEX eine Rolle spielen. Außerdem: Es gibt eine neue APEX Open Source Anwendung von der MT AG - Family Tree. Damit lassen sich Hierarchien ganz einfach abbilden; schauen Sie mal rein.
Noch ist es, wie immer im Juli, etwas ruhiger - aber nach der Sommerpause stehen einige Neuigkeiten und für Entwickler interessante Veranstaltungen an. Im September startet, wie schon im letzten Jahr,...
von Karsten Möckel, Competence Center Oracle, IT-P GmbH Das Thema IT-Security ist derzeit ein hochaktuelles Thema. Kaum vergeht ein Tag, an dem nicht eine Pressemitteilung bezüglich gefundener und ausgenutzter Sicherheitslücken in IT-Systemen erscheint. In diesem Zusammenhang wollen wir in unserem aktuellen Tipp den Bereich Sicherheit von Webanwendungen etwas genauer betrachten. Dafür verwenden wir die Top 10 Liste der "häufigsten Sicherheitsrisiken für Webanwendungen" desOpen Web Application Security Project (OWASP) in der Version 2013. Als Beispiel soll uns eine auf Basis von Oracle Application Express entwickelte Webanwendung dienen. Wir verwenden hier die Version 5.0 Early Adopter 1, die bereits alsPreview verfügbar ist. Die nachfolgenden Hinweise sind prinzipiell aber auf jede Art von Webanwendung übertragbar - unabhängig davon, mit welcher Technologie sie entwickelt wurde. Lediglich bestimmte Lösungsvorschläge werden an den Features von Application Express und Oracle PL/SQL orientiert sein. Zum Community-Tipp
von Karsten Möckel, Competence Center Oracle, IT-P GmbH Das Thema IT-Security ist derzeit ein hochaktuelles Thema. Kaum vergeht ein Tag, an dem nicht eine Pressemitteilungbezüglich gefundener und...
Ab sofort steht APEX 5.0 Early Adopter 2 zum Testen auf apexea.oracle.com bereit - richten Sie sich gleich Ihren Workspace ein. Das APEX-Entwicklerteam hat eine Menge Feedback aus dem Early Adopter 1 umgesetzt und es wurden auch ein paar neue Funktionen eingeführt. So ist nun das Universal Theme enthalten - wenn Sie dieses für Ihre Anwendungen nutzen, können Sie deren Aussehen allein durch das Verändern von Theme Options anpassen - der Wechsel des Theme ist nicht mehr nötig.Außerdem interessant ist die Möglichkeit, einen Workspace ohne Entwicklungsumgebung einzurichten. Das richtet sich vor allem an solche Anwender, die ausschließlich mit fertigen Packaged Applications arbeiten möchten. Solche Workspaces werden also nicht für Entwickler, sondern für Anwender erstellt.Darüber hinaus sind noch weitere Änderungen enthalten. Eine vollständige Liste finden Sie hier. Am besten probieren Sie es gleich aus!
Ab sofort steht APEX 5.0 Early Adopter 2 zum Testen auf apexea.oracle.com bereit - richten Sie sich gleich Ihren Workspace ein. Das APEX-Entwicklerteam hat eine Menge Feedback aus dem Early Adopter...
Am 6. Juni 2014 fand der erste Oracle Developer Monthly Webcast statt. In diesem Webseminar erhalten die Teilnehmer aktuelle Informationen rund um die Oracle-Datenbank: Das umfasst unter anderem jeweils aktuelle Releases, wichtige Patchsets, anstehende Termine, interessante Neuigkeiten aus der Blogosphere und dem Web 2.0 und vieles mehr. EinReady-to-use-Tipp rundet das Seminar ab. Die Folien des ersten Oracle Developer Monthly können Sie herunterladen. Darin enthalten: Veranstaltungen im Juni und Juli 2014, aktuelle Datenbank- und Tool-Versionen sowie einige neue Funktionen der Datenbank-Patchsets 11.2.0.2 und 11.2.0.4 - schauen Sie einfach mal rein. Das nächste Oracle Developer Monthly Webseminar findet am 14. Juli 2014 um 09:00 Uhr statt (Einwahldaten).
Am 6. Juni 2014 fand der erste Oracle Developer Monthly Webcast statt. In diesem Webseminar erhalten die Teilnehmer aktuelle Informationen rund um die Oracle-Datenbank: Dasumfasst unter anderem...
In diesem Tipp stellen wir Ihnen vor, wie Sie Drag & Drop in Ihrer APEX-Anwendung realisieren können. Das ist gar nicht so aufwändig, wie man denke, denn das in APEX enthaltene jQuery UI erledigt den Löwenanteil der Arbeit, so dass nur noch wenige JavaScript-Aufrufe abzusetzen sind. Lesen Sie, wie Sie in Ihrer eigenen APEX-Anwendung Zeilen aus der Tabelle EMP per Drag & Drop zu Zeilen der Tabelle DEPT zuordnen können.
In diesem Tipp stellen wir Ihnen vor, wie Sie Drag & Drop in Ihrer APEX-Anwendung realisieren können. Das ist gar nicht so aufwändig, wie man denke, denn das in APEX enthaltene jQuery UI erledigt den...
Diesmal gibt es etwas Altes ... und etwas Neues. Zuerst das Neue: Am 11. Juni wird Larry Ellison in Redwood Shores die neue, bahnbrechende Oracle Database In-Memory Funktionalität vorstellen. Mit dieser neuen Technologie profitieren Kunden von beschleunigter Datenbankleistung für Analytics, Data Warehousing, Reporting und Online Transaction Processing (OLTP). Nur 6 Tage später - am 17. Juni - findet, in Frankfurt, der einzige europäische Launch-Event statt. Neben Fachvorträgen, Panelveranstaltung und Demos wird ein Vortrag von Andy Mendelsohn, Head of Database Product Development, vorgesehen. Melden Sie sich heute noch an. Und hier ist das Alte: Wer erinnert sich noch die die HTML DB ...? In den Archiven der APEX Community Seite haben wir ein Video gefunden, welches zeigt, wie man Seiten in der HTML DB für andere Entwickler sperren konnte. Das gibt es heute übrigens auch noch - es sieht nur etwas anders aus. Viel Spaß beim Ansehen.
Diesmal gibt es etwas Altes ... und etwas Neues. Zuerst das Neue: Am 11. Juni wird Larry Ellison in Redwood Shores die neue, bahnbrechende Oracle Database In-Memory Funktionalität vorstellen. Mitdieser...
Heute geht es um Interaktive Berichte, die sicherlich nahezu jeder APEX-Entwickler an der einen oder anderen Stelle in seiner Anwendung nutzt. Auch die Oberfläche des APEX Application Builders verwendet inzwischen nahezu überall den interaktiven Bericht. Und hier fällt auch auf, dass ein interaktiver Bericht mehrere Ansichtsvarianten anbietet: Neben der normalen "Zeilenansicht" steht noch eine Icon- und eine Detailansicht bereit. Wie Sie diese konfigurieren und innerhalb Ihrer APEX-Anwendungen nutzen können, verrät der aktuelle Tipp.
Heute geht es um Interaktive Berichte, die sicherlich nahezu jeder APEX-Entwickler an der einen oder anderen Stelle in seiner Anwendung nutzt. Auch die Oberfläche des APEX Application Buildersverwendet...
Basierend auf einer Idee von Dan McGhan haben sich in den USA, mit Hilfe der Seite Meetup.com, mehrere lokale "APEX Meetups" gegründet. Im deutschsprachigen Raum gibt es bereits vier: APEX Meetup Düsseldorf (Niels de Bruijn und Oliver Lemm) APEX Meetup München (Markus Dötsch und Jürgen Schuster) APEX Meetup Stuttgart (Dorin Schewe) APEX Meetup Wien (Peter Raganitsch) Ziel ist es, Events zum Thema APEX zu koordinieren und die Community über stattfindende zu informieren. Wenn Sie also in der Nähe von Düsseldorf, München oder Wien leben, melden Sie sich einfach an. Und wenn nicht, dann gründen Sie das APEX Meetup in Ihrer Stadt - und geben Sie uns Bescheid. Außerdem starten wir ab dem 6. Juni 2014 ein monatliches, deutschsprachiges Webseminar: Den Oracle Developer Monthly: Es beginnt immer um 09:00 Uhr und dauert etwa 30 Minuten. In diesem Webseminar, erhalten die Teilnehmer aktuelle Informationen rund um die Oracle-Datenbank: Das umfasst unter anderem jeweils aktuelle Releases, wichtige Patchsets, anstehende Termine, interessante Neuigkeiten aus der Blogosphere und dem Web 2.0 und natürlich auch ein Feature des Monats. Damit Sie planen können, stehen die Termine bis Dezember bereits fest (Mehr Informationen). Also: In den Kalender eintragen und zum Termin einwählen - wir freuen uns auf Sie.
Basierend auf einer Idee von Dan McGhan haben sich in den USA, mit Hilfe der Seite Meetup.com, mehrere lokale "APEX Meetups" gegründet. Im deutschsprachigen Raum gibt es bereits vier: APEX...
In diesem Tipp stellen wir Ihnen einige Aufgaben vor, die in APEX mit der Kommandozeile, also typischerweise mit SQL*Plus, erledigt werden können. Das sind mittlerweile mehr als man denkt. In einigen Fällen sind die Funktionsaufrufe, die APEX von Haus aus bereitstellt, allerdings etwas umständlich, so dass ein wenig Skripting hilfreich sein kann. Lesen Sie also, wie Sie per Kommandozeile unter anderem ... Workspaces erzeugen, APEX Passwörter ändern, Anwendungen importieren oder Anwendungsattribute setzen können.
In diesem Tipp stellen wir Ihnen einige Aufgaben vor, die in APEX mit der Kommandozeile, also typischerweise mit SQL*Plus, erledigt werdenkönnen. Das sind mittlerweile mehr als man denkt. In einigen...
Gerade von Entwicklern, die in Teams arbeiten (und wer tut das nicht?), hört man recht häufig die Frage, welche Möglichkeiten APEX zur Versionierung von Anwendungen anbietet. Auf den ersten Blick ist die Antwort enttäuschend, denn APEX bietet keine fertige Integration mit Versionierungssystemen wie Subversion, CVS, GIT oder anderen an - auch eine eigene Versionierungsmöglichkeit ist nicht vorhanden. Dennoch lassen sich mit APEX sehr fortgeschrittene Möglichkeiten finden, Anwendungen zu versionieren - besonders die Tatsache, dass APEX ein (zentraler) Entwicklungsserver ist, wird noch sehr hilfreich sein. In diesem Community-Tipp stellen wir einen Ansatz vor, mit dem Sie APEX-Anwendungen von verschiedenen Datenbankservern automatisch exportieren und in eine zentrales "Versionsrepository" speichern können. Alle dazu nötigen Werkzeuge bringen APEX und die Oracle-Datenbank bereits mit.
Gerade von Entwicklern, die in Teams arbeiten (und wer tut das nicht?), hört man recht häufig die Frage, welche Möglichkeiten APEX zur Versionierung von Anwendungenanbietet. Auf den ersten Blick ist...
Jeder APEX-Entwickler hat schon mal eine Anwendung exportiert bzw. importiert. Und dass eine APEX-Exportdatei de-facto ein SQL-Skript ist, welches man auch in SQL*Plus laufen lassen kann, ist den meisten ebenfalls bekannt. Das Blog-Posting von Sabine Heimsath (its-people) beschäftigt sich nun etwas näher mit den Exportdateien und geht unter anderem darauf ein, wie man Unterschiede zwischen zwei APEX-Exportdateien herausarbeiten kann. Schauen Sie einfach mal rein. In diesem Zusammenhang ist der Community-Tipp zum Thema APEX-Exports per Kommandozeile vielleicht ebenfalls interessant. Außerdem: Das APEX-Team hat ein Statement Of Direction herausgegeben. Nun ist auch ein Ausblick auf APEX 5.1 enthalten, denn einige Features, die bislang für APEX 5.0 diskutiert wurden, sind nun für APEX 5.1 geplant.
Jeder APEX-Entwickler hat schon mal eine Anwendung exportiert bzw. importiert. Und dass eine APEX-Exportdatei de-facto ein SQL-Skript ist, welches man auch in SQL*Plus laufen lassen kann, ist...
PL/SQL Logik in APEX zu platzieren ist etwas völlig Normales und findet nahezu überall täglich statt. Gelegentlich kommt es aber vor, dass aus APEX heraus solche PL/SQL-Logik angestoßen werden soll, die länger laufen wird. Hinterlegt man diese ganz normal als PL/SQL-Prozess im onLoad oder onSubmit-Bereich, so müsste der Anwender mit dem Browser solange warten, bis der Prozess durchgelaufen ist. Das kann für eine bis zwei Minuten noch eben akzeptabel sein (ein Hinweis ist unbedingt nötig), dauert es aber länger, so muss der PL/SQL-Prozess in den Hintergrund gebracht werden. In diesem Community-Tipp erfahren Sie, wie Sie PL/SQL-Code mit dem Paket DBMS_SCHEDULER im Hintergrund ausführen, den Status Ihres Jobs abfragen und dem Endanwender als "Fortschrittsbalken" präsentieren können.
PL/SQL Logik in APEX zu platzieren ist etwas völlig Normales und findet nahezu überall täglich statt. Gelegentlich kommt es aber vor,dass aus APEX heraus solche PL/SQL-Logik angestoßen werden...
Dank der Dynamic Actions , die es bekanntlich seit APEX 4.0 gibt, ist die Nutzung der AJAX-Technologie in APEX sehr viel einfacher geworden - einfache Fälle wie das Auffrischen eines Berichts - oder das Setzen von Formularelementen ohne erneutes Laden der APEX-Seite, können komplett deklarativ eingerichtet werden; man programmiert keine einzige Zeile JavaScript mehr. In der Praxis bleiben dann dennoch Fälle übrig, in denen man JavaScript manuell implementieren möchte oder muss. Ein Beispiel ist eine JavaScript-Aktion, die man per Klick auf eine Zeile in einem Bericht (interaktiv oder klassisch) auslösen möchte. Der heutige Tipp zeigt, wie eigener JavaScript-Code mit APEX Dynamic Actions integriert werden kann, so dass beide Hand-in-Hand zusammenarbeiten.
Dank der Dynamic Actions , die es bekanntlich seit APEX 4.0 gibt, ist die Nutzung der AJAX-Technologie in APEX sehr viel einfacher geworden - einfache Fälle wie das Auffrischeneines Berichts - oder...
Ab sofort steht APEX 5.0 Early Adopter 1 zum Testen auf apexea.oracle.com bereit. Das APEX Entwicklerteam hat viele, interessante neue Funktionen eingebaut (vollständige Übersicht) , die Sie nun ausprobieren können.Im Zentrum steht natürlich der neue Page Designer, der das Bearbeiten von APEX Seiten völlig neu definiert. Komponenten können per Drag & Drop angeordnet werden - die Eigenschaften lassen sich in Property Panes verändern; so wie man es von anderen Entwicklungsumgebungen her kennt: Aber APEX bleibt sich treu: Alles läuft im Browser! Aber nicht nur der Page Designer ist neu - das Early Adopter Release bringt noch weitere neue Funktionen mit, die einen näheren Blick wert sind: Single Sign On-Anmeldung am Application Builder: Sie können nun ganz auf die Verwaltung von APEX-Nutzerkonten verzichten Pivot-Funktion im Interaktiven Bericht. "Kippen" Sie die Daten eines interaktiven Berichts einfach per Mausklick. Statische Dateien können nun als ZIP hochgeladen und in Verzeichnisstrukturen organisiert werden. Also - am besten gleich den Workspace beantragen und loslegen. Wie immer, ist Feedback erwünscht. Was immer Ihnen auffällt: Klicken Sie rechts oben auf die "Sprechblase" und sagen Sie's uns ...
Ab sofort steht APEX 5.0 Early Adopter 1 zum Testen auf apexea.oracle.com bereit. Das APEX Entwicklerteam hat viele, interessante neue Funktionen eingebaut (vollständige Übersicht) , die Sie nun...
Den Debug-Modus hat sicherlich jeder APEX-Entwickler schon einmal genutzt. Man schaltet einfach in der Developer Toolbar unten das Debugging mit einem Klick auf Debug ein, lädt die Anwendungsseite neu und schaut sich danach die Meldungen mit Klick auf View Debug an. APEX bietet dem Entwickler aber noch wesentlich mehr: Das PL/SQL-Paket APEX_DEBUG erlaubt es dem Entwickler, dort eigene Meldungen einzutragen, das Debugging auch ohne Developer Toolbar ein- und auszuschalten und das Aufräumen des Debug-Logs. Lesen Sie in diesem Tipp, wie Sie APEX_DEBUG zur Instrumentierung Ihrer Anwendungen voll ausnutzen und sich die Problemdiagnose so massiv vereinfachen können.
Den Debug-Modus hat sicherlich jeder APEX-Entwickler schon einmal genutzt. Man schaltet einfach in der Developer Toolbar unten das Debugging mit einem Klick auf Debug ein, lädt die Anwendungsseite...
Seit dem 14. Dezember steht das APEX Patchset 4.2.4 zum Download bereit. Die Installation erfolgt wie immer: Nutzer der aktuellen APEX-Version 4.2 laden das Patchset als Patch Nr. 17607802 aus MyOracleSupport herunter und installieren es gemäß dem beiliegenden Readme-Dokument. Wer eine ältere oder noch gar keine APEX-Version in seiner Datenbank hat, lädt die APEX-Vollinstallation 4.2.4 aus dem OTN herunter und installiert sie ganz normal. Neben den Bugfixes enthält das Patchset auch eine neue Sample Application: den Standards Tracker, der dabei helfen kann, eigene Standards für APEX-Anwendungen zu verwalten. Das neue Jahr 2014 startet denn auch bereits im Januar wieder mit neuen Informationsveranstaltungen durch: Auf den Oracle Database Days 12c können Sie sich in Stuttgart (21.01.), Berlin (28.01.) und Düsseldorf (29.01.) ausführlich über die Neuerungen in Oracle12c für Entwickler informieren. Die Veranstaltung ist für Sie kostenlos, beginnt mittags, und gibt neben den Vorträgen ausreichend Zeit zur Diskussion und zum Networking. Melden Sie sich am besten gleich an. Im interaktiven Webseminar am 19. Februar 2014 können Sie "Geodaten Live erleben", denn während dieses Webseminars werden Sie eine eigene APEX-Anwendung erstellen, die mit Koordinaten umgehen und diese auf einer Karte darstellen kann. Es wird ausreichend Zeit zum eigenständigen Ausprobieren und für Fragen und Antworten geben - und das alles von Ihrem Büro aus. Die Teilnahme ist kostenlos und die Plätze sind begrenzt: Melden Sie sich daher gleich an. Die DOAG veranstaltet am 30. Januar das völlig neue Format eines "Developer Bar Camp". Das Dev Camp ist eine offene Tagung mit offenen Workshops, bei dem verschiedene Gruppen mit ähnlichem Interesse aufeinander treffen, um über unterschiedliche Themen zu referieren, diskutieren und sich untereinander auszutauschen. Mehr Information findet sich auf der DOAG-Veranstaltungsseite.
Seit dem 14. Dezember steht das APEX Patchset 4.2.4 zum Download bereit. Die Installation erfolgt wie immer: Nutzer der aktuellen APEX-Version 4.2 laden das Patchset als Patch Nr. 17607802 aus MyOracle...
HTML5 ist nicht umsonst eines der meistdiskutierten Themen in der Anwendungsentwicklung: Es eröffnet dem Entwickler völlig neue Möglichkeiten zur Gestaltung von Benutzeroberflächen einer Webanwendung. Das gilt natürlich auch für APEX: Die aktuelle Version 4.2 bringt bereits die eine oder andere HTML5-Funktion out-of-the-box mit - vor allem für die Unterstützung mobiler Endgeräte sind diese wichtig. In diesem Community Tipp erfahren Sie etwas über das HTML5 Canvas-Element; dieses erlaubt es Ihnen, mit JavaScript-Kommandos, frei auf der Webseite zu zeichnen. So lassen sich Diagramme oder Zeichnungen direkt im Browser generieren oder ausgewählte Bilder noch vor dem Upload betrachten.
HTML5 ist nicht umsonst eines der meistdiskutierten Themen in der Anwendungsentwicklung: Es eröffnet dem Entwickler völlig neue Möglichkeiten zur Gestaltung vonBenutzeroberflächen einer Webanwendung....
Die Arbeit mit Positionen und Koordinaten, also Geodaten, spielt in mehr und mehr Anwendungsgebieten eine Rolle. Diese Tipp-Reihe der deutschsprachigen APEX Community stellt am Beispiel einerImage Geotagging Application vor, wie man in einer APEX-Anwendung mit Geodaten arbeiten, die Möglichkeiten der Datenbank ausnutzen und schließlich eine Karte in die APEX-Anwendung integrieren kann. Die Anwendung wird es ermöglichen ... ... mit dem Smartphone aufgenommene Bilder per APEX-Anwendung hochzuladen ... die Position zu extrahieren und als Koordinate zu speichern ... die Bilder auf einer Karte darzustellen ... räumliche Abfragen bzw. Auswertungen mit den Positionen durchzuführen Im aktuellen Community Tipp erfahren Sie, wie Sie Koordinaten in einer Tabelle speichern und mit Hilfe von SQL-Funktionen damit arbeiten können. Und Besucher der DOAG2013 können das auch LIVE sehen: Im Demokino "Die Vermessung der Welt" am 2. Konferenztag um 12:00 Uhr im "Foyer Tokio".
Die Arbeit mit Positionen und Koordinaten, also Geodaten, spielt in mehr und mehr Anwendungsgebieten eine Rolle. Diese Tipp-Reihe der deutschsprachigen APEX Community stellt am Beispiel einerImage...
HTML5 ist nicht umsonst eines der meistdiskutierten Themen in der Anwendungsentwicklung: Es eröffnet dem Anwendungsentwickler völlig neue Möglichkeiten zur Gestaltung von Web-Benutzeroberflächen. So ist es möglich, mit HTML5 auf das GPS eines mobilen Geräts zuzugreifen - aber das ist bei weitem nicht alles: Mit SVG und CANVAS-Objekten wird es möglich, frei auf der Browseroberfläche zu zeichnen - die FileReader API erlaubt es, vom Anwender ausgewählte Dateien noch vor dem Hochladen auszulesen. Diese Möglichkeiten erlauben es, völlig neue Anwendungen zu entwickeln - eben Anwendungen der nächsten Generation. Im Webseminar am 8. November wurden einige der Möglichkeiten von HTML5 vorgestellt und gezeigt, wie man sie in APEX-Anwendungen nutzen kann. Die Foliensätze und APEX-Beispielanwendungen sind ab sofort verfügbar: https://apex.oracle.com/folien Schlüsselwort: apex-html5
HTML5 ist nicht umsonst eines der meistdiskutierten Themen in der Anwendungsentwicklung: Es eröffnet dem Anwendungsentwickler völlig neueMöglichkeiten zur Gestaltung von Web-Benutzeroberflächen. So...
Endbenutzer von APEX-Anwendungen arbeiten fast immer von einem Windows-PC aus - und sehr oft sind sie in einer Windows-Domäne eingeloggt. Da liegt es doch nahe, diesen Login auch für die APEX-Anwendung zu verwenden und sich nicht erneut anmelden zu müssen. Leider unterstützt APEX ein solches Verfahren nicht out-of-the-box. Nimmt man jedoch einige Open-Source Komponenten hinzu, so lässt sich die Anforderung leicht umsetzen. Niels de Bruijn von der MT AG hat ein Dokument zusammengestellt, welches die Vorgehensweise beschreibt: Single Sign-On für APEX Anwendungen mit Kerberos - schauen Sie einfach mal rein.
Endbenutzer von APEX-Anwendungen arbeiten fast immer von einem Windows-PC aus - und sehr oft sind sie in einer Windows-Domäne eingeloggt. Da liegt es doch nahe, diesen Login auch für die...
Auch dieses Jahr trifft sich die Oracle Community wieder zur DOAG2013, der größten Oracle-Konferenz im deutschsprachigen Raum. Zum Thema APEX gibt es, wie schon in den letzten Jahren, in einem eigenen Stream mit mehr als 20 Vorträgen. Bekannte Sprecher wie Patrick Wolf, Niels de Bruijn, Peter Raganitsch und andere werden vor Ort sein - die DOAG2013 ist also die Gelegenheit zum Kennenlernen, Austausch von Neuigkeiten und zur Diskussion. Das in den letzten Jahren sehr gut angenommene APEX Experten Panel findet auch dieses Jahr wieder statt. Am 21. November um 11:00 beantwortet das Entwicklerteam im Raum Hong Kong Ihre Fragen rund um Application Express. Bitte reichen Sie uns Ihre Fragen vorab auf dieser Webseite ein. Sehen wir uns auf der DOAG2013 ...?
Auch dieses Jahr trifft sich die Oracle Community wieder zur DOAG2013, der größten Oracle-Konferenz im deutschsprachigen Raum. Zum Thema APEX gibt es, wie schon in den letzten Jahren, in einem eigenen...
Die Arbeit mit Arrays ist für einen APEX oder PL/SQL Entwickler alltäglich - sie werden immer wieder gebraucht. Und doch erscheint der Umgang mit Arrays in der Oracle-Datenbank oft rätselhaft. Unser aktueller Tipp setzt den Einblick in die Arbeit mit Arrays in der Oracle Datenbank fort und stellt nun die assoziativen Arrays in PL/SQL vor. Im Herbst 2013 finden außerdem für APEX Entwickler interessante Webseminare statt. Sie benötigen nur eine Stunde Zeit, Ihren Computer und ein Telefon. Die Teilnahme ist kostenlos - melden Sie sich am besten gleich an. 30.10.2013: Neue Datenbanken per Mausklick: Mit Orace12c Multitenant und APEXEines der Highlights des neuen Datenbank Release 12c ist die Möglichkeit, Datenbanken nun auch als "Pluggable Database" (PDB) innerhalb sog. "Container Databases" zu verwalten. Und die neue APEX-Anwendung zum Self Service Provisioning macht es möglich, neue Datenbanken per Selbstbedienungsverfahren bereitzustellen. Erfahren Sie in diesem Webseminar, wie Sie diese Erweiterung herunterladen, installieren und innerhalb kürzester Zeit einen Datenbankservice in Ihrem Unternehmen bereitstellen können: Oracle12c Multitenant. 08.11.2013: APEX und HTML5: Anwendungen der nächsten GenerationHTML5 ist nicht umsonst eines der meistdiskutierten Themen in der Anwendungsentwicklung: Es eröffnet dem Anwendungsentwickler völlig neue Möglichkeiten zur Gestaltung von Web-Benutzeroberflächen. So ist es möglich, mit HTML5 auf das GPS eines mobilen Geräts zuzugreifen - aber das ist bei weitem nicht alles: Mit SVG und CANVAS-Objekten wird es möglich, frei auf der Browseroberfläche zu zeichnen - die FileReader API erlaubt es, vom Anwender ausgewählte Dateien noch vor dem Hochladen auszulesen. Diese Möglichkeiten erlauben es, völlig neue Anwendungen zu entwickeln - eben Anwendungen der nächsten Generation. 04.12.2013: Datenbankfunktionen für PL/SQL und APEX-Entwickler: Inkl. Oracle12c UpdateAls APEX-Entwickler wissen Sie, dass die Anwendung in der Datenbank selbst läuft. Aber nutzen Sie die Datenbank wirklich voll aus? In diesem Webseminar erfahren Sie, wie Sie durch die Nutzung vorhandener PL/SQL-Pakete, SQL-Funktionen oder spezieller Datentypen - in weniger Zeit - mehr Funktionen in Ihre Anwendung bringen.
Die Arbeit mit Arrays ist für einen APEX oder PL/SQL Entwickler alltäglich - sie werden immer wieder gebraucht. Und doch erscheint der Umgang mit Arrays in der Oracle-Datenbank oft rätselhaft. Unser...
Dieses Community-Posting dreht sich um ein Webseminar am 30. Oktober um 11:00 Uhr zum Thema Oracle12c und dem neuen Multitenant Feature: Diese Möglichkeit, Datenbanken auch als "Pluggable Database" (PDB) innerhalb sogenannter "Container Databases" (CDB) zu verwalten, ist das Highlight der neuen Datenbankversion Oracle12c. Das schnelle "Ein- und Ausstecken" von PDBs eröffnet viele neue Möglichkeiten für Konsolidierungsprojekte und Datenbank Clouds. Außerdem ermöglichen PDBs eine bessere Ressourcen-Nutzung und -Verwaltung. Im Webseminar wird die neue Self Service Provisioning Application (eine APEX-Anwendung) und damit die Möglichkeit, neue Datenbanken per Selbstbedienung bereitzustellen, vorgestellt Erfahren Sie, wie Sie die Self Service Provisioning Application herunterladen, installieren und innerhalb kürzester Zeit einen Datenbankservice in Ihrem Unternehmen bereitstellen können: Oracle12c Multitenant. Die Teilnahme ist kostenlos. Hier geht's zur Anmeldung und den Einwahldaten.
Dieses Community-Posting dreht sich um ein Webseminar am 30. Oktober um 11:00 Uhr zum Thema Oracle12c und dem neuen Multitenant Feature: Diese Möglichkeit, Datenbanken auch als "Pluggable Database"...
Die Arbeit mit Arrays ist für einen APEX oder PL/SQL Entwickler alltäglich - sie werden immer wieder gebraucht. Und doch erscheint der Umgang mit Arrays in der Oracle-Datenbank oft rätselhaft. Unter aktueller Community-Tipp gibt einen Einblick in die Arbeit mit Arrays in der Oracle Datenbank und stellt vor, was geht und was nicht. Dabei wird auf SQL und PL/SQL fokussiert - in Application Express lässt sich das hier vorgestellte natürlich beliebig nutzen: Beispiele sind Berichts-SQL oder PL/SQL in einem onSubmit-Prozess. In diesem, dem ersten Teil des Tipps, stellen wir VARRAYs und Nested Tables, die Array-Varianten, die sowohl in SQL als auch in PL/SQL bereitstehen, vor. Somit können diese Arrays auch als Datentypen für Tabellenspalten oder in SQL-Abfragen bzw. in DML-Anweisungen genutzt werden. Die nur in PL/SQL verfügbaren assoziativen Arrays werden dann im nächsten Community Tipp behandelt.
Die Arbeit mit Arrays ist für einen APEX oder PL/SQL Entwickler alltäglich - sie werden immer wieder gebraucht. Und doch erscheint der Umgang mit Arrays in der Oracle-Datenbank oft rätselhaft. Unter...
Seit dem 18. September ist das neue APEX Patchset 4.2.3 verfügbar. Details dazu sind auf Joel Kallmans Blog verfügbar. Wie immer können Nutzer älterer APEX-Versionen (4.1 oder älter) die Vollversion APEX 4.2.3 aus dem Oracle Technet herunterladen und die vorhandene APEX-Installation upgraden. Nutzer von APEX 4.2.0, 4.2.1 oder 4.2.2 laden Patch Nr. 17347169 aus MyOracleSupport herunter und wenden diesen gemäß des beiliegenden README-Dokumentes an. Das Patchset bringt im wesentlichen die folgenden Änderungen mit: Volle Unterstützung für Oracle Multitenant in Oracle12c Zwei neue "Packaged Applications": Data Reporter und Opportunity Tracker Das Package APEX_LANG wurde erweitert, um Anwendungsübersetzungen auch außerhalb der Entwicklungsumgebung anpassen zu können. Und wie in jedem Patchset: Bug Fixes - die genaue Liste ist im README des Patchsets enthalten. Das kommende Release APEX 5.0 wirft auf Konferenzen wie der nun anstehenden Oracle Open World, der DOAG2013 oder der ODTUG APEXPosed, die letzte Woche endete, seine Schatten voraus: Auf Twitter wird APEX 5.0 bereits heiß diskutiert. Dem Autor der deutschsprachigen APEX und PL/SQL Community können Sie unter @cczarski ebenfalls auf Twitter folgen. Allgemeine Datenbank-News in deutscher Sprache gibt es unter @OracleBUDB.
Seit dem 18. September ist das neue APEX Patchset 4.2.3 verfügbar. Details dazu sind auf Joel Kallmans Blog verfügbar. Wie immer können Nutzer älterer APEX-Versionen (4.1 oder älter) die Vollversion...