Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Module › Modul-Entwicklung ›

Sinvolles Updaten von Drupal Modulen

Eingetragen von Anonymous (0)
am 24.03.2009 - 10:23 Uhr in
  • Modul-Entwicklung
  • Drupal 6.x

Hi

Mal eine ganz blöde Frage...
Wie funktioniert es eigentlich wenn ich eine neue Version zu einem bereits aktivierten Modul hochgeladen habe und die update.php ausführe? Wir dann die .install des Moduls ausgeführt?
Habe gesehen das einige Module ****_update_*zahl* nutzen.
Hat dies irgendwelche Vorteile?

Und kann man updates eigentlich auch autom ausführen?
Also z.B. in dem man im Adminpanel einen Link klickt und dieser dann alles abarbeitet!?

Möchte dies alles wissen um meine Module möglichst effektiv und Sinnvoll updaten zu können.

Lg

Uhu

‹ Bei fieldset verschwindet der value nicht, wenn collapsed! Session beenden ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Re: Sinvolles Updaten von Drupal Modulen

Eingetragen von traxer (1009)
am 24.03.2009 - 13:46 Uhr
Uhu schrieb

Wie funktioniert es eigentlich wenn ich eine neue Version zu einem bereits aktivierten Modul hochgeladen habe und die update.php ausführe? Wir dann die .install des Moduls ausgeführt?

Ja. In der .install-Datei liegen aber normalerweise nur ein Haufen von Funktionen. Das Ergebnis der Ausführung ist dann, das die in der .install-Datei definierten Funktionen (z.B. foo_install, foo_update_1, ..., foo_uninstall) von Drupal aufgerufen werden können.

Uhu schrieb

Habe gesehen das einige Module ****_update_*zahl* nutzen.
Hat dies irgendwelche Vorteile?

Beispiel: Du hast ein Modul foo, das eine eigene Datenbanktabelle mit einem Integer key und einem Float wert verwendet.
Damit die Tabelle bei der Installation des Moduls automatisch angelegt wird schreibst du eine Datei foo.install mit einer Funktion

<?php
/**
* Implementation of hook_install().
*/
function foo_install() {
 
// TODO Tabelle mit Integer 'key' und Float 'wert' anlegen
}
?>

Du möchtest dein Modul überarbeiten, weil du aus Konsistenzgründen die Spalte lieber value nennen möchtest. Außerdem passt zu der Funktionalität deines Modul eher der Datentyp Decimal. Dazu musst du deine .install-Datei anpassen:

<?php
/**
* Implementation of hook_install().
*/
function foo_install() {
 
// TODO Tabelle mit Integer 'key' und Decimal 'value' anlegen
}

/**
* Implementation of hook_update_N().
*/
function foo_update_1() {
 
// TODO Decimal Spalte 'value' anlegen
  // TODO Daten von Spalte 'wert' in Spalte 'value' migrieren
  // TODO Spalte 'wert' löschen
}
?>

Beim Installieren eines Moduls (also z.B. beim erstmaligen Aktivieren) wird hook_install aufgerufen. Dabei merkt sich Drupal, welche hook_update_N existieren und sieht diese als veraltet an.

Beim Aktualisieren eines Moduls wird geschaut, welche hook_update_N in deinem Modul nicht veraltet sind und führt diese aus.

--
XING

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hi Danke für deine

Eingetragen von Uhu (nicht überprüft) (0)
am 25.03.2009 - 08:56 Uhr

Hi

Danke für deine Ausführungen.
Genau sowas habe ich gemeint.
Habe den hook_update_N auch schon in auf der API Page gesehen ihn aber leider voreilig mit einem "Unterpunkt" von hook_update assoziiert...

Jetzt bleibt nur...
Ist es mir möglich die update.php autom ausführbar zu machen?
Also das duch anklicken einen Update Links bspw. diese Funktionen voll autom ausgeführt werden!?

Lg

Uhu

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Rolle erstellen nicht zu finden
  • Medien und andere Daten mit Feeds von Drupal 7 auf Drupal 10 migrieren
  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
  • Wie erlaubt man neuen Benutzern auf die Resetseite zugreifen zu dürfen.
  • [gelöst] Anzeigeformat Text mit Bild in einem Artikel, Drupal 11
  • Social Media Buttons um Insteragram erweitern
  • Nach Installation der neuesten D10-Version kein Zugriff auf Website
  • Composer nach Umzug
  • [gelöst] Taxonomie Begriffe zeigt nicht alle Nodes an
  • Drupal 11 + Experience Builder (Canvas) + Layout Builder
Weiter

Neue Kommentare

  • Rollen
    vor 3 Tagen 16 Stunden
  • Inzwischen sind wir bei
    vor 2 Wochen 9 Stunden
  • Migrieren von D7 auf D8/ D10/ D11
    vor 2 Wochen 1 Tag
  • melde mich mal wieder, da ich
    vor 9 Wochen 5 Tagen
  • Hey danke
    vor 9 Wochen 6 Tagen
  • Update: jetzt gibt's ein
    vor 9 Wochen 6 Tagen
  • Hallo, im Prinzip habe ich
    vor 10 Wochen 4 Tagen
  • Da scheint die Terminologie
    vor 10 Wochen 4 Tagen
  • Kannst doch auch alles direkt
    vor 11 Wochen 1 Tag
  • In der entsprechenden View
    vor 11 Wochen 1 Tag

Statistik

Beiträge im Forum: 250237
Registrierte User: 20466

Neue User:

  • StevenEness
  • ocvk2810
  • marouane.blel

» Alle User anzeigen

User nach Punkten sortiert:
wla9461
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 50 Gäste online.

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association