Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Changes to various service modules and commuters so calls to Memory_Services use a private cache name. The primary reason is to avoid conflicts with caches used by the full SRP FrameWorks product:
  • Changes to the NDW_HTTP_Logs_Events commuter:
    • Replace the Utility("RUNWIN") service with ShellExecute in the OLE_RPT_LOGTABLE.OnItemHyperlink event handler since not all systems work properly with the RUNWIN service.
  • Changes to the HTTP_Resource_Services module:
    • Update the AddEmbeddedResources service so it can be called more than once for the same embedded resource name. New resources will be added rather than replace what is already present.
    • Update the AddLinkRelation and AddLinkRelations services to support IsTemplate (IsTemplates) Boolean argument. This is to add support for URI Templates:
      https://tools.ietf.org/html/rfc6570
      https://tools.ietf.org/html/draft-kelly-json-hal-08#section-5.2
    • Add GetURLTemplate service.
    • Update the AddLinkRelation service to call the GetURLTemplate service to create a URL Template out of an indicated expanded URL.
  • Changes to the HTTP_Services module:
    • Update the CreateLogFile service to fix a VNAV bug when GetStatus logs are created. Clean up the log row and the log body.
    • Update the CreateLogFile service by replacing Utility_DotNet('TIMEZONE') with the SRP_DateTime service (SRP Utilities 2.1) to avoid localization problems and potential 502 Bad Gateway errors.
    • Update the RunWebAPI service to support the HEAD method if the GET method is also supported.
  • Changes to the HTTP_MCP controller:
    • Update code that calls the CreateLogFile service for Get_Status conditions so that the status detail is better formatted. Also, clear the error condition to prevent the OECGI from making a ProcErr call.
  • Changes to the NDW_HTTP_FRAMEWORK_SETUP form:
    • Added OLE_PUB_CONTRACT control to the Resource Manager page.
  • New image: SRPHTTPTREETOPLEVELRESOURCES (BMPS\SRPHTTPTreeTopLevelResources.png)
  • Changes to the NDW_HTTP_Framework_Setup_Events commuter:
    • Update the UpdateSetupInfo internal method to get the Item key of the OLE_TRE_RESOURCES control instead of hard-coding this to APIROOT. This allows the UpdateURLPath internal method to set the URL correctly.
    • Update the WINDOW.CREATE event handler and the SetupOLEControls internal method so the OLE_TRE_RESOURCES control no longer defaults all items to be expanded but the APIROOT will be expanded upon launch. This is to help make it easier to see long lists of resources.
    • Add OLE_PUB_CONTRACT.OnClick handler to display only top-level resources.
    • Enable drag-and-drop with the OLE_TRE_RESOURCES control and add the OLE_TRE_RESOURCES.OnDrop event so users can re-sort top-level resource items.
    • Modify the OLE_TRE_RESOURCE_METHODS control to display "GET / HEAD" rather than "GET".
    • Modify the OLE_TRE_RESOURCES.OnSelChange event handler to support the change to "GET / HEAD" in the OLE_TRE_RESOURCE_METHODS control.
    • Modify the OLE_TRE_RESOURCE_METHODS.OnItemCheck event handler to support the change to "GET / HEAD" in the OLE_TRE_RESOURCE_METHODS control.
    • Update the UpdateWebAPIs service to add a HEAD API if there is a GET API.
  • Changes to the Ping_API module:
    • Update the ping.GET API by replacing Utility_DotNet('TIMEZONE') with the SRP_DateTime service (SRP Utilities 2.1) to avoid localization problems and potential 502 Bad Gateway errors.
  • Changes to the WebAccounts_Services module:
    • Update the ConvertJSONWebAccountsToMV service by replacing Utility_DotNet('TIMEZONE') with the SRP_DateTime service (SRP Utilities 2.1) to avoid localization problems and potential 502 Bad Gateway errors.
  • Changes to the Web_Accounts_Actions module:
    • Update the CURRENT_PASSWORD_CREATED and CURRENT_PASSWORD_EXPIRES calculated column logic by replacing Utility_DotNet('TIMEZONE') with the SRP_DateTime service (SRP Utilities 2.1) to avoid localization problems and potential 502 Bad Gateway errors.
  • Changes to the NDW_HTTP_FRAMEWORK_SETUP form:
    • Fixed the OLE_PUB_CONTRACT control by removing the Bottom Anchor setting.
  • Changes to the HTTP_Resource_Manager_Services module:
    • Update the SetResourceProperty and GetResourceSignature services to support the HEAD method.
  • Update the various APIs to include matching HEAD APIs for all GET APIs:
    • APIRoot_API
    • Contacts_API
    • Oauth_API
    • Picture_API
    • Ping_API
    • Version_API
    • Webaccounts_API
  • Changes to the APIRoot_API module:
    • Update the APIROOT.GET service so link relations are templated whenever possible.

