Совместная разработка проекта

Аватар пользователя Strycker Strycker 27 марта 2013 в 15:17

Встал вопрос: кто как реализовывает совместную работу над проектом?

Слова git, svn, trac, redmine, mantis и подобные им мне известны. Но интересна именно практическое применение их продуктов в работе. Другими словами интересует методика совместной разработки в контексте CMS Drupal.

Поясню: меня ставит в ступор вопрос синхронизации базы с кодом (php+css). Можно конечно хранить скрипт создания и заполнения таблиц в базе, но это не то. Т.е. надо делать отдельно бэкап кода и бэкап базы - это раздражает. Интересно как этот процесс налажен у других. Ну и интересно, кто чем пользуется (каким продуктом для организации работ), если это конечно не коммерческая тайна.

Комментарии

Аватар пользователя q2_faith q2_faith 27 марта 2013 в 17:13

"Ch" wrote:
Features

пока единственное и не совсем идеальное решение)
"Strycker" wrote:
Поясню: меня ставит в ступор вопрос синхронизации базы с кодом (php+css). Можно конечно хранить скрипт создания и заполнения таблиц в базе, но это не то. Т.е. надо делать отдельно бэкап кода и бэкап базы - это раздражает. Интересно как этот процесс налажен у других.

теоретически, если не тыкать мышкой в админке, а реализовывать все изменения в коде, то базу переносить не надо.

Аватар пользователя Strycker Strycker 27 марта 2013 в 17:35

q2_faith wrote:
теоретически, если не тыкать мышкой в админке, а реализовывать все изменения в коде, то базу переносить не надо.

Смысл-то именно в бэкапе рабочей версии проекта, мышкой там "натыкано" достаточно.

Аватар пользователя Sun-fire Sun-fire 27 марта 2013 в 17:55

"q2_faith" wrote:
пока единственное и не совсем идеальное решение)

Ну, я бы не стал так категорично говорить об единственном решении. Есть еще Migraine - скрипт на пайтоне, без каких либо UI. Вот ссылка на страницу проекта

Из опыта практического использования этой тулзы:

1. Нужно хорошо понимать, что и куда пишется в БД друпала, включая все модули, которые установлены на сайте.
2. Настройки профиля переноса БД делаются вручную в тексте сценария или в далоговом режиме, потому очень легко все испортить.
3. Сложно в освоении и эксплуатации, наверное потому и назвали "Мигрень" Smile

Крайне не рекомендую использовать на продакшне без полного понимания как оно работает.

Аватар пользователя multpix multpix 27 марта 2013 в 18:00

имхо, для небольшого коллектива хватит sql-sync для локальной копии участника,
и mysqldump в хитром башевом скрипте для автобекапчиков))

Аватар пользователя Ch Ch 27 марта 2013 в 19:15

"multpix" wrote:
для небольшого коллектива хватит sql-sync

А причем тут размер коллектива? Самая типичная ситуация: редактор правит контент на продакшен сайте, разработчик ведет разработку на локальном сайте. Каким образом перенести изменения в базе (представления, поля, панели и т.д.) с локального сайта на рабочий?

Quote:
пока единственное и не совсем идеальное решение)

http://drupal.org/project/configuration
Не смотрите что альфа, очень качественно сделан. Хотя на реальных проектах я его еще не использовал.

Аватар пользователя Strycker Strycker 27 марта 2013 в 21:52

"Ch" wrote:
Самая типичная ситуация: редактор правит контент на продакшен сайте, разработчик ведет разработку на локальном сайте. Каким образом перенести изменения в базе (представления, поля, панели и т.д.) с локального сайта на рабочий?

А я бы расширил вопрос: один разработчик прикручивает новую тему, верстает вывод. Второй в это время активно крутит БД: устанавливает новые модули, а может и пишет свои. Потом встаёт вопрос синхронизации локальных БД у каждого из разработчиков (с темой-то понятно что делать) и как быть?

По работе использовал redmine (там правда только код и бинарные объекты) - очень удобная штука в работе оказалась, а для Drupal'а не особо подходит.

Аватар пользователя graker graker 27 марта 2013 в 21:59

Strycker wrote:
А я бы расширил вопрос: один разработчик прикручивает новую тему, верстает вывод. Второй в это время активно крутит БД: устанавливает новые модули, а может и пишет свои. Потом встаёт вопрос синхронизации локальных БД у каждого из разработчиков (с темой-то понятно что делать) и как быть?

А как тема и верстка пересекается с БД и кодингом?

И что мешает в данном случае прикупить хостинг и делать всё на нем, вместе? Если темизатор не хочет мешать разрабу тем, что верстка периодически "убивается" - так это модуль есть, кажется этот: http://drupal.org/project/themekey - ставите его, и темизатор себе выбирает отдельную тему, а разраб работает себе на шаблонной.

Аватар пользователя Strycker Strycker 27 марта 2013 в 22:16

graker wrote:
А как тема и верстка пересекается с БД и кодингом?

Они пересекаются в рамках одного проекта, больше понятно никак. Ну кроме может названия полей в темизации вывода. Я может глупые вопросы задаю, просто хочется у себя в голове это систематизировать, так сказать, оформить некую методику. А пока только отдельные её куски есть.

За модуль спасибо.

Аватар пользователя q2_faith q2_faith 27 марта 2013 в 22:35

"Strycker" wrote:
устанавливает новые модули

"Strycker" wrote:
один разработчик прикручивает новую тему, верстает вывод.

это все к коду относится. верстальщик кодеру никак не помешает. обычно кодеру мешает другой кодер)