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:
  • Changes to the APIRoot_API API module:
    • Update the APIROOT.GET service so link relations are templated whenever possible.

...

  • 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 OAuthOauth_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 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 the HTTP_Services module:
    • Update the SetResponseError service to use "detail" instead of "Detail".
    • Update the GetColumnValues service so Error_Services is called after the SetResponseError call. This prevents Error_Services from being cleared prematurely.
    • Update the GetColumnNames service so Error_Services is called after the SetResponseError call. This prevents Error_Services from being cleared prematurely.
    • Update the GetMVGroupNames service so Error_Services is called after the SetResponseError call. This prevents Error_Services from being cleared prematurely.
    • Remove larges blocks of code from the RunWebAPI service and convert these into new services: GetEndpointIsValidEndpointSetSupportedEndpoints, and GetEndpointPattern.
    • Update the CreateLogFile service to confirm if the endpoint resource should be excluded from being logged.
    • Update the GetHomeURL service to use the GetHTTPServerName service first and then rely upon the HTTP_FRAMEWORK_SETUP_HOME_URL$ value.
  • Changes to the Contacts_API module module:
    • Update contacts.ID.GET API by removing unnecessary call to the GetDatabaseItem service.
  • Changes to the NDW_HTTP_Framework_Setup_Events commuter:
    • Replace calls to GetLocalAppKey gosub with calls to GetLocalAppKeyID service.
    • Add support for resource endpoints to be excluded from logging.
    • Display the SRP HTTP Framework version.
    • Update the Home URL help in the DisplayInfoHelp service.
  • New API Module: Ping_API.
  • Changes to the HTTP_Authentication_Services module:
    • Update the ValidateWebAccountPassword service to reset the invalid password attempt counter for an account if a valid password is passed in.

...

  • Changes to the Database_Services module:
    • Update the CalculateColumn service so that the TableName variable is initialized to prevent potential VNAV errors.
  • Changes to the HTTP_Services module:
    • Update all GetHTTPValue services to support a DecodePercentString flag that will be used to automatically call the DecodePercentString service before returning the HTTP value.
  • Changes to the HTTP_Resource_Services module:
    • Update the AddEmbeddedResources service to support a new Singular argument. This provides support for an embedded resource that is unique and should be represented as sub-properties rather than sub-resources.
    • Update the AddSubProperty service to correctly handle the SubPropertyValue argument if it contains an object handle.
    • Rename the GetLinkRelationship service to GetLinkRelation. Rename the GetLinkRelationships service to GetLinkRelations.
  • Changes to the APIRoot_API API module:
    • Replace all references to AddLinkRelationship with AddLinkRelation.
  • Changes to the Webaccounts_API module:
    • Replace all references to AddLinkRelationships with AddLinkRelations.
  • Changes to the Contacts_API module:
    • Replace all references to AddLinkRelationships with AddLinkRelations.

...

  • Various API routines were updated to use the FullEndpointURLNoQuery variable instead of the FullEndpointURL. This way specific services won't accidentally include potential query params when construction new URLs based on the base endpoint.
  • Changes to the APIRoot_API module:
    • Only include the resetPassword form action authentication is enabled.
    • Update the APIROOT.GET API to verify the sub-resource has at least one HTTP method before listing it in the response.
  • Changes to the HTTP_Resource_Services module:
    • Update the UpdateDatabaseRow gosub to set the Content-Location header with the new URL if the database row is new. According to the specification regarding 201 responses this should be the Location header.
  • Changes to the HTTP_Services module:
    • Update the UpdateDecodePercentString service handle the left quotation marks.
    • Update the CreateLogFile service to include a UTC date/time stamp in the Response log header.

...

  • 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: WEBWeb_ACCOUNTSAccounts_EQUATESEquates.
  • New table commuter: WEBWeb_ACCOUNTSAccounts_ACTIONSActions.
  • New utility form: NDW_WEB_ACCOUNTS (with NDW_Web_Accounts_Events commuter).
  • New service module: WebAccounts_Services.
  • New HTTP service: HTTP_WEBACCOUNTS_SERVICES.
  • New insert: Action_Setup (taken from SRP FrameWorks).
  • New service module: Database_Services (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.

...