Release Note 026: New Features released on January 7th 2013
OpenEdge Version compatibility note
This release of the SmartComponent Library has been tested with OpenEdge 10.2B Service Packs 5, 6 and 7 as well as OpenEdge 11.0.0.003 and 11.1.0.005. 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 5 for OpenEdge 11.1. See http://blog.consultingwerk.de/consultingwerkblog/2012/07/serious-issues-with-gui-for-net-type-management-in-openedge-11-1/ 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.
From this release on we will be 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 add-ons to the SmartComponent Library
Recently we have developed two add-ons to the SmartComponent Library. Together with the framework extension for mobile device development (SmartComponent.Mobile) the SmartComponent Library can now also be used to develop WebSpeed applications (SmartComonents.Web) and provides a very tight integration with OpenEdge BPM/Savvion. Please contact us, when you are interested in exploring the capabilities of those add-ons.
Versions of the Consultingwerk .NET Assemblies contained in this release
Assembly name | Version |
Consultingwerk.Design | 2.2.0.17550 |
Consultingwerk.SmartComponents.Design | 2.2.0.19636 |
Consultingwerk.SmartComponents | 2.2.19846 |
Consultingwerk.Support | 2.2.0.22912 (updated) |
Consultingwerk.Utilities.Support | 1.0.0.21371 (updated) |
Consultingwerk.Web.Win.Runtime | 1.0.0.0 (new Assembly) |
List of new features / functionality
Below is a list of the key features released today:
Change 23734 Fixed an issue with the ClassDocumentationHelper in OpenEdge 11.0 (not occuring in OpenEdge 11.1) by implementing a custom RIGHT-TRIM method
Change 23663 Integration of Language Images into Consultingwerk.Windows.Framework.Images
Change 23661 FindByKey method on ListNameValuePair
Change 23657 Fixed Invoke Method for Dialog in LaunchFormCallParameter
Change 23656 SmartFunctionViewer: Change in Call Parameter user Control should initiate Update
Change 23650 Enabling and Disabling of the Function Parameter UserControls in the SmartFunctionViewer
Change 23649 SmartViewerControl:RemoveControlEnabled now allows to remove Controls from the list of Controls that will be enabled/disabled from EnableFields/DisableFields
Change 23647 Fixed Deserialization of the FormStartTypeEnum in LaunchFormCallParameter class. Serializable Enum classes need to be fully qualified so that the DYNAMIC-NEW does not fail.
Change 23630 The SmartLookup no longer subscribes to it's own EditorButtonClick event, it rather overrides the OnEditorButtonClick method of the UltraTextEditor
Change 23615 ABL based http client
Change 23610 JsonSerialization optionally without specifying the SerializedType in the JsonObject
Change 23609 Basic OO Socket handling support
Change 23607 Changed LanguageImage fieldtype to CHARACTER and implemented storing of the relative FileName if possible
Change 23564 An utility to verify the validity of all .resx files in a workspace
Change 23560 FileAssert:Exist - verify that a file exists
Change 23520 Excel Export with the ability to fetch more data
Change 23479 Business Entity Designer with support for undocumented CASE-SENSITIVE attribute
Change 23459 on 2012/12/27 by mikefe@Consultingwerk7 Moved the simple Control ProperySheet from the BPM package to the Design Package
Change 23425 WinKit: IEmbeddedWindowForm:Finalized - new property to prefent multiple execution of FinalizeEmbedding.
Change 23418 on 2012/12/18 by mikefe@Consultingwerk7 Conditional inheritance from JsonSerializable on OpenEdge 11.0
Change 23413 Fixed JSon Deserialization when object properties are not presend in the serialization object
Change 23411 Use Strong-Typed class references for CallParameterControlFactory
Change 23389 Fixed Batching Issue when using the Filter Values Collection
Change 23388 Added System.DirectoryServices for Ldap support
Change 23385 Consultingwerk.Util.MathHelper
Change 23383 Consultingwerk.Windows.Ldap.UserAccountControl constant
Change 23367 ICredentialProvider to allow receiving authentication credentials from any other source than a classical user input
Change 23363 Business Entity Designer: Entity Class Generator Plugin generates now a sequence of properties for EXTENT fields
Change 23362 Excel Export as a standard UI functionality
Change 23356 White Background for the MenuTreeViewControl (UserControl itself)
Change 23354 Fixed the abilitiy to switch the Call Parameter User Controls, also when no valid Call Parameter was deserialized
Change 23344 Added a general RootNode and implemented the possibility to maintain the menu structure by using the Toolbar and Drag&Drop from the Function Maintenance Form.
Change 23341 Invoke Menu Function from MenuTreeViewControl
Change 23335 Basic Rendering of Menu Structure from SmartFramework, SmartFramework Maintenance Menu Group in Customer Explorer
Change 23332 Implemented a BaseControl for the CallParameter UserControls to define general behavior
Change 23330 SmartMenuMaintenanceForm: Resizing on Group Assignment Page
Change 23328 Business Entity Designer: Same code base for 10.2B and 11.x using conditional compilation
Change 23324 Classes in the Consultingwerk Root Package do use condidional compilation which allows us to support the same code base on 10.2B and OpenEdge 11.x
Change 23321 WidgetHelper:WidgetName method for debugging purposes
Change 23319 Fixed RefreshTools so that it won't change the label of tools in the Ribbon
Change 23318 Fixed OrderWidgets methods: First empty temp-table, then populate it.
Change 23315 EmbeddedWindowBaseForm:EnableDisableOverlayControl
Change 23312 Additional CreateTrigger for SmartDB tables
Change 23311 Assign ModuleName during Drag and drop
Change 23310 Drag and Drop of .cls files to the SmartFunctionMaintenanceForm to create a Function for a Form
Change 23305 XML ClassReference
Generate static Methods
Remove special characters
Remove @ from return paramter
Change 23301 IEmbeddedWindowForm: A property which may hold the handles of all (relevant) FRAMEs in a Window
Change 23299 WidgetHelper:OrderWidgetsByColRow
Change 23284 RenderedBrowseControl: Optionally APPLY ITERATION-CHANGED event together with VALUE-CHANGED
Change 23280 RenderedBrowseControl: Monitor ENTRY of Updatable Browse Cells
Change 23268 RenderedBrowseControl: Synchronize the whole ROW between Browse widget and Grid when a cell is left
Change 23267 WinKit: RenderedBrowseControl: ProcedureHandle is optional now
Change 23264 Pick Event Support in Updatable RenderedBrowseControl (WinKit)
Change 23263 Consultingwerk.Windows.Api.Win32:GetWindowThreadProcessId
Change 23262 SmartTable Maintenance: Ability to import from a database schema
Change 23200 HTML Documentation fixed the following bugs
SMARTDOX-3 Display GetFullTypeName as link
SMARTDOX-4 Remove Commentlines / *--- --- */
SMARTDOX-2 GetFullTypeName does not appear
SMARTDOX-5 Paramter headers conditionally hidden when not required
Remove Interface Details
Added interface reference link to class
Change 23199 Added FROM ASSEMBLY to the default class templates of the Business entity generator
Change 23195 Ability to "Quit" Background jobs through a 0MQ message rather than having to kill them. This is currently provided as a conceptual study, rather than a production ready solution. The use of 0MQ (ZeroMQ) is completely optional and can be turned on and off using a switch in Consultingwerk\products.i
Change 23186 Integration of the ZeroMQ Assemblies for the Background Jobs
Change 23185 Security Implementation: ServiceInterface Request validation via optional service provider
Change 23184 Maintenance programs for SmartAttachment tables
Change 23182 Fix Registration of DatasetChild Adapter with the DatasetController
Change 23178 Instantiate the DatasetController at runtime here, so that it's launched before any other Control performs initialization during the EndInit calls
Change 23174 RenderedBrowseControl with Support for adding the Browse fields and a custom list to the BindingSource (useful when the key fields of the records were not shown in the Browser)
Change 23173 Fixed the FieldNameGeneratorService2, it was adding the database name as part of the field name
Change 23172 Business Entity Designer: Alternative FieldNameGeneratorService. This one will ensure unique field names by adding a number to them: When using a joined DataSource between Customer and Order, one instance of the CustNum field will now be named CustNum2 etc.
Change 23171 SmartDataBrowser: Verify, that the BindingSource is already attached to a Query before performing the OnBeforeSortChange handling
Change 23167 ForeignFieldsProperty: Trim out spaces from the entries in the ForeignFieldProperty
Change 23163 Optimization to Fix for Bug 2837: The FindRowWhere on server does not also ensure the display of the Scrollbars without the need to generally use a large Prefetch value
Change 23151 ImageHelper:BuildTextImage
Change 23140 QueryExpression is now JsonSerializable
Change 23136 EmbeddedWindowTabFolderForm:DeleteTabPage
Change 23120 Fixed EU Settings in BPM Adapter
Change 23107 Workaround to crash starting the customization of the CustomerViewer on Page #2 in the CustomerDetailForm Change was to change baseclass from Consultingwerk.Forms.BaseForm to Progress.Windows.Form
Change 23079 SmartLookup: F3 Handler as On... method override
Change 23059 ParameterObject for WidgetHelper:SetFrameBackgroundColor
Change 23055 Consultingwerk.Util.DatasetHelper:SetErrorString
Change 23054 EntityClasses to support updating, Row state and ColumnChanged events
Change 23048 Provide the Authorization provider services with the reference of the Caller
Change 23040 Ensure that the Scrollbar is shown, when the FindRowWhere (FindOnServer) results in the rows beeing found being part of the last batch of records
Change 23038 Terminate all Background Jobs when the Job Monitor Control is closed
Change 23035 Consultingwerk.Util.XmlHelper
Change 23028 SmartBusinessEntityAdapter/SmartDataBrowser: Ensure that FetchLastOnServer scrolls to the Last Row
Change 23025 Ignore first error message from BPM Adapter (when we could not sign in the user with the application credentials to the BPM)
Change 23022 Business Entity Designer: When suggesting relation fields, prefer primary index fields
Change 23018 WebClient Support for Background jobs
Change 23009 SessionManager:LoginCompletedEvent
Change 23008 When logging in, but unable to log into the BPM Server, allow access anyway
Change 23005 Lookup templates
Change 22987 SmartDataBrowser: Fixed Backwards Batching when using the SmartFilterActive
Change 22949 Background Job Monitor
Change 22935 SmartDataBrowser: Changed the activation of the SmartFilterUI to the InitializeLayoutHandler. This change in the initialization order seems to be required in OpenEdge 11.0
Change 22927 SmartDataBrowser: Fixed filtering by Decimal column
Change 22913 CustomerExplorer Demo: Dashboard, Revenue by Country, executed in first prototype of the Background Job
Change 22912 ValueListHelper: Fixed issue with empty BLOB causing Exception when creating the .NET Image object
Change 22908 Customization Hook to handle Click of UltraButton overlaying ABL Button
Change 22903 RenderedBrowseControl: Synchronize value of updatable cell to the Browse widget before any ToolClick action in the Form
Change 22898 Handling of Function Keys on the RenderedBrowseControl
Change 22891 When the ABL Window handles the DEFAULT-ACTION event of a Browse widget, the RenderedBrowseControl will no longer APPLY MOUSE-SELECT-DBLCLICK to be consistent with the behaviour of the Progress Browse widget
Change 22888 Suspend Events from the RenderedBrowseControl once the Form has been disposed
Change 22862 Completion of SmartWindowWizard and SmartWindowGenerator
Change 22827 Custom ABL Scratch Pad
Change 22821 SmartWindowForm Wizard
Change 22817 WinKitMTK: Ignore Trigger reverts
Change 22814 Consultingwerk.Util.StringHelper:Insert
Change 22804 Error Handling in SmartViewerGenerator, when the Business Entity does not yet exist
Change 22801 UltraToolbarsHelper:LoadImage: Check for valid Image before CAST'in as the Image obeject of the Appearance may return the key from an ImageList
Change 22800 UltraToolbarsHelper, BuildToolbarFromFrame: When LoadImage returns FALSE, use TextOnly for Button Tool
Change 22798 Moved IControlGenerator Interface to Generator Package to be prepared for more generic use Rename/move file(s)
Change 22797 HTML Documentation
- Overviev display modifier, Short-Signature and purpose - Detailview Show formated paramter
Change 22796 Author Name and Generation Date/Time for files generated by the SmartViewerGenerator
Change 22795 AblPrimitiveLists now using LONGCHAR to store the internal values
Change 22784 XML-classReference
- Replace All comment blankcharacters with - All commentlines after line begins "---" not displayed
Change 22776 List & Label Report Designer integrated into Sports2000 Demo
Change 22765 XML Class-Reference
- Methods output in xml - Events output in xml - Properties output in xml - Constructors output in xml All comments and parameter descriptions are displayed in classbrowser.
Change 22764 SmartViewerGenerator: Arrows on the Wizard Buttons
Change 22761 SmartViewerGenerator: Generation of special field controls per data type
Change 22759 Initial Implementation of SmartViewerBuilder
Change 22758 SmartViewer Wizard Validation of Next Button on Page 2 and Finish Button
Change 22757 SmartViewerGenerator Wizard - Management of BindingSource Columns / Viewer Fields
Change 22754 SmartViewerGenerator initial implementation
Change 22753 HTML-Documentation
- remove msgbox when finish - Bugfixing Placeholde method return the result value now. It was romeved in changeliste 2273. - Docuementlist links changed form absolutly path to relative path
Change 22613 List & Label Support Library for Report Designer
Change 22601 Added comment to AssignSkipList assignement in the constructor
Change 22595 Business Entity Designer: Ability to drag individual fields from any table onto a Business Entity Temp Table
Change 22571 IFunctionCallParameter Interface that defines requirements for actions/functions started from the SmartMenuController and that can be stored (JSonSerialized) in the SmartFunction.FunctionCallParameter field
Change 22560 Consultingwerk.DateType class with routines for date calculation
Change 22559 DataTypeHelper:IsAblDataType is also accessible without the .NET framework
Change 22557 Consultingwerk.Util.DataTypeHelper:IsAblDataType: Test for valid ABL data type
Change 22551 Consultingwerk.DateHolder constructor with DateTime value
Change 22547 Added Consultingwerk.Int64Holder class
Change 22539 Consultingwerk.Util.FileHelper:RelativeFileName: Method that returns the relative name of a file based on the current propath
Change 22508 Consultingwerk.BufferFieldName is now JsonSerializable
Change 22507 IQueryExpression Interface for ...Holder classes to enforce GetExpression method
Change 22498 Added an assemblies.config file to be able to group assemblies in subfolders of the Assemblies directory.
The current folderstructure now includes subfolders for: Consultingwerk - Assemblies from Consultingwerk Infragistics - Assemblies from Infragistics (initialy only contains an info.txt file as a placeholder for customer projects) Microsoft - Assemblies from Microsoft Support - Assemblies from 3thrd Party vendors used in Consultingwerk developer tools
For detailed information about the assemblies.config file please refer to: http://communities.progress.com/pcom/message/161355#161355
Change 22497 BaseForm:RestoreWindowPosition is now a PROTECTED method to allow overriding
Change 22485 Holder classes for ABL primitive types
Change 22478 Renamed Consultingwerk.Character to Consultingwerk.CharacterType to avoid conflict with CHARACTER data type
Change 22430 Access to .NET Framework in the Consultingwerk.Framework folder using conditional compilation only (http://jira.consultingwerkcloud.com:8090/display/SCL/Release+Note+019%3A+Simplified+compilation+of+the+backend+on+Unix+and+Linux)
Change 22414 WinKit Toolbar & Ribbon Designer is now also part of the SmartComponent Library distribution
Change 22393 Cleanup WinKit Include Files
Change 22383 WinKit: Control Mdi/Non-Mdi through a static property in the EmbeddedWindowBaseForm
Change 22366 Only apply START-SEARCH when ALLOW-COLUMN-SEARCHING = TRUE .
Change 22339 Win32 API method DisableProcessWindowsGhosting
Change 22335 Additional INIT values specified for Lookup classes to avoid unneccessary apperance in generated code
Change 22323 Fixed resx file for OpenEdge 10.2B compatibility (WinForms 2.0)
Change 22312 Fix import of temp-tables with fields LIKE EXTENT fields
Change 22301 DataAccess: Ignore spaces in the comma delimited list of table-names
Change 22262 When storing UltraGrid settings, don't consider current GroupBy columns as Hidden
Change 22230 [Bug 2797] SmartDatasetChildAdapter - Clientsession dies when calling Bindingsource: RefreshAll () in RetrieveData Method
Change 22229 SmartDataObject Importer
Change 22227 SmartViewerGeneratorPlugin - create Icon in Business Entity Designer Ribbon