[Edserplo_users] Update: Re-engineering settings in Edserplo

Steve Loch sgl at bodc.ac.uk
Fri Mar 9 12:03:10 GMT 2007


For the last few weeks I've been rewriting some of the code which is central to Edserplo. Over 20 classes have been changed (there are 150 odd in Edserplo)

The problems relate to settings and settings files. You might think that settings should be a detail in the Edserplo scheme of things but hundreds of lines of code have been tied up with maintaining two lots of settings in lock step: the settings that you edited and used and the ones that would be saved in a file (through the 'o' command). Inevitably at some point there would a divergence between these two and bugs would result. E.g. B# 518, 420, 481, 398.   That said, settings are inherently complicated because of the way they have to be set up automatically if they don't pre-exist and overridden when appropriate with values from settings files when they do. Also some settings for Channels vary with Port. Other bugs, not recorded in Bugzilla, have also been fixed. For example you could modify the settings and they wouldn't be recorded in the dump file because the change would not be registered and in consequence a new dump file would not be created.

This duality has now been stripped out, a new class to take care of the commonality of Series Page and Port Page has been introduced and settings files are produced on demand (from what you see in front of you). SeriesPage and PortPage classes are now unencumbered by settings information, are much shorter and a lot easier to understand. We also discovered that some of the event processing software had 45 times - in the case of dataring - the number of event processing objects than were necessary!

This is a prelude to switching dump files and settings files to NetCDF -  which I propose to do in about a week's time, after I have done some more testing and added in the code for dump file locking.
 
NetCDF means that the legibility of files is no longer compromised by changes to Edserplo's code. Without this change we are not in a position  to retire Edteva. The change to NetCDF  should happen in a seamless fashion . Old settings files which are writable will be automatically converted to NetCDF. However old dump files become inaccessible from TODAY's update.


Other bugs that are fixed at this update include: B#517 (a correction to time-based cast segmentation). Rashid has also improved the behaviour of the cycle window.

Steve





More information about the Edserplo_users mailing list