Diese Präsentation wurde erfolgreich gemeldet.
Die SlideShare-Präsentation wird heruntergeladen. ×
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Wird geladen in …3
×

Hier ansehen

1 von 66 Anzeige

Forms Community Server

www.opitz-consulting.com

Der Vortrag zeigt den aktuellen Stand des Forms-Community Demoserver-Projekts.
Dieses Projekt besteht aus den Komponenten Forms-Demoserver, Github-Repository und Community-Plattform
Genau wie die PL/SQL- und APEX-Community hat nun auch die Forms-Community eine eigene Welt, in der Best Practices und Code-Snippets auf einem Demoserver präsentiert werden können. Alle Sourcecodes werden auf Github frei und offen allen Mitgliedern zur Verfügung gestellt. Diskutiert wird auf der Community-Plattform, die aus Forum, News und weiteren Bereichen besteht.

Diesen Vortrag präsentierte unser Experte Gerd Volberg auf der DOAG Konferenz 2017.

www.opitz-consulting.com

Der Vortrag zeigt den aktuellen Stand des Forms-Community Demoserver-Projekts.
Dieses Projekt besteht aus den Komponenten Forms-Demoserver, Github-Repository und Community-Plattform
Genau wie die PL/SQL- und APEX-Community hat nun auch die Forms-Community eine eigene Welt, in der Best Practices und Code-Snippets auf einem Demoserver präsentiert werden können. Alle Sourcecodes werden auf Github frei und offen allen Mitgliedern zur Verfügung gestellt. Diskutiert wird auf der Community-Plattform, die aus Forum, News und weiteren Bereichen besteht.

Diesen Vortrag präsentierte unser Experte Gerd Volberg auf der DOAG Konferenz 2017.

Anzeige
Anzeige

Weitere Verwandte Inhalte

Ähnlich wie Forms Community Server (20)

Weitere von OPITZ CONSULTING Deutschland (20)

Anzeige

Aktuellste (20)

