Index: typo3/sysext/install/updates/class.tx_coreupdates_migrateworkspaces.php
===================================================================
--- typo3/sysext/install/updates/class.tx_coreupdates_migrateworkspaces.php (revision 10084)
+++ typo3/sysext/install/updates/class.tx_coreupdates_migrateworkspaces.php (working copy)
@@ -50,19 +50,35 @@
migrates the old-style workspaces with fixed workflow to a custom-stage workflow. If required
the extbase, fluid, version and workspaces extensions are installed.';
+ $reason = '';
// TYPO3 version 4.5 and above
if ($this->versionNumber >= 4005000) {
+
+ if(!t3lib_extMgm::isLoaded('version') || !t3lib_extMgm::isLoaded('workspaces')) {
+ $result = true;
+ $reason .= ' The extensions "version" and "workspaces" need to be
+ present to use the entire versioning and workflow featureset of TYPO3.';
+ }
+
$tables = array_keys($GLOBALS['TYPO3_DB']->admin_get_tables());
// sys_workspace table might not exists if version extension was never installed
- if (in_array('sys_workspace', $tables)) {
+ if (!in_array('sys_workspace', $tables) || !in_array('sys_workspace_stages', $tables)) {
+ $result = true;
+ $reason .= ' The database tables for the workspace functionality are missing.';
+ } else {
$wsCount = $GLOBALS['TYPO3_DB']->exec_SELECTcountRows('uid', 'sys_workspace', '');
$result = $wsCount > 0;
+ $reason .= ' The existing workspaces need to be checked for compatibility with the new features.';
}
if (!$result) {
$this->includeTCA();
$result = $this->isDraftWorkspaceUsed();
+ $reason .= ' The old style draft workspace is used.
+ Related records will be moved into a full featured workspace.';
}
+
+ $description .= 'Why do you need this wizard?
' . $reason;
}
return $result;