...

  • Changes to the HTTP_Resource_Manager_Services module:
    • Fix bug in the GetEndpointResourceKeyID service so that matching the URLEndpoint works better.
    • Fix bug in the GetResource service that prevented endpoints with a resource ID from being matched correctly to the currently stored resources endpoints.
  • New service module: Logging_Services.
  • Changes to the HTTP_Services module:
    • Update the CreateLogFile service to create/append a log index in addition to a detail log file. This will be used by the HTTP Logs utility to quickly populate several logs.
    • Fix VNAV in UpdateWebAPIs service. The APIProcedureName variable was unassigned in some conditions.
    • Update the CreateLogFile service to support the new Remote Address / Execute Time column. Fix minor bug that appended a '/' when the endpoint was the same as the API Root.
    • Update the UpdateWebAPIs service to support the creation of a local copy of a Web API that exists in an inherited application.
    • Update the URLRequiresAuthentication service to support exact matching endpoints and wildcard endpoints.
    • Update the GetResponse and SetResponseBody services to auto-detect PNG, JPG, and GIF data formats.
  • Changes to the NDW_HTTP_Logs_Events commuter:
    • Retrofit to use log indexes rather than the log files themselves. This speeds up the process of populating the ReportTable.
    • Add ability to rebuild log indexes. Modify the Action Bar so the Refresh Logs are now in the new Log Actions group.
    • Update the EDL_SEARCH_TEXT.CHAR event handler to avoid refreshing the list of of logs if the user is backspacing in an empty control.
    • Revamp the search feature so that text searching no longer filters the list but locates the next row with the match. Add support for Next and Previous search requests.
    • Various changes to add support for a Remote Address / Execute Time column.
    • Add support to archive logs.
    • Update the RefreshLogTable internal gosub so the log count will report 0 instead of empty if the UDP has not yet been set.
    • Fix VNAV in the OLE_ACTION_BAR.OnClick when archiving logs and cancelling the CHOOSE folder dialog.
    • Update archive log feature to display a success or error message as needed.
    • Hide ReportTable and display Picture control with caption when archiving logs to help indicate a process is running.
    • Clear the log count indicator when the capture path is empty.
  • Changes to the NDW_HTTP_LOGS form form:
    • Resized to provide more real estate.
    • Added VCR Next and Previous buttons to support finding additional matches.
    • Disable the CHAR event handler for the search editline in favor of a LOSTFOCUS event handler to enable Next and Previous searches. This also allows all relevant log rows to be displayed (e.g., if a particular HTTP method is found for a request log then it will be easier to see the matching response log).
  • Changes to the Action_Setup insert:
    • Add TableVolumes@ and new Unused global commons in the /Tables/ common block. Remove dependency upon the Locate statement in @Tables to find the volume of the current table.
  • Changes to the HTTP_Framework_Setup_Equates insert:
    • Add ArchiveScriptKeyID$.
  • New SYSENV configuration row: SRP_HTTP_FRAMEWORK_HTTP_LOGS_ARCHIVE_SCRIPT. This contains a PowerShell script to facilitate archiving of HTTP logs.
  • New utility form: NDW_HTTP_LOGS_ARCHIVE_DATE (with NDW_HTTP_Logs_Archive_Date_Events commuter). This provides a date prompt dialog box.
  • Changes to the NDW_HTTP_FRAMEWORK_SETUP form:
    • Updated the Non-Authenticated URLs and Whitelisted IPs edit table controls to support unlimited items.
  • Changes to the NDW_HTTP_Framework_Setup_Events commuter:
    • Update UpdateSetupInfo internal method call the ReleaseAllHashTables service so changes in the resources can be retrieved immediately by other services.
    • Update the OLE_PUB_CREATE_APIS.OnClick event handler to support prompting the user to make a copy of an inherited API.
  • Changes to the Memory_Services module:
    • Update all services that support named caches so that whenever the named cache doesn't exist it will create one automatically rather than default to the primary cache.

...

  • Changes to the NDW_HTTP_FRAMEWORK_SETUP form:
    • Bottom anchor the STA_SRP_HTTP_FRAMEWORK_VERSION control.
    • Bottom and right anchor the CHB_RESOURCE_EXCLUDE_FROM_LOGGING control.
  • Replaced the misspelled Oath_API with OAuth_API.
  • Updated the SYSENV\SRP_HTTP_FRAMEWORK_RESOURCES and SYSENV\SRP_HTTP_FRAMEWORK_RESOURCES*FRAMEWORKS configuration rows with the new OAuth resource name.
  • New service module: HTTP_Resource_Manager_Services. Created to better manage interaction with the defined resources (currently in SYSENV\SRP_HTTP_FRAMEWORK_RESOURCES, but now easy to relocate). A lot of code refactoring and usage of caching has also been put in place to help performance.
  • Changes to the HTTP_Services module:
    • Deprecate local IsValidEndpoint service. Update RunWebAPI service to use the IsValidEndpoint service from the HTTP_Resource_Manager_Services module.
    • Update the CreateLogFile service to use the new GetResourceProperty service to determine if logging is excluded for the current endpoint.
    • Deprecate the GetEndpointPattern service since it is no longer a dependency with any other services.
    • Deprecate the SetSupportedEndpoints service since it is no longer a dependency with any other services.
    • Update the UpdateWebAPIs service to use the GetResourceProperty service to get the supported HTTP methods and also to use the GetResourceSignature service to build the list of API signatures.
    • Update the CreateLogFile service to parse the Get_Status error better.
  • Changes to the APIRoot_API module:
    • Retrofit APIROOT.GET service to use the HTTP_Resource_Manager_Services module.
  • New utility form: NDW_HTTP_LOGS (with NDW_HTTP_Logs_Events commuter). Created to help manage the logs created by the CreateLogFile service.
  • New utility form: NDW_HTTP_DATEPICKER (with NDW_HTTP_DatePicker_Events commuter). Created to provide datepicker capability to edit line controls via the SRP Subclass control.

