Hi. I thought this was working, but now it has turned against me. I'm losing the changes I make to a dictionary. I have created a stand-alone script to demonstrate the problem: ------------------------------------------------------------ ## Script (Python) "test3" ##bind container=container ##bind context=context ##bind namespace= ##bind script=script ##bind subpath=traverse_subpath ##parameters= ##title= ## testdict = {} try: print 'AA1' dict_len = len(container.testdict) print 'AA2' except: print 'Creating new testdict' try: print 'BB1' textdict = {} print 'BB2' container.manage_addProperty(id='testdict', value=testdict, \ type='dictionary', REQUEST=None) print 'BB3' dict_len = len(container.testdict) print 'BB4' except: raise print 'len=', dict_len print 'testdict=', container.testdict container.testdict[dict_len] = dict_len dict_len = len(container.testdict) container.testdict[dict_len] = dict_len dict_len = len(container.testdict) print 'len=', dict_len print 'testdict=', container.testdict return printed ------------------------------------------------------------ When I run the script, sometimes it updates the dictionary properly ( adding two objects to the dictionary), but more often, it appears to have added to the dictionary, but the changes are lost the next time I run the script. So, just now it added to the dictionary once, increasing the starting length from 0 to 2, but every time I run it since then the starting length is always 2, so I get the same output, as follows: ------------------------------------------------------------ AA1 AA2 len= 2 testdict= {1: 1, 0: 0} len= 4 testdict= {3: 3, 2: 2, 1: 1, 0: 0} ------------------------------------------------------------ -- Glen Ecklund The Geo Group 6 Odana Court Madison, WI 53719 USA glen@TheGeoGroup.com +1 608 230 1000