pearweb_index
[ class tree: pearweb_index ] [ index: pearweb_index ] [ all elements ]

Source for file 20031114-bbr.php

Documentation is available at 20031114-bbr.php

  1. <?php
  2. /*
  3.    +----------------------------------------------------------------------+
  4.    | PEAR Web site version 1.0                                            |
  5.    +----------------------------------------------------------------------+
  6.    | Copyright (c) 2003-2005 The PEAR Group                               |
  7.    +----------------------------------------------------------------------+
  8.    | This source file is subject to version 2.02 of the PHP license,      |
  9.    | that is bundled with this package in the file LICENSE, and is        |
  10.    | available at through the world-wide-web at                           |
  11.    | http://www.php.net/license/2_02.txt.                                 |
  12.    | If you did not receive a copy of the PHP license and are unable to   |
  13.    | obtain it through the world-wide-web, please send a note to          |
  14.    | license@php.net so we can mail you a copy immediately.               |
  15.    +----------------------------------------------------------------------+
  16.    | Authors: Martin Jansen <mj@php.net>                                  |
  17.    +----------------------------------------------------------------------+
  18.    $Id$
  19. */
  20. response_header("The PEAR Group: New guidelines for BC breaking releases");
  21. ?>
  22.  
  23. <h1>PEAR Group - Administrative Documents</h1>
  24.  
  25. <h2>&raquo; New guidelines for BC breaking releases</h2>
  26.  
  27. <p>Published: 14th November 2003</p>
  28.  
  29. <p>The goal is to make it possible to be able to run multiple major versions in
  30. one script.</p>
  31.  
  32. For this reason new major versions (BC break or when the maintainer feels it
  33. makes sense as a result of dramatic feature additions or rewrites) require a
  34. new package using the following naming convention in the following order of
  35. preference (where 'Foo' is the package name and 'X' the major version number):
  36. </p>
  37.  
  38. <ol>
  39.  <li>FooX</li>
  40.  <li>FoovX</li>
  41.  <li>Foo_vX</li>
  42. </ol>
  43.  
  44. <p>The choice should be made based on preventing current and future misleading
  45. or ambiguous names. This means good care should be taken in making the right
  46. choice for the package. Obviously the first two allow for some ambiguity (is
  47. DB2 a package for IBM's DB2 or just the major version 2 of DB? - is IPv4 a
  48. package for IPv4 or is it the 4th major release if IP?). They don't break
  49. the idea of "_" mapping to directories (the class DB_NestedSet implies that
  50. there is a nestedset.php in the DB dir). The last one prevents any ambiguity
  51. but it's the least visually pleasing and also breaks the '_' to directory
  52. mapping and is therefore the last choice.</p>
  53.  
  54. <p>We also came to the conclusion that the pear installer should not be clever
  55. about the relationship between two major releases aside from printing out
  56. notices about the fact that there is a newer major version when a user
  57. installs an earlier one. However all major versions of a package will be
  58. listed on one package home. This is especially important in order to not
  59. break tutorials that cover older major releases (tutorial xyz for major
  60. version 1 simply says 'pear install Foo' - if the system would then install
  61. 'Foo2' the user might be in for an unpleasant surprise).</p>
  62.  
  63. <p>Therefore, new major versions are for all intents and purposes new packages
  64. with the above mentioned exceptions. The names of these new packages are
  65. derived using one of the above mentioned naming conventions.</p>
  66.  
  67. <?php
  68.  
  69. echo make_link('/group/''Back');
  70.  
  71. response_footer();

Documentation generated on Mon, 11 Mar 2019 16:01:20 -0400 by phpDocumentor 1.4.4. PEAR Logo Copyright © PHP Group 2004.