Интересный вопрос. Механизм обнавления на-лету. Без доступа администратора к файловой системе и субд. Ни разу не встречал такого механизма. Кроме обнавления, данна система может позиционироватся как система управления модулями и плагинами и живым скачиваванием и установкой с офф сайта. Пишу комерчискую цмс и рассматриваю разработку подобной систмы. Я представляю её так. 1) Запрос на один из корневых серверов, используя разнообразные методы - socket, fopen, curl и утилиты ос, например wget и т. д. В запросе мы передаём название продукта, версию и т. д. Использавание своего "языка" запросов например Код (Text): update-1 ;версия языка запросов get last ;Команда на запрос последней версии 2) Обработка ответа от сервера, например Код (Text): update-1 comment "Обнавление" ;Коментарий pack "http://site/update/packs/product/version.arch" ;Ссылка на обнавление 3) Скачиваем обнавление 4) Распаковываем или не распаковываем, берем все прямо из архива 5) Выполняем код из архива, например "version.arch/update.php" 5.1) Манипуляции с БД 5.2) Копируем файлы из архива Например копируем все из "version.arch/update/" в корень нашего сайта 5.3.) Делаем что-то еще ... )) 6) Выводим сообщение что все прошло успешно, или сообщение об ошибке. Делал ли кто-то из вас что-то подобное и как вы видите реализацию подобного механизма ?
xELos, я делал в два шага: скачиваем файл с md5 файлов, сверяемся, докачиваем нужное, сверяемся, до/перекачиваем, сверяемся, кидаем пользователя на файл update.php (грубо говоря), заставляем его жать кнопку (ибо кошерно). Реализация "живого" апдейта есть у движка e2 Ильи Бирмана. Но там весь движок впихнут в один файл поэтому ему проще. Koc, ну, если есть шаблонизатор, например, с ББ-подобными переменными и изменилось имя той или иной переменной, то обновить шаблоны не сложно даже если силой проставлять права на запись и позже возвращать. Тут важно не упереться в safe mode. Но вообще шаблоны люди меняют сами. В этом нет ничего дурного. Они так и так бы их меняли, если обновление коснулось шаблонов. В "живом" обновление главное то, что пользователю не приходится возиться с шайтан-файлами с расширением php.
нужно просто хостить сайты где-то у себя. Ну не отпускать далеко пользователей своего продукта. И в случае необходимости (внимание! только если это действительно требуется, а не просто потому что вышла новая версия) самостоятельно обновить ему ее. И пропадают все возможные проблемы с наглым копированием вашего продукта.
Можно апдейты продавать. Обычно так и делают. Обновления "на лету" - ну только если ошибки свои исправить "шоб заказчик не узнал". А больше зачем еще дарить заказчику обновления?
Fduch можно все что угодно делать, и делать обновления и продавать и на шару отдавать, кто как хочет так и дрочит.