Search My Blog

Sunday, April 19, 2020

STD Integrated Framework - 2020R1 released!





** Hot News **

  Integrated Foundation Classes (2020R1) Released!

 "THE" Framework for Appeon PowerBuilder & PowerServer!

(v2020.1.0.148 - April 13, 2020)
   


Actual application built from the Integrated framework!




        Software Tool & Die Inc (STD) are very pleased to announce that they have just released a new version of their Integrated Foundation Class library framework 2020R1 (build 2020.1.0.148) exclusively for PowerBuilder 2019R2, PowerServer 2019 Web and PowerServer 2020 (Mobile & Web), and InfoMaker 2019 with 120 new features, enhancements and upgrades!
  
     STD are also very excited as this release represents another significant enhancement to the Integrated framework that really further exemplifies the power of the Appeon PowerBuilder 2019 MR2170 development environment! The new framework combined with the current PowerBuilder and/or PowerServer products, positions developers to take advantage of today's Agile and DevOps methodologies. Plus it further enhances a new GUI "punch" in your Native, Web and Mobile Apps without buying expensive add-on products.

     For a summary of the previous framework version's feature sets for 2019, please follow these links - 2019R2, 2019R2-1, 2019R3-2 and 2019R4. Note that STD has now released 4 new versions of the framework in 2019. This is only the first exciting release in the 2020 calendar year!
   
   The following are some of the key highlights of the new 2020R1 Integrated Foundation Class library and Appeon PowerBuilder 2019 MR2170 versions at work, as follows:
   

Memory Usage Tracking

Actual Memory Usage capture from OrderEntry App,
 Note: Tracks device and paging memory usage as well.
 

NVUO Tracking

Actual NVUO capture. Also identify s "Orphaned" objects

Window Tracking

 
Actual Window Tracking. Also, new Garbage Collection options

Break into IDE Debugger

 
Interactive break into IDE debugger at anytime!

Enhanced Logging

Machine and DataWindow resource tracking



Theme Ready 

PB2019 Theme (Dark)

    The latest Integrated framework version contains the following updates and has been tested with the latest MS-Windows 10 O/S (Build 18362), PB 2019 MR2170 and the PowerServer 2019 builds #2170. Testing inside of PB included Win32 (both P-code & M-code) and Win64 (P-code) deployments. Testing inside of PowerServer Web & Mobile included latest Web Browsers, latest Apple Tablet / Smart Phone and Android Tablet / Smart Phone deployments.

Note: All the STD frameworks are free and can be downloaded from its STD Foundation Classes SourceForge project website..

