it-swarm.com.de

Wie vermeide ich, nach Updates für ein bestimmtes Modul zu suchen?

In einem aktuellen Projekt musste ich das Leben einiger Module (Knotenhierarchie, Workbench-Zugriff und einige mehr) patchen. Diese Module sind jetzt absolut perfekt für die Anforderungen des Projekts und es ist sehr unwahrscheinlich, dass sie mit zukünftigen Kernaktualisierungen brechen.

Wenn die App übergeben wird, haben die Clients jedoch vollen Zugriff (Benutzer 1) auf das System und werden daher gewarnt, wenn diese Module über verfügbare Updates verfügen. Und sie werden sie aktualisieren, egal wie oft ich sie bitte, dies nicht zu tun (oh, wie einfach das Leben ohne Kunden wäre!).

Gibt es eine Möglichkeit (möglicherweise in den .info - Dateien der Module), den Update-Manager davon zu überzeugen, nicht nach Updates für diese Module zu suchen?

EDIT

Ich kenne den Schlüssel project status url, Der für die Datei .info Verfügbar ist, also könnte ich das auf eine nicht vorhandene URL setzen, aber ich würde dies lieber auf saubere Weise tun, wenn möglich.

35
Clive

Sie müssen hook_update_projects_alter() implementieren.

Ändern Sie die Liste der Projekte, bevor Sie Daten abrufen und Versionen vergleichen.

Die meisten Module müssen diesen Hook niemals implementieren. Es ist für die erweiterte Interaktion mit dem Update-Statusmodul vorgesehen: Nur Sterbliche müssen sich nicht bewerben. Der Hauptanwendungsfall für diesen Hook besteht darin, Projekte zur Liste hinzuzufügen, um beispielsweise Aktualisierungsstatusdaten für deaktivierte Module und Themen bereitzustellen. Ein beigetragenes Modul möchte möglicherweise Projekte aus der Liste ausblenden. Wenn es beispielsweise ein ortsspezifisches Modul gibt, das keine offiziellen Releases enthält, kann sich dieses Modul aus dieser Liste entfernen, um Warnungen zu vermeiden, dass keine verfügbaren Releases gefunden wurden den verfügbaren Aktualisierungsbericht. In seltenen Fällen möchte ein Modul möglicherweise die Daten ändern, die einem bereits in der Liste enthaltenen Projekt zugeordnet sind.

32
Chapabu

Der Schlüssel project aus der Datei . Info wird vom Paketskript auf drupal.org hinzugefügt, um zu identifizieren, aus welchem ​​Projekt das Modul stammt. In erster Linie wird das Update-Statusmodul verwendet, um Versionen installierter Pakete zu überwachen und Administratoren zu benachrichtigen, wenn neue Versionen verfügbar sind.

Sie entfernen oder kommentieren diese Zeile einfach in der Datei . Info und Drupal hören auf, nach Updates für dieses Modul zu suchen.

19
smartinm

Nur ein Codebeispiel bereitstellen, um die gewählte Antwort zu erleichtern:

function MYMODULE_update_projects_alter(&$projects){
    unset($projects['slug_of_the_module_you_want_to_disable']);
    //dsm($projects);  // view a list of projects
}

Geben Sie den Modulnamen in die zu deaktivierende Variable $projects[] Ein. Wenn Sie sich nicht sicher sind, was der Slug ist (wird in Kleinbuchstaben und unterstrichen), verwenden Sie diesen Aufruf von dsm() oder print_r(), um eine Liste der Module auszudrucken.

14
emc

Sie können dies auf zwei Arten tun.

  • drush pm-updatecode --lock = module_to_ignore
  • Verwenden Sie das Modul pdate_advanced . Sie können Module, die Sie ignorieren möchten, auf der Modulverwaltungsseite markieren.

Insbesondere fehlen in der Kernversion des Moduls die projektbezogenen Einstellungen zum Ignorieren bestimmter Projekte oder sogar bestimmter Releases. Das Modul "Erweiterte Einstellungen für Aktualisierungsstatus" stellt diese Einstellungen wieder her und bietet möglicherweise zusätzliche Funktionen für das Kernmodul "Status aktualisieren".

12
4life

Ich habe das gleiche Problem mit den Modul-Updates. Ich habe das Modul pdates deaktivieren installiert. Es scheint gut zu funktionieren.

Dies ist ein kleines Verwaltungsmodul, mit dem Site-Administratoren die Suche nach Updates für bestimmte Themen und Module deaktivieren können, indem sie die Funktionalität von hook_update_projects_alter () im Formular für die Update-Einstellungen (/ admin/reports/updates/settings) verfügbar machen. Es ermöglicht die willkürliche Auswahl von Themen und Modulen sowie die automatische Erkennung von benutzerdefinierten Modulen, gepatchten Modulen und ortsspezifischen Funktionsmodulen.

(enter image description here

2
Krishna Mohan

Im Grunde hast du eine Gabel gemacht, oder? Deshalb solltest du:

  1. Benennen Sie es um, um Ihre Gabelmarke einzuschließen
  2. Setzen Sie in der Info-Datei project status url in Ihr Repository dieses Moduls.

Wenn es nicht unterstützt wird, aber nicht zugunsten eines anderen Moduls veraltet ist, sollten Sie in Betracht ziehen, Co-Maintainer zu werden und Ihre Korrekturen mit der Community zu teilen.

0
Mołot