Рабочая копия Joomla! расширение
Абстрактные
Это своего рода Subversion для Joomla! жить сайта. GSoC 2009 проектных идей: Рабочая копия сайта Joomla Онлайн
Идея и преимущества
Администраторы обычно работают на живой сайт непосредственно, а иногда они делают ошибки, как все люди. В результате, живой сайт испортится после расширения процесса установки / удаления и изменения конфигурации. Идея состоит в том, чтобы иметь рабочую копию живой сайт и вносить изменения на нем, то, если все в порядке после тестирования, можно утверждать изменения и инструмент применять их в сайт.
Я хотел бы также реализовать некоторые основные черты Subversion в этот проект, например, совершать / утверждают, обновления / синхронизации, вернуться, слияние, создание патча, примените патч (SVN операции впоследствии).
Используя этот инструмент, люди будут делать меньше ошибок на живой сайт и получить меньше нервничать!
Основные этапы
Создание API и интерфейс будут необходимы, чтобы закончить этот проект. Они оба будут развиваться одновременно, чтобы возможность тестирования с помощью интерфейса. Я буду держать основные идеи кодирования и стандарты Joomla! Рамочная надеясь, что это будет часть Joomla! 1.6 в будущем.
В процессе разработки я буду считать, что живые сайта (мастер или родитель впоследствии) и рабочая копия (ребенок впоследствии) работает на той же версии и конфигурации OS / Apache / MySQL / PHP и конфигурации сервера останутся без изменений ( этот инструмент может быть только тестовой среды для сервера перенастройке).
Теперь я расскажу в общем, какой она будет, и как легко будет работать. Вот некоторые шаги, администраторы могут сделать:
- Создать столько порожденных от мастера к работе над ним (администратор может создать еще большой ребенок)
- Измените дочерний элемент (переконфигурируйте, добавьте / отредактируйте контент, установите / удалите / обновите расширения) и протестируйте (при необходимости у нас может быть «бот-шпион» для ребенка, чтобы легко определять внесенные изменения)
- Утвердить изменения в живой сайт с одной из этих опций:
- Создать патч от ребенка
- Примените патч к мастеру
- Непосредственно утвердить изменения к мастеру (на самом деле он может делать то 3.1 3.2, только за один шаг)
- Просмотр изменений на ребенка
- Синхронизация ребенка с родителей (если ребенок устарело)
- Вернуть ребенка к родителю состоянии
- Слияние 2 сайтов (мастер-ребенка или ребенка-ребенка) с ссылочной целостности
Есть 2 возможности для внесения изменений в Joomla! веб-сайт, который заключается в изменении базы данных и / или файловой системы. Так что будет 2 типов функций в API, который будет вносить изменения в базу данных и файловой системы.
Работа с файловой системой самая легкая часть, потому что каждый файл имеет дату последнего изменения, что позволяет легко определить, какой файл новее.
Работа с базой данных гораздо сложнее, потому что там могут быть разные сценарии отношений.
Моя цель сделать API, который будет осуществлять операции SVN не только для основных таблиц, но и 3rd партия таблиц, которые могут прийти с 3rd расширения партии.
Будущие усовершенствования
Также есть возможность иметь историю таблицы (#tablename_history) для каждой таблицы в БД, которая будет держать версий строк таблицы в ней. Это позволит версий всей базы данных. Не только содержание, но и параметры, модуль позиции, и т.д. будут версий. Другая вещь, которая может быть сделано, должно иметь язык таблицы и сохранить переводы строк таблицы в них.
Лента
20 апреля - мае 17: ВРЕМЯ ГОВОРИТЬ с наставником
Неделя 1 мая 18 - 22: Интерфейс и API функции, чтобы сделать ребенка от хозяина. (1)
Неделя 2 мая 25 - 29: Интерфейс и API функции, чтобы просмотреть изменения, сделанные на ребенка. (4)
Неделя 3 июня 1 - 5: Интерфейс и API функции вернуть ребенка. (6)
Неделя 4 июня 8 - 12: Интерфейс и API функции для синхронизации ребенка. (5)
Неделя 5 июня 15 - 19: Интерфейс и API-функции для создания патча. (3.1)
Неделя 6 июня 22 - 26: Интерфейс и API функции применить патч. (3.2, 3.3)
Неделя 7 июня 29 - июль 3: Подготовка к среднесрочной оценки
Неделя 8 июля 6 - 10: Представление среднесрочной оценки
Неделя 9 июля 13 - 17: Интерфейс и API функции для слияния 2 сайтов. (7)
Неделя 10 июля 20 - 24: RESERVED ВРЕМЯ
Неделя 11 июля 27 - 31: RESERVED ВРЕМЯ
Неделя 12 августа 3 - 7: Подготовка к финальной оценки расставляет все на свои места
Неделя 13 августа 10 - 14: Карандаши вниз, Обобщая результаты, написание документации
Неделя 14 августа 17 - 21: Представление окончательной оценки
Август 22 - 25: ВРЕМЯ ДЛЯ РЕШЕНИЯ ГОРЯЩИЕ
Веб –конференции