Как избежать проверки обновлений для определенного модуля?

В текущем проекте мне пришлось исправить жизнь из нескольких модулей (иерархия узлов, доступ к рабочему столу и еще несколько). Эти модули теперь абсолютно идеальны для потребностей проекта и вряд ли будут ломаться с будущими обновлениями ядра.

При этом, когда приложение будет передано, клиенты будут иметь полный (пользовательский) доступ к системе и поэтому будут предупреждены, когда у этих модулей будут доступные обновления. И они будут обновлять их, независимо от того, сколько раз я прошу их не делать (о, как легко жизнь будет без клиентов!).

Есть ли способ (возможно, в файлах .info), чтобы убедить диспетчер обновлений не проверять наличие обновлений для этих модулей?

ИЗМЕНИТЬ

Я знаю код status url, который доступен для файла .info, поэтому я предполагаю, что могу установить это на несуществующий URL-адрес, скорее всего, сделайте это чистым способом, если это возможно.

35 голосов | спросил Clive 21 MaramWed, 21 Mar 2012 02:59:49 +04002012-03-21T02:59:49+04:0002 2012, 02:59:49

6 ответов


31

Вам необходимо реализовать < код> hook_update_projects_alter () .

  

Измените список проектов перед извлечением данных и сравнением версий.

     

Большинство модулей никогда не понадобится реализовать этот крючок. Это для расширенного взаимодействия с модулем статуса обновления: простые смертные не должны применяться. Основным вариантом использования этого крючка является добавление проектов в список, например, для предоставления данных статуса обновления для отключенных модулей и тем. Вложенный модуль может захотеть скрыть проекты из списка, например, если есть модуль, специфичный для сайта, который не имеет официальных релизов, этот модуль может удалить себя из этого списка, чтобы избежать предупреждений «Нет доступных выпусков» отчет о доступных обновлениях. В редких случаях модуль может захотеть изменить   данные, связанные с проектом, уже включенным в список.

ответил Chapabu 21 MaramWed, 21 Mar 2012 03:50:21 +04002012-03-21T03:50:21+04:0003 2012, 03:50:21
18

Ключ project из файла .info добавляется скриптом упаковки на drupal.org для определения того, из какого проекта находится модуль. Основное использование - это модуль статуса обновления для мониторинга версий установленных пакетов и уведомления администраторов о доступности новых версий.

Вы просто удаляете или комментируете эту строку в файле .info , а Drupal останавливает проверку обновлений этого модуля.

ответил smartinm 21 +04002012-10-21T02:06:50+04:00312012bEurope/MoscowSun, 21 Oct 2012 02:06:50 +0400 2012, 02:06:50
14

Просто предоставив образец кода, чтобы помочь выбранному ответу:

функция MYMODULE_update_projects_alter (& $ projects) {
    переменные не установлены ($ проекты [ 'slug_of_the_module_you_want_to_disable']);
    //$ DSM (проекты); //просмотр списка проектов
}

Введите имя модуля в переменной $ projects [], чтобы отключить. Если вы не знаете, что такое slug (будет строчным и подчеркнуто), используйте этот вызов dsm () или print_r (), чтобы распечатать список модулей .

ответил emc 6 J0000006Europe/Moscow 2013, 22:56:15
12

Вы можете сделать это двумя способами.

  • drush pm-updatecode --lock = module_to_ignore
  • Используйте модуль update_advanced . Он позволяет отмечать модули которые вы хотите игнорировать на странице администрирования модуля.
  

В частности, настройки каждого проекта для игнорирования определенных проектов или   даже конкретные выпуски, отсутствует в основной версии модуля.   Модуль «Обновление расширенных настроек статуса» восстанавливает эти параметры,   и в конечном итоге может обеспечить дополнительную функциональность для ядра   Модуль «Обновить статус».

ответил 4life 21 J0000006Europe/Moscow 2013, 12:23:31
2

Я получаю ту же проблему с обновлениями модулей, я установил модуль Disable Updates хорошо работает.

  

Это небольшой административный модуль, который позволяет администраторам сайта отключать проверку обновлений для определенных тем и модулей, раскрывая функциональность hook_update_projects_alter () в форме настроек обновления (/admin /reports /updates /settings). Он позволяет произвольно выбирать темы и модули, а также автоматически обнаруживать пользовательские модули, исправленные модули и модули функций сайта.

 введите описание изображения здесь>> </a> </p></div>
										<div class=ответил Krishna Mohan 23 FriEurope/Moscow2016-12-23T11:53:44+03:00Europe/Moscow12bEurope/MoscowFri, 23 Dec 2016 11:53:44 +0300 2016, 11:53:44

0

В принципе, вы сделали вилку, не так ли? Поэтому вы должны:

  1. Переименуйте его, чтобы включить метку fork
  2. В информационном файле установите status url в ваш репозиторий этого модуля.

И последнее, но не менее важное: если оно не поддерживается, но не устарело в пользу любого другого модуля, попросите его стать соавтором и поделиться своими исправлениями с сообществом.

ответил Mołot 21 J0000006Europe/Moscow 2013, 12:24:11

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132