Проект

Общее

Профиль

Правила разработки

Модификации (хуки, приложения и модули)

  • Каждая модификация должна иметь отдельный проект:
    • Должно быть четкое разделение по версиям;
    • Должно быть четкое разделение по категориям задач;
    • Должна существовать страница с кратким описанием проекта - назначение, лицензия, требования, ссылки, поддержка и т.д.;
    • Если модификация определят настройки, то должна быть отдельная страница с их описанием (название, назначение, допустимые значения, значение по-умолчанию и д.р.), в обязательном порядке должна быть указана версия модификации начиная с которой доступна(недоступна) настройка;
    • Если модификация определяет собственные ошибки, то должна быть отдельная страница с их описанием (название, описание и т.д.), в обязательном порядке должна быть указана версия модификации в которой появилась(исчезла) ошибка;
  • Каждая модификация должна иметь собственный репозиторий5;
  • Разработка всех без исключения модификаций должна происходить с использованием "IPB3 Toolkit";
  • Каждая модификация должна быть добавлена на сервер проверки обновлений1;
  • Каждая модификация должна содержать отключаемый вывод копирайта2;
  • Для подключения JavaScript файлов, рекомендуется использовать "IPBNET.RU CodeLibrary (ipbnet): ipbnet.js"

Название

  • Должно быть задано в виде "Модификация ({key})", где {key} ключ модификации;
  • Максимальная длинна - 30 символов;
  • Название проекта совпадает с названием модификации;
  • Ключ проекта должен быть указан в виде "ipb3-{key}"
  • Название репозития должно совпадать с {key};

Настройки

  • Настройки всех модификаций должны располагаться в отдельном подразделе с названием "IPBNET.RU", кроме случаев приведенных ниже;
  • Название каждой (в т.ч. и скрытой) группы настроек должно совпадать с названием модификации;
  • Описание каждой группы настроек должно совпадать с описанием модификации (может отличатся для скрытой группы);
  • Ключ настройки должен начинаться с {key}__, где {key} ключ модификации;
  • Если модификация содержит большое количество настроек, рекомендуется разбивать их на несколько групп:
    • Если групп мало3 то их рекомендуется располагать в общем подразделе, но должно быть понятно к какой модификации они относятся4;
    • Если групп много3, возможно, лучшим решением будет вынести их в отдельный подраздел.
Ссылки:

Шаблоны

  • Хуки:
    • Все шаблоны хука должны располагаться в отдельном файле6;
    • Название файла с шаблонами хука должно быть вида "skin_{key}.php"
    • Все методы должны начинаться с префикса7 "{key}";
    • Запрещено использовать type hinting8;
  • Приложения:
    • Для каждого модуля приложения должен существовать отдельный шаблон.
    • Название файлов с шаблонами приложения должно быть вида "skin_{key}_{module}.php"
    • Все методы должны начинаться с префикса7 "{module}";
    • Запрещено использовать type hinting8;

1 Пока не решено как быть с приложениями(для них сервер проверки обновлений недоступен). В дальнейшем, обновление сервера обновлений скорее всего будет автоматизировано.

2 Обязательно только для бесплатных модификаций.

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

4 Легче всего это сделать, поместив в начало описания название модификации.

5 Отдельный или располагаться в общем репозитории. Рекомендуемую (требуемую) структуру репозитория можно посмотреть на странице Получение исходного кода.

6 Это позволить сэкономить тысячи нервных клеток при обновлении шаблонов между версиями IPB.

7 Позволит легко перемещать шаблоны между файлами.

8 http://community.invisionpower.com/tracker/issue-25997-templateparser-functiondata-not-work-with-type-hinting/


Экспортировать в PDF HTML TXT