r3 - 01 Mar 2005 - 09:59:51 - JohnAndersonYou are here: OSAF >  Journal Web  >  ContributorNotes > JohnAndersonNotes > JohnAnderson20050228
  • 3 minutes of Robin's time yielded a fix to minicalendar bug #2364 that I narrowed down ages ago but that Jed didn't have time to fix.
  • Out of the box collections now can't be deleted, nor can their names be changed
  • As a side effect of the last change, the selection for tables was simplified and out of the box collections can now be distinguished from other collections. The table delegate can now control whether or not something is read only.
  • Fixed bug #2496: Clicking on an empty collection causes an exception
  • Narrowed down bug #2546: pressing shift should start editing a field in the table and checked in a workaround.
  • I spent most of my time narrowing down bugs related to ItemCollections, which turned out to be bugs in Query, the repository, and some unit tests. The vast majority of the bugs were caused by various snags resulting from the use of Python-only attributes on Items. As a result of what I learned I think we should never use Python-only attributes unless absolutely necessary. I also think we should not support onItemLoad and onItemCopy because setting attributes on Items in these routines is too buggy and the bugs are too difficult to fix -- mostly because of various chicken and egg initialization problems in the repository. A much better paradym for python only attributes -- if you absolutely need them -- is to implement a property for the python only attribute that does a "try" when accessing it, and if it fails, sets it's value and returns it. This avoids the need to use the repository which is error prone. Python only attributes have a host of other problem which probably should be documented.
Edit | WYSIWYG | Attach | Printable | Raw View | Backlinks: Web, All Webs | History: r3 < r2 < r1 | More topic actions
 
Open Source Applications Foundation
Except where otherwise noted, this site and its content are licensed by OSAF under an Creative Commons License, Attribution Only 3.0.
See list of page contributors for attributions.