From: Richard B. <rb...@us...> - 2004-11-10 11:05:40
|
Update of /cvsroot/jcframework/dotnet In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16269 Added Files: readme.html Removed Files: README.txt Log Message: update readme for RC2 --- NEW FILE: readme.html --- <html> <head> <title>Release Notes</title> <style> body { margin: 0px; } tr, p, div { font-family : Verdana, Arial, Helvetica, sans-serif; font-size : 11px; color : #333333; } .thHead { text-align: center; font-family: sans-serif; font-size: 20px; font-weight: bold; color : #ff6600; } .tableCaption { font-family : Verdana, Arial, Helvetica, sans-serif; font-size : 13px; color : #333333; background-color : white; } .tableHeader { font-family : Verdana, Arial, Helvetica, sans-serif; font-size : 13px; color : #333333; background-color : #DDDDDD; } .col1{ font-family : Verdana, Arial, Helvetica, sans-serif; font-size : 11px; color : #333333; background-color : #F0F0FF; } </style> </head> <body> <script language="javascript" type="text/javascript"> function _CFAQ() { this.lastOpened = ''; return this; } _CFAQ.prototype.IsDisplaySupported = function() { if( window.opera && !document.childNodes ) return false; if( document.getElementById || document.all ) return true; return false; } _CFAQ.prototype.getQueryVar = function(varName) { var q = window.location.search.substring(1); var v = q.split('&'); for( var i=0; i < v.length; i++ ) { var p = v[i].split('='); if( p[0] == varName ) return p[1]; } return null; } _CFAQ.prototype.getObj = function(obj) { return ( document.getElementById ? document.getElementById(obj) : ( document.all ? document.all[obj] : null ) ); } _CFAQ.prototype.displayObj = function(obj, status) { var x = this.getObj(obj); if( x && x.style ) x.style.display = status; } _CFAQ.prototype.display = function(faq_id, isLink) { if( this.IsDisplaySupported() ) { if( !isLink ) { if( this.lastOpened != '' ) { this.displayObj(this.lastOpened, 'none'); } if( this.lastOpened != faq_id ) { this.displayObj(faq_id, ''); this.lastOpened = faq_id; } else { this.lastOpened = ''; } } return false; } return true; } var CFAQ = new _CFAQ(); if( !CFAQ.IsDisplaySupported() ) { var u_faq = window.location.href; u_faq += ( u_faq.indexOf('?') > 0 ? '&' : '?' ) + 'dhtml=no'; window.location.replace(u_faq); } </script> <table class="forumline" width="100%" cellspacing="1" cellpadding="3" border="0" align="center"> <tr> <th class="thHead">Atoms Framework Release Notes</th> </tr> </table> <br clear="all" /> <!-- BEGIN faq_block --> <table class="forumline" width="100%" cellspacing="1" cellpadding="2" border="0" align="center"> <tr> <td class="catHead" height="28" align="center"><span class="cattitle">Atoms Framework 2.0 Release Candidate 2<br />Released: 10-Nov-2004</span></td> </tr> <tr> <td align="center"> <span>Thank you for choosing to use the AtomsFramework. We trust that you enjoy using it and that you find it useful. If you have any questions please visit the project home page and leave a message in the forums.<br/> <br/> - Richard.<br /> <br/> <a href="http://jcframework.sourceforge.net">http://jcframework.sourceforge.net</a><br/> </span> </td> </tr> <tr> <td class="groupHeader" align="left" valign="top"> <div onclick="return CFAQ.display('faq_a_installation', false);" style="width:100%;cursor:pointer;cursor:hand;"> <span class="gen"><a class="postlink" href="javascript:void(0)" onclick="return CFAQ.display('faq_a_installation', true);" onfocus="this.blur();"><b>INSTALLATION</b></a></span> </div> <div id="faq_a_installation" style="display:none;"> <table class="bodyline" width="100%" cellspacing="1" cellpadding="3" border="0" align="center"> <tr><td align="left" valign="top"><span class="postbody"> This is a source code release so installation is fairly trivial. To get this project working you must have installed the ADO.NET provider for MySQL (even if you don't use MySQL). This is included in the archive (ByteFX and SharpZipLib) or you can get the latest from <a href="http://sourceforge.net/projects/mysqlnet/">http://sourceforge.net/projects/mysqlnet/</a><br/> <br/> The archive also includes sample projects and <a href="http://www.nunit.org/">NUnit</a> tests (Nunit 2.2) to get you started.<br/> <br/> <i>VBSample</i> is written in VB.NET<br/> <i>CSSample</i> is the same project written in C#<br/> <i>DataBoundSample</i> is a VB.NET project showing data bound collections<br/> </span></td></tr> </table> </div> <tr> <td class="groupHeader" align="left" valign="top"> <div onclick="return CFAQ.display('faq_a_changesrc2', false);" style="width:100%;cursor:pointer;cursor:hand;"> <span class="gen"><a class="postlink" href="javascript:void(0)" onclick="return CFAQ.display('faq_a_notesrc2', true);" onfocus="this.blur();"><b>Changes in v2.0 RC2 (10-Nov-04)</b></a></span> </div> <div id="faq_a_changesrc2" style="display:none;"> <table class="details" width="100%" cellspacing="0" cellpadding="3" border="0" align="left"> <tr class="tableCaption"><td colspan=3>Bugs:</td></tr> <tr class="tableHeader" valign="bottom"><td valign="top" class="colHeader">Job Id</td> <td class="colHeader">Description</td> <td class="colHeader">Details</td> </tr> <tr valign="top"> <td>#1056847</td> <td class="col1">Error in getTableSchema.</td> <td>Errors in reading table schema (locked tables, etc) were not being propogated correctly<td> </tr> <tr valign="top"> <td>N/A</td> <td class="col1">Cache referencing errors</td> <td>It was possible for object retrieval to be incorrectly returned a reference to a cached object instead of a copy of the object. This could result in cache corruption.<td> </tr> <tr valign="top"> <td>N/A</td> <td class="col1">Ansi Nulls</td> <td>The logic for Ansi Null behaviour was reversed in some parts of the code.<td> </tr> <tr valign="top"> <td>N/A</td> <td class="col1">Improved handling of "non-standard" shared table mapping</td> <td>Handle shared tables that incorrectly repeat attribute mappings from the parent class<td> </tr> <tr valign="top"> <td>N/A</td> <td class="col1">Namespaces in ProcessDirectSQL</td> <td>SQL statements based on class names can be passed to ProcessDirectSQL. If the class names are prefixed with a namespace the method would fail. Namespaces are now correctly handled.<td> </tr> <tr valign="top"> <td>N/A</td> <td class="col1">SSPI Connections</td> <td>RC1 didn't actually connect to the database when using SSPI. Oops.<td> </tr> <tr valign="top"> <td>N/A</td> <td class="col1">Overrides in XML Mapping</td> <td>Child classes that remap superclass attributes were being populated with parent values instead of child values.<td> </tr> <tr class="tableCaption" valign="bottom"> <td colspan=3><br/>Modifications</td> </tr> <tr class="tableHeader" valign="bottom"><td valign="top" class="colHeader">Job Id</td> <td class="colHeader">Description</td> <td class="colHeader">Details</td> </tr> <tr valign="top"> <td>N/A</td> <td class="col1">Improved Lazy Loading</td> <td>It is now possible to lazy load associations. By marking an association as retrieveAutomatic="lazy" the association will be populated with proxy objects instead of full objects. For attribute based mappings use LazyLoad:=True in the <AFAssociation()> attribute.<td> </tr> <tr valign="top"> <td>N/A</td> <td class="col1">DumpCacheDetails</td> <td>Improved output from DumpCacheDetails to help with debugging<td> </tr> </table> </div> <tr> <td class="{faq_block.faq_row.ROW_CLASS}" align="left" valign="top"> <div onclick="return CFAQ.display('faq_a_notesrc1', false);" style="width:100%;cursor:pointer;cursor:hand;"> <span class="gen"><a class="postlink" href="javascript:void(0)" onclick="return CFAQ.display('faq_a_notesrc1', true);" onfocus="this.blur();"><b>Changes in v2.0 RC1 (29-Oct-2004)</b></span></a> </div> <div id="faq_a_notesrc1" style="display:none;"> <table class="bodyline" width="100%" cellspacing="0" cellpadding="3" border="0" align="left"> <tr class="tableCaption"><td colspan=3>Bugs:</td></tr> <tr class="tableHeader" valign="bottom"><td valign="top" class="colHeader">Job Id</td> <td class="colHeader">Description</td> <td class="colHeader">Details</td> </tr> <tr valign="top"> <td>#1035044</td> <td class="col1">Fixes for MultipleInheritence</td> <td>Improved behaviour<td> </tr> <tr> <td>#1035044</td> <td class="col1">Loading classes from Multiple Assemblies</td> <td>Late binding of objects was not working is some situations<td> </tr> <tr> <td>#1035273</td> <td class="col1">Can't change key field values</td> <td>When a key field of an object was changed, the object could not be saved.<td> </tr> <tr> <td>#1038623</td> <td class="col1">Incomplete Parameters</td> <td>Where clauses for single object SQL statements now use parameters instead of string literals. This can improve SQL server performance in some cases.<td> </tr> <tr> <td>#1038521</td> <td class="col1">Error in CCursor.LoadProxy</td> <td>Multiple problems in the LoadProxy method were fixed<td> </tr> <tr> <td>#1046809</td> <td class="col1">Correct handling of ANSI Nulls</td> <td>Databases handle Nulls in where clauses differently depending on their ANSI Null behaviour. A new "ansinulls" parameter has been added to the XML database configuration to control this behaviour.<td> </tr> <tr> <td>#1046405</td> <td class="col1">Wrong alias used in join</td> <td>MultiRetrieveCriteria joins were always joining against the left most table.<td> </tr> <tr> <td>#1055503</td> <td class="col1">Incomplete SQL when using summary with group by</td> <td>Grouped fields were not included in the result. Fixed by Exelrud.<td> </tr> <tr> <td>N/A</td> <td class="col1">Saving objects in shared tables</td> <td>Various issues with shared tables existed and are now fixed.<td> </tr> <tr> <td>N/A</td> <td class="col1">Problems with code based attribute mappings using OID/Guid</td> <td>Classes mapped using <AFxxx()> custom attributes had problems when using OID or GUID values for primary keys<td> </tr> <tr> <td>N/A</td> <td class="col1">String.Empty and columns marked as NOT NULL</td> <td>NOT NULL String columns could not be saved if the value was String.Empty<td> </tr> <tr> <td>N/A</td> <td class="col1">Duplicate objects when retrieving multiple collections</td> <td>Objects with more than one one-to-many association were incorrectly retrieving duplicate objects<td> </tr> <tr> <td>N/A</td> <td class="col1">Problems with Many-to-Many associations</td> <td>The pivot objects in a many-to-many association were being saved multiple times resulting in duplicate index errors.<td> </tr> <tr> <td>N/A</td> <td class="col1">Could not update value types mapped using <attribute>.<property> syntax in XML.</td> <td>Value types needed to be handled differently to objects in SetAttribute... methods.<td> </tr> <tr> <td>N/A</td> <td class="col1">Using offsets on Microsoft SQL generated invalid SQL</td> <td>Microsoft SQL (and Access) do not natively support offsets. Changes made to mimic offset behaviour for these databases.<td> </tr> <tr class="tableCaption"><td colspan=3><br/>Modifications</td></tr> <tr class="tableHeader" valign="bottom"><td valign="top" class="colHeader">Job Id</td> <td class="colHeader">Description</td> <td class="colHeader">Details</td> </tr> <tr> <td>#1035044</td> <td class="col1">Enhanced method for saving objects</td> <td>Dirty objects in an object tree can still be saved even if the root object is not dirty<td> </tr> <tr> <td>#1035044</td> <td class="col1">Deletion</td> <td>Option added to optionally delete an objects parent when an object is deleted<td> </tr> <tr> <td>#1035044</td> <td class="col1">Attributes for CPersistentObject and CPersistentCollection</td> <td>Properties in these classes have been marked as Browsable(False), NonSerialized and as advanced editor properties where appropriate<td> </tr> <tr> <td>#1013994</td> <td class="col1">Ordering criteria based on associated objects</td> <td>CMultiRetrieveCriteria can now order by properties of associated objects. (exelrud)<td> </tr> <tr> <td>1041860</td> <td class="col1">Add SSPI Support to Microsoft SQL databases</td> <td>To use SSPI set the user name to SSPI in the XML database configuration. No password is required<td> </tr> <tr> <td>N/A</td> <td class="col1">Added NOT BETWEEN selection criteria</td> <td><td> </tr> <tr> <td>N/A</td> <td class="col1">Implemented Dispose on various objects</td> <td>Improved garbage collection and resource management<td> </tr> <tr> <td>N/A</td> <td class="col1">DeleteAll()</td> <td>New method added for DeleteAll(). Thanks mfo<td> </tr> <tr> <td>N/A</td> <td class="col1">Added ability to persist objects without inheriting from CPersistentObject</td> <td>See posts in the forums for more information<td> </tr> <tr> <td>N/A</td> <td class="col1">Added ability to persist objects based on interfaces</td> <td>See posts in the forums for more information<td> </tr> </table> </div> </td> </tr> </table> <br clear="all" /> </body> </html> --- README.txt DELETED --- |