Inside Oracle APEX auf Deutsch (von Patrick Wolf)

Für Kurzentschlossene

Gehörst Du zu den spontanen Personen? Dann ist das Deine Chance!

Bei unserem Oracle APEX Training nächste Woche vom Montag, 02. Juni bis Mittwoch, 04. Juni sind noch ein paar Plätze frei. Schnell anmelden und nächste Woche beballtes Oracle APEX Knowhow erfahren!

Bis nächste Woche!
Patrick


Labels:


« ... Ganzen Artikel lesen ... »

Neue Einstiegsseite für meine Oracle APEX Aktivitäten

Schon vor einiger Zeit habe ich die Domäne oracleapex.info registiert und heute habe ich ein paar freie Minuten dazu genutzt eine Einstiegsseite für alle meine Oracle Application Express (APEX) Aktivitäten zu erstellen.

Ich mochte alle meine APEX bezogenen Open Source Projekte auf diese Domäne überführen. Die Web Site von Oracle APEX Builder Plugin läuft bereits dort und für mein neues Projekt, Oracle APEX Essentials habe ich heute eine Web Site erstellt. Der ApexLib Framework sollte folgen wenn es die Zeit erlaubt. Bin relativ busy in letzter Zeit.

Übrigens, suche noch mehr Beta Tester für Oracle APEX Essentials. Details gibt es hier.

Aktualisierung am 25. Mai: Habe jetzt auch für den ApexLib Framework eine neue Web Site erstellt. Jetzt ist alles vollständig.

Labels:


« ... Ganzen Artikel lesen ... »

Oracle APEX 3.1.1 ist verfügbar!

Habe gerade am Blog vom Joel Kallman gelesen, dass Oracle Application Express (APEX) 3.1.1 veröffentlicht wurde. Das ist das lange erwartete Patchset für das im Februar veröffentliche Oracle APEX 3.1, welches einige der Bugs beseitigt über welche doch einige von uns gestolpert sind. Die Readme Datei listet 52 korrigierte Bugs.

Der Patchset kann von MetaLink (Suche nach Patch Nummer 7032837) heruntergeladen werden. Ein vollständiger 3.1.1 Download sollte in Kürze auf OTN zur Verfügung stehen.

Labels: ,


« ... Ganzen Artikel lesen ... »

Vorsicht bei der Verwendung von "Runtime Where Clause" in Oracle APEX 3.1

Habe auf schmerzliche Art und Weise festgestellt, dass die neue Prozess Eigenschaft "Runtime Where Clause" (zB. Fetch, DML) einen schwerwiegenden Bug hat. Wenn die Applikation exportiert wird, ist der Wert der Eigenschaft sauber im Export File, aber wenn die Applikation dann wieder importiert wird, dann wird der Wert nicht gesetzt!!!

Da ja die meisten von uns ja nicht am Produktivsystem entwickeln, ist dieser Bug ein wirklicher Show Stopper für das Feature, weil wir nie die identische Applikation auf das Produktivsystem oder zum Kunden bekommen.

Das Oracle APEX Team wurde bereits über das Problem
informiert und laut Scott ist es in 3.1.1 korrigiert.

Hinweis: Die "Optional Where Clause" eines "Get Next or Previous Primary Key Value" Prozesses ist nicht von diesem Verhalten betroffen, diese Eigenschaft hat es schon vor Oracle APEX 3.1 gegeben.

Labels: ,


« ... Ganzen Artikel lesen ... »

Oracle APEX Award - Mitmachen!!!

Oracle hat einen Oracle Application Express (APEX) Award ausgeschrieben! Dieser ist auch ordentlich dotiert.

€ 5.000

gibt es für den Gewinner! Die genauen Teilnahmebedingungen und Deadlines gibt es unter www.oracle-apex-award.de.

Ich habe ja leider vor ein paar Monaten einen kleinen Fehler gemacht, ich sitze nämlich in der Jury und kann selbst nicht mitmachen. Aber Ihr solltet die Chance wahrnehmen! Nicht nur das Preisgeld ist ganz ordentlich, der Gewinner wird auch auf relevanten Websites und in diversen Medien bekanntgegeben. Wenn Ihr schon immer Eure Bekanntheit oder die Eures Unternehmens steigern wolltet, eine tolle Gelegenheit!

Labels: ,


« ... Ganzen Artikel lesen ... »

APEX Essentials - Deine Hilfe ist gefragt!!

Bin gerade dabei ein neues Tool für die Unterstützung bei der Oracle APEX Entwicklung zu programmieren. Um die erste Version gleich möglichst perfekt hinzubekommen, brauche ich Eure Unterstützung!

Wofür ist das neue Tool?

Auf den Punkt gebracht, kümmert es sich um die Qualitätskontrolle Eurer Oracle APEX Applikation.

Dadurch, dass eine Oracle APEX Anwendung zur Laufzeit interpretiert wird, zeigen sich erst dort viele Fehler. Aber auch da ist nicht sicher, ob die Fehler überhaupt an die Oberfläche kommen. Z.B. eine Referenz eines nicht existenten Application-/Page Items mit der Substitution Syntax (&P999_TEST.) oder der Bind Variablen Syntax (:P999_TEST) wird von Oracle APEX einfach ignoriert und es wird NULL zurückgeliefert. Es kann aber auch sein, dass ungültige SQL Statements oder PL/SQL Code einfach ignoriert werden. Siehe die OTN Forum Postings hier und hier.

Und genau hier setzt das Tool an. Nicht erst zur Laufzeit sollte man auf diese Fehler draufkommen, sondern bereits vorab durch einen Überprüfungslauf.

