3dcheapskate opened this issue on Apr 23, 2020 ยท 38 posts
3dcheapskate posted Mon, 04 May 2020 at 6:54 AM
FVerbaas posted at 6:32PM Mon, 04 May 2020 - #4387763
Why not write your persistent data in a subfolder of the relevant runtime folder? It is accessible to all users.
That's interesting, and puzzling. Looking at my original locateDataFile() function (which I posted here) that was an alternative location right from the start.
I think that I originally wrote the script when Poser 6 was my main version, and for some reason decided that poser.AppLocation() was the best place for the datafile. But since DAZ Studio 3 couldn't get at that location I decided that any runtime mapped by both Poser 6 and DAZ Studio 3 would be okay for users (like me) who used both. (I actually mapped the Poser 6 default runtime from DAZ Studio, and later versions of Poser when I got them). I have no idea why I didn't simply scrap the poser.AppLocation() option when I realized that!
So using a subfolder of the relevant runtime folder has always been okay when the datafile was read only. But the runtime would now have to be writable, not just by the version of Poser to which it belongs (assuming it's the default runtime for that version, located under/alongside the application), but by any other version of Poser and/or DAZ Studio which maps the runtime.
Sothe key question I guess would be something like "can DAZ Studio 4 write to the PP2014 default runtime?"
And I guess the answer will be "No".
(I have a vague, and possibly incorrect, memory that Poser 6 scripts had to be in the main runtime under/alongside the application, and recall that since my scripts had to be there it made sense to keep the datafile with them. My later Posers and my DAZ Studios all had the default eFrontier Poser 6 runtime mapped since that was where I had all the DAZ Generation 4 figures installed - remember that old EXP problem ?
The 3Dcheapskate* occasionally posts sensible stuff. Usually by accident. And it usually uses Poser 11, with units set to inches. Except when it's using Poser 6 or PP2014, or when its units are set to PNU or something else.
*soon only to be available in two flavours - DAZ and Renderosity