Release Note 027: New Features released on February 6th 2013


OpenEdge Version compatibility note


This release of the SmartComponent Library has been tested with OpenEdge 10.2B Service Packs 5, 6 (Hotfix 12) and 7 as well as OpenEdge and If you are planning to use the SmartComponent Library on OpenEdge 11.0, please make sure to use at least the Hotfix 003 and Hotfix 005 for OpenEdge 11.1. See for some issues that prohibit the use of the SmartComponent Library on OpenEdge 11.1 without any hotfix. If you need support obtaining this service pack from Progress Technical Support please let us know!  

We are expecting the release of OpenEdge 11.2 later this month. We will provide a feedback on compatibility with OpenEdge 11.2 soon after the release of OpenEdge 11.2.  

Like the previous release we are releasing multiple sets of source code for the different OpenEdge releases. We are always attempting to leverage the latest language and platform features from OpenEdge. For instance the Progress.Json.ObjectModel provides as an superior foundation for serializable objects that was not available in OpenEdge 10.2B. As OpenEdge 11 uses the .NET 4.0 framework, .resx files created with OpenEdge 11.x are no longer compatible with OpenEdge 10.2B as the type information (e.g. for System.Drawing.Image objects) references a strong name including the .NET Framework version.  

Customers using OpenEdge 10.2B and OpenEdge 11 may be using the OpenEdge 10.2B based shipment also on OpenEdge 11. However the OpenEdge 11 targeted deployment of the SmartComponent Library will not be compatible with OpenEdge 10.2B. We are also expecting a seperate deployment for OpenEdge 11.2 in the future to leverage new language features there as well.  


New functionality in the SmartComponent Library


The Business Entity Designer does now support the most important round-trip features:

The “Generate” functionality will prompt before overwriting existing files. The regenerate functionality can now merge changes to the model with existing Data Access classes without losing custom code. This supports modifying or adding data sources, maintaining the code for attach and detach data-sources as well as the CASE blocks in the SourceColumn and SourceDefaultQuery methods (for new tables).

The merging of changes to the model with existing Data Access code without losing any custom code is dependent on annotations in the Data Access class. For existing classes those will need to be added manually. Customers that are using customized templates for the Business Entity Designer and code generator will have to add those annotations to the custom Data Access Template file. Please use the file Consultingwerk\BusinessEntityDesigner\Generator\Templates\dataaccess.template from this shipment for a sample trhen.

In addition the Business Entity Designer does not allow to update a temp-table in the model based on the temp-table include files. This allows to do direct changes to the temp-table structure and importing them into the model later. This also makes it much simpler to share the same temp-table definition between two business entities.

A new HTML class documentation is available on

