You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 37 Next »

4.0.6

4.0.5

4.0.4

  • 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.

4.0.3

  • 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:
    • 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.

4.0.2

  • 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 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.

4.0.1

  • 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.

4.0.0

  • Changes to the HTTP_Resource_Services module:
    • Fix GetColumnNames to properly remove XREF columns.
    • Add GetObjects service.
    • Add GetSerializedResource service.
    • Add ParseResource service.
    • Add AddLinkRelationships service.
    • Add AddProperties service.
    • Add AddEmbeddedResources service.
    • Add AddNestedProperties service.
    • Update GetDatabaseItem to use the new resource services.
    • Update GetDatabaseItems to use the new resource services.
    • Add AddFormAction service.
    • Update GetColumnValues service so when a Key ID is missing it will set Error_Services and set the response status to 404.
    • Add support for multiple nested objects in the AddNestedProperties service.
    • Update GetObjects so that specific Key ID parts can be identified to be used in the self relationship URL and also add feature so the default '*' delimiter can be swapped out for another character.
    • Fix bug AddNestedProperties when using Array formatting.
    • Add IsArray argument for the AddProperties service so data can be automatically formatted as an array regardless if @VMs are found. This is meant to maintain formatting integrity of the property regardless of 0, 1, or multiple values.
    • Add GetObject service. Refactored GetObjects service to use GetObject service.
    • Add AddProperty service. Update AddProperties service to call AddProperty for each property.
    • Add AddSubProperty and AddSubProperties service.
    • Add AddSubResource and AddSubResources service.
    • Add AddSubResourceObject and AddSubResourceObjects service.
    • Remove AddNestedProperties service. Refit other services to use AddSubResources.
    • Add AddLinkRelationship service. Update AddLinkRelationships service to call AddLinkRelationship for each relationship.
    • Update all resource related services to use new services and remove direct calls to SRP_JSON except for the lowest level services.
    • Add AllowKeyProperty argument to the GetObject, GetObjects, and GetColumnNames services to override the default behavior of removing full Key ID columns from being represented in the object. This is useful for sub-resources.
    • Fix bug in GetObject service where associated property names were not being removed if the column names were removed by the GetColumnNames service.
    • Update the GetDatabaseItem and GetDatabaseItems service so the SelfURL argument is now optional.
  • 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 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.

3.0.4

  • Changes to the HTTPClient_Services module:
    • Update the SendHTTPRequest service to check for content in the HeaderList variable before calling the For Each loop. (Bug Fix)
  • Changes to the HTTP_Contacts_Services web service:
    • Fix minor typo in the NextSegment variable in the GetItem method. (Bug Fix)
  • Changes to the HTTP_Resource_Services module:
    • Update the PostDatabaseItem, PutDatabaseItem, and PatchDatabaseItem services to support a new argument, AllowedColumnNames, which will be used to filter out column names which are submitted in the payload but should not be updated on the server. (Enhancement)

3.0.3

  • Changes to the HTTP_Services module:
    • Update the GetEntryPointService service to support the name of a fully qualified web service. For example, the the HTTP Framework Setup prompt for Entry Point can contain entry_point or http_entry_point_services (case-insensitive).

3.0.2

  • Service metadata added so the SRP Editor can use this without requirement all services to be recompiled first.

3.0.1

  • All services have been refactored to use Enhanced BASIC+ syntax.
  • All web services have been refactored to be easier to setup.
  • Changes to the HTTP_Services module:
  • Changes to the HTTP_MCP controller:
    • Remove logging logic and call the new CreateLogFile service instead.
    • Remove logic to handle ProcErr situations and call the new GetAbortedService.
    • Change the debugger setting mode and debugger intercept routine based on the setup values.
  • Changes to the HTTP_Entry_Point_Services web service:
    • Update to simplify the way the JSON menu is built.
    • Update to only provide access to the Contacts and Version web services.
  • Changes to the HTTP_Contacts_Services web service:
    • Update to support all CRUD operations.
    • Update to connect to the sample CONTACTS database table which is now included.
  • Changes to the HTTP_Resource_Services module:
    • Add the PutDatabaseItem service.
    • Add the PatchDatabaseItem service.
    • Update PostDatabaseItem service to only create new resources. This makes this service conform to the HTTP standards.
  • Changes to HTTP_Framework_Setup_Equates:
    • Add HTTP_FRAMEWORK_SETUP_ABORTED_SERVICE$.
    • Add HTTP_FRAMEWORK_SETUP_ENABLE_LOGGING$.
    • Add HTTP_FRAMEWORK_SETUP_DEBUGGER_SETTING$.
    • Add HTTP_FRAMEWORK_SETUP_DEBUGGER_INTERCEPT$.
    • Add HTTP_FRAMEWORK_SETUP_LOG_ERRORS_ONLY$.
  • Added the following configuration options to SRP_HTTP_FRAMEWORK_SETUP:
    • Aborted Service
    • Enable Logging Flag
    • Debugger Setting
    • Debugger Intercept
    • Log Errors Only Flag
  • Update NDW_HTTP_FRAMEWORK_SETUP to support the Aborted Service, Enable Logging Flag, Debugger Setting, Debugger Intercept, and Log Errors Only Flag values.
  • New application service module: HTTP_Aborted_Service. This is a default service to handle aborted HTTP Requests. This is similar to INET_ABORTED for traditional INET/O4W web applications.
  • New application service module: HTTP_Debugger_Service. This is a default service to handle runtime errors during HTTP Requests. This uses the RTI_DEBUG_COMMON insert to get the state of the debugger.
  • New web service: HTTP_Version_Services. This service returns the current version of the SRP HTTP Framework product. It is used by the revamped HTTP_Entry_Point_Services.
  • New sample database: As noted in the change log for HTTP_Contacts_Services above, there is now a sample CONTACTS database table included. This is a small (300 row) table with indexes that is designed to help install and test the SRP HTTP Framework very quickly.

