Release Note 021: New Features released on July 24th, 2011

List of new features / functionality

  

Below is a list of the key features released today:  

  • Change 18231: Structured Error-Handling optimization in Consultingwerk.OERA.DataAccess 

  • Change 18230: Variable c!NextContext in ticBusinessEntityAdapter removed, now using inherited property SmartBusinessEntityAdapter:NextContext 

  • Change 18229: Rename/move file(s); 
    • From Consultingwerk/SmartComponents/Support/!SmartBusinessEntityAdapterDesigner_ShowBusinessEntityTablelPic.p  To Consultingwerk/SmartComponents/Support/!SmartBusinessEntityAdapterDesigner_ShowBusinessEntityTblPic.p  The Progress X-Code utility is unable to handle files with extreme long file names, when run on UNIX. 

  • Change 18228: Protected properties for NextContext and PrevContext to allow access in custom classes, instead of private variables 

  • Change 18227: New property FetchLastOnServer to allow direct fetching of the last record on the server and then using backwards batching. The protected method FindRecord on Consultingwerk.OERA.DataAccess now has an additional integer parameter passing the current batch size. This might introduce a breaking feature for custom DataAccess implementations. These should add the same additional parameter to an eventual implementation of FindRecord. 

  • Change 18226: Service Adapter with additional method's to pass thru a context dataset, SmartBusinessEntityAdapter with new property ContextDataset, this Dataset will be exchanged with the Server and is accessible on the server as Consultingwerk.Framework.Session:ContextDataset. The context dataset does not require any particular schema. However Consultingwerk has implemented Consultingwerk/OERA/Context/dsContext.i as a reference implementation with the class Consultingwerk.OERA.ContextWrapper as a static wrapper class for simple access to the context dataset. Each SmartBusinessEntityAdapter may have it's own context dataset (different schema if demanded). On the server there is always exactly one dataset available at the handle referenced at Consultingwerk.Framework.Session.ContextDataset 

  • Change 18225: Ability to define a default AppServer partition, new property DefaultPartition in Consultingwerk.Framework.AppServerServiceManager 

  • Change 18218: Buffer and ProDataset Assertion class 

  • Change 18192: Allow update in SmartDataViewerto work properly even when the Field is used twice on the screen (eventually in two GroupAssign linked viewer) and the first instance is changed and the second is not changed. The DataSourceUpdateMode propery of all Binding objects of the Controls in the Viewer is set to System.Windows.Forms.DataSourceUpdateMode:OnPropertyChanged so that the ProBindingSource will be updated whenever the Control property (i.e. Text or Value) is changed. The protected method RecurseBindingWriteValueof the SmartViewerControl is no longer required to ensure that the values of the last field are written back to the data source. We did always consider the method RecurseBindingWriteValuefor internal use only. Customers affected by the removal of this method should contact us so that we can understand your use of that method and implement a fix for you! 

  • Change 18190: ICustomTypeDescriptor implementation extended for System.ComponentModel.DesignerSerializationVisibility Attribute, added a sample StringHolder class 

  • Change 18126: Ensure that the TextChanged event during Navigation Button handling on a Panel does not cause the Viewer to temporarily go into update mode when a field in the Viewer has focus 

  • Change 18116: TextChanged Handler optimization, disable TextChanged, CheckChanged event handler when SmartViewerControl has no Focus (Enter/Leave) 

  • Change 18104: Helper class to store and restore settings of the UltraDockManager Areas/Panes to a custom ProDataset 

  • Change 18100: parse-enum.i (Character to Enum conversion) 
  • Change 18081: Assertion class for Consultingwerk.EventArgs and System.EventArgs 

  • Change 18079: Ability to exclude procedural OERA from prosi... procedures. The support for the procedural OERA is now optional in the service interface. To disable the support, please set the ExcludeProceduralOERA in Consultingwerk/products.i. When set, Business Entity Names without a . (dot) will be considered object-oriented as well. It's no longer required to deploy beSupport.p, daSupport.p and service.p when using this option. Note, the use of the procedural business entities is still supported. However we've received requests from customers just using the OO versions of the business entities that this is considered unnecessary legacy code... As the OO OERA backend has more functionality (e.g. FindOnServer, backwards batching) we do not intend to implement an "ExcludeObjectOrientedOERA" switch for customers that are not (yet) using OO business entities. 

  • Change 18077: LoginScreen: CenterParent 

  • Change 18076: SmartToolbarController et al. Performance improvements by using !BeginUpdate/!EndUpdate 

  • Change 18047: New class ImageHelper: Loads an Image from a File without locking the file. Supports Propath lookup using FILE-INFO Handle 

  • Change 18027: BusinessEntityDesigner: Corrected Field Order in FieldViewerControl 

  • Change 18019: new-array.i Include file 
  • Change 18000: Toolbox with OpenEdge binding source component 

  • Change 17980: LONGCHAR Support in ListHelper class 

  • Change 17880: The class AeroGlass not contains the external functions for the DWM interface - the .p files IsGlassSupported.p and SetGlassMargins.p are no longer required 

  • Change 17873: Lookup reference passed to constructor of the SmartBusinessEntityLookupDialog class is now optional. 

  • Change 17869: Batch/Bulk Business Entity Generator 
  • Change 17782: ImageListHelper with support for BLOB to Image conversion, New DataTypeHelper class that support converting MEMPTY to System.Byte[] 

  • Change 17744: SmartBindingSource:CustomControlTypes: Allows simplyfied customization of the SmartBindingSource in case a customer wants to create instances of derived control types. The dictionary should contain the type names of the derived contorls. Controls will need to extend the following Infragistics types: 


    • INTEGER, DECIMAL: Infragistics.Win.UltraWinEditors.UltraNumericEditor  LOGICAL: Infragistics.Win.UltraWinEditors.UltraCheckEditor  DATE, DATETIME: Infragistics.Win.UltraWinEditors.UltraDateTimeEditor  CHARACTER (OTHERWISE): Infragistics.Win.UltraWinEditors.UltraTextEditor 

  • Change 17736: Fields will only be disabled depending on the SaveMode only ControlEnabledEnum:UpdateOnly for SetControlEnabled 

  • Change 17676: Generate :U for data-source field mapping phrase in Business Entity Generator 
  • Change 17675: DatasetCallbackEnum and DatasetBufferCallbackEnum now implemented as a STATIC read-only CHARACTER instead of a EnumMember.i - the SET-CALLBACK does not automatically invoke ToString() on the EnumMembers so that we'd always have to use :ToString() which would not be nice. 

  • Change 17661: When adding tables, the FieldSerializeName will now also be influecend by the FieldNameGenerator service 

  • Change 17640: Enumerations for ProDataset and ProDataset buffer call-backs (type-safe use of the SET-CALLBACK or SET-CALLBACK-PROCEDURE method of the Dataset 

  • Change 17634: Business Entity Designer: When selecting a table item (field or index) reposition the table data adapter to that table and also re-fetch fields and indexes. This makes sure that after deleting fields or indexes the user can select the next field or index. 
  • Change 17633: Business Entity Designer: Force re-open Query in Field- and Index DataAdapter after a table has been selected. This should avoid subsequent errors when those queries cannot be repositioned by rowid to a field or index selected by the user. 

  • Change 17632: Business Entity Designer now keeps size of the Temp-Table shape when fields or indexes are deleted (previously the default size was restored). 
  • Change 17628: Fixed restoring of Browser Column Settings: Columns that were hidden from in the Design (ExcludeFromColumnChooser) or not in the stored column list will not get shown when that are stored like that in the user profile 

  • Change 17614: Fixed LookupDialog so that now it respects the order of fields in the Lookup Browser as specified at Design Time. 

  • Change 17612: Consultingwerk/foreach.i Include to simulate C# foreach statement on IEnumerable classes (collection, arrays, lists)... 
  • Change 17610: Support for multiple selection Grids in Consultingwerk.Util.BufferHelper:UniqueFindPredicate with on optional UltraGridCellCollection parameter, builds a QueryString predicate that can be used to (re)fetch a record based on equality of primary unique columns Uses the buffer handle to determine the Unique Index fields, uses an UltraGrid's cell collection (i.e. of an UltraGridRow) to access the field/cell values. 

  • Change 17598: Consultingwerk.Util.ListHelper:RemoveEntry 

  • Change 17596: Fix writing the Classpath file from the Manage Classpath Utility 
  • Change 17594: DataAccess:FindRecord: The Indexed-reposition phrase may cause trouble when concatenating the query strings, it will be added by the QueryString class 

  • Change 17593: TabNavigation = Infragistics.Win.UltraWinMaskedEdit.MaskedEditTabNavigation:NextControl as the default for decimal fields generated by the Add Fields wizard. 

  • Change 17591: DataAccess: Avoid errors on DELETE OBJECT in FindRowWhere 

  • Change 17590: ServiceInterface / InvokeMethod: Check for valid dataset handle before attempting to delete this 

  • Change 17583: Changed the DataSourceUpdateMode to OnPropertyChanged for the Binding objects used in the SmartViewerControl derived controls. 

  • Change 17582: Ensure reasonable tab-order of fields rendered in SmartDynamicViewer control 

  • Change 17552: Consultingwerk Assemblies strong named, see Bug 1738, Release Note 18 for details 
  • Change 17547: Bug 2640: Direct cursor navigation (Left, Right, Up, Down) in SmartUpdatableBrowser 

  • Change 17543: Visual Designer Properties for SmartUpdatableBrowser class, Bug 2638: Property SmartTableIOState of SmartDataBrowser should not appear in the PropertyGrid 

  • Change 17540: Assertion methods for VALID-HANDLE and Widget Handle Type assertion 
  • Change 17535: Support for Extent fields in Busienss Entity Designer 
  • Change 17529: Business Entity Designer: Set FieldSource also for fields that were added as part of a Refresh Table operation, use field name generator service for building the field names. 

  • Change 17528: Use of MessageFormHelper for all Message and Questrion Dialogs in SmartUpdatableBrowser 

  • Change 17527: OERA DataAccess: New Property AssignSkipList: Gets and sets the skip-list of the SAVE-ROW-CHANGES method used as the skip-list of the SAVE-ROW-CHANGES method used in CommitChanges method, skip-list: An optional character expression that evaluates to a comma-separated list of field names for fields that should not be assigned after a new row is created (that is, fields to skip). For example, a key field or other fields assigned a value by a CREATE database trigger. 

  • Change 17523: Use Factory NewFetchDataRequest method in RetrieveData (one missing case fixed). 

  • Change 17518: Business Entity Designer: Allow reopening of PrintPreview even when Dialog has been disposed. 

  • Change 17517: Business Entity Designer: Validate Business Entity Fields before generating code 
  • Change 17515: Allow Deletion of Data-Relations in Business Entity Designer 
  • Change 17514: Fixed System.ArgumentException: Key already exists, key: 0x000000000001b902 when adding a second parent relation to a temp-table in the Business Entity Designer 

  • Change 17511: General purpose exception class for methodes that are not supported: Consultingwerk.Exceptions.NotSupportedException 

  • Change 17509: Maintenance of XML Properties for Temp-Tables in Business Entity Designer 
  • Change 17508: Business Entity Designer: Use MessageFormHelper for question if current design should be updated with new Temp-Table Defaults. 

  • Change 17507: Deselect all tables when adding new fields or indexes to avoid errors like: Cannot reposition query to recid/rowid(s) given. (7331) 
  • Change 17506: Fixed sort issues when Sort from ColumnClick in SmartDataBrowser 

  • Change 17505: Query-Logging in DataAccess class. Use the following code to activate this. Consultingwerk.OERA.DataAccess:LogFetchDataDetails = TRUE . Consultingwerk.Util.LogManager:CustomLogEntries = "DataAccess":U . 

  • Change 17471: This file proSIretrieve1.p is no longer used in the SmartComponent Library. The ServiceAdapter now handles the array parameters required for proSIretrieve.p. This file is left part of the SmartComponent Library just in case it's still used by customers. However it is recommended that customers change their code to access the ServiceAdapter from code on the client and the ServiceInterface or proSIretrieve.p for code run on the server. 

  • Change 17470: Removed reference to MessageFormImages from compilation on Unix/Linux 

  • Change 17469: Separated .NET Form references from Unix/Linux compilation 
  • Change 17466: Split ImageFormResources into Consultingwerk.Util.Forms.MessageFormResources (for the labels) and Consultingwerk.Windows.Util.Forms.MessageFormImages for the images. 

  • Change 17462: DialogResultEnum, a platform neutral Enumeration for DialogResults (no .NET) 

  • Change 17458: Changes required due to moving the MessageFormResources class into Consultingwerk.Windows.... 

  • Change 17454: Rename/move file(s) Consultingwerk.Util.Controls.* -> Consultingwerk.Windows.Util.Controls.* 

  • Change 17453: Rename/move file(s) Consultingwerk.Util.Forms.* -> Consultingwerk.Windows.Util.Forms.* 

  • Change 17450: Rename/move file(s) Consultingwerk.Framework.Session.LoginForm -> Consultingwerk.Windows.Session.LoginForm 

  • Change 17449: Rename/move file(s) Consultingwerk.Framework.API.* -> Consultingwerk.Windows.API.* 

  • Change 17448: Fixed reference to Consultingwerk/products.i, SessionManager compilable on Unix as well. 

  • Change 17447: FROM ASSEMBLY only on Windows 
  • Change 17440: UI to maintain the .classpath file 
  • Change 17439: Updated to 10.2B03/10.2B04 assemblies