This class documentation is automatically generated based on a PCT (Progress Compiler Tools, and the utility contained in the Consultingwerk.Studio.ClassDocumentation package. Information on customizing this tool is available here:


Versions of the Consultingwerk .NET Assemblies contained in this release


SmartComponentLibrary uses the new Proparse Assembly and we have added the Infragistics4.* Assemblies to the assemblies.xml file and the Assemblies folder as OpenEdge 11.2 did update the Infragistics Controls to a hotfixed of the 2011.2 release version so that the default version of the Controls from OpenEdge 11.1 was no longer available in the GAC.


Assembly name






Consultingwerk.Support (updated)

Consultingwerk.Utilities.Support (updated)

Consultingwerk.Web.Win.Runtime (new Assembly) 

List of new features / functionality


Below is a list of the key features released today:  

  • Change 24523 SmartLookup: Support for additional EditorButtons and the EditorButtonClick event
  • Change 24389 RenderedBrowseControl now supports updating the Text based on the Browsers TITLE
  • Change 24382 Bug 2847 Added SetQueryString method in SmartBusinessEntityAdapter to allow overriding the assignment of a new value to the QueryString method in a custom SmartBusinessEntityAdapter implementation
  • Change 24358 Business Entity Designer: Ability to update model temp-tables by importing themp from the include file (full round-trip engineering for the Business Entity temp-tables).
  • Change 24350 Business Entity code generated can now update the CASE Blocks in the SourceColumn and SourceDefaultQuery method for new tables
  • Change 24346 Consultingwerk.Util.StringHelper:UnquoteString - a method to remove quotes from a String
  • Change 24344 Latest Proparse.NET Assemblies, Time & date: 16:54, November 27, 2011. From
  • Change 24334 Business Entity Generator, merge current model with existing Data Access Source code for Data-Source Defintiion, Attach-Data-Source and Detach-Data-Source
  • Change 24329 Business Entity Generator: Open Files in IDE also after RegenerateSource
  • Change 24326 Annotations around the definition of the Data-Sources and Data-Source Queries
  • Change 24325 Generating the Business Entity from the Business Entity Designer will prompt for overwriting existing files now
  • Change 24324 Fixed issue with painting the Business Entity Diagram
  • Change 24323 The SmartDataBrowser will format the Attachments and Comments Columns (when present) automatically when compiling with the SmartAttachment flag turned on (products.i)
  • Change 24320 Smart Attachment: Enable dragging of Attachments as files to the Windows Explorer
  • Change 24310 Business Entity Designer Plugins for SmartViewer and SmartWindow generation will prompt to create output directory if it's not existing
  • Change 24298 Business Entity Generator: FORMAT and LABEL are no valid field options for RAW fields
  • Change 24297 Batch Business Entity Generator: Ensure that the BeforeTableName will not exceed 32 characters
  • Change 24294 Batch Business Entity Generator does replace "%" in a field name with "Percent"
  • Change 24293 Business Entity Generator does no longer prompt for missing unique indexes on the temp-tables when running in the silent mode
  • Change 24289 Fixed BatchGenerator after generating Business Entities with Database name in Data-Sources
  • Change 24285 JsonSerializable: Moved handling of individual properties to seperate methods to allow overriding
  • Change 24284 HttpClient POST Method
  • Change 24273 Ability to ignore Null Values from JsonSerialization - like required by JIRA
  • Change 24267 Added Infragistics4 Assemblies to the Assemblies.xml and Assemblies folder as OpenEdge 11.2 did update the Infragistics Controls to a hotfixed version so that the default version of the Controls from OpenEdge 11.1 was no longer available in the GAC
  • Change 24241 Handle System.InvalidOperationException, when the Background's Job Process may actually not be valid.
  • Change 24239 Make sure, that the RenderedBrowseControl has a selected row before invoking ROW-LEAVE
  • Change 24230 SmartDox-12 Implemented javascript treeview and treesearch
  • Change 24156 Ability to configure Authentication DB using the new IConfigurationProvider Interface and default ConfigurationProvider implementation (reading from a JsonFile, OE 11.0 only)
  • Change 24155 Perform Database Authentication if required when starting the Business Entity Designer/Business Entity Tester/Business Entity Browser (using RUN _prostar.p)
  • Change 24154 Business Entity Designer: When dragging a Data-Relation between two tables, first check if fields from a Unique Index in the Parent Table are present in the Child Table
  • Change 24149 proSIretriev1.p needs to include products.i for OERASI preprocessor variable
  • Change 24141 Conditional access to Infragistics classes in Helper classes
  • Change 24126 Bullets for Password in LoginForm
  • Change 24102 LoginForm works again without SmartFramework / when executing without SmartFramework the use of the IAuthenticationProvider is optional - as this is only demo mode then
  • Change 24094 Bug 2845: Don't reset the FirstTime property in RetrieveData when the first call to RetrieveData has raised an error (from the backend)
  • Change 24082 Support for JsonSerialization of dynamic Array Fields
  • Change 24081 Error handling for missing fields in the binding source during SubmitRow (TRUE)
  • Change 24066 AppServer only EXPORT's the Service Interface path
  • Change 24063 Client Principal Authentication on the AppServer
  • Change 24041 Synchronize Session Manager Properties between Client and AppServer
  • Change 24002 Set Current UI Language based on Application/Framework Language
  • Change 23956 Business Entity Designer Auto-Layout capability
  • Change 23954 SmartDox-12 Consultingwerk ClassDocumentation
    •  Added ResourceDir Property
  • Change 23952 SmartDox-12 Consultingwerk ClassDocumentation
    • All files from the resource directory are copied to the output resource directory automaticaly
    • Added Consultingwerk resources
  • Change 23945 The BusinessEntityDesigner now visualizes the End of a connector (data-relation) with an Arrow and no longer with the default square block marker
  • Change 23940 Ability to compile EmbeddedWindowBaseForm using an alternative BaseClass, PackageName and ClassName
  • Change 23937 CharacterType:ParseUnknowValue, returns ? for "?" otherwise the original string is returned
  • Change 23927 Interface ISmartBusinessEntityAdapter now also provides access to the EntityTable property
  • Change 23921 ValueLists to indicate availbility of Comments and Attachments in browsers
  • Change 23916 Retrieval of SmartRecordKey, SmartAttachments, SmartComments with RetrieveData, introduction of SmartBusinessEntity, SmartDataAccess
  • Change 23915 BufferHelper:BufferFieldSubstituteFormatted
  • Change 23909 Ability to pre-cache translations by scope on the client
  • Change 23903 Business Entity Generator uses LONGCHAR Fields now to allow generation of entity classes with a large number of fields
  • Change 23899 Business Entity Designer: Fixed validating/parsing of multi-field data relation criteria
  • Change 23894 Translation provider
  • Change 23891 A FetchDataRequest constructor that sets the Tables and the Queries
  • Change 23884 MessageFormHelper:MessageFormTopMost - static property to optionally turn on the TopMost Attribute for all Message Forms
  • Change 23877 Maintenance of SmartTranslation records
  • Change 23868 A Database Table for Global Translations
  • Change 23865 MessageFormHelper API that shows a message based on a Consultingwerk.SmartFramework.Message structure
  • Change 23856 Additional FetchDataRequest constructur for pcTables, pcQueries, piNumRecords and pcContext as a parameter
  • Change 23850 Consultingwerk.Environment returns environmental settings
  • Change 23846 IMessageProvider Interface, for services that enable access to messages stored in a repository
  • Change 23840 Consultingwerk.Windows.Framework:ValueLists - a general purpose provider for Infragistics ValueLists. Here: LanguageValueList
  • Change 23837 ValueListHelper now has methods to return an Infragistics ValueList with Images sourced from an IImageProvider service
  • Change 23834 Moved UiEnvironmentEnum to Consultingwerk root package for better reuse
  • Change 23828 Implementation of Login Company Selection in the LoginForm
  • Change 23825 Updated maintenance of the login companies in the SmartDB with images and a Character, Integer, Decimal foreign reference field. Those fields may be used to provide the keys for existing company keys in an ERP system, etc.
  • Change 23821 WidgetHelper:GetMinSize now respects the Border and the Tilte of a frame
  • Change 23808 Expand first menu level by default in the SmartFramework menu treeview
  • Change 23807 Fixed Tree View Expansion indicator images in Office 2010 Blue Style Set
  • Change 23806 IImageProvider Service and implementation of loading images in the SmartFramework Menu Treeview
  • Change 23801 Ability to enable and disable service entries in services.xml. Disabled services will be ignored by the Consultingwerk.Framework.ServiceLoader class