Patched Drupal Contrib Module vorübergehend von Updates ausschließen

Patched Drupal Contrib Module vorübergehend von Updates ausschließen

Zum Glück passiert es relativ selten, dennoch kommt es hin und wieder vor, dass man einzelne Contrib-Module aus dem Update-Prozess ausnehmen muss!
Dies ist beispielsweise der Fall, wenn ein Patch dringend auf ein Modul angewandt werden muss, dieser aber nicht zeitnah vom Modul-Maintainer in ein Release eingebracht wird.

Anforderungen

Hier gibt es zahlreiche verschiedene Lösungsmöglichkeiten, um einen solchen Ausschluss durchzuführen.
Wichtig sind dabei (aus meiner Sicht) folgende Kriterien:

  • Dokumentierbarkeit - Es muss ersichtlich sein, warum und bis wann ein Modul nicht aktualisiert werden soll. (Insbesondere Bezug zum Issue)
  • Verständlichkeit & Fehlerresistenz - Es sollte sichergestellt werden, dass ein Update nicht doch durch einen Flüchtigkeitsfehler oder Unwissen durchgeführt wird
  • Drush-Integration - Im Optimalfall sollte die Lösung auch für die Aktualisierung über Drush funktionieren

Pro & Contra

Folgende Wege gibt es (gerne per Kommentar ergänzen):

Lösung Pro Contra
update_advanced.module verwenden Verständliche UI, Dokumentation gut möglich, sehr flexibel und modular, zentraler Ort für Dokumentation & Konfiguration, einfache Installation Auswirkung auf DRUSH unklar **muss ich noch testen** - Feedback gerne per Kommentar!
"project" - Attribut in .info-File entfernen / ändern (Details: http://www.netstudio.gr/en/blog/excluding-modules-being-updated) Sehr robust, Dokumentation gut möglich, Auswirkung auf DRUSH und Drupal UI Änderung am Modul nötig
drush pm-update --lock=modulename (Details: http://blog.wassill.eu/en/blog/short-excludes-modules-drush-update-09-04...) Optimale Lösung für Drush, schnell und einfach Kein Einblick in die Ausschlüsse via Drupal UI, keine Dokumentation der Gründe und Kriterien, nur für Profis verständlich
Das Modul in sites/all/modules/contrib verschieben (Details: http://www.pixelite.co.nz/article/remove-custom-drupal-modules-and-theme...) Einfache und robuste Lösung Keine Dokumenation, Verschieben bereits aktivierter Module ist nicht immer ohne Probleme möglich (Stichwort "Registry" / "Registry Rebuild")
hook_update_projects_alter(&$projects) implementieren (Details: http://www.grahl.ch/comment/reply/168#comment-form) Robust und Dokumentation möglich Nicht selbsterklärend, weitere Modifikation des Moduls nötig, Fehlendes Modul ist Aktualisierungsliste wirft Fragen auf

Meine Empfehlung

Alle Methoden sind für bestimmte Fälle denkbar, meine Favoriten sind die Optionen 1 und 2.

Weitere Quellen:

AnhangGröße
drupal_advanced_update.png11.32 KB

Kommentare

Kommentar hinzufügen

Der Inhalt dieses Feldes wird nicht öffentlich zugänglich angezeigt.

Weitere Informationen über Formatierungsoptionen