Das Tool Oracle APEX Advisor ist also so eine Art Compiler/LINT für eine Oracle APEX Applikation. Es werden aber nicht nur die oben angeführten Fälle abgedeckt sondern bereits insgesamt 22 Checks durchgeführt!

Euer Beitrag

Beta Tester hört sich immer nach so viel Arbeit und Pflichten an, mir geht es aber nur darum dass das Tool vorab über möglichst viele echte Applikationen drübergelaufen ist, damit eventuelle Sonderfälle richtig behandelt werden.

Das Tool kann in ein paar Minuten installiert werden, es handelt sich um eine einfache 1 Klick Installation mit automatischer Installation der Supporting Objects. Danach kann Eure Applikation schon überprüft werden.

Viele sagen jetzt sicher, ich bin so im Stress und habe keine Zeit. Bedenkt, dass Euch dieses Tool Fehler schon frühzeitig aufzeigen kann und Euch dadurch Zeit sparen kann! Darum jetzt eine Mail an beta@oracleapex.info schicken, dass Ihr mitmachen wollt!

Online einen ersten Blick drauf werden

Ich habe auf apex.oracle.com einen Workspace aufgesetzt in dem Ihr Euch vorab mal das Tool ansehen könnt. Dort befinden sich auch die meisten Packaged Applications des Oracle APEX Teams auf das Ihr das Tool mal loslassen könnt.

Login mit

Workspace: ae_demo
User: guest
Password: 123456

und danach die Applikation "APEX Essentials" ausführen. Wenn Ihr nach einem Usernamen/Passwort gefragt werdet, guest/123456 eingeben.

Achtung: Bitte nichts in diesem Workspace verändern!

Mit folgendem Link kann der Oracle APEX Advisor auch direkt gestartet werden, aber dann seht Ihr nicht die enge Integration in den Oracle APEX Builder.

Ideen und Verbesserungsvorschläge?

Fehlen bestimmte Überprüfungen oder habt Ihr Ideen um das Tool zu verbessern? Nur her damit, entweder hier kommentieren, eine Mail an mich unter beta@oracleapex.info schicken oder im folgenden OTN Forum Thread Eure Anmerkung reinschreiben.

Freue mich auf Eurer Feedback!

Ein paar Bildschirmfotos eines Testdurchlaufs




Labels: ,


« ... Ganzen Artikel lesen ... »

Spracherkennung in Oracle APEX integrieren

Tyler Muth hat wieder mal ein wirklich cooles Posting geschrieben zum Thema wie man Oracle APEX mit einem anderen Service integrieren kann.

Jott ist ein Spracherkennungsservice welches es auch erlaubt seine eigenen Applikationen in ihr Service einzubinden. Tyler hat diesen Mechanismus dazu verwendet den erkannten Text in die Tabelle einer Oracle APEX Anwendung zu schreiben. Alle Details gibt es auf seinem Speech to text to Oracle APEX Posting.

Leider, leider bietet Jott noch keine Telefonnummern für Europa an :-( Aber vielleicht gibt es hier ja andere Services die einen ähnlichen Funktionsumfang wie Jott haben.

Labels: , ,


« ... Ganzen Artikel lesen ... »

ORA-02014: cannot select FOR UPDATE from view with DISTINCT, GROUP BY, etc.

Wenn Ihr den Fehler ORA-02014: cannot select FOR UPDATE from view with DISTINCT, GROUP BY, etc. (ich stell mir jetzt gar nicht vor wie der auf Deutsch übersetzt heißt... :-) ) von einem DML Prozess in Oracle APEX bekommt, dann ist das weil Oracle APEX versucht den betroffenen Datensatz vorher zu locken, bevor es ein Update/Delete durchführt. Dieses Verhalten wurde in Oracle APEX 3.0 eingebaut, aber leider mit dem Side Effekt, dass komplexe Updateable View mit einem Instead of Trigger den obigen Fehler produzieren.

Übrigens, warum gibt es in der Oracle DB kein "LOCKING" Ereignis für einen Instead of Trigger???

Aber zurück zum Thema, was können wir tun?

In Oracle APEX 3.0.1.00.07/08 wurde ein neue Einstellung zum deaktivieren dieses Verhaltens eingebaut. Es ist im Readme des Patches dokumentiert, aber nicht in der Online Hilfe (Bug wurde erstellt). Die Einstellung heißt FSP_DML_LOCK_ROW und ist ein Substitution Value oder ein Application-/Page Item. Wenn Ihr den Wert auf FALSE setzt, dann macht der DML Prozess kein Locking mehr.

Aber ist es eine gute Idee das Locking für die ganze Applikation zu deaktivieren?

Ich denke nicht! Es sollte nur für jene Seiten erfolgen wo es notwendig ist.
  1. Erstelle ein Application Item mit dem Namen FSP_DML_LOCK_ROW
  2. Erstelle eine Application Computation mit den folgenden Einstellungen
    • Sequence: 0
    • Computation Point: After Submit
    • Computation Type: Static Assignment
    • Computation: TRUE
  3. Erstelle eine Computation auf den Seiten wo der Fehler auftritt
    • Sequence: 10
    • Computation Point: After Submit
    • Computation Type: Static Assignment
    • Computation: FALSE
Übrigens, es gibt noch eine andere Einstellung mit dem das Locking Verhalten beeinflusst werden kann. Sie heißt APEX_DML_LOCK_WAIT_TIME. Mehr Details gibt es in der Dokumentation.

Labels: , ,


« ... Ganzen Artikel lesen ... »