Urdu Русский
English English Deutsch Deutsch Español Español Français Français Italiano Italiano Nederlands Nederlands Português Português Русский Русский Ελληνικά Ελληνικά
Login



 

Рабочая копия Joomla! расширение

Демонстрация
Загрузка
Joomla! 1.5
Версия 1.0.1
Скачать
Форум
Учебник
GoogleCode

Абстрактная

Это своего рода Subversion для Joomla! жить сайта. GSoC 2009 проектных идей: Рабочая копия сайта Joomla Онлайн

Идея и преимущества

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

Я хотел бы также реализовать некоторые основные черты Subversion в этот проект, например, совершать / утверждают, обновления / синхронизации, вернуться, слияние, создание патча, примените патч (SVN операции впоследствии).

Используя этот инструмент, люди будут делать меньше ошибок на живой сайт и получить меньше нервничать!

Вехи

Создание API и интерфейс будут необходимы, чтобы закончить этот проект. Они оба будут развиваться одновременно, чтобы возможность тестирования с помощью интерфейса. Я буду держать основные идеи кодирования и стандарты Joomla! Рамочная надеясь, что это будет часть Joomla! 1.6 в будущем.

В процессе разработки я буду считать, что живые сайта (мастер или родитель впоследствии) и рабочая копия (ребенок впоследствии) работает на той же версии и конфигурации OS / Apache / MySQL / PHP и конфигурации сервера останутся без изменений ( этот инструмент может быть только тестовой среды для сервера перенастройке).

Теперь я расскажу в общем, какой она будет, и как легко будет работать. Вот некоторые шаги, администраторы могут сделать:

  1. Создать столько порожденных от мастера к работе над ним (администратор может создать еще большой ребенок)
  2. Изменить ребенка (повторно настраивать, добавлять / редактировать контент, установка / удаление / обновление расширений) и тест (мы можем иметь "шпионский бот" в случае необходимости на ребенка, чтобы определить внесенные изменения легко)
  3. Утвердить изменения в живой сайт с одной из этих опций:
    1. Создать патч от ребенка
    2. Примените патч к мастеру
    3. Непосредственно утвердить изменения к мастеру (на самом деле он может делать то 3.1 3.2, только за один шаг)
  4. Просмотр изменений на ребенка
  5. Синхронизация ребенка с родителей (если ребенок устарело)
  6. Вернуть ребенка к родителю состоянии
  7. Слияние 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: ВРЕМЯ ДЛЯ РЕШЕНИЯ ГОРЯЩИЕ

Веб-семинар

Нажмите, чтобы прослушать Выделенный текст!