Fixed #14679: Deprecating page and branch versioning, these versioning types are...
authorBenni Mack <benni.mack@typo3.org>
Fri, 11 Jun 2010 22:10:24 +0000 (22:10 +0000)
committerBenni Mack <benni.mack@typo3.org>
Fri, 11 Jun 2010 22:10:24 +0000 (22:10 +0000)
git-svn-id: https://svn.typo3.org/TYPO3v4/Core/trunk@7885 709f56b5-9817-0410-a4d7-c38de5d9e867

ChangeLog
NEWS.txt
t3lib/class.t3lib_userauthgroup.php
t3lib/config_default.php
typo3/sysext/version/cm1/index.php
typo3/template.php

index cda5407..666b5ec 100755 (executable)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,6 @@
 2010-06-11  Benjamin Mack  <benni@typo3.org>
 
+       * Fixed #14679: Deprecating page and branch versioning, these versioning types are now disabled by default, see NEWS.txt for 4.4 for more info
        * Fixed bug #171: added documentatino for calculate and display filepermissions in filelist (Thanks to Jigal van Hemert)
        * Added feature #14546: Make sprite icons / PNGs work in Internet Explorer 6 through PNGfix that works with background images (Thanks to Steffen Ritter)
        * Added feature #14546: Hook in typo3/template.php to add additional header data (Thanks to Steffen Ritter)
index d0864d1..00d0657 100644 (file)
--- a/NEWS.txt
+++ b/NEWS.txt
@@ -8,6 +8,8 @@ General
 
        * TYPO3 requires PHP 5.2 now
 
+       * Versioning: "Page" and "Branch" versioning has been disabled for all installations, because it is deprecated since TYPO3 4.2. If you still use one of these versioning types, make sure to set $TYPO3_CONF_VARS['BE']['elementVersioningOnly'] = FALSE in your localconf.php. Please be aware that this option will vanish with TYPO3 4.6 and that "Page" and "Branch" versioning is neither supported nor maintained any longer.
+
        * There is now a complete new Backend skin for all backend modules, the login screen and the install tool. It is still called "t3skin", however due to the use of icon sprites and the refactoring of the CSS files, it is not possible anymore to run the TYPO3 backend with the old backend skin (from 3.x), the t3skin look and feel from the previous 4.x versions can be obtained by the TER, but is not actively maintained anymore.
 
        * The static templates for some basic designs that were part of the TYPO3 Core since TYPO3 3.5 are now moved to a system extension that is not included by default. If you are using one of these templates (GLUECK, GREEN, CANDIDATE etc) or one of the old table-based layouts for rendering content (like content (default) or plaintext rendering), make sure to install the system extension via the TYPO3 Installer.
@@ -80,6 +82,9 @@ Compatibility
 
        * Support for GDlib 1.x was completely dropped, only GDlib 2.x is supported, which is bundled with most PHP installations.
 
+       * Versioning: "Page" and "Branch" versioning has been disabled for all installations, because it is deprecated since TYPO3 4.2. If you still use one of these versioning types, make sure to set $TYPO3_CONF_VARS['BE']['elementVersioningOnly'] = FALSE in your localconf.php. Please be aware that this option will vanish with TYPO3 4.6 and that "Page" and "Branch" versioning is neither supported nor maintained any longer.
+
+
 Development
 ===========
 
