Скопировал ДАМП, в phpmyadmin есть таблицы, но log все равно пишет, что их нет.
создать несколько TV-параметров, перенести img-css-js вот и весь сайт. По большому счету да, тем более если все на Смарти-шаблонах и процессорах, а не на чанках и сниппетах. Посоветуй, где почитать про импорт? Я вообще вот так обычно делаю: modxclub.ru/blog/99.html То есть если у вас все будет на Смарти и процессорах, то перенос особо не должен проблем вызвать:
У меня творится чертовщина, я установил MODX через скрипт installmodx.php. Те же яйца, только в профиль. Вот логи: [2013-08-24 22:06:35] (ERROR) Error 42S02 executing statement: Array ( [0] => 42S02 [1] => 1146 [2] => Table 'ural-masters.modx_context_setting' doesn't exist ) [2013-08-24 22:06:35] (ERROR) Error 42S02 executing statement: Array ( [0] => 42S02 [1] => 1146 [2] => Table 'ural-masters.modx_access_policies' doesn't exist ) [2013-08-24 22:06:35] (ERROR) Error 42S02 executing statement: Array ( [0] => 42S02 [1] => 1146 [2] => Table 'ural-masters.modx_context_setting' doesn't exist ) [2013-08-24 22:06:35] (ERROR) Error 42S02 executing statement: Array ( [0] => 42S02 [1] => 1146 [2] => Table 'ural-masters.modx_access_policies' doesn't exist )
На самом деле перенести несколько smarty-шаблонов, создать несколько TV-параметров, перенести img-css-js вот и весь сайт. Проблема только в импорте-экспорте документов. Правильно? Посоветуй, где почитать про импорт?
Скорее всего появится в течение пары недель. Обратной совместимости не будет. То есть это не пакет, который устанавливается методом обновления. Он устанавливается только на голый сайт (или имеющееся затрет вообще). Обратная совместимость есть только у выпускаемых публичных пакетов (shopModx, modxSmarty, phpTemplats) и т.п. То есть их всегда можно устанавливать поверх с большой долей вероятности. А сборка — это типовой сайт. Я объясню почему такой подход — универсальные и обратносовместимые пакеты — это довольно трудоемкая задача (особенно чтобы обеспечить совместную работу с другими пакетами). Многие хорошие наработки не идут в массы только из-за сложности собрать качественный пакет (это не только меня касается. Знаю много других примеров). А по опыту могу сказать, что в большинстве случаев собранный индивидуальный сайт практически всегда индивидуально и развивается, без особых наблюдений за новыми релизами пакетов и т.п. (не редко встречаются сайты на старых движках). Поэтому сборка — это такой баланс «дешево и сердито». Один раз поставил, настроил — и забыл. Все равно ведь скачивая пакеты для MODX-а, вы все равно их настраиваете и т.п. Так что есть называть вещи своими именами, то народ больше интересует базовый функционал, а не обратная совместимость, то есть что уже имеется на борту, чтобы в дальнейшем и обновляться не надо было. В общем, сейчас со сборкой подход простой — скачали, попробовали, годится для текущего проекта? — значит используем. Не годится и нет желания докручивать? — не начинайте даже, не стоит рассчитывать на то, что выйдет новая сборка и можно будет обновиться, дополнив функционал.
А когда ожидается новая версия? И будет ли она как-то совместима с текущей версией?
Суть идеи такова: сохранить ресурс в виде html странички в кеш memcache средставами MODX (плагином), посредством nginx прочитать ресурс из кеша, так сказать минуя MODX… Плюсы — nginx отдает страничку практически мгновенно, сервер не тратит ресурсы… нам нужно два события — OnSiteRefresh и OnBeforeSaveWebPageCache. По первому событию чистить кеш, по второму сохранить ресурс в кеш. скелет плагина: switch ($modx->event->name) { case 'OnSiteRefresh': //чистим кеш break; case 'OnBeforeSaveWebPageCache': if ($modx->resource->get('cacheable') && $modx->resource->get('published') && $modx->resource->_output != '') {
$memcache = new Memcache;
$memcache->connect('localhost', 11211);
$expire = 50;//время хранения 50с
$uri = $modx->resource->get('uri');
$context = $modx->context->get('key');
$key = "$context/$uri";
$output = &$modx->resource->_output;
$time = time();
$cacheArray = array('output'=>$output, 'time'=>$time);
$tmp_object = $output;
$memcache->set($key, $tmp_object, false, $expire);
$memcache->close();
break;
}
} запись в кеш $memcache = new Memcache; $memcache->connect('localhost', 11211);//подключаемся к memcache $expire = 50;//время хранения 5с кеша $tmp = "<h1>привет</h1>"; $memcache->set('key', $tmp, false, $expire);//записываем по ключу значение в кеш $memcache->close();//закрываем подключение получить значение (страничку) из кеша пока на время проб, просто снипетом $memcache = new Memcache; $memcache->connect('localhost', 11211) or die ("Не могу подключиться"); $get_result = $memcache->get('key'); echo "Данные из кеша:".$get_result." \n"; $memcache->close(); ключ формировать по следующему шаблону: site_name:context:uri время хранения кеша пока не знаю, возможно алгоритм какой нибудь придумать, пока можно выставить ручками p.s. хотел донести до вас основную мысль, интересно выслушать ваше мнение… я не программист и возможно это вообще бредовая идея… Жду ваши коментарии…
А не пробовал устанавливать через консоль по ssh? Я уже говорил, что в новой версии Vapor-а есть файл import.php Загружаешь любой пакет (или снимок — это ведь тоже пакет) и выполняешь в консоли: php vapor/import.php package=core/packages/packagename-transport.zip Само собой имя пакета — твоего. И все. В большинстве случаев успешная установка (таймвеб — точно исключение, потому что за 100% загрузку процессора в течение 5-ти секунд — смерть процессу). Во всяком случае nginx здесь уже точно не отобьет (элементарно потому что его нет), да и для консольного php часто более демократичные настройки идут. Плюс к этому нет проблем с сессиями. Пакет shopmodx как я понял содержит только процессоры (без корзины). Да, shopModx — это только объекты да процессоры (в общих чертах). Но shopModx — это более крупное решение. Там и другие компоненты установлены, и шаблоны элементарные написаны, и управление заказами, и политики безопасности настроены. В общем, более легкого варианта этой сборки не будет. как там реализуется подключение модуля оплаты? В следующей сборке будет оплата Робокасса. У меня есть свой модуль, прикручу.