3.0.0

  • New form: NDW_HTTP_FRAMEWORK_SETUP and an associated event commuter module. This provides a visual interface for configuring the setup values in SRP_HTTP_FRAMEWORK_SETUP.
  • Added the following configuration option to SRP_HTTP_FRAMEWORK_SETUP:
    • Non-Authenticated URLs
  • Changes to the HTTP_Services module:
  • Changes to the HTTP_Resource_Services module:
    • Refactor the GetColumnNames service and resolve a bug where non-master data type columns would be returned.

    • Update the PostDatabaseItem service to set the response status to 201 when the ItemID is being passed in but it does not yet exist in the database.

  • Changes to the HTTP_MCP controller:
    • Add support for ProcErr argument. Create a generic error response.

    • Add code to track API execution time using SRP_Stopwatch. Display the time in the Response log that is written into the debug folder.

  • Changes to the HTTP_Authentication_Services module:
    • Update the AuthenticateRequest service to verify authentication requirements of the current URL using the URLRequiresAuthentication service.

2.1.0

  • New application service module: HTTPClient_Services. Provides robust services for web services to make requests to other web servers.
  • Add the following configuration option to SRP_HTTP_FRAMEWORK_SETUP:
    • Flush Cache Flag
  • Add the following services to the HTTP_Services module:
  • Update the ClearSettings service to check the GetFlushCacheFlag service before calling the Flush and GarbageCollect statements. The purpose is to allow code web service code to always be refreshed without needing to restart the OEngineServer.
  • Add GetMVGroupNames service to HTTP_Resource_Services so that associated multivalue column groups can be applied to JSON objects.
  • Update GetDatabaseItem and GetDatabaseItems services in HTTP_Resource_Services to use the GetMVGroupNames service for any associated multivalue columns that have been defined this way.
  • Update SetHALItem and SetHALCollectionEmbedded services in HTTP_JSON_Services to support embedded objects that contain associated multivalue column information.
  • Update PostDatabaseItem service in HTTP_Resource_Services so all of the GETVALUE services specify an empty string in the Default argument. This allows empty column values to maintain a JSON null rather than convert it to an empty string.
  • Update PostDatabaseItem service in HTTP_Resource_Services to rely upon %RECORDS% (if one exists) if there is no %SK%. This is an alternative way to quickly calculate the next available Key ID for the new database row being posted.
  • Update GetDatabaseItems service in HTTP_Resource_Services to rely upon %RECORDS% (if one exists) if there is no filter specified. This is an alternative way to quickly get a sorted list of  Key IDs for the database rows being retrieved.

2.0.1

  • Fix bug in SetResponseHeaderField service that prevented header values from being saved.
  • Improve the GetFullEndPointURL service so that end points which are also the same as the API URL do not display a "/" at the end.

2.0.0

1.0.2

1.0.1

  • Create two configuration records in the SYSENV table:
  • Update the HTTP_Service_Setup insert to anticipate OECGI requests wherein the Script Name URL also exists within the Path Info URL (e.g., Microsoft IIS). This fixes a problem wherein the wrong service was being identified, especially in the Entry Point Service.
  • Update the HTTP_Service_Setup insert to assign the HomeURL$ and APIURL$ equates with the values stored in the SRP_HTTP_FRAMEWORK_SETUP record rather than being hard-coded. This eliminates the need to recompile HTTP service modules whenever the URL paths are changed.
  • Update the HTTP_Services module by adding a new service called GetVersion. This returns the information stored in the SRP_HTTP_FRAMEWORK_VERSION record.
  • Update the HTTP_MCP controller to use the capture path stored in the SRP_HTTP_FRAMEWORK_SETUP record. This eliminates the need to update the hard-coded path in HTTP_MCP and recompile.

1.0.0

  • Initial release on the stand-alone product.
  • No labels