Laut Richard, einem schottischem ApexLib Benutzer - JA! Er hat erfolgreich den ApexLib Framework in eine HTMLDB 1.6 Applikation integriert. Damit die Installation reibungslos über die Bühne geht, muss man den APEX 2.0 Installationsanweisungen folgen. Ich habe zur Zeit keine Pläne HTMLDB 1.6 "offiziell" zu unterstützen, da bereits 4 verschiedene APEX Versionen eine Menge Arbeit bedeuten, aber es ist trotzdem schön zu hören, dass der Framework auch mit so einer alten Version funktioniert. Labels: APEX, ApexLib, Oracle
« ... Ganzen Artikel lesen ... »
Wie Ihr anhand der ApexLib Demo Applikation sehen könnt, läuft der Framework auch auf apex.oracle.com. Aber um ehrlich zu sein, ist es eine Menge Arbeit um all die einzelnen Packages und Views auf apex.oracle.com hochzuladen um sie dann dort im eigenen Schema installieren zu können. Ich habe eine Anfrage bekommen, ein How To Dokument zu erstellen welches die notwendigen Schritte beschreibt um ApexLib auf apex.oracle.com zu installieren.
Ich habe mir gedacht, dass wäre doch eine gute Gelegenheit sich mal das "Supporting Objects" Feature von APEX anzusehen. Mit diesem Feature ist es möglich zusätzlich zur Applikation auch noch weitere Datenbank Objekte wie Tabellen, Views, Packages oder auch das Laden von Daten durchzuführen. Scheint das Ideale Feature zu sein um die Views und Packages des ApexLib Framework zu installieren.
Die Schritte um die Installations Scripts zu erstellen sind eigentlich sehr einfach und klar. Es gibt aber einen kleinen Hacken dabei. Wenn man sehr viele Dateien hat, so wie ich (29 einzelne Dateien), dann ist das erstellen dieser Installations Scripts/Steps sehr langweilig. Hinweis an das APEX Entwicklungsteam: Wie wäre es mit einem Multi-Datei Upload? :-)
Aber schlussendlich habe ich es geschafft!
Ich habe eine neue Applikation erstellt, welche keine einzige Seite enthält, nur die "Supporting Objects". Ich habe es nicht zur Demo Applikation hinzugefügt, weil die reguläre ApexLib Installation immer mit den bereitgestellten Installationsscripts durchgeführt werden soll. Die neue Applikation ist nur als Erleichterung für apex.oracle.com gedacht. Ok, es funktioniert auch mit jeder normalen APEX Installation, im Falle wenn kein SQL*Plus Zugriff vorhanden ist. Aber niemand weitererzählen! ;-)
Willst Du den Framework auf apex.oracle.com ausprobieren? Alle notwendigen Files befinden sich auf Sourceforge.
Übrigens, für die Installation der Applikation auf apex.oracle.com muss man ein wenig geduldig sein, es dauert meistens ein "wenig" länger...
Labels: APEX, ApexLib, Oracle
« ... Ganzen Artikel lesen ... »
Wenn Ihr ApexLib 1.6 mit dem Internet Explorer verwendet, dann kann es eventuell zu einem Problem mit Popup Lovs kommen, wenn Ihr einen Wert auswählt. Der Wert wird in der aufrufenden Seite gesetzt, aber das Popup wird nicht geschlossen. Stattdessen wird ein JavaScript Fehler angezeigt. Hinweis: Dieser Fehler tritt nur auf, wenn Ihr die Datei ApexLib_Lov.js in das "Popup Lov Template" eingefügt habt. Wie es in Kapitel 3.12 des How To Integrate Dokuments beschrieben ist. Benutzt die folgende neue Version von ApexLib_Lov.js um das Problem zu korrigieren. Labels: ApexLib
« ... Ganzen Artikel lesen ... »
Vielleicht habt Ihr es schon gesehen, dass ich die Version 1.6 des ApexLib Framework veröffentlicht habe. Mein ursprünglicher Plan für diese Version war den "Abhängige/Hierarchische Lov" Bereich Feature Complete zu machen, aber ich war am Wochenende ein wenig faul und habe mich von diversen Dingen ablenken lassen, statt zu programmieren. Zum Beispiel schau ich mir gerade ein Content Management System für die ApexLib Homepage an. Aber die gute Nachricht ist, dass diese Version zumindest einige Erweiterungen im "Abhängige/Hierarchische Lov" Bereich hat. Zum Beispiel ist es jetzt möglich eine Popup Lov oder eine Multi-Select Liste als treibendes Element für die Abhängigen Lovs zu haben. Checkboxen, Radiogruppen, Shuttle, ... werden in der nächsten Version folgen.
Andere Erweiterungen sind- Tabular Form Validierung unterstützt jetzt Abfragen die auf einer Funktion basieren.
- Die Date Picker Validierung unterstützt jetzt das neue "use item format mask" Feature von APEX 3.0
- Die Warnung "Is Required" welche kommt, wenn man ein Feld verlässt kann jetzt deaktiviert werden.
Für eine vollständige Liste der Änderungen siehe die Änderungshistorie.
Ich habe auch die Demonstrations-Applikation aktualisiert um die Abhängigen Lovs mit Popup Lovs und Multi-Select Listen zu demonstrieren.
Holt Euch jetzt die neue Version!
Die Update Instruktionen findet Ihr im Change Log File.
Änderungshistorie:
- CR# 1683676: Tabular form validations based on dynamic SQL
- CR# 1685427: Support "multi select list" as master for a cascading lov
- CR# 1690927: Don't show required warning when leaving empty field
- CR# 1691701: Popup Lov should also work as master for cascading lov
- CR# 1692584: Support for APEX 3.0 "Date Picker using item format mask"
- Bug# 1690057: Don't do any checks if a Tab is clicked
- Bug# 1684235: addApexValidationErrors doesn't work for Page Level Val.
- Bug# 1686233: Edit Links not displayed in APEX 3.0
Labels: APEX, ApexLib, Hierarchische Lovs, Oracle
« ... Ganzen Artikel lesen ... »
Erweiterungen der APEX Repository Views in Oracle APEX 3.0 machen es möglich einige der Einschränkungen des ApexLib Frameworks zu entfernen. - Der Page Flow Diagram Generator funktioniert jetzt auch im Applikations Schema. Es ist daher nicht mehr notwendig direkt die APEX Tabellen zu granten um diese Funktion zu verwenden.
- Es wird jetzt auch ein "Report Column Heading" unterstützt, welches nicht gleich "Custom" ist.
- Diese Version enthält auch eine Korrektur für eine nicht so schnelle View in Kombination mit APEX 3.0.
- Wenn Ihr das Replacement der V Funktion von mir verwendet, dann schaut Euch bitte den Change Log für die notwendigen Upgrade Instruktionen an!
Ich habe auch ein neues Kapitel "Feature Restriction" in das HowToInstall Dokument aufgenommen, welches die verschiedenen Einschränkungen abhängig von der APEX Version und verwendeter Installationsoption zeigt. Das neue Kapitel "Upgrade an existing version of ApexLib" beschreibt die notwendigen Schritte wenn man bereits eine bestehende Version installiert hat.
Hinweis: Die obigen Änderungen im Zusammenhang mit APEX 3.0 bedeuten nicht, dass der ApexLib Framework nicht mehr mit Versionen vor 3.0 funktioniert. Die aktuell unterstützten APEX Versionen sind 2.0, 2.1, 2.2 und 3.0.
Die neue Version jetzt herunterladen!
Änderungshistorie:
- CR# 1683243: Page Flow Diagram Generator should work with repository views
- CR# 1683306: Support for other Report Column Headings then "Custom"
- Bug# 1663904: Placeholders in user defined messages are not replaced
- Bug# 1679309: Error in ApexLib_Item if $APEXLIB_IGNORE_VALIDATION$ is set
- Bug# 1680244: View APEXLIB_V_PAGE_ITEM very slow with APEX 3.0
- Bug# 1680250: Update the patched V and NV functions to APEX 3.0
Labels: APEX, ApexLib, Oracle
« ... Ganzen Artikel lesen ... »
Einer der "Nachteile" in der Verwendung des ApexLib Framework ist, dass man sich an alle "ApexLib Hints" erinnern muss welche für die Konfiguration des Laufzeitverhaltens des Frameworks notwendig sind. Ok, nach einiger Zeit gehen sie immer mehr in Fleisch und Blut über. Aber wäre es nicht viel Komfortabler wenn man die Einstellungen genauso setzen könnte wie für APEX selbst? Mit der neuen Version des APEX Builder Plugins ist das jetzt möglich!
In den APEX Builder Seiten "Edit Page Item", "Edit Region - Region Definition" und "Report Attributes > Column Attributes" wird jetzt ein neuer Bereich "ApexLib Framework" dargestellt, der die möglichen Eigenschaften in diesem Kontext darstellt.
Jetzt ausprobieren und die neue Version herunterladen!