...

  • Changes to HTTP_Framework_Setup_Equates:
    • Add HTTP_FRAMEWORK_SETUP_WHITELISTED_IPS$.
    • Add HTTP_FRAMEWORK_SETUP_ENABLE_HTTP_BASIC_AUTHENTICATION$
    • Add HTTP_FRAMEWORK_SETUP_NEW_PASSWORD_TIME_TO_LIVE$
    • Add HTTP_FRAMEWORK_SETUP_OLD_PASSWORD_TIME_TO_LIVE$
    • Add HTTP_FRAMEWORK_SETUP_INVALID_PASSWORD_LIMIT$
    • Add HTTP_FRAMEWORK_SETUP_CONTAINMENT_ACTION$
  • Changes to the NDW_HTTP_FRAMEWORK_SETUP form:
    • Add controls to support Whitelisted IPs.
    • Major design overhaul:
      • Used a design layout similar to the Replication Manager, which is based on Microsoft Office Options dialog.
      • Add SRP ActiveX controls and multiple pages.
      • Move various setup controls onto different pages to suit the organizational layout.
      • Add HTTP Basic Authentication configuration controls.
      • Add Info buttons and tooltips for all fields.
  • Changes to the NDW_HTTP_Framework_Setup_Events commuter:
    • Add support for Whitelisted IPs.
    • Insert empty row if edit table controls are created empty. This allows a new item to be entered.
    • Major code changes to support the design overhaul of the form.
    • Add Server Enabled checkbox and associated logic.
    • Add TIMER event handler to dynamically update the Server Enabled checkbox.
    • Retrofit code to use Database_Services and Error_Services.
  • Changes to the HTTP_Services module:
    • Add the GetWhitelistedIPs and IPIsPermitted services.
    • Replace Xlate with ReadDataRow for all services referencing SetupTable$
    • Update GetHomeURL service to automatically prepend HTTP or HTTPS based on the request if this is not already specified in the user defined Home URL setting.
    • Update GetNonAuthenticatedURLs service to automatically prepend the API URL if this is not already specified in the user defined setting.
    • Add the GetEnableHTTPBasicAuthenticationFlag service.
    • Add the GetNewPasswordTimeToLive service.
    • Add the GetOldPasswordTimeToLive service.
    • Add the GetInvalidPasswordLimit service.
    • Add the GetContainmentAction service.
    • Add the GetServerEnabled service.
    • Add the SetServerEnabled service.
  • Changes to the HTTP_Authentication_Services module:
    • Add support for checking for whitelisted IPs in the AuthenticateRequest service.
    • Add GetWebAccountPasswordSetWebAccountPassword, and ValidateWebAccountPassword services.
    • Update the AuthenticateRequest service to use the ValidateWebAccountPassword service rather than relying upon a hardcoded USERS table.
    • Update NewPasswordTimeToLive$ equate to use the GetNewPasswordTimeToLive service rather than the hardcoded value.
    • Update OldPasswordTimeToLive$ equate to use the GetOldPasswordTimeToLive service rather than the hardcoded value.
  • New table: WEB_ACCOUNTS to provide built-in support for authentication.
  • New insert: WEB_ACCOUNTS_EQUATES.
  • New table commuter: WEB_ACCOUNTS_ACTIONS.
  • New utility form: NDW_WEB_ACCOUNTS (with NDW_Web_Accounts_Events commuter).
  • New service module: WEBACCOUNTSWebAccounts_SERVICESServices.
  • New HTTP service: HTTP_WEBACCOUNTS_SERVICES.
  • New insert: ACTIONAction_SETUPSetup (taken from SRP FrameWorks).
  • New service module: DATABASEDatabase_SERVICESServices (taken from SRP FrameWorks).
  • Added RTI_LH_INFO_EQUATES (taken from the UD Manager).
  • Changes to HTTP_ENTRY_POINT_SERVICES:
    • Add webaccounts to the list of allowed services.
  • New SYSENV configuration row: SRP_HTTP_FRAMEWORK_SERVER_ENABLED.
  • Changes to the HTTP_MCP controller:
    • Add support for the GetServerEnabled service. Set status to 503 is server is not enabled.
  • New Images
    • SRPHTTPINFO (BMPS\SRPHTTPInfo.png)
    • SRPHTTPTREECOLLAPSED (BMPS\SRPHTTPTreeCollapsed.png)
    • SRPHTTPINFOTREEEXPANDED (BMPS\SRPHTTPTreeExpanded.png)
  • Changes to the HTTPClient_Services module:
    • Update SendHTTPRequest service to support client-side certificates.

...