Модуль Patchdoq представляет из себя API, который позволяет применять и отслеживать патчи из интерфейса Drupal. Разработчики могут использовать в своих проектах hook_patch()
.
Пример:
<?php
/**
* Implementation of hook_patch().
*/
function mymodule_patch() {
$path = drupal_get_path('module', 'mymodule');
return array(
//
// Drupal core patches.
//
'simpletest drupal.js' => array(
'name' => t('Simpletest module fix'),
'description' => t('My hacks to simpletest module.'),
'file' => $path .'/drupal/drupal.js.patch',
'patch arguments' => '-u -p1',
),
//
// 3rd party contributed modules patches.
//
'cck content' => array(
'name' => t('CCK content module fix'),
'description' => t('My hacks to CCK content module.'),
'file' => realpath($path .'/modules/cck.patch'),
'patch arguments' => '-u -p0 -d "'. drupal_get_path('module', 'content') .'"',
),
);
}
?>
При создании сайта, иногда возникают ситуации, которые требуют применения патчей. Применение патча, означает изменение стандартного кода Drupal. Применение большого количества патчей может вызвать затруднения при обновлении системы, вам потребуется снова найти все патчи и применить их заново.
В основном, применение патча — это не трудная задача, когда дополнительный модуль требует его применения для своей работы. Вам достаточно выполнить команду patch < patch-name.patch
из корневой папки системы. Проблемы возникнут тогда, когда вам потребуется обновить систему с выходом обновления (6.11 → 6.12) или новой версии (6.x → 7.x):
Для решения этих задач и разработан модуль Patchdoq. Модуль добавляет на сайт страницу, на которой показываются все доступные и применённые патчи.
chmod -R o+w path/to/drupal/root
chmod -R o-w path/to/drupal/root
Комментарии
работа модуля зависит от ОСи: окна или UNIX