Versions Compared

Key

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

...

SCL-2956 RESTful "fields" option now based on serialize-name instead of field name

Description:

When clients were using the fields option (URI argument) when retrieving data from an RESTful business entity, we had been resolving the fields via the field name instead of the serialize name. That was confusing as the consumer did not have any insight into the field names, as all data was retrieved using the serialize name.

SCL-2963 Class Reference link provider now with Support for OpenEdge 12.x references to the OpenEdge documentation

Description:

When using our tool to generate a class library documentation, the documentation can provide hyperlinks to the documentation of classes provided by Progress Software as part of OpenEdge.
We are now providing the required mapping files to the OpenEdge class documentation for OpenEdge 12.0, OpenEdge 12.1 and OpenEdge 12.2

SCL-2976 Resolved issue when importing repository data for the SmartSupportedInstanceType table

Description:

The SmartFramework upgrade and migration utility might have failed complaining about duplicate unique key entries for the eSmartSupportedInstsanceObjType table:

No Format
    [PCTRun] Importing data: Consultingwerk.SmartFramework.Repository.Class.SupportedInstanceObjectTypeBusinessEntity
   [PCTRun] Importing from: D:\dev\devNSc\app\smartcomponentlibrary\Consultingwerk\SmartFramework\Data\supportedinstanceobjecttype.xml
   [PCTRun] Verbose:  no
   [PCTRun] Unhandled error: 
   [PCTRun] An Progress.Lang.SysError has occurred:
   [PCTRun] ** eSmartSupportedInstanceObjType already exists with  "ad238208-b49f-68b9-1c14-14b29cda3189"  "a47c2093-c451-79af-1a14-87bc3446f6e5". (132)
   [PCTRun] ImportBusinessEntityData Consultingwerk.SmartFramework.Tools.Import.GenericDataImporter at line -1  (D:\dev\devNSc\app\smartcomponentlibrary\Consultingwerk\SmartFramework\Tools\Import\GenericDataImporter.r)
   [PCTRun] ImportBusinessEntityData Consultingwerk.SmartFramework.Tools.Import.GenericDataImporter at line 508  (D:\dev\devNSc\app\smartcomponentlibrary\Consultingwerk\SmartFramework\Tools\Import\GenericDataImporter.r)
   [PCTRun] Consultingwerk/SmartFramework/Tools/Import/import-data-from-json.p at line 519  (D:\dev\devNSc\app\smartcomponentlibrary\Consultingwerk\SmartFramework\Tools\Import\import-data-from-json.r)
   [PCTRun] Akioma/Swat/Tools/Import/import-data-from-json.p at line 35  (D:\dev\devNSc\app\swat-backend\Akioma\Swat\Tools\Import\import-data-from-json.r)
   [PCTRun] C:\Users\APo_wf\AppData\Local\Temp\7\pctinit41992740.p at line 48  (C:\Users\APo_wf\AppData\Local\Temp\7\pctinit41992740.p)
   [PCTRun] 
   [PCTRun] Unhandled error: 
   [PCTRun] An Progress.Lang.SysError has occurred:
   [PCTRun] ** eSmartSupportedInstanceObjType already exists with  "ad238208-b49f-68b9-1c14-14b29cda3189"  "a47c2093-c451-79af-1a14-87bc3446f6e5". (132)
   [PCTRun] GetChangesDataset Consultingwerk.Util.DatasetHelper at line 2150  (D:\dev\devNSc\app\smartcomponentlibrary\Consultingwerk\Util\DatasetHelper.r)
   [PCTRun] ImportBusinessEntityData Consultingwerk.SmartFramework.Tools.Import.GenericDataImporter at line 681  (D:\dev\devNSc\app\smartcomponentlibrary\Consultingwerk\SmartFramework\Tools\Import\GenericDataImporter.r)
   [PCTRun] ImportBusinessEntityData Consultingwerk.SmartFramework.Tools.Import.GenericDataImporter at line 508  (D:\dev\devNSc\app\smartcomponentlibrary\Consultingwerk\SmartFramework\Tools\Import\GenericDataImporter.r)
   [PCTRun] Consultingwerk/SmartFramework/Tools/Import/import-data-from-json.p at line 519  (D:\dev\devNSc\app\smartcomponentlibrary\Consultingwerk\SmartFramework\Tools\Import\import-data-from-json.r)
   [PCTRun] Akioma/Swat/Tools/Import/import-data-from-json.p at line 35  (D:\dev\devNSc\app\swat-backend\Akioma\Swat\Tools\Import\import-data-from-json.r)
   [PCTRun] C:\Users\APo_wf\AppData\Local\Temp\7\pctinit41992740.p at line 48  (C:\Users\APo_wf\AppData\Local\Temp\7\pctinit41992740.p)