Labels: APEX, APEX builder plugin, APEX hacks, ApexLib, Oracle
« ... Ganzen Artikel lesen ... »
 Wie oft habt Ihr schon eine APEX Validierung erstellt, welche überprüft ob ein Geldbetrag grösser oder gleich 0.00 ist, ein Prozentwert zwischen 0 und 100 ist oder das ein eingegebenes Datum kleiner oder gleich Heute ist? Das ganze bedeutet normalerweise viel Arbeit!- Ihr müsst eine Validierung erstellen um sicherzustellen, dass der Wert numerisch ist.
- Eine weitere Validierung erstellen welche nur feuert, wen die vorherige Validierung ok gegangen ist.
- Die Überprüfung als PL/SQL Expression oder SQL Expression eingeben.
- Sich eine gute Fehlermeldung überlegen.
All das nur um sicherzustellen, dass der Geldbetrag grösser or gleich 0 ist... Eine weitere Einschränkung ist, dass der Benutzer erst eine Fehlermeldung bekommt wenn er die Seite speichert. Das bedeutet, wenn man das ganze Benutzerfreundlich macht, muss das ganze auch noch als JavaScript implementiert werden...
Hmmm, da müsste es doch eigentlich einen einfachere und schnellere Methode geben um das zu bewerkstelligen.
Es gibt sie! :-)
Ich habe in der letzen Version des ApexLib Framework einen deklarativen Wertebereichscheck für Page Items/Tabular Form Spalten hinzugefügt.
Ihr könnt es auf meiner Demo Seite ausprobieren.
Es ist jetzt möglich einen Min-/Max- Wert für ein Feld/Spalte zu definieren. Die Grenzen werden sofort überprüft wenn der Benutzer das Feld im Browser verlässt. Aus Sicherheitsgründen wird das ganze auch nochmal am Server überprüft wenn die Seite gespeichert wird.
Ihr müsst nur den ApexLib Hint $APEXLIB_MIN_VALUE=Min Wert$ und/oder $APEXLIB_MAX_VALUE=Max Wert$ zum Page Item Kommentar oder in die Link Attributes der Tabular Form Spalte hinzufügen, wie Ihr es bereits für die anderen ApexLib Hints macht.
Was wird unterstützt?
Ihr könnt fixe Werte definieren. zB: $APEXLIB_MIN_VALUE=0$ $APEXLIB_MAX_VALUE=100$ um einen Wertebereichs-Check zu machen oder verwendet $APEXLIB_MIN_VALUE=01-JAN-2007$ um gegen ein fixes Datum zu prüfen.
Aber Ihr könnt es auch ein wenig mehr dynamisch machen und ein anderes Applikations Item/Page Item referenzieren. zB: $APEXLIB_MAX_VALUE=&F111_TODAY.$ um zu überprüfen, dass der Benutzer nicht einen grösseren Wert als Heute eingeben kann.
Für Tabular Form Spalten kann zusätzlich auch noch die #COLUMN_NAME# Notation verwendet werden um eine Spaltenzelle in der gleichen Zeite zu referenzieren. zB. $APEXLIB_MIN_VALUE=#SALARY#$
Wenn Ihr ein Page Item/Spalte der aktuellen Seite referenziert, dann ändert sich der Min/Max Wert wenn Ihr den referenzierten Wert auf der Seite ändert.
Achtung: Der Wert welcher angegeben wird, unabhängig ob er fix oder dynamisch ist, muss der Format Maske des aktuellen Items/Spalte entsprechen!!! Das bedeutet, wenn der aktuelle "Date Picker" eine Format Maske von DD-MON-YYYY definiert hat, dann muss der fixe oder der referenzierte dynamische Wert auch von diesem Format sein!
Für das obige Beispiel mit dem Applikations Item F111_TODAY bedeutet das, dass der notwendige Initialisierungscode eine PL/SQL Expression mit dem folgendem Code wäre (wir nehmen an, die Format Maske ist DD-MON-YYYY)TO_CHAR(SYSDATE, 'DD-MON-YYYY'); Was funktioniert (noch) nicht?
Es ist nicht möglich eine Expression zu definieren. Zum Beispiel ein anderes Feld zu referenzieren und einen Tag hinzuzufügen. zB: $APEXLIB_MIN_VALUE=&P4_VALID_FROM.+1$
Ich finde aber, dass es für den Beginn mal ein ganz guter Start ist und man damit einiges an Entwicklungsarbeit/zeit sparen kann!
Übrigens ich habe auch die "Set" Konfiguration der ApexLib Hints aktualisiert. Für den Fall, dass Ihr das APEX Builder Plugin verwendet. Ihr könnt die ensprechenden Dateien im "BuilderPlugin" Verzeichnis finden.
Labels: APEX, ApexLib, Broser Validierung, Oracle
« ... Ganzen Artikel lesen ... »
Habe gerade eine neue Version des Oracle APEX Entwickler Frameworks ApexLib auf Sourceforge hochgeladen. Wie Ihr der Änderungshistorie entnehmen könnt, enthält diese Version viele Fehlerkorrekturen, aber auch eine neue Funktionalität. Deklarative Min-/Max-Wert Validierung im Browser. Später mehr Details dazu. Es gab ein paar Anfragen die Feature Demonstration Applikation im Zip-File zu inkludieren. Here you go! Ihr findet sie im "Examples" Verzeichnis.
Holt Euch die neue Version!
Liste der Änderungen:
- CR# 1673663: Min/Max value check
- CR# 1670687: Use new jQuery 1.1.2 version
- CR# 1674427: Include Feature Demonstration application
- Bug# 1663904: JavaScript error if cascading lov field isn't rendered
- Bug# 1666334: Cascading lov doesn't work for items on page 0
- Bug# 1667049: Browser validation fails for format FM999G999G990D00
- Bug# 1666860: cascading lov not working when bind variables are used twice
- Bug# 1667490: Cascading lov raises javascript error on IE
- Bug# 1669345: Max Length feature for TabForms isn't checked in IE
- Bug# 1670168: Index NULL error if region name isn't unique
- Bug# 1670770: Userdefined onBlur/onChange events have a wrong "this"
- Bug# 1671284: The server side validation checks required for hidden items
- Bug# 1666408: Wrong tabular form column validated in some cases
- Bug# 1671956: Code in body onload isn't executed
Labels: APEX, ApexLib, Oracle
« ... Ganzen Artikel lesen ... »
|