Jak zrównoważyć funkcje i profil instalacyjny w przepływie pracy opartej na kodzie?

12

Profile instalacyjne Drupal (w Drupal 7) są dość potężne i mogą zrobić wszystko, co moduł może zrobić. Korzystam z profilu instalacyjnego wraz z funkcjami do rozwijania mojej witryny, utrzymując wszystko w kodzie, więc nie muszę wersji mojej bazy danych.

Biorąc pod uwagę moc profili instalacyjnych, wiele czynności, które można wykonać w module Funkcje, można również wykonać w Profilu instalacyjnym. Np. Tworzenie typów treści, konfigurowanie uprawnień itp. Jak powinieneś zdecydować, czy coś należy do profilu instalacyjnego, czy modułu funkcji, gdy używasz przepływu pracy Programowanie sterowane kodem w Drupal?

Chaulky
źródło
1
Nuvole odpowiedział na to pytanie i jestem zbyt leniwy, aby opublikować streszczenie jako odpowiedź. nuvole.org/blog/2012/feb/07/…
Capi Etheriel

Odpowiedzi:

1

Niedawno zacząłem używać modułu Funkcje jako systemu wdrażania, jak opisano w tej prezentacji na temat wdrażania funkcji . Zakładając, że używasz podobnej konfiguracji z hook_update_N, funkcje mają jedną wyraźną zaletę, o której jestem świadomy: jest świadomy wszelkich zmian, które nie są w kodzie. Ułatwia to śledzenie zmian (na przykład) widoków i typów treści, a także umożliwia automatyczne generowanie nowego kodu funkcji do zatwierdzenia i wdrożenia.

Nie znam się zbytnio na profilach instalacyjnych, ale z podanego linku nie wygląda na to, by zapewniały tę funkcjonalność. Jednak może to być przypadek użycia, który najbardziej Ci odpowiada.

Edycja: przemyślana odpowiedź.

Daniel Nitsche
źródło
1
Profile mogą mieć zaczepy aktualizacyjne, w Drupal 7 są to prawie moduły
Chaulky
Jednym z problemów, na które natknąłem się, jest to, że nie wszystko może iść w funkcji, a nawet jeśli to możliwe, nie zawsze gra się dobrze, gdy włączasz wszystkie funkcje jednocześnie. Na przykład miałem problemy z umieszczaniem różnych słowników taksonomii i uprawnień w różnych modułach. W takim przypadku wyjątek SQL uniemożliwił prawidłowe włączenie modułów.
Chaulky,
0

W tym celu używam drusha. Mam trzy połączone polecenia (nigdy nie próbowałem tego w jednym wierszu lol), które wykonuję po zainstalowaniu Drupala. Większość rzeczy uruchomiłem dość szybko.

Tyle rzeczy możesz zrobić z Drush. Pobieranie i włączanie wielu modułów jest tak proste, jak

drush dl rules views admin_menu && drush en -y rules views admin_menu && drush dis -y toolbar

można łatwo importować wiele widoków na moduł https://www.drupal.org/node/1393228 .

Po prostu irytujące, że nie mogę zaimportować wielu reguł (bez modułu Funkcje).

użytkownik24957
źródło