The issue is resolved now.

Improvement

SCL-2959 Integrated container security into menu (function) security

Description:

We have now implemented the ability to query the container security when retrieving the menu. This feature relies on two conditions:
a) .applicationsettings or .restapplicationsettings
The following two settings need to be enabled in the settings file:

Code Block
languageabl

    "performContainerSecurityCheck": "true",
    "performMenuStructureSecurityCheck": "true"


b) the specific menu functions need to be supported by your IMenuFunctionContainerSecurityService implementation
The Consultingwerk.SmartFramework.Menu.IMenuFunctionContainerSecurityService service is used to inquire the authorization for the specific function call type. Our implementation of the IMenuFunctionContainerSecurityService service supports the Consultingwerk.Windows.Framework.LaunchFormCallParameter type and determines the container represented by the menu function through the ClassName attribute.
Customers with custom types of menu functions need to implement and extended version of the IMenuFunctionContainerSecurityService service type.

SCL-2968 Zoom factor in Launch Shell Form now stored in the registry

Description:

The zoom factor that can be set in the Launch Shell command form is now stored in and restored from the Windows Registry. This increases the usability of tools like the PASOE Control Form on high resolution displays.

SCL-2970 Upgraded Proversion Enum for OpenEdge 12.2

Description:

In order to support the expected release of OpenEdge 12.2, we have added OpenEdge 12.2 to the ProversionEnum class.

SCL-2975 FileHelper:CombinePath now avoids double slashes when parts already beginning or trailing with slash or double-slash

Description:

The FileHelper:CombinePath API now resolves slashes and double-slashes that are provided based on the various arguments to the method. This prevents file names retrieved for instance based on SESSION:TEMP-DIRECTORY to end of as:
c:\TEMP\\test.txt

New Feature

SCL-2082 Implemented rename / move utility for classes based on Proparse

Description:

A new class Consultingwerk.Studio.Refactor.ClassRefactor has been implemented. This class provides methods to move an existing ABL class from one package to another or to rename the class within a package. When refactoring the class, the .cls file will be moved or renamed and all references in the source code to the class name itself will be updated.
Those features are based on the SmartRefactorSession class. The implementation here has been changed. It does no longer rely on an ABL Editor widget to locate text based on rows and columns. It's now using the new RefactorEditor class instead.

SCL-2796 GUI for .NET Text box rendering of logical fields

Description:

We have implemented a new Windows Control Consultingwerk.Windows.Controls.LogicalTextEditor that can be used to update logical values in a similar way as in an ABL FILL-IN Widget.
The control utilizes the FORMAT and MANDATORY attributes similar to the ABL widget (e.g. FORMAT "active/inactive".
In repository based viewers or grids, this component may be used by setting the ViewAs attribute to "FILL-IN" and setting the Format and Mandatory attributes.

SCL-2934 RESTful Methods new support to return OpenEdge.Core.String

Description:

When implementing RESTful methods, developers can now return text/plain responses by returning an OpenEdge.Core.String instance from the method.
In addition the RestMethodResponse based responses have been enhanced to support OpenEdge.Core.String reponses with the content type set to text/html.

SCL-2964 Support for registering static GUI for .NET Forms in the Repository

Description:

The SmartFramework Repository now supports registering static Forms. This allows them to be referenced by their short class name in the repository and to launch them that was from the SmartFormFactory and the dynamic launcher.
This also allows to utility the Container Security on those forms.
Static Forms are registered by creating an Object Master of the "StaticForm" type.
The ObjectName and the Package Name fields of the Object Master record must match the short class name and package name of the GUI for .NET Form class.