Forms Community Server

  1. 1. Seite 1 Gerd Volberg OPITZ CONSULTING Deutschland GmbH Nürnberg, 21. November 2017 Forms Community Demo Server
  2. 2. Seite 2 Agenda 1. Forms Demo Server  Loginvarianten  Datenbank  RSS 2. Github  DOAG / Forms  Tools 3. Community Plattform  Einstieg  Navigation 4. Demos
  3. 3. Seite 3 0 Demo Server, Git und Community
  4. 4. Seite 4 Demo Server, Git und Community  Forms Demo Server  Frank Hoffmann  frank.hoffmann@forms12c.de  https://www.forms12c.de  Github  Gerd Volberg  gerd.volberg@forms12c.de  https://github.com/Doag/Forms  Community Plattform  Jürgen Menge  juergen.menge@forms12c.de  https://community.oracle.com/community/other-languages/deutsche-oracle-entwickler-community/forms-developer-community
  5. 5. Seite 5 1 Forms Demo Server
  6. 6. Seite 6 Forms Demo Server https://forms12c.com/
  7. 7. Seite 7 Forms Demo Server
  8. 8. Seite 8 https + FSAL
  9. 9. Seite 9 Datenbank  Auf dem Demoserver läuft eine 12er Oracle Datenbank  Wer für seine Demo-Forms Daten in der Datenbank speichern möchte, erzeugt alle notwendigen Skripte und lässt uns diese zukommen.  Wir erzeugen den User, das Datenmodell und die Daten. Danach publizieren wir diese Skripte auf Github, damit sie für jeden zugängig sind, der die Demo bei sich nachbauen möchte.
  10. 10. Seite 10 Startbildschirm  https://forms12c.com/forms/frmservlet?config=demo0001
  11. 11. Seite 11 RSS https://www.forms12c.com/plsql/rss_forms12c_demo
  12. 12. Seite 12 2 Github
  13. 13. Seite 13 Github DOAG / Forms https://github.com/Doag/Forms
  14. 14. Seite 14 Github DOAG / Forms / demos
  15. 15. Seite 15 Github DOAG / Forms / demos / demo0001
  16. 16. Seite 16 Sourcetree
  17. 17. Seite 17 https://www.sourcetreeapp.com/
  18. 18. Seite 18 Upload (Commit + Push) neuer Inhalte
  19. 19. Seite 19 Upload neuer Inhalte  1) Übersicht aller Unstaged Files
  20. 20. Seite 20 Upload neuer Inhalte  2) Markieren der neuen Files  3) Klick auf Stage Selected
  21. 21. Seite 21 Upload neuer Inhalte  4) Commit-Kommentar eingeben  5) Commit klicken
  22. 22. Seite 22 Upload neuer Inhalte  Vorher  Nachher
  23. 23. Seite 23 3 Community Plattform
  24. 24. Seite 24 Community Plattform https://community.oracle.com/community/other-languages/deutsche-oracle-entwickler- community/forms-developer-community/
  25. 25. Seite 25 Community Plattform Struktur  Blog  Infos zu den Forms Community Treffen + Forms Days  Dokumente  Best Practices, Installationsbeschreibungen, Infos vom PM  Diskussionen  Allgemeiner Bereich, Fragen und Antworten  Umfragen  Aktuelle Umfrage bez. Reporting Day  Ereignisse  Treffen, Webinare and more  Ideen
  26. 26. Seite 26 Diskussionsforum  Fragen und Antworten in Deutsch !
  27. 27. Seite 27 4 Demos
  28. 28. Seite 28 Demo 001 - webutil demo
  29. 29. Seite 29 Demo 001 - webutil demo
  30. 30. Seite 30 Demo 001 - webutil demo Oracle Demos
  31. 31. Seite 31 Demo 002 – One Time Timer
  32. 32. Seite 32 Demo 002 – One Time Timer
  33. 33. Seite 33 Demo 002 – One Time Timer Gerd Volberg One_Time_Timer.Initialize (Const_local.ott_Query); PROCEDURE When_Timer_Expired IS V_Item VARCHAR2 (61); BEGIN V_Item := Act.Item; IF One_Time_Timer.Get_Value = Const_local.ott_Query THEN Goto_Block_and_Query (Const_local.blk_Mainblock); Go_Item (V_Item); END IF; END;
  34. 34. Seite 34 Demo 003 – Undo + Generisches Listitem
  35. 35. Seite 35 Demo 003 – Undo + Generisches Listitem Gerd Volberg Undo
  36. 36. Seite 36 Demo 003 – Undo + Generisches Listitem Generisches Listitem
  37. 37. Seite 37 Demo 004 - Resolving Locks
  38. 38. Seite 38 Demo 004 - Resolving Locks Jürgen Bader
  39. 39. Seite 39 Demo 004 - Resolving Locks v_DDL_Text := 'alter system disconnect session ''‚ || to_char(:v$session.SID) || ',' || to_char(:v$session.Serial#) || ''' immediate'; Forms_DDL(v_DDL_Text);
  40. 40. Seite 40 Demo 005 - Timeoutdemo
  41. 41. Seite 41 Demo 005 - Timeoutdemo Frank Hoffmann :maxinactivity := 500; :sleeptime := 100; :debug := 'true'; :events := 'true'; :timername := 'ST500ms'; :intervaltimer := ''; :standardtimer := 'true'; pl_start;
  42. 42. Seite 42 Demo 005 - Timeoutdemo PROCEDURE pl_start IS BEGIN :when_timer_expired_event := null; :when_custom_item_event := null; :custom_time := null; :expired_time := null; :starttime := :system.current_datetime; synchronize; set_custom_property('WEBUTIL.WEBUTIL_TIMER_FUNCTIONS',1,'TIMER_NAME',:timername); if :standardtimer is not null then set_custom_property('WEBUTIL.WEBUTIL_TIMER_FUNCTIONS',1,'ENABLE_STANDARDTIMER',:standardtimer); end if; if :intervaltimer is not nul then set_custom_property('WEBUTIL.WEBUTIL_TIMER_FUNCTIONS',1,'ENABLE_INTERVALTIMER',:intervaltimer); end if; if :events = 'true' then set_custom_property('WEBUTIL.WEBUTIL_TIMER_FUNCTIONS',1,'RECORDING_EVENTS','ALL'); else set_custom_property('WEBUTIL.WEBUTIL_TIMER_FUNCTIONS',1,'RECORDING_EVENTS',''); end if; set_custom_property('WEBUTIL.WEBUTIL_TIMER_FUNCTIONS',1,'ENABLE_DEBUGGING',:debug); set_custom_property('WEBUTIL.WEBUTIL_TIMER_FUNCTIONS',1,'TIMER_SLEEP_TIME',:sleeptime); -- ms set_custom_property('WEBUTIL.WEBUTIL_TIMER_FUNCTIONS',1,'START_TIMER',:maxinactivity); END;
  43. 43. Seite 43 Demo 006 - Timeoutdemo with 12c Client Idle
  44. 44. Seite 44 Demo 006 - Timeoutdemo with 12c Client Idle Frank Hoffmann -- idle heartbeat time (sec) :heartbeat := 10; -- idle max_time (sec) :max_time := 10; :parameter.p_timer_countdown := null; :countdown:=1; p_clear_diagnostic_items; -- Set Client Idle Timer (sec) SET_APPLICATION_PROPERTY(CLIENT_IDLE_TIME,10);
  45. 45. Seite 45 Demo 007 - Exceldemo, create a CSV File
  46. 46. Seite 46 Demo 007 - Exceldemo, create a CSV File Frank Hoffmann declare vch_return_value varchar2(2000); begin :last_query := get_block_property('ALL_OBJECTS',last_query); vch_return_value := pdw_gen.make_blob(:last_query,'EXCEL'); synchronize; p_get_blob('EXCEL'); if vch_return_value != '0' then message(vch_return_value); end if; end;
  47. 47. Seite 47 Demo 008 Frank Hoffmann
  48. 48. Seite 48 Demo 009 - Migration tool from 6i
  49. 49. Seite 49 Demo 009 - Migration tool from 6i Friedhold Matz
  50. 50. Seite 50 Demo 010 - FFI Sample with DLLs
  51. 51. Seite 51 Demo 010 - FFI Sample with DLLs Friedhold Matz DECLARE StringBuffer varchar2(255) := 'An initial value that will be overwritten'; StringLength pls_integer := length(StringBuffer); rc pls_integer; f_handle Webutil_c_api.FUNCTIONHANDLE; args Webutil_c_api.parameterlist; param1 Webutil_c_api.ParameterHandle; param2 Webutil_c_api.ParameterHandle; loc VARCHAR2(512); BEGIN prc_show('Before Calling the C program the value of the string is:"'||chr(10)|| StringBuffer||'" with a length of '||to_char(StringLength)); f_handle := WEBUTIL_C_API.register_function('FFIdll32.dll', 'PopulateString'); --prc_show('-- After register_function(<FFIdll32.dll>) ---'); args := WEBUTIL_C_API.create_parameter_list; param1 := WEBUTIL_C_API.add_parameter(args,WEBUTIL_C_API.C_CHAR_PTR ,WEBUTIL_C_API.PARAM_INOUT,StringBuffer, 255);
  52. 52. Seite 52 Demo 010 - FFI Sample with DLLs param2 := WEBUTIL_C_API.add_parameter(args,WEBUTIL_C_API.C_INT_PTR ,WEBUTIL_C_API.PARAM_INOUT ,StringLength); rc := WEBUTIL_C_API.Invoke_Int( 'FFIdll32.dll', 'PopulateString', args); --prc_show('-- After Invoke_Int(<FFIdll32.dll>) --- : '||to_char(rc)); --- SUCCESS !!! --- ------------------------------------------------------------------------------------------ prc_show('The New value for String is: "'||chr(10)|| WEBUTIL_C_API.Get_Parameter_String(args, param1)|| '" with a length of ' || to_char(WEBUTIL_C_API.Get_Parameter_Number(args, param2))); --prc_show('The New value for String is: "'||WEBUTIL_C_API.Get_Parameter_String(args, -- param2)||'" with a length of ' ||to_char(WEBUTIL_C_API.Get_Parameter_Number(args, param2))); --prc_show('RC was : '||to_char(rc)); WEBUTIL_C_API.Destroy_Parameter_List(args); WEBUTIL_C_API.Deregister_Function(f_handle); END;
  53. 53. Seite 53 Demo 011 - webutil demo with OLE (++jacob.jar)
  54. 54. Seite 54 Demo 011 - webutil demo with OLE (++jacob.jar)
  55. 55. Seite 55 Demo 011 - webutil demo with OLE (++jacob.jar) Oracle Demos
  56. 56. Seite 56 Demo 012 – PDF Viewer
  57. 57. Seite 57 Demo 012 – PDF Viewer Mark Striekwold
  58. 58. Seite 58 Demo 012 – PDF Viewer declare hBean ITEM:= FIND_ITEM('BL.BEAN'); timer_id Timer ; begin fbean.register_bean(hBean, 1, 'com.sun.pdfview.PDFViewer'); fbean.invoke( hBean, 1, 'doOpenUrl', 'http://forms12c.com/customer_bvi_eng.pdf'); --fbean.invoke( hBean, 1, 'doOpenUrl', 'c:tempMusterreport.pdf'); fbean.invoke( hBean, 1, 'doThumbs', 'false'); timer_id := Create_Timer( 'pageTimer', 10, NO_REPEAT ) ; end;
  59. 59. Seite 59 Demo 013 - Slider Francois Degrelle
  60. 60. Seite 60 Demo 013 - Slider PKG_SLIDER.Set_Value ( 'BL1.R', 1, :BL1.VR) ; :GLOBAL.Red := Ltrim( To_Char( :BL1.R ) ) ; :GLOBAL.Color := 'r' || :GLOBAL.Red || 'g' || :GLOBAL.Green || 'b' || :GLOBAL.Blue ; Set_Item_Property( 'BL1.COLOR', BACKGROUND_COLOR, :GLOBAL.Color ) ;
  61. 61. Seite 61 Demo 013 - Slider If LC$BGColor is not null Then LC$Color := Translate( LC$BGColor, '0123456789gbr','0123456789,,' ) ; Set_Custom_Property( PC$Name, PN$Num, 'SETBGCOLOR', LC$Color ) ; Elsif LC$CVBColor is not null Then LC$Color := Translate( LC$CVBColor, '0123456789gbr','0123456789,,' ) ; Set_Custom_Property( PC$Name, PN$Num, 'SETBGCOLOR', LC$Color ) ; Else LC$Color := PKG_SLIDER.GC$CurScheme ; Set_Custom_Property( PC$Name, PN$Num, 'SETBGCOLOR', LC$Color ) ; End if ; -- ForeGround color -- If LC$FGColor is not null Then LC$Color := Translate( LC$FGColor, '0123456789gbr','0123456789,,' ) ; Set_Custom_Property( PC$Name, PN$Num, 'SETFGCOLOR', LC$Color ) ; Elsif LC$CVFColor is not null Then LC$Color := Translate( LC$CVFColor, '0123456789gbr','0123456789,,' ) ; Set_Custom_Property( PC$Name, PN$Num, 'SETBGCOLOR', LC$Color ) ; End if ; -- Bounds -- Set_Custom_Property( PC$Name, PN$Num, 'SETBOUNDS', PC$Bounds ) ;
  62. 62. Seite 62 Demo 014 - Accordion Andreas Weiden
  63. 63. Seite 63 Demo 014 - Accordion
  64. 64. Seite 64 Demo 014 - Accordion
  65. 65. Seite 65 Demo 014 - Accordion  Tree-Select  Buttons SELECT -1 NODE_STATE, LEVEL NODE_DEPTH, LAST_NAME || ', ' || FIRST_NAME NODE_LABEL, NULL NODE_ICON, EMPLOYEE_ID NODE_VALUE FROM EMPLOYEES CONNECT BY PRIOR EMPLOYEE_ID=MANAGER_ID START WITH MANAGER_ID IS NULL ORDER SIBLINGS BY LAST_NAME
  66. 66. Seite 66 Eure Ansprechpartner  Forms Demo Server  Frank Hoffmann  frank.hoffmann@forms12c.de  https://www.forms12c.de  Github  Gerd Volberg  gerd.volberg@forms12c.de  https://github.com/Doag/Forms  Community Plattform  Jürgen Menge  juergen.menge@forms12c.de  https://community.oracle.com/community/other-languages/deutsche-oracle-entwickler-community/forms-developer-community

×