[development] Choosing the N number for .install's hook_update_N

Derek Wright drupal at dwwright.net
Thu Aug 7 17:27:37 UTC 2008


On Aug 7, 2008, at 9:57 AM, Morbus Iff wrote:

> I want the latest version of the *module*, not the latest version  
> of Drupal core and then the module.

That's the point of embedding the core version in the version strings  
of contrib in the first place.  What you want is fallacy.  You can't  
possibly not care what version of core you're using, since Drupal is  
inherently non-compatible across versions of core.  In Drupal  
contrib, the world revolves around core.  I just chose to embed that  
indisputable fact into the version strings themselves.

Re views: There's no 5.x-2.*, nor a 6.x-1.*.  So "Views 2" is  
synonymous with "D6 views".  It's irrelevant.  Panels would be a  
better example, since at least there's a 5.x-1.* and a 5.x-2.*  
(though no 6.x-* yet).

OG is a good counter-example.  Moshe is at 5.x-7.3 now, and (thank  
god) he chose to call the first 6.x compatible version 6.x-1.0.   
Otherwise, at his current rate, he would have been at 7.x-21.0 in 2  
years.

Part of the difference is how Earl vs. Moshe chose to make use of  
major versions in their own development workflows.  Roughly speaking,  
every coherent set of new features and bug fixes resulted in a new  
official release of views (5.x-1.5 -> 5.x-1.6), and resulted in a new  
branch/major version for OG (5.x-6.* -> 5.x-7.0).  Given those  
development styles, it makes perfect sense that Earl puts a lot more  
weight into his major versions, and wanted to preserve them, while  
Moshe does/did not.

The main point is this: no matter what we do, the version strings  
alone will confuse people.  No matter what convention anyone follows,  
some people will think "ahh, just as I expected" and others will  
think "WTF?  Where did xxxxxx go?"  Hence the need for clearly stated  
intentions in your release notes and on your project pages.

Plus, the tools can't and shouldn't enforce a certain development/ 
release process on all developers (I'm sure you're all saying "amen"  
at that).  I'm trying to document what I think are reasonable  
practices and try to make sure that the tools don't get in the way of  
people doing sane things, but ultimately, it's totally fine with me  
that Earl and Moshe are using the tools in completely different ways.

I don't think telling Earl: "No, you *MUST* call it views 6.x-1.0" is  
any more helpful than telling Moshe: "No, you *MUST* call it OG  
6.x-8.0".

Can we please forget about trying to force one model on both of them?

Thanks,
-Derek (dww)





More information about the development mailing list