[Grok-dev] Re: How I Will Have Broken Grok
Brandon Craig Rhodes
brandon at rhodesmill.org
Thu Sep 20 16:59:37 EDT 2007
Martijn Faassen <faassen at startifact.com> writes:
> This is my attempt at writing an 'executive summary' of your post. As
> far as I understand:
> * You changed something in zope.traversing.
> * Grok relies on this.
These two steps are all that have happened. I have made *no* change
to Grok yet, pending clarity on how to resolve this.
In your email you brought up important issues that deserve discussion,
but in this response I want to highlight one, single, big issue that I
am not sure your discussion included. Here, I'll indent it to make it
All existing Grok projects, including those being created at this
moment with "grokproject" all over the world, fail to pin Zope egg
version numbers. Therefore, if we *ever* release "zope.traversing"
as it exists in "trunk" today, then *all* old Grok projects will
cease to function when their owners next run "./buildout".
Is this statement true?
If the above statement is true, then I must, necessarily, go back to
"zope.traversing" and make the "_getContextName()" method work again
before we release it. Then, to prepare for its disappearance in the
future, I will have to go through the Zope procedure for deprecating a
feature: putting a message into the function that warns about the
deprecation, and then waiting a year before moving the code.
To help me escape having to put the kludge back in "zope.traversing",
one of two things can happen:
- Someone can explain to me why the indented statement, above, is
incorrect, by explaining how I misunderstand buildout. Maybe the
version pins would get copied into old projects when they are next
built out in a way I don't see?
- Someone can decide that Grok is still too early-versioned for
people to expect old projects to keep working if you rerun
buildout on them.
And I think those are the only options. Let me know!
Brandon Craig Rhodes brandon at rhodesmill.org http://rhodesmill.org/brandon
More information about the Grok-dev