Group: StrataFrame Developers
Posts: 6.6K,
Visits: 6.9K
|
This is the first installment of the 1.6.6 beta update. You will notice that the version will display as 1.6.5.1 when looking in the StrataFrame->Version window. This will make it easier for us to determine if you are running a beta version or a fully released version. There are quite a few changes in this build and there will be many more to come before the release. However, there have bee some requests out there that are in this build which include the business object field orders to the specifications of the ConnectionDataFolder (ability to specify the folder location for the Appkeys.dat and the Connections.dat files). There are also many new enhancements to the DDT which includes pre and post script executions, field struction default prefixes (makes it easier when creating new columns), and more. Here is a list of what is in this update: - AddPreSaveBusinessObject and RemovePreSaveBusinessObject methods added to BusinessLayer
In the instance that the need arises where the order of the business objects save needs to be set, the AddPreSaveBusinessObject method can be used. This allows business objects to be dependent upon other business objects and rely on the primary/foreign key relationhships that are established. ListView now supports UI data interaction including related business objects, child form dialog, and related command or toolstrip buttons.
The ListView has been dramatically expanded to have native logic for tasks that are common recoded. There are now many new properties (detailed below) and events that allow a more dynamic child display interaction with much less code. By simply setting the UI interaction properties of the ListView, the ListView will dynamically manage the toolstrip buttons (or any other type of control) for the Add, Edit, and Delete as well as any security keys that may also be associated with those objects. Additionally, a ChildFormDialog can be attached to the ListView which will then by dynamically shown to the end-user on an Add or Edit dynamically with no additional code. Finally, the ListView will now allow the instance of the business object of which it represents to be attached and the current index (or row position) of the business object to be dynamically updated. New Properties: AddObject AddObjectSecurityKey EditObject EditObjectSecurityKey DeleteObject DeleteObjectSecurityKey DeleteMessageKey AutoNavigateToSelectedRecord HandleAddAction HandleDeleteAction HandleEditAction New Events: ChildFormResults Wizard control default colors modified when using a Windows based color theme on Vista
Some of the colors pulled from the OS when using a Windows based theme looked a little dark when running on a Vista OS. This issue has been corrected. BusinessLayer now has an UndoByFilter method
In the circumstance that you are dealing with a grandchild many-to-many environment and you need to undo the changes for the grandchild without effecting the other records that have been modified on that same grandchild business object, you can use the UndoByFilter method. This allows a business object to undo only those records that meet the criteria of the filter. If a filter is already applied on the business object it will be ignored and left intact once the Undo operation has been completed. BrokenRule constructors made public
The BrokenRule constructors have been made public instead of internal (friend) allowing a new broken rule to be created through an external assembly. Embedded localization languages file not always located.
A change has been made within the framework regarding how the Message_Languages.xml file is located in an embedded environment. This file was previously not always located unless stored externally. RenderAsSolidBackground property added to a WizardPage
A wizard page now supports the RenderAsSolidBackground property like the other themed container controls. New SyntaxEditor control now replaces the ColorizedTextbox
A new control has been created that allows a legitimate syntax editing environment exist. This control replaces the ColorizedTextbox which was never really designed for editing but viewing and had many limitations as it relates to text size and performance. The SyntaxEditor is designed to allow for much larger text environments while maintaining the keyword colorizations dynamically. (Note: There will be a number of additional features added to this control prior to the 1.6.6 release). New SyntaxEditorLineNumbers control which shows line numbers for a SyntaxEditor control.
This control can be used in conjunction with the SyntaxEditor control and displays the line numbers currently visible within the SyntaxEditor. Database Deployment Toolkit SQL editors revamped to use the new SyntaxEditor controls
When dealing with the SQL code for a stored procedure, view, or user-defined function, it was difficult to actually use the text area as an editor, especially on larger queries and commands. The DDT has been updated to use the new SyntaxEditor controls so that it is much easier to work with this data within the editors. DDT code windows now remember their previous sizes and positions
The code windows within the DDT (stored procedures, views, and user-defined functions) now remember their positions and sizes from the previous entry. CustomPattern added to the Regex options for a Keyword within the SyntaxEditor
The SyntaxEditor already had 3 pattern types that included MatchBetween, MatchTextToEOL, and MatchExact that came across from the ColorizedTextbox control. However, a new option has been added called CustomPattern which allows literally any Regex expression to be supplied allowing the syntax coloring to support any complicated or intricate colorizations. AccessDataSourceItem would not automatically return the primary key value
When inserting a new record and the PrimarykeyIsAutoIncrementing property was set to True on the BO, the saved primary key value would not be returned for an AccessDataSourceItem. This issue has now been resolved. GetTypeFromReferencedAssemblies method changed to ignore loader exceptions
Under certain conditions when the referenced assemblies were being reflected, an assembly reference that was not needed in one environment may be hit, though it is not used, and throw an exception since that assembly could not be found in the GAC or on the machine. This change will prevent that error. Database Deployment Toolkit now supports category for stored procedures
When dealing with a large database and many stored procedures, it can become difficult to locate a single sproc in the list. A category can now be assigned to a sproc so that like sprocs can be grouped together making it easier to locate a specific sproc. BrowseDialog now has a ReturnSelectedRecordOnly property
When the ReturnSelectedRecordOnly property is set to True, the selected record within the browse results will be the only record copied into the BusinessObjectToPopulate when returned from the BrowseDialog. BuildDataTableFromEnum improperly created a top most value for the value type
When using a combo box or manually calling teh BuildDataTableFromEnum method in the MicroFour.StrataFrame.Tools.Common shared class and a top most value was supplied, the value type that was set as the top most value was, at times, coming in as a string or invalid type. This would result in an ArgumentException (though it may be snuffed) which in turn could result in a very slow UI response to any other other that is bound to the same data source. To resolve this issue, the TopMostValue is attempted to be parsed as an integer. If so, it is then added to the value as an enum type of that value, even if the enum in question doesn't actually have that value. This results in much faster performance and resolves the ArgumentExceptions. Database Deployment Toolkit now has a default prefix option for each table
A default prefix can now be supplied for each table which will auto-populate any new field created with this value making it easier to create new structures. For example, if a prefix of "pre_" were supplied then a new field, when created, would automatically appear as "pre_" with the caret position after the "_" ready for the rest of the field name to be supplied. Pre and Post deployment scripts now available within the Database Deployment Toolkit
A new feature has been added to the Database Deployment Toolkit which allows scripts to be created and executed before and after a profile is deployed to a server. This allows any strange or out of the ordinary deployment actions to be taken. For example, if the need existed to convert DateTime fields to a BigInt on a pre-existing database, and still maintain the data within the fields, a Pre-Deployment script could be created to convert the DateTime fields to BigInt (ticks would be stored) fields prior to the database updating the structures which would circumvent data loss and/or an error. ConnectionManager now allows the data folder that stores the connection files to be specified
A new property has been added to the ConnectionManager class called ConnectionDataFolder. By setting the ConnectionDataFolder prior to calling the SetConnections() method, the folder location to which the AppKeys.dat and Connections.dat will be stored can be specified. This allows environments with extremely tight security restrictions to supply the folder when the common application data folder has been restricted from general use. New Solution Preference added to determine if field names will appear in alphabetical or natural order.
With the release of 1.6.5 a change was made to the display of bindable business object fields to appear in alphabetical order. However, there were some developers who preferred to view their field names in a natural order. A new preference was added to the Solution Preferences so that this can be specified on a per solution basis and developers of both preference types can view the fields in their desired order.
Note: For those developers who have a license, you can get the source code for this build in the My Account are of the website.
|