Forms 11g: Ein Blick hinter die Kulissen Gerd Volberg OPITZ CONSULTING
Einladung zur Fusion Middleware Beta in Redwood Shores FMW Beta2 2007 Einladung zur Fusion Middleware Beta in Redwood Shores 5 Tage im Betatest-Campground 40 Tester aus der ganzen Welt (1 Oracle Forms, 2 Reports) 50-60 Oracle Produktmanager standen uns die ganze Zeit zur Verfügung und halfen bei Problemen und Bugs Die Tester konnten eigene Ideen und Features mit einbringen, die teilweise über Nacht eingebaut wurden.
Redwood Shores
Konfigurationsdateien Statement of Direction – November 2007 New Features in Forms 11g Advanced Queuing Architektur Events Neue Trigger Javascript API Neue Built-Ins Konfigurationsdateien Statement of Direction – November 2007
1 Advanced Queuing
Advanced Queuing: Architektur
Advanced Queuing: Anwendungsgebiete
Advanced Queuing: Anwendungsfall
Erstellen einer AQ Advanced Queuing BEGIN DBMS_AQADM.Create_Queue_Table ( queue_table => 'QU_TABLE', queue_payload_type => 'RAW', multiple_consumers => TRUE -- notwendig für Forms END; / DBMS_AQADM.Create_Queue ( queue_name => 'QU_MY_QUEUE', queue_table => 'QU_TABLE'
Advanced Queuing: EVENT Event-Properties Data Base | User Defined LOV aller AQs Application | Form Yes | No Browse | Locked | Removed
Advanced Queuing: Neuer Trigger WHEN-EVENT-RAISED BEGIN :control.ti_payload := get_event_object_property ('EV_Default', Event_Payload); IF upper (:control.ti_payload) = 'ATTACH DEBUG' THEN debug.attach; ... END IF; END;
2 Javascript-API
Javascript-API
Javascript-API: Neue Built-Ins :system.javascript_event_name Gibt den Namen des Events zurück, der im Javascript gestartet wurde. :system.javascript_event_value Beinhaltet die Payload, die von Javascript an Forms übergeben wurde. web.javascript_eval_expr Dieser Javascript-Aufruf wird im Ziel-HTML-Window ausgeführt.
Javascript-API: Neuer Trigger WHEN-CUSTOM-JAVASCRIPT-EVENT %HTMLbeforeForm% <INPUT id="outside_field_id"> <SCRIPT> function set_field (field_id, myValue) { document.getElementById(field_id).value=myValue; }; function clickEvent1() { document.forms_applet.raiseEvent("NewForm", "SPU_Start"); }</SCRIPT> <input id="button1" type="button" onClick="void clickEvent1();" value="New Form">
Javascript-API: HTML-Code <BODY %HTMLbodyAttrs%> %HTMLbeforeForm% <INPUT id="outside_field_id"> <SCRIPT> function set_field (field_id, myValue) { document.getElementById(field_id).value=myValue; }; function clickEvent1() { document.forms_applet.raiseEvent("NewForm", "payload"); } </SCRIPT> <input id="button1" type="button" onClick="void clickEvent1();" value="NewForm"> ... DECLARE event_name varchar2 (300) := :system.javascript_event_name; event_value varchar2 (300) := :system.javascript_event_value; BEGIN IF event_name = 'ExitForm' THEN exit_form; ELSIF event_name = 'NewForm' THEN new_form (event_value); ... END; web.javascript_eval_expr ('document.getElementById("outside_field_id").value="' || :control.ti_inside || '";'); ('set_field("outside_field_id", "' || :control.ti_inside || '")'); :control.ti_get_value := web.javascript_eval_function ('document.etElementById("outside_field_id").value');
3 Konfigurationsdateien
Konfigurationsdateien formsweb.cfg (Neu) digitSubstitution = context otherparams = ssoProxyConnect allowAlertClipboard = true disableValidateClipboard = false applet_name = enableJavascriptEvent = maxEventWait = 100 default.env FORMS_TRACE_DIR FORMS_ALLOW_JAVASCRIPT_EVENTS LD_LIBRARY_PATH ORACLE_INSTANCE webutil.cfg BlockAllowHeartBeat = false formsweb.cfg (Entfällt) baseHTMLjinitiator archive_jini default.env FORMS_TRACE_PATH
Feedbackmeeting Zum Ende der Testwoche gab es eine umfassende vierstündige Feedbackrunde 100 Oracle Mitarbeiter (teils über WebConference) verfolgten sehr interessiert das Feedback der 40 Tester Jedes Produkt wurde von den Testern unter die Lupe genommen, wobei Verbesserungswünsche gern gehört wurden. Am Ende meines Berichtes nannte ich einige Features, die ich mir schon immer für Oracle Forms wünschte Einen neuen modernen Editor Integration von Webservices (ähnlich wie bei den Events)
4 Statement of Direction
Statement of Direction – November 2007
Statement of Direction – November 2007
gerd.volberg@opitz-consulting.de F&A talk2gerd.blogspot.com