42 Stimmen

Arbeiten mit Versionskontrolle bei einem Drupal/CMS-Projekt

Ich habe mich gefragt, wie Teams, die Websites mit Drupal (oder einem anderen CMS) entwickeln, die Versionskontrolle, Subversion, Git oder ähnliches, in ihren Arbeitsablauf integrieren. Man möchte natürlich, dass der benutzerdefinierte Code und die Themadateien unter Versionskontrolle stehen, aber wenn man ein CMS wie Drupal verwendet, besteht ein Großteil der Arbeit aus der Konfiguration von Modulen und Einstellungen, die alle in der Datenbank gespeichert werden.

Wie arbeitet man als Entwicklerteam an einem solchen Projekt zusammen? Die Datenbank in eine Datei zu packen und diese Datei unter Versionskontrolle zu stellen, könnte funktionieren, aber wenn die Website live ist, fügt der Kunde ständig Inhalte hinzu, was die Synchronisierung etwas problematisch macht.

Ich würde gerne wissen, wie andere das machen.

17voto

flamingLogos Punkte 5913

Sie haben Recht, dass dies ein Problem für Drupal ist - die Versionskontrolle funktioniert einwandfrei, bis Sie die Website an Ihren Kunden übergeben oder sie für Benutzer öffnen.

Ihre Frage scheint eine spezifischere Version dieser Frage zu sein eine die sich mit der Versionskontrolle im Drupal-Workflow befasste. Vielleicht finden Sie dort einige Antworten, die Ihnen weiterhelfen.

Bei einigen Projekten habe ich alle Ansichten in Code exportiert, indem ich diese Funktion des Moduls Ansichten verwendet habe, und ich habe ein Projekt, bei dem auch alle Blöcke exportiert wurden. (Allerdings war das eine Entwicklungsübung und keine übliche Sache, die man mit Blöcken macht.)

Werfen Sie einen Blick auf die Arbeit, die Entwicklung Saatgut um dieses Problem zu lösen. Sie sind führend bei der Entwicklung des Kontext , Eigenschaften y Räume Module, die zusammenarbeiten, um Konfigurationsdaten in Modulen (außerhalb der DB) zu speichern, so dass sie mit dem Code versioniert werden können.

Es gibt eine Drupal-Gruppe namens Verpackung und Bereitstellung für die Erörterung der verschiedenen Lösungen, die für dieses Problem entwickelt werden.

1voto

math0ne Punkte 742

Im Moment gibt es eine Menge Anstrengungen, um etwas zu schaffen, das die Dev -> Produktion Schwierigkeiten mit Drupal in Bezug auf die Datenbank behandeln wird. Features, die flaminglogos erwähnt ist eine, aber ich denke, dass ist mehr auf die Erstellung von Stand-alone-Projekte, dh diejenigen, die auf vielen Websites installiert werden würde konzentriert.

Für die einfache Wartung Ihrer Dev- und Prod-Datenbanken würde ich einen Blick auf http://drupal.org/project/deploy y http://drupal.org/project/dbscripts . Sie unterstützen das Synchronisieren und Zusammenführen von db-seitigen Drupal-Konfigurationsdaten.

Ich kann allerdings nicht garantieren, dass sie für die Prime Time bereit sind...

0 Stimmen

Das Deploy-Modul sieht in dem Screencast, der auf der Projektseite verlinkt ist, interessant aus, und ich stimme zu, dass es eine gute Lösung für die Aktualisierung von Inhalten auf einer einzelnen Website ist.

0voto

David Lemon Punkte 1490

Es ist ein großer Aufwand, die nächste Drupal-Version mit Konfiguration im Code auszuliefern. Das ist der Schlüssel, um es in einem Versionssystem zu haben.

Im Moment können Sie das Feature-Modul verwenden, mit dem Sie Dinge wie Inhaltstypen, Ansichten usw. in Code exportieren und dann nach Bedarf vergleichen, versionieren und rückgängig machen können.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X