Release 2020.1.0.148 - Major Release (2020R1) - change highlights ...
  1. Migrated framework from PB2019 build 2082 to PB2019 build 2170
  2. Revised "of_set_powerserver_environment_info" method in "nc_app_controller_master" object class to set bitness on mobile devices & fix 64bit detection on Web Apps
  3. Revised "of_write_event" method in "nc_app_controller_master" object class to remove code when in 64 bit WEB mode due to PS2019 bug (Ticket#3351)
  4. Revised "Constructor" method in "nc_app_controller_master" object class to check INI file for RTE Check Type indicator before actually checking
  5. Revised "of_commit" method in "ns_sqlca_master" object class to log the COMMIT command when in debug mode
  6. Revised "of_disconnect" method in "ns_sqlca_master" object class to log the Disconnect command if SQL Tracing is ON!
  7. Revised "of_connect" method in "ns_sqlca_master" object class to log the Connect command if SQL tracing is ON
  8. Revised "of_connect" method in "ns_sqlca_master" object class to get messages from message service vs hard coded
  9. Revised "oe_tab_out" method in "vs_dc_master" object class to Added special DW mapping for further use
  10. Revised "oe_tabup_out" method in "vs_dc_master" object class to Added special DW mapping for further use
  11. Revised "oe_tabdown_out" method in "vs_dc_master" object class to Added special DW mapping for further use
  12. Revised "oe_escape" method in "vs_dc_master" object class to Added special DW mapping for further use
  13. Revised "scrollhorizontal" method in "vs_dc_master" object class to handle whether Pane#1 scrolls when DW in Split mode
  14. Revised "fn_build_number" object class to Updated code to use current App's INI file
  15. Revised "selected" method in "mu_application_master" object class to removed old WPF code
  16. Revised "Constructor" method in "nc_app_controller_master" object class to check the O/S privileges and also log the status (enabled = Y/N)
  17. Added   "oe_android_back_button" method in "nc_app_controller_master" object class to Receives control from the framework when the Andoid device's BackButton is pressed.
  18. Revised "of_check_exe_version" method in "nc_app_controller_master" object class to Remove old #IF WebService code as these features are deprecated
  19. Revised "of_set_cpu_affinity" method in "nc_app_controller_master" object class to Remove old WPF and Winform code as these features are deprecated
  20. Added   "of_is_audit_trail" method in "nc_app_controller_master" object class to be called by the framework or PB App
  21. Revised "of_set_cpu_affinity" method in "nc_app_controller_master" object class to Remove old WPF and Winform code as these features are deprecated
  22. Revised "Constructor" method in "nc_app_controller_master" object class to check for the presence of an INI in a PowerServer App as well.   
  23. Revised "oe_post_constructor" method in "nc_app_controller_master" object class to Remove old WPF code line
  24. Revised "of_browseforfolder" method in "nc_powershell_master" object class to check for the presence of an INI in a PowerServer App as well.
  25. Created new "nc_powershell_master" object class to interface with O/S "PowerShell" feature   
  26. Added   "of_browseforfolder" method in "nc_powershell_master" object class to Introspects the O/S privileges
  27. Revised "ns_ds_master" object class to Added statistical counters for DML activity tracking
  28. Added   "of_is_external_source" method in "ns_ds_master" object class to Checks the current DWO if its an "External" type
  29. Revised "sqlpreview" method in "ns_ds_master" object class to added SQL Function & Type tracking / logging feature
  30. Revised "retrievestart" method in "ns_ds_master" object class to added code to check for invalid DWO versions and external DWOs being retrieved!
  31. Added   "of_is_external_source" method in "vs_dc_master" object class to checks the current DWO if its an "External" type
  32. Revised "retrievestart" method in "vs_dc_master" object class to check for invalid DWO versions and external DWOs being retrieved!
  33. Revised "sqlpreview" method in "ns_ds_master" object class to Added SQL Function & Type tracking / logging feature
  34. Revised "sqlpreview" method in "wn_controller_master" object class to Added SQL Function & Type tracking / logging feature
  35. Revised "ns_ds_master" object class to Activate the Horizontal Scroll and Vertical Scroll properties by default to ON
  36. Revised "resize" method in "wn_logon_master" object class to remove old WinForm code
  37. Revised "of_set_cpu_affinity" method in "nc_app_controller_master" object class to handle up to 64 CPU's (ie: 32+) on large servers   
  38. Revised "of_set_cpu_affinity" method in "nc_app_controller_master" object class to Changed the code to restrict Affinity setting if > 64 CPU's
  39. Revised "of_set_cpu_affinity" method in "nc_app_controller_master" object class to Refactored the code to allow PowerServer Web Apps to assign a CPU
  40. Revised "of_is_user_administrator" method in "nc_app_controller_master" object class to Refactored the code to allow PowerServer Web Apps to assign a CPU
  41. Added   "of_is_run_as_administrator" method in "nc_app_controller_master" object class to Returns whether the current application  has been started by "Run As Admin" command
  42. Revised "of_register_nvuo" method in "nc_app_controller_master" object class to Tracks NVUO's of all types and assigns a tracking number
  43. Revised "of_is_run_as_administrator" method in "nc_powershell_master" object class to Check if the user running the App is an Admin
  44. Revised "of_register_nvuo" method in "nc_app_controller_master" object class to Tracks NVUO's of all types and assigns a tracking number
  45. Revised "Destructor" method in "nc_app_controller_master" object class to enhance the SQL tracing to the App's log.
  46. Revised "wn_response_master" object class to Tracks NVUO's of all types and assigns a tracking number
  47. Added   "ib_move_outside_app" variable in "wn_response_master" object class to control Response's movement behaviour outside of the App
  48. Revised "oe_postconstructor" event in "wn_contact_pipeline_e" object class to  Fix the "Owner" pointer.
  49. Revised "oe_postconstructor" event in "mu_master" object class to clean-up the DataStore when the Menu is about to be destroyed
  50. Revised "of_set_theme" method in "nc_app_controller_master" object class to use a relative path if App is running as an EXE
  51. Added   "of_get_all_registered_nvuos" method in "nc_app_controller_master" object class to Returns all the NVUO pointers that have been registered!/
  52. Revised "of_register_nvuo" method in "nc_app_controller_master" object class to add a PB generated tracking Number (PBVM does not support NVUO "Handle").
  53. Revised "nc_pbdebug_pbvm190"object class to Revised DLL name to match PB2019 run-time name
  54. Revised "of_get_tracker_no" method in "ns_ds_master" object class to  Get Framework's assigned "tracking #" for the NVUO in question
  55. Revised "oe_postconstructor" method in "ns_sqlca_master" object class to register this class with the App Controller for tracking!   
  56. Added   "oe_dw_mousemove" method in "vs_dc_master" object class to allow DW Object's mouse move notification
  57. Revised "oe_close_all" method in "nc_app_controller_master" object class to stop All drawing when multiple closes are happening
  58. Revised "SelectionChanged" method in "wn_debug_list_master" object class to Added a new tab page for NVUO processing
  59. Revised "Open" method in "wn_main_master" object class to always check for a valid Window pointer
  60. Added   "oe_syscommand" method in "wn_response_master" object class to trap the Left mouse click on the Window title bar
  61. Revised "of_check_ps_version" method in "nc_app_controller_master" object class to remove the use of the "of_getappeonadtversion" method.    Deprecated in PS2019 (Build 2170)
  62. Added  "of_get_sqlstate" method in "ns_ds_master" object class to  get the SQLState value from the SQL Error Text data
  63. Revised "dbError" method in "ns_ds_master" object class to capture the DBMS's SQLState if using ODBC client     AND     log more information about the DBMS error
  64. Added  "of_get_sqlstate" method in "ns_sqlca_master" object class to get the SQLState value from the SQL Error Text data
  65. Revised "dbError" method in "ns_sqlca_master" object class to capture the last SQLState values returned;  capture the DBMS's SQLState if using ODBC client AND Get, Save and Log the SQL State value(s)
  66. Added   "oe_paste" method in "vc_em_hinttext_master" object class to Show or Hide "hittext" as required
  67. Added   "oe_copy" method in "vc_em_hinttext_master" object class to Show or Hide "hittext" as required
  68. Added   "oe_cut" method in "vc_em_hinttext_master" object class to Show or Hide "hittext" as required
  69. Revised "oe_paste" method in "nc_app_controller_master" object class to Show or Hide "hittext" as required
  70. Added  "of_get_sqlstate" method in "ns_dc_master" object class to get the SQLState value from the SQL Error Text data
  71. Revised "dbError" method in "ns_dc_master" object class to capture the DBMS's SQLState if using ODBC client   AND  log more information about the DBMS error
  72. Added   "oe_paste" method in "vs_em_master" object class to Perform a "paste" to O/S Clipboard interaction.
  73. Added   "oe_copy" method in "vs_em_master" object class to Perform a "copy" to O/S Clipboard interaction.
  74. Added   "oe_cut" method in "vs_em_master" object class to Perform a "cut" to O/S Clipboard interaction.
  75. Added   "oe_copy" method in "vs_mle_master" object class to Perform a "copy" to O/S Clipboard interaction.
  76. Added   "oe_cut" method in "vs_mle_master" object class to Perform a "cut" to O/S Clipboard interaction.
  77. Added   "oe_copy" method in "vs_sle_master" object class to Perform a "copy" to O/S Clipboard interaction.
  78. Added   "oe_cut" method in "vs_sle_master" object class to Perform a "cut" to O/S Clipboard interaction.
  79. Added   "oe_copy" method in "vs_rte_master" object class to Perform a "copy" to O/S Clipboard interaction.
  80. Added   "oe_cut" method in "vs_rte_master" object class to Perform a "cut" to O/S Clipboard interaction.
  81. Revised "of_generate_dw_json" method in "ns_json_generator_master" object class to Correct the DS destroy process
  82. Revised "of_get_groups" method in "nc_active_directory_master" object class to  register the parent of "ns_oleobject_master"
  83. Revised "of_get_machine_name" method in "nc_active_directory_master" object class to  register the parent of "ns_oleobject_master"
  84. Revised "of_get_group_membership" method in "nc_active_directory_master" object class to  register the parent of "ns_oleobject_master"
  85. Revised "of_is_login_valid" method in "nc_active_directory_master" object class to  register the parent of "ns_oleobject_master"
  86. Revised "Constructor" method in "nc_active_directory_master" object class to  register the parent of "ns_oleobject_master"
  87. Revised "Close" method in "nc_app_controller_master" object class to  call "of_log_nvuo_usage" function that lists NVUO's still open at close;  clean-up DS/DWO used for memory statistics AND save Memory/Device/Paging statistics if tracking is ON for analysis
  88. Added   "oe_application_memory_changed" method in "nc_app_controller_master" object class to Monitor / acivated when DW Object's memory has changed.
  89. Revised "of_set_powerbuilder_environment_info" method in "nc_app_controller_master" object class to get the "Process ID" from local O/S
  90. Added   "of_log_nvuo_usage" method in "nc_app_controller_master" object class to Log NVUO use at EOJ
  91. Added   "of_get_process_id" method in "nc_app_controller_master" object class to Return O/S process ID captured at App start-up by the framework
  92. Added   "of_check_available_memory" method in "nc_app_controller_master" object class to calculate how much resources the App is consuming.
  93. Revised "oe_post_constructor" method in "nc_master" object class to register the NVUO to the App Controller's NVUO tracker
  94. Revised "Constructor" method in "nc_powershell_master object class to register the parent of "ns_oleobject_master".
  95. Revised "oe_postconstructor" method in "ns_ds_master" object class to register the NVUO to the App Controller's NVUO tracker
  96. Added   "oe_postconstructor" method in "ns_internet_master" object class to (Missing)
  97. Revised "oe_postconstructor" method in "vc_tp_about_device" object class to include better "Load" statistics
  98. Revised "Open" method in "nc_app_controller_master" object class to Remove Registration logic as Ancestor will now perform this processing
  99. Revised "oe_postconstructor" method in "wn_debug_list_master" object class to Remove check for MAIN window and let any Window class resolve it!
  100. Added   "of_get_window_open_type" method in "wn_master" object class to Return the "worded" window type
  101. Revised "Open" method in "wn_master" object class to  allow every window type to be tracked!
  102. Revised "pageleft" method in "wn_zoom_master" object class to Remove position computation as control does that automatically now
  103. Revised "pageright" method in "wn_zoom_master" object class to Remove position computation as control does that automatically now
  104. Revised "lineleft" method in "wn_zoom_master" object class to Remove position computation as control does that automatically now
  105. 106) Revised "lineright" method in "wn_zoom_master" object class to Remove position computation as control does that automatically now
  106. 107) Revised "fn_print_window" object class to handle the print if the "controller" window is not present
  107. 108) Added   "of_register_nvuo" method in "nc_app_controller_master" object class to Monitor/acivate when DW Object's memory has changed.
  108. Revised "oe_close" method in "nc_app_controller_master" object class to  clean-up DS/DWO used for memory statistics AND  save Memory/Device/Paging statistics if tracking is ON for analysis
  109. Revised "of_check_available_memory" method in "nc_app_controller_master" object class to update mobile instance variables for viewing in debugger AND clear statistics DataStore if Memory Warp is ON
  110. Revised "of_check_available_memory" method in "nc_app_controller_master" object class to pass multiple data points via the common framework's structure  AND  update mobile instance variables for viewing in debugger    AND clear statistics DataStore if Memory Warp is ON
  111. Added   "of_write_console" method in "nc_app_controller_master" object class to allow messages to be written to the MS-Windows "Console"!
  112. Revised "Constructor" method in "nc_app_controller_master" object class to set Memory tracking / warning SW's and Threshold %'s
  113. Revised "oe_postconstructor" method in "vc_tp_about_processor" object class to
  114. Revised "oe_postconstructor" method in "wn_debug_list_master" object class to check if running within the PB IDE
  115. Revised "wn_debug_list_master" object class to Invoke the PB IDE's"Debugger"
  116. Revised "of_get_window_open_type" method in "wn_main_master" object class to use a function to get the Sheet type if not a special dock-able one   
  117. Revised "oe_set_theme" method in "wn_master" object class to WortkAround for PB2019 R2 Theme issue when activating a new Theme
  118. Revised "Resize" method in "wn_master" object class to Check If in DEBUG mode and if so, write state to App log!
  119. Revised "oe_PostConstructor" method in "vc_tp_about_mobile" object class to get Device's platform name
  120. Added   "oe_free_memory_warning" method in "nc_app_controller_master" object class to monitor critical application available memory  when the memory % free drops below the threshold (as set in INI file)


      The OrderEntry example application and the Integrated Framework's Documentation has also been updated to the new Integrated Foundation class 2020R1 framework version. You can download the example application from here. Also, check out the online "getting started" video series to accelerate your assimilation of the best framework for PowerBuilder & PowerServer!



   STD would also like to thank Novalys Corporation for their support of the Foundation Classes by supplying the VisualExpert product for the framework's documentation.

Enjoy!

Regards ... Chris