index 0e18e63..83ddfeb 100644 (file)
@@ -930,9 +930,14 @@ class t3lib_userAuthGroup extends t3lib_userAuth {
        }
 
        /**
-        * Workspace Versioning type access?
+        * Workspace Versioning type access. Check wether the requsted type of versioning (element/page/branch) is allowd in current workspace
+        *   (element/pages/branches type of versioning can/could be set on custom workspaces on filed "vtype")
         *
+        * @todo workspacecleanup: this seems mostly obsolete and should be removed
         * @param       integer         Versioning type to evaluation: -1, 0, >1
+        *                                              0 = page (deprecated)
+        *                                              -1 = element
+        *                                              >1 = branch (deprecated), indicating the "nesting" level
         * @return      boolean         TRUE if OK
         */
        function workspaceVersioningTypeAccess($type)   {
@@ -969,6 +974,7 @@ class t3lib_userAuthGroup extends t3lib_userAuth {
        /**
         * Finding "closest" versioning type, used for creation of new records.
         *
+        * @see workspaceVersioningTypeAccess() for hints on $type
         * @param       integer         Versioning type to evaluation: -1, 0, >1
         * @return      integer         Returning versioning type
         */
index 7eac2d7..fc4b93a 100644 (file)
@@ -227,7 +227,7 @@ $TYPO3_CONF_VARS = array(
 //                     'group' => '',                                          // default in tce_main is 'show,edit,new,editcontent'. If this is set (uncomment), this value is used instead.
 //                     'everybody' => ''                                       // default in tce_main is ''. If this is set (uncomment), this value is used instead.
                ),
-               'newPagesVersioningType' => -1,                 // Integer. Default versioning type for new pages create as versions. -1 means "element", 0 means "page", 1 means "branch"
+               'newPagesVersioningType' => -1,                 // Integer. Default versioning type for new pages create as versions. -1 means "element", 0 means "page", 1 means "branch". If using enything else than -1 ("element") here you also have to set "elementVersioningOnly=FALSE" . Please note that "page" and "branch" types are deprecated since TYPO3 4.2 and will be unsupported in TYPO3 4.6. Thus, this option will be removed in TYPO3 4.6.
                'defaultUC' => array (                                  // Override default settings for BE-users. See class.t3lib_beuserauth.php, array $uc_default
                ),
                        // The control of fileextensions goes in two catagories. Webspace and Ftpspace. Webspace is folders accessible from a webbrowser (below TYPO3_DOCUMENT_ROOT) and ftpspace is everything else.
@@ -256,7 +256,7 @@ $TYPO3_CONF_VARS = array(
                'compactFlexFormXML' => 0,                              // If set, the flexform XML will not contain indentation spaces making XML more compact
                'flexformForceCDATA' => 0,                              // Boolean:  If set, will add CDATA to Flexform XML. Some versions of libxml have a bug that causes HTML entities to be stripped from any XML content and this setting will avoid the bug by adding CDATA.
                'explicitConfirmationOfTranslation' => FALSE,   // If set, then the diff-data of localized records is not saved automatically when updated but requires that a translator clicks the special finish_translation/save/close button that becomes available.
-               'elementVersioningOnly' => FALSE,               // If true, only element versioning is allowed in the backend. This is recommended for new installations of TYPO3 4.2+ since "page" and "branch" versioning types are known for the drawbacks of loosing ids and "element" type versions supports moving now.
+               'elementVersioningOnly' => TRUE,                // If true, only element versioning is allowed in the backend (see option newPagesVersioningType). Setting this flag is recommended for new installations of TYPO3 4.2+ since "page" and "branch" versioning types are known for the drawbacks of loosing ids and "element" type versions supports moving now. Please note that "page" and "branch" types are deprecated since TYPO3 4.2 and will be unsupported in TYPO3 4.6. Thus, this option will be removed in TYPO3 4.6.
                'versionNumberInFilename' => FALSE,     // Boolean. If true, included CSS and JS files will have the timestamp embedded in the filename, ie. filename.1269312081.js. This will make browsers and proxies reload the files if they change (thus avoiding caching issues). IMPORTANT: this feature requires this .htaccess rule to work: RewriteCond %{REQUEST_FILENAME} !-f - RewriteCond %{REQUEST_FILENAME} !-d - RewriteRule ^(.+)\.(\d+)\.(php|js|css|png|jpg|gif|gzip)$ $1.$3 [L]. If false the filemtime will be appended as a query-string.
                'spriteIconGenerator_handler' => '',    // String: Used to register own/other spriteGenerating Handler, they have to implement the interface t3lib_spritemanager_SpriteIconGenerator
                'allowDonateWindow' => TRUE,                    // Boolean. Defines whether to display a TYPO3 donate window to admin users that have been working with the system for more than three months.
index 826261f..2163332 100755 (executable)
@@ -523,7 +523,7 @@ class tx_version_cm1 extends t3lib_SCbase {
 
                        <form action="'.$this->doc->backPath.'tce_db.php" method="post">
                        ' . $GLOBALS['LANG']->getLL('tblHeader_t3ver_label') . ': <input type="text" name="cmd[' . $this->table . '][' . $this->uid . '][version][label]" /><br />
-                       '.($this->table == 'pages' ? '<select name="cmd['.$this->table.']['.$this->uid.'][version][treeLevels]">
+                       '.(($this->table == 'pages' && $GLOBALS['TYPO3_CONF_VARS']['BE']['elementVersioningOnly'] == FALSE)? '<select name="cmd['.$this->table.']['.$this->uid.'][version][treeLevels]">
                                '.($GLOBALS['BE_USER']->workspaceVersioningTypeAccess(0) ? '<option value="0">' . $GLOBALS['LANG']->getLL('cmdPid0') . '</option>' : '').'
                                '.($GLOBALS['BE_USER']->workspaceVersioningTypeAccess(1) ? '<option value="100">' . $GLOBALS['LANG']->getLL('cmdPid100') . '</option>' : '').'
                                '.($GLOBALS['BE_USER']->workspaceVersioningTypeAccess(-1) ? '<option value="-1">' . $GLOBALS['LANG']->getLL('cmdPid1') . '</option>' : '').'
index 92b37aa..d7ea6f4 100644 (file)
@@ -1934,7 +1934,7 @@ $str.=$this->docBodyTagBegin().
                                                                        </table>
                                                                ';
                                                        }
-                                               } else {
+                                               } elseif ($GLOBALS['TYPO3_CONF_VARS']['BE']['elementVersioningOnly'] == FALSE && $GLOBALS['TYPO3_CONF_VARS']['BE']['newPagesVersioningType'] == 0) { // only add this info if old/deprecated newPagesVersioning is allowed
                                                        return '
 
                                                                <!--