Про 2.4+ пока не слышал, что ошибку исправили.
Да и при обновлении мне несложно файлы обновить, всё равно ведь в ядро лезть надо :)
Единственно, что я сейчас исключил — это правку базы руками. Я просто в установочном пакете сразу данные про это поле прописываю в modx.mysql.schema.xml — и при установке всё уже есть.
<?php $pkgName = 'modImporter'; $pkgNameLower = strtolower($pkgName); if ($object->xpdo) { $modx =& $object->xpdo; $modelPath = $modx->getOption("{$pkgNameLower}.core_path",null,$modx->getOption('core_path')."components/{$pkgNameLower}/").'model/'; switch ($options[xPDOTransport::PACKAGE_ACTION]) { case xPDOTransport::ACTION_INSTALL: case xPDOTransport::ACTION_UPGRADE: if ($modx instanceof modX) { $modx->addExtensionPackage($pkgNameLower, "[[++core_path]]components/{$pkgNameLower}/model/", array( // 'serviceName' => $pkgName, // 'serviceClass' => $pkgName, )); $modx->addPackage($pkgNameLower, MODX_CORE_PATH . "components/{$pkgNameLower}/model/", array( // 'serviceName' => $pkgName, // 'serviceClass' => $pkgName, )); $manager = $modx->getManager(); $manager->addField('modResource', 'externalKey'); $manager->addIndex('modResource', 'externalKey'); $modx->log(xPDO::LOG_LEVEL_INFO, 'Adding ext package'); } break; case xPDOTransport::ACTION_UNINSTALL: if ($modx instanceof modX) { $modx->removeExtensionPackage($pkgNameLower); } break; } } return true;