Hello jwhite,
I gave up. sorta.
The reality is that I had only 12 shadow instances. And after reviewing the process I decided I'd save myself some time by simply UNinstalling the old shadow module, INstalling the new shadow module, then recreating each instance normally.
The problem I had was this:
- the .uninstall file in the old shadow module version will delete all references to shadow modules, including foreignkey references et al.
- but it appears that the 0.1.05.DataProvider file in the new shadow module ALSO executes each old stored procedure upon 'install'.
So, both procedures will effectively delete my shadow instances. (making it hard to 'preserve' them long enough to transfer the moduledefID)
And, while this might not pose a problem for a guru like yourself, it became rather complicated in a hurry. And in the end...for the small number of shadows I had in my portal, it was faster (for me) to avoid this trouble altogether.
Perhaps next time I'll have more success and be able to contribute more.
On a related topic:
I wonder, as the PA installer gets better, it might be a very nice addition to control the PA installer a little during the installation process. Perhaps there would be a way to build 'conditional' installation procedures so that YOU (module developer) could execute different install scripts depending depending on MY (end user) input. For example, during the install procedure, it might be handy to have an option to "Delete old records? Yes|No". Or perhaps YOU (module developer) might choose different procedures depending on whether or not a previous 'Shadow' version is in the ModuleDefinitions table. i.e. you could execute either a 'fresh install' script of the webstone.shadow OR an 'upgrade' script. But these enhancements are perhaps a long ways away and may be rendered moot depending on not-to-distant-future DNN versions.
It seems that some 'logic' and conditional behaviour in the PA installer might be a real necessity in the future as more modules are available and the need to peform 'installs', 'uninstalls', and 'upgrades', and perhaps 'imports/conversions'.
In any case, thanks for your input and again, I think your shadow module is one of the most useful modules available. It's certainly worthy of all the praise you receive.
I'm going back to my portal now. Cheers.