Release Notes 2018-12-30

Version Information

OpenEdge Release

Version Information

11.3.3, 11.3.4, 11.4, 11.6.2, 11.6.3, 11.7, 11.7.1, 11.7.2, 11.7.3.007, 11.7.4

Release 11.3 #49733@2018-12-30

OpenEdge 11.7.4 support!

We are please to announce that we are not aware of any issues using the SmartComponent Library on OpenEdge 11.7.4. We hereby declare OpenEdge 11.7.4 fully supported for the SmartComponent Library as of the release of November 5th 2018.

OpenEdge 11.7.3 support!

The previously reported issues with the Progress Developer Studio Visual Designer (Visual Designer related OpenEdge 11.7.3 product alert!!!) has been resolved by Progress Software with Hotfix 007 of OpenEdge 11.7.3. We hereby announce full compatibility of the SmartComponent Library with OpenEdge 11.7.3.007. 

Besides the issue with the Visual Designer however, we have not been aware of any incompatibilities with OpenEdge 11.7.3. 

.NET Framework Version 4.7

.NET 4.7 is not supported with OpenEdge 11.x, see: Is .NET 4.7 certified and supported for OpenEdge? 

Progress has reported severy issues with OpenEdge GUI for .NET and .NET 4.7: GUI .Net Application crashes after .Net upgrade to 4.7

When using the .NET Framework 4.7, please make sure, you upgrade to OpenEdge 11.6.4 or OpenEdge 11.7.2 or later. Also, it may be required to recompile the application on a PC running .NET Framework 4.7 when applications are also executed on a PC with .NET Framework 4.7.

Introducing the SmartComponent Library developer forum

Got questions about using the SmartComponent Library? Wish to discuss feature requests with other users of the SmartComponent Library? To facilitate networking in the growing number of SmartComponent Library users and developers, we've added a developer forum on our new home-page. The developer forum can be found at: https://www.consultingwerk.com/support/forum 

A login is required to participate in the forum. Don't be shy - create your account today!

Announcing the SmartFramework ERD Designer

We are announcing the availability of the SmartFramework ERD Designer

Release Notes

Following the release of the OpenEdge 11.7 Release we have completed our testing of the SmartComponent Library on this release of Progress and are proud to announce formal support for the SmartComponent Library on OpenEdge 11.7 with the 2017-04-24 release of the SmartComponent Library. Generally we recommend customers on OpenEdge 11 to upgrade to OpenEdge 11.7 quickly. Starting the 2017-07-14 release we are supporting OpenEdge 11.7 Service Pack 1 (11.7.1).

Starting the 2015-10-09 release the Business Entity Designer will feature a start page with links to most recent release note articles on this site.

With SCL-751 we have adopted native Enums for OpenEdge 11.6. To activate this feature customers must add a definition to products.i. SCL-751 provides details for this.

With SCL-1113 we have modified the templates for SmartWindowForms and SmartTabFolderPages generated from the Business Entity Designer. We have removed the initialization of the viewer controls SmartTableIOState property (value was set to "NoDataSource" within the InitializeComponent method). Customers using their own set of templates should adopt the same fix to their templates.

OpenEdge 11.7.3 compatibility

During our tests on OpenEdge 11.7.3 we have experienced the following issues: 

  • [SCL-2216] - 11.7.3 Visual Designer disabling properties of ABL user controls

The issue has been resolved by Progress Software with hotfix 007 for OpenEdge 11.7.3.

OpenEdge 11.7.2 compatibility

During our tests on OpenEdge 11.7.2 we have experienced two issues: 

  • [SCL-2007] - Correct support for WebHandler in CcsServiceManager
  • [SCL-2008] - Closing SmartWindowForm causes crash on OpenEdge 11.7.2

We consider it mandatory for customers using OpenEdge 11.7.2 to use at least the release #44166@2017-11-27 of the SmartComponent Library. 

Due to an fix for

  • [SCL-1924] - SmartViewerControl: copy mechanism cannot cope with clob datatype

from Progress Software for in OpenEdge 11.7.2.001 we further recommend all customers to apply this hotfix as well. 

New Versions of Proparse .NET Assemblies (30 December 2018)

