[pmwiki-users] Rethinking $RecipeInfo (was: Keeping recipes up to date)

Patrick R. Michaud pmichaud at pobox.com
Thu Feb 15 15:39:59 CST 2007


On Fri, Feb 16, 2007 at 08:10:05AM +1100, Kathryn Andersen wrote:
> On Thu, Feb 15, 2007 at 01:52:59PM -0600, Patrick R. Michaud wrote:
> > On Thu, Feb 15, 2007 at 08:40:39PM +0100, Dominique Faure wrote:
> > I do think it's preferable that recipes be able to use SDV() 
> > to set $RecipeInfo instead of always forcing a value.  Using 
> > SDV() allows an administrator (or possibly another recipe) to
> > easily override the recipe's understanding of its version.
> 
> I think this is a BAD idea.  Why on earth should one give misinformation
> about the version of a recipe?  

I don't think it will be at all common, but an administrator may want
an easy way to suppress the "recipe XYZ is out of date" message
without actually updating or modifying the recipe (e.g., because a 
newer version of the recipe won't actually work).

And if we have the case where some recipes are checking to see
what versions of other recipes are installed, it may be convenient
for an administrator to 'lie' about that as well.

> Surely it only adds confusion, makes
> debugging more difficult, and also defeats the purpose of $RecipeInfo,
> which is supposed to tell you the which version of the recipe is
> *installed*, not the version you'd *like* to be installed.  

The purpose of overriding $RecipeInfo in this isn't to express
preference, but to tell other components to act *as if*
a particular version of a recipe was installed (in spite of
the version that is actually installed or not installed).

Again, this situation will be very rare, but PmWiki takes a
general approach that recipes and components should respect 
any settings made by an administrator... even if they may
seem to be pathological.

Of course, "honest" admins would never set $RecipeInfo, and so
they'd never get the confusion and pain that results from doing
so.

> If you have
> to change the $RecipeInfo, that seems to me an indication that something
> is broken, and therefore it should be fixed, rather than whitewashed.

Oh, I agree.  But I also know (from long experience) that
sometimes things can't always be fixed immediately without a lot
of pain, and then we really appreciate the workaround.

But my position for now is likely to be that recipes can
set $RecipeInfo using either a straightforward assignment or SDV,
and recipeupdate.php will cope.

And I'm likely to change "RecipeUpdate" to "RecipeCheck" -- I think
it's a more descriptive name.

Thanks!

Pm



More information about the pmwiki-users mailing list