[DGD] Upgrading clones with changed internal representation

Noah Gibbs noah_gibbs at yahoo.com
Tue Jun 26 01:12:26 CEST 2007


  The usual solution to this problem is to add fields before removing any.  You
add the new fields, use the upgrade function to put information into them, then
run a second object upgrade to delete the old fields.

  DGD currently has functionality to allow piecewise upgrade -- not everything
has to be done at one time.  So you can upgrade older instances, and the
multiple steps give you a path.

  At least, that's my understanding.  The Skotos folks have put this stuff into
practice, while I have not.  I've only done all-at-once upgrades, which *do*
work like that.

--- Carter Cheng <carter_cheng at yahoo.com> wrote:

> I am not sure I currently understand DGD well enough
> to comment on this but I am interested in getting this
> feature since without it it would be difficult to have
> full persistence. 
> 
> Wouldn't the problem be here (sorry if this sounds a
> bit newbie) that the data inside the object would
> already be potentially lost right after the
> compile_program call is made to the master copy
> forcing you to upgrade all the clones at once? 
> 
> Thanks in advance,
> 
> 
> --- Shentino <shentino at gmail.com> wrote:
> 
> > What I suggest is using call_touch on the clones so
> > that you can
> > upgrade them the instant they're played with.  Sorta
> > like java's
> > "JIT", only with upgrading.  The point is that the
> > clone would be
> > upgraded "just in time".  A background of 0-second
> > callouts to mop up
> > the clone mob in the meantime would keep things neat
> > in any case.
> > 
> > At any rate, you'll need to make sure that any clone
> > can be upgraded
> > on the spot the moment it's been played with after
> > an upgrade.  To do
> > that, you'll either need to catch old clones as they
> > are found (or
> > used), or put the mud on hold while you upgrade
> > everything.
> > 
> > A good solution would probably be something like
> > Skotos's "patch" thingy.
> > ___________________________________________
> > https://mail.dworkin.nl/mailman/listinfo/dgd
> > 
> 
> ___________________________________________
> https://mail.dworkin.nl/mailman/listinfo/dgd
> 





       
____________________________________________________________________________________
Need a vacation? Get great deals
to amazing places on Yahoo! Travel.
http://travel.yahoo.com/



More information about the DGD mailing list