We have updated proparse with further enhancements in this release (see https://github.com/consultingwerk/proparse/releases/tag/4.0.1.1177). Please download the .NET Assemblies ZIP file from our ESD and replace the proparse.net.dll in your environment with the latest one. The new assembly reference is:

<assembly name="proparse.net, Version=4.0.1.1177, Culture=neutral, PublicKeyToken=cda1b098b1034b24"/>

As proparse is used by our Business Entity Generator, this new version of the proparse.net Assembly is also relevant for customers not doing GUI for .NET development and require support for parsing new ABL language constructs.

This version of proparse provides additional debug information when errors are thrown from proparse.net.dll.

Hybrid Realm now using IAuthenticationService

We've updated the SmartHybridRealm class used for http authentication to leverage the IAuthenticationService. It is therefor required that for AppServers requiring http Authentication (e.g. REST or Web) the correct IAuthenticationService implementation is registered (using service.xml files).

Customers relying on the previous behavior should ensure that the Consultingwerk.SmartFramework.Authentication.AuthenticationService is regsitered as the IAuthenticationService. This implementation will auhtenticate users against the password stored in the SmartUser database table. 

When users with no Login Company set should be able to login using the SmartHybridRealm, it's required to set the Login Company Tennant Domain (similar to the field in the Login Company Maintenance) in the .restapplicationsettings / .applicationsettings, e.g.:

 

 "DefaultAuthenticationDomain": "consultingwerk" 

This is required as the Hydrid Realm Interface from Progress does not provide the domain name to the authentication method. 

Web Handler overview

This is an overview of the web handlers supported by this release

defaultHandler=OpenEdge.Web.CompatibilityHandler
handler1=Consultingwerk.OERA.JsdoGenericService.WebHandler.CatalogWebHandler: /Catalog/{EntityName}
handler2=Consultingwerk.OERA.JsdoGenericService.WebHandler.CatalogsWebHandler: /Catalogs/{PackageName}
handler3=Consultingwerk.OERA.JsdoGenericService.WebHandler.CountWebHandler: /Resource/{EntityName}/count
handler4=Consultingwerk.OERA.JsdoGenericService.WebHandler.ResourceSubmitWebHandler: /Resource/{EntityName}/SubmitData
handler5=Consultingwerk.OERA.JsdoGenericService.WebHandler.InvokeMethodWebHandler: /Resource/{EntityName}/{MethodName}
handler6=Consultingwerk.OERA.JsdoGenericService.WebHandler.ResourceWebHandler: /Resource/{EntityName}
handler7=Consultingwerk.OERA.JsdoGenericService.WebHandler.BusinessServicesWebHandler: /BusinessServices/{OutputFormat}/{PackageName}
handler8=Consultingwerk.Web2.WebHandler.SmartMenuWebHandler: /SmartMenu/{MenuStructureId}
handler9=Consultingwerk.Web2.WebHandler.SmartMenuStructureWebHandler: /SmartMenuStructure
handler10=Consultingwerk.Web2.WebHandler.SmartRoutesWebHandler: /SmartRoutes
handler11=Consultingwerk.Web2.Services.SmartViewsHandler.SmartGridWebHandler: /SmartViews/Grid/{EntityName}/{ViewName}/{DetailTemplate}
handler12=Consultingwerk.Web2.Services.SmartViewsHandler.SmartGridWebHandler: /SmartViews/Grid/{EntityName}/{ViewName}
handler13=Consultingwerk.Web2.Services.SmartViewsHandler.SmartGridWebHandler: /SmartViews/Grid/{CustomViewName}
handler14=Consultingwerk.Web2.Services.SmartViewsHandler.SmartViewerWebHandler: /SmartViewer/Viewer/{EntityName}/{ViewName}
handler15=Consultingwerk.Web2.Services.SmartViewsHandler.SmartViewerWebHandler: /SmartViewer/Viewer/{ObjectName}
handler16=Consultingwerk.Web2.Services.SmartViewsHandler.SmartFormWebHandler: /SmartForm/{FormTemplate}/{EntityName}/{ViewName}
handler17=Consultingwerk.Web2.Services.SmartViewsHandler.SmartFormWebHandler: /SmartForm/{FormTemplate}/{ObjectName}
handler18=Consultingwerk.Web2.WebHandler.SmartMessageWebHandler: /SmartMessage/{MessageGroup}/{MessageNumber}
handler19=Consultingwerk.Web2.WebHandler.GetImageWebHandler: /Image/{FileName}
handler20=Consultingwerk.Web2.WebHandler.SmartValueListWebHandler: /ValueList/{ValueList}
handler21=Consultingwerk.Web2.WebHandler.SmartAttachmentsWebHandler: /Attachments/{Table}/{KeyValues}
handler22=Consultingwerk.Web2.WebHandler.SmartAttachmentWebHandler: /Attachment/{Guid}
handler23=Consultingwerk.Web2.WebHandler.SessionContextWebHandler: /SessionContext
handler24=Consultingwerk.Web2.WebHandler.ContextPropertiesWebHandler: /ContextProperties/{PropertyName}
handler25=Consultingwerk.Web2.WebHandler.ContextPropertiesWebHandler: /ContextProperties
handler26=Consultingwerk.Web2.WebHandler.SessionInfoWebHandler: /SessionInfo
handler27=Consultingwerk.Web2.WebHandler.FileSearchWebHandler: /FileSearch/{FileName}
handler28=Consultingwerk.Web2.WebHandler.ExecuteAblWebHandler: /ExecuteAbl
handler29=Consultingwerk.Web2.WebHandler.SmartLanguagesWebHandler: /Languages
handler30=Consultingwerk.OERA.RestResource.RestEntitiesWebHandler: /Entities
handler31=Consultingwerk.OERA.Swagger.SwaggerWebHandler: /Swagger/{EntityName}
handler32=Consultingwerk.OERA.Swagger.SwaggerRestEntitiesWebHandler: /SwaggerEntities/{OutputType}
handler33=Consultingwerk.Web2.WebHandler.SmartTokenSecurityCheckWebHandler: /TokenSecurityCheck/{ObjectName}
handler34=Consultingwerk.Web2.WebHandler.SmartTokenSecurityCheckWebHandler: /TokenSecurityCheck
handler35=Consultingwerk.Web2.WebHandler.SmartEntityTableMappingHandler: /EntityTableMapping/{EntityName}/{TableName}/{UiTypeCodes}
handler36=Consultingwerk.Web2.WebHandler.SmartTreeRootNodeWebHandler: /SmartViews/TreeRootNode/{rootnodeid}
handler37=Consultingwerk.Web2.WebHandler.SmartTreeChildNodesWebHandler: /SmartViews/TreeChildNodes/{parentnodeid}
handler38=Consultingwerk.Web2.WebHandler.SmartSecurityCheckWebHandler: /IsRestricted/{SecurityRealmCode}/{SecurityItemGuid}
handler39=Consultingwerk.Web2.WebHandler.SmartFieldSecurityCheckWebHandler: /RestrictedFields/{TableName}
handler40=Consultingwerk.Web2.WebHandler.GetImageNamesHandler: /ImageNames

UTF-8 based deployments available

Starting August 14th 2016 we ship our source code also as UTF-8 encoded. The ZIP files ending with _utf8.zip contain the source code encoded with that code page. The source code in the remaining archives is still encoded in ISO8859-1. Also on Github there is a new branch containing the OpenEdge 11 based source code in UTF-8.

Related article (Progress K-Base): How to get Progress Developer Studio to save in UTF-8 encoding

New Feature Documentation

Download Link

http://esd.consultingwerkcloud.com/

https://github.com/consultingwerk/SmartComponentLibrary

Overview of included tickets


Bug

SCL-2302 java.lang.ArrayIndexOutOfBoundsException when generation a Business Entity

Description:

Customers have reported sporadic Proparse related issues when generating or re-generating Business Entities from the Business Entity designer.

As we could not reproduce those issues, we've implemented additional details in the error messages raised by Proparse. A new version 4.0.1.1177 of the proparse.net.dll has been released for this purpose.

Customers are recommended to upgrade proparse.net.dll to this version.

SCL-2406 Data Field import of existing Business Entity caused X and Y attributes of existing instances to be reset

Description:

We have resolved an issue with the CreateDataFields method of the SmartRepositoryService. The issue has caused the X and Y (and other) attributes of existing instances of existing Data Fields to be reset by the import. The issue is fixed now.

SCL-2498 Business Entity method FetchRelatedRecords was hiding original error

Description:

Errors thrown from the FetchRelatedRecords method of the Business Entity (such as when the method was called with an empty buffer) were not thrown to the caller due to an issue with attempting to stop the second Business Entity instance. This issue has been fixed now so that the original error of the method call is now thrown to the caller.

Improvement

SCL-1686 Business Entity Designer: Add capability to regenerate calculated fields

Description:

The Business Entity Designer has been enhanced with the ability to regenerate calculated fields in the RetrieveData method of the Business Entity - similar to the ability to regenerate validation code.

The generated calculated fields will be generated within annotations

@GeneratedCalculatedFieldsStart.
@GeneratedCalculatedFieldsEnd.


SCL-2479 Implemented support for default column filters in the poFetchDataRequest:Queries

Description:

We have implemented support for default column filters in the FetchDataRequest argument of the Data Access FetchData, FetchDataByKeyTable and CountResultRecord methods. The default column filters are references as ANT style variables in the Query String:

* ${LanguageIsocodeend}
* ${LanguageKey}
* ${UserKey}
* ${UserName}
* ${UserFullName}
* ${CurrentWeek}
* ${LastWeek}
* ${CurrentMonth}
* ${LastMonth}
* ${CurrentYear}
* ${LastYear}
* ${Today}
* ${Yesterday}
* ${Tomorrow}

And example query string may look like this:

oRequest = NEW FetchDataRequest ("eSmartUser", 'for each eSmartUser where eSmartUser.UserName = "$~{UserName}"') .



We also support date ranges through the default column filters, e.g.

oRequest = NEW FetchDataRequest("*", 'for each eOrder where eOrder.CustNum = 1 and eOrder.OrderDate = "$~{LastYear}"') .



will execute the following query:

for each eOrder where eOrder.CustNum EQ "1" and eOrder.OrderDate >= "1/1/2017" and eOrder.OrderDate <= "31/12/2017"



The actual processing of the variables in the query string is performed by the Consultingwerk.OERA.IProcessFetchDataRequestVariablesQueryWalker service. This service can be overridden. Developers can implement support for additional variables in the query string by overriding this method, e.g. by using a CASE Statement. The OTHERWISE branch of the CASE Statement should call the SUPER method.

    /**
     * Purpose: Replaces a single variable in a Query Expression
     * Notes:   This method is intended to be overridden for customization purposes.
     *          When the child class has matched a variable name it is not expected
     *          To call super. When this method here receives an unknown variable name,
     *          an error will be thrown
     * @param pcVariableName The name of the varialbe
     * @param poQueryExpression The query expression
     */
    METHOD PROTECTED VOID ProcessVariable (pcVariableName AS CHARACTER,
                                           poQueryExpression AS QueryExpression):




SCL-2491 Added switch to disable deletion of r-code in setup.xml

Description:

We've added a new optional switch to the SmartDB upgrade and migration routine ( https://documentation.consultingwerkcloud.com/display/SCL/SmartDB+Upgrade+and+Migration+Routine ) that allows to disable the deletion of r-code when schema changs have been loaded using the script. The new switch is

-D delete-rcode="false"


SCL-2493 DotNetSource.zip now part of the ESD deployment

Description:

The DotNetSource.zip file containing the C# source code of our .NET assemblies is now part of the deployments on the ESD website.

SCL-2497 Improved performance of Menu Security Maintenance screen

Description:

Majority of time spend when opening the menu security maintenance for a large number of users or menu items was spend by rendering the tree node cells and not fetching the data from the backend. This time has been improved (up to 6 times) now, especially by changing the way how images for the tree node cells are handled.

SCL-2504 Included SmartFramework Angular Menu Structure into deployment

Description:

As we've started implementing an official Angular application for the maintenance of the SmartFramework data, we are now deploying the Menu Structures for those forms.

New Feature

SCL-2155 Swagger support for invokable method on RESTful resource URI's

Description:

The Swagger implementation for the RESTful Business Entities does now also support RESTful methods (https://documentation.consultingwerkcloud.com/display/SCL/Support+for+RESTful+invocation+of+Business+Task+and+Business+Entity+Methods)

SCL-2274 Support for JSON Configuration file with SmartUnit

Description:

The SmartUnit start procedure Consultingwerk/SmartUnit/runtest.p now supports an additional PCTRun parameter: JsonConfigFile

When this parameter is set, the AVM session executing SmartUnit will be initialized using a JSON Configuration file ( https://documentation.consultingwerkcloud.com/display/SCL/JSON+Configuration+File+Format ).

SCL-2413 New function to replace an Object Instance in the Repository Object Master Designer

Description:

The Repository Object Master Designer now provides a new function which allows the designer to replace an existing object instance with a new master. This function verifies compatibility of existing links and removed instance attributes not applicable to the new object master. Compatible instance attributes (e.g. X and Y) remain.

The functionality can be accessed using a button in the Ribbon.

The functionality is based on an API in the SmartRepositoryService.

SCL-2471 Repository support for Angular Grid virtual scrolling

Description:

The Smart Framework Repository does now provide the rowHeight and detailRowHeight attributes required for the virtual scrolling feature of the angular Grid component. To use the virtual scrolling, the scrollable attribute needs to be set to _virtual_.

SCL-2483 Implemented ability ot override ConfigurationProvider with -param parameters

Description:

The ConfigurationProvider now supports overriding the contents of the .applicationsettings or .restapplicationsettings JSON file/document using the -param startup parameter of the OpenEdge session.

The -param parameter is expected to contain value in the form of -param @setting1=value1,@setting2=value2 
 The -param parameter may contain other settings as well. Settings not starting with the @ sign will be ignored by the ConfigurationProvider class. So a startup settings of -param @authenticationDb=sports2000 will override the setting from the JSON file


SCL-2490 Implemented a general purpose ValueObjectCache

Description:

The class Consultingwerk.Framework.Base.ValueObjectCache provides caching functionality for value objects. The cache will be initialized using the maximum cache age in seconds. The cache supports storing object instances under a CHARACTER key value and provides methods to retrieve an object from the cache based on the CHARACTER key value and to query if an object is cached.

DEFINE VARIABLE oCache AS ValueObjectCache NO-UNDO .

oCache = NEW ValueObjectCache (5) .

oCache:StoreObject ("42", NEW CharacterHolder("Test 42")) .
oCache:StoreObject ("43", NEW CharacterHolder("Test 43")) .



We have also implemented a new scaffolding template to generate strong typed variants of the ValueObjectCache. See https://documentation.consultingwerkcloud.com/display/SCL/Scaffolding+utility+for+common+helper+classes#Scaffoldingutilityforcommonhelperclasses-ValueObjectCache for details.

SCL-2496 Method ViewHideColumns() of RenderedBrowseControl is now PUBLIC

Description:

The method ViewHideColumn() of the WinKit RenderedBrowseControl is now public. This method allows to synchronize the column width and order in the RenderedBrowseControl with the underlying Progress BROWSE widget. This is useful when the existing application contains functionality to manage the browse view.

SCL-2500 Implemented FetchRepositoryObject authorization

Description:

The FetchRepositoryObject method of the SmartRepositoryService does now support authorization. A new Security Realm "SOM" protecting Smart Object Master records has been implemented for this purpose.

SCL-2501 Implemented JSON Export for Angular Form, Viewer and Grid in the Repository Object Master form

Description:

The Repository Object Master Maintenance form now supports exporting the Angular JSON definition of a repository layout to a file. The functionality is available using a button in the Ribbon.

SCL-2503 Usability improvements in Security Maintenance Screens

Description:

We've implemented a few minor usability improvements in the Security Maintenance screens.

Story

SCL-1926 Upgraded Swagger RESTful and JSDO services to Swagger Version 3

Description:

We have upgraded our Swagger implementation for the RESTful and the JSO based interface to version 3 of the Open API specification.



defaultHandler=OpenEdge.Web.CompatibilityHandler    handler1=Consultingwerk.OERA.JsdoGenericService.WebHandler.CatalogWebHandler: /Catalog/{EntityName}    handler2=Consultingwerk.OERA.JsdoGenericService.WebHandler.CatalogsWebHandler: /Catalogs/{PackageName}    handler3=Consultingwerk.OERA.JsdoGenericService.WebHandler.CountWebHandler: /Resource/{EntityName}/count    handler4=Consultingwerk.OERA.JsdoGenericService.WebHandler.ResourceSubmitWebHandler: /Resource/{EntityName}/SubmitData    handler5=Consultingwerk.OERA.JsdoGenericService.WebHandler.InvokeMethodWebHandler: /Resource/{EntityName}/{MethodName}    handler6=Consultingwerk.OERA.JsdoGenericService.WebHandler.ResourceWebHandler: /Resource/{EntityName}    handler7=Consultingwerk.OERA.JsdoGenericService.WebHandler.BusinessServicesWebHandler: /BusinessServices/{OutputFormat}/{PackageName}    handler8=Consultingwerk.Web2.WebHandler.SmartMenuWebHandler: /SmartMenu/{MenuStructureId}    handler9=Consultingwerk.Web2.WebHandler.SmartMenuStructureWebHandler: /SmartMenuStructure    handler10=Consultingwerk.Web2.WebHandler.SmartRoutesWebHandler: /SmartRoutes    handler11=Consultingwerk.Web2.Services.SmartViewsHandler.SmartGridWebHandler: /SmartViews/Grid/{EntityName}/{ViewName}/{DetailTemplate}    handler12=Consultingwerk.Web2.Services.SmartViewsHandler.SmartGridWebHandler: /SmartViews/Grid/{EntityName}/{ViewName}    handler13=Consultingwerk.Web2.Services.SmartViewsHandler.SmartGridWebHandler: /SmartViews/Grid/{CustomViewName}    handler14=Consultingwerk.Web2.Services.SmartViewsHandler.SmartViewerWebHandler: /SmartViewer/Viewer/{EntityName}/{ViewName}    handler15=Consultingwerk.Web2.Services.SmartViewsHandler.SmartViewerWebHandler: /SmartViewer/Viewer/{ObjectName}    handler16=Consultingwerk.Web2.Services.SmartViewsHandler.SmartFormWebHandler: /SmartForm/{FormTemplate}/{EntityName}/{ViewName}    handler17=Consultingwerk.Web2.Services.SmartViewsHandler.SmartFormWebHandler: /SmartForm/{FormTemplate}/{ObjectName}    handler18=Consultingwerk.Web2.WebHandler.SmartMessageWebHandler: /SmartMessage/{MessageGroup}/{MessageNumber}    handler19=Consultingwerk.Web2.WebHandler.GetImageWebHandler: /Image/{FileName}    handler20=Consultingwerk.Web2.WebHandler.SmartValueListWebHandler: /ValueList/{ValueList}    handler21=Consultingwerk.Web2.WebHandler.SmartAttachmentsWebHandler: /Attachments/{Table}/{KeyValues}    handler22=Consultingwerk.Web2.WebHandler.SmartAttachmentWebHandler: /Attachment/{Guid}    handler23=Consultingwerk.Web2.WebHandler.SessionContextWebHandler: /SessionContext    handler24=Consultingwerk.Web2.WebHandler.ContextPropertiesWebHandler: /ContextProperties/{PropertyName}    handler25=Consultingwerk.Web2.WebHandler.ContextPropertiesWebHandler: /ContextProperties    handler26=Consultingwerk.Web2.WebHandler.SessionInfoWebHandler: /SessionInfo    handler27=Consultingwerk.Web2.WebHandler.FileSearchWebHandler: /FileSearch/{FileName}    handler28=Consultingwerk.Web2.WebHandler.ExecuteAblWebHandler: /ExecuteAbl    handler29=Consultingwerk.Web2.WebHandler.SmartLanguagesWebHandler: /Languages    handler30=Consultingwerk.OERA.RestResource.RestEntitiesWebHandler: /Entities    handler31=Consultingwerk.OERA.Swagger.SwaggerWebHandler: /Swagger/{EntityName}    handler32=Consultingwerk.OERA.Swagger.SwaggerRestEntitiesWebHandler: /SwaggerEntities/{OutputType}    handler33=Consultingwerk.Web2.WebHandler.SmartTokenSecurityCheckWebHandler: /TokenSecurityCheck/{ObjectName}    handler34=Consultingwerk.Web2.WebHandler.SmartTokenSecurityCheckWebHandler: /TokenSecurityCheck    handler35=Consultingwerk.Web2.WebHandler.SmartEntityTableMappingHandler: /EntityTableMapping/{EntityName}/{TableName}/{UiTypeCodes}    handler36=Consultingwerk.Web2.WebHandler.SmartTreeRootNodeWebHandler: /SmartViews/TreeRootNode/{rootnodeid}    handler37=Consultingwerk.Web2.WebHandler.SmartTreeChildNodesWebHandler: /SmartViews/TreeChildNodes/{parentnodeid}    handler38=Consultingwerk.Web2.WebHandler.SmartSecurityCheckWebHandler: /IsRestricted/{SecurityRealmCode}/{SecurityItemGuid}    handler39=Consultingwerk.Web2.WebHandler.SmartFieldSecurityCheckWebHandler: /RestrictedFields/{TableName}    handler40=Consultingwerk.Web2.WebHandler.GetImageNamesHandler: /ImageNames