Foen
August 12th, 2008, 07:21
This isn't specifically a Combat Tracker post, but it does apply to shared combat tracker development.
I have been working on a shared player facility (shared Notes pages, in fact) using databasenode.addHolder, and have come across a feature of that functionality which has an impact on how I test this stuff going forward.
The addHolder(name,ownerflag) method is supposed to allow you to assign a holder to a node, so the holder can read and receive events on the node, but if the ownerflag is set to false they won't be able to edit it.
It seems, however, that editing is still enabled (and the holder receives 'ownership' status) even if the flag is false, if they are the most recent client holder of the node.
So, the host always has edit access, clients usually don't, but the most recent client holder does.
While not particularly surprising on reflection (it is good to know a node wouldn't be orphaned), it means that any development testing on shared data nodes needs at least two client sessions plus the host to simulate the live environment.
This is essential development information, not least because it is difficult to run the host and two independent client sessions on the same machine: the client sessions share one cached view of the campaign, which causes data conflicts and is also a poor simulation of the live environment.
I have now reverted to host+one test client on one machine, and a second test client on a second machine. Of course, this means you need two licences to do such development work, and two connected PCs.
Just thought some of you might find it useful to know this.
Stuart
I have been working on a shared player facility (shared Notes pages, in fact) using databasenode.addHolder, and have come across a feature of that functionality which has an impact on how I test this stuff going forward.
The addHolder(name,ownerflag) method is supposed to allow you to assign a holder to a node, so the holder can read and receive events on the node, but if the ownerflag is set to false they won't be able to edit it.
It seems, however, that editing is still enabled (and the holder receives 'ownership' status) even if the flag is false, if they are the most recent client holder of the node.
So, the host always has edit access, clients usually don't, but the most recent client holder does.
While not particularly surprising on reflection (it is good to know a node wouldn't be orphaned), it means that any development testing on shared data nodes needs at least two client sessions plus the host to simulate the live environment.
This is essential development information, not least because it is difficult to run the host and two independent client sessions on the same machine: the client sessions share one cached view of the campaign, which causes data conflicts and is also a poor simulation of the live environment.
I have now reverted to host+one test client on one machine, and a second test client on a second machine. Of course, this means you need two licences to do such development work, and two connected PCs.
Just thought some of you might find it useful to know this.
Stuart