public function run() { if (version_compare($this->from_version, '7.0', '>=')) { // right now there's no need to run this on 7 return; } if (!file_exists('modules/UpgradeWizard/SidecarUpdate/SidecarMetaDataUpgrader.php')) { return; } // TODO: fix uw_utils references in SidecarMetaDataUpgrader $smdUpgrader = new SidecarMetaDataUpgrader2($this); $smdUpgrader->upgrade(); // Log failures if any $failures = $smdUpgrader->getFailures(); if (!empty($failures)) { $this->log('Sidecar Upgrade: ' . count($failures) . ' metadata files failed to upgrade through the silent upgrader:'); $this->log(print_r($failures, true)); } else { $this->log('Sidecar Upgrade: Mobile/portal metadata upgrade ran with no failures:'); $this->log($smdUpgrader->getCountOfFilesForUpgrade() . ' files were upgraded.'); } $this->fileToDelete(SidecarMetaDataUpgrader::getFilesForRemoval()); }
// Bug 57216 - Upgrade wizard dying on metadata upgrader because needed files were // already called but news needed to replace them. This moves the metadata upgrader // later in the process - rgonzalez logThis('Checking for mobile/portal metadata upgrade...'); // 6.6 metadata enhancements for portal and wireless, should only be // handled for upgrades FROM pre-6.6 to a version POST 6.6 and MUST be // handled AFTER inclusion of the upgrade package files if (!didThisStepRunBefore('commit', 'upgradePortalMobileMetadata')) { if (version_compare($sugar_version, '6.6.0', '<')) { if (file_exists('modules/UpgradeWizard/SidecarUpdate/SidecarMetaDataUpgrader.php')) { set_upgrade_progress('commit', 'in_progress', 'upgradePortalMobileMetadata', 'in_progress'); logThis('Sidecar Upgrade: Preparing to upgrade metadata to 6.6.0 compatibility through the silent upgrader ...'); require_once 'modules/UpgradeWizard/SidecarUpdate/SidecarMetaDataUpgrader.php'; // Get the sidecar metadata upgrader logThis('Sidecar Upgrade: Instantiating the mobile/portal metadata upgrader ...'); $smdUpgrader = new SidecarMetaDataUpgrader(); // Run the upgrader logThis('Sidecar Upgrade: Beginning the mobile/portal metadata upgrade ...'); $smdUpgrader->upgrade(); logThis('Sidecar Upgrade: Mobile/portal metadata upgrade complete'); // Log failures if any $failures = $smdUpgrader->getFailures(); if (!empty($failures)) { logThis('Sidecar Upgrade: ' . count($failures) . ' metadata files failed to upgrade through the silent upgrader:'); logThis(print_r($failures, true)); } else { logThis('Sidecar Upgrade: Mobile/portal metadata upgrade ran with no failures:'); logThis($smdUpgrader->getCountOfFilesForUpgrade() . ' files were upgraded.'); } // Reset the progress set_upgrade_progress('commit', 'in_progress', 'upgradePortalMobileMetadata', 'done');
public function upgradeOneModule() { parent::upgrade(); }
/** * Update wireless metadata for packages that were created prior to 6.6 but * are being installed or deployed in 6.6+ */ public function update_wireless_metadata() { // If there was a copy to path then we can work it if (isset($this->installdefs['copy'])) { // Add in Sidecar upgrader after old style metadata changes are brought over $sidecarUpgrader = new SidecarMetaDataUpgrader(); // Let the upgrader know that this is from installation $sidecarUpgrader->fromInstallation = true; // Turn off writing to log $sidecarUpgrader->toggleWriteToLog(); // Get our files in the $cp['to'] path to upgrade foreach ($this->installdefs['copy'] as $cp) { // Set the files array $files = array(); // Grab the package name $package = basename($cp['to']); // Set the dir to get the files from $modulesDir = $cp['to'] . '/modules/'; // If we have the modules directory if (is_dir($modulesDir)) { // Get the modules from inside the path $dirs = glob($modulesDir . '*', GLOB_ONLYDIR); if (!empty($dirs)) { foreach ($dirs as $dirpath) { // Get the module to list it in case it needs to be upgraded $module = basename($dirpath); // Get the metadata directory $metadatadir = "{$dirpath}/metadata/"; // We only want to do this if there is a metadata dir // and there isn't already a clients dir if (is_dir($metadatadir) && !is_dir("{$dirpath}/clients")) { // Get our upgrade files $files = array_merge($files, $sidecarUpgrader->getUpgradeableFilesInPath($metadatadir, $module, 'wireless', 'base', $package, false)); } } } } // Upgrade them foreach ($files as $file) { // Get the appropriate upgrade class name for this view type $class = $sidecarUpgrader->getUpgraderClass($file['viewtype']); if ($class) { if (!class_exists($class, false)) { $classfile = $class . '.php'; require_once "modules/UpgradeWizard/SidecarUpdate/{$classfile}"; } $upgrader = new $class($sidecarUpgrader, $file); // Let the upgrader do its thing $upgrader->upgrade(); } } } } }
/** * Sets a message into the upgrade log * * @param $message */ protected function logUpgradeStatus($message) { $this->upgrader->logUpgradeStatus($message); }