2010-05-23 14 views
39

Zastanawiam się, jak zespoły tworzące witryny korzystające z Drupala (lub dowolnego innego CMS) integrują kontrolę wersji, subversion, git lub podobne, w swoim obiegu pracy. Oczywiście potrzebujesz niestandardowego kodu i plików tematycznych pod kontrolą wersji, ale gdy używasz CMS, takiego jak Drupal, wiele pracy polega na konfiguracji modułów i ustawień, z których wszystkie są przechowywane w bazie danych.Praca z kontrolą wersji w projekcie Drupal/CMS

Kiedy więc jesteś zespołem programistów, jak współpracujesz nad takim projektem? Załadowanie bazy danych do pliku i umieszczenie tego pliku pod kontrolą wersji może wydawać się, jak sądzę, ale kiedy witryna jest dostępna, klient ciągle dodaje treść, co sprawia, że ​​synchronizacja jest nieco problematyczna.

Chciałbym wiedzieć, jak robią to inni.

Odpowiedz

16

Masz rację, to jest problem Drupala - kontrola wersji działa dobrze, dopóki nie przekierujesz strony do swojego klienta lub nie otworzysz jej dla użytkowników.

Twoje pytanie wydaje się być bardziej szczegółową wersją tego one, która dotyczy kontroli wersji w przepływie pracy Drupal. Możesz znaleźć tam kilka odpowiedzi, które pomogą.

Dla niektórych projektów wyeksportowałem wszystkie widoki do kodu, korzystając z tej funkcji modułu Widoki, a także mam jeden projekt, do którego również wyeksportowano wszystkie bloki. (Mimo że było to działanie programistyczne, a nie zwyczajowo związane z blokami.)

Zobacz, co robi Development Seed, aby obejść ten problem. Kierują one rozwojem modułów Context, Features i Spaces, które współpracują ze sobą w celu przechowywania danych konfiguracyjnych w modułach (poza bazą danych), dzięki czemu mogą być wersjonowane za pomocą kodu.

Istnieje grupa Drupal o nazwie Packaging & Deployment w celu omówienia różnych rozwiązań, które są opracowywane dla tego problemu.

1

Obecnie istnieje wiele starań, aby stworzyć coś, co poradzi sobie z dev -> trudnościami produkcyjnymi z drupalem w stosunku do bazy danych. Cechy, o których wspominają flamingki, to jedno, ale uważam, że bardziej koncentruje się na tworzeniu projektów autonomicznych, tj. Takich, które byłyby zainstalowane na wielu stronach.

W celu łatwego zarządzania bazami danych deweloperów i deweloperów, przyjrzałbym się http://drupal.org/project/deploy i http://drupal.org/project/dbscripts. Obsługują synchronizację i łączenie danych konfiguracyjnych drupal db.

Nie mogę zagwarantować, że są gotowe do prime time mimo ...

+0

Moduł wdrażania wygląda interesująco w screencastu, który jest połączony na stronie projektu, i zgodziłbym się, że jest to zgrabne rozwiązanie do aktualizacji treści w jednej witrynie. – flamingLogos

0

Istnieje wiele wysiłku dostarczane kolejną wersję drupal z konfiguracją w kodzie. To jest klucz do posiadania go w systemie wersji.

Na razie można korzystać z modułu funkcji, dzięki któremu można wyeksportować takie rzeczy, jak typy zawartości, widoki itp. W celu kodowania, a następnie porównać, wersję i przywrócić ją w razie potrzeby.

Powiązane problemy