Чем больше становится Ph&Ph, чем больше сайтов мы делаем и поддерживаем, тем больше похожих операций нам приходится производить. Дело дошло до того, что стиль нашей работы потребовал внутрикорпоративной стандартизации. О как!
Содержание: (спрятать)
Обязательные
- для каждого сайта создается новая группа компонентов с названием вида !domain.ru
- группа компонентов создается сразу после установки системы и в нее переносится первый компонент "простая страница".
- все остальные компоненты, не связанные с модулями, разрабатываются только через копирование исходных компонентов.
- компоненты, связанные с модулями - на усмотрение разработчика.
- при правке исходных кодов системы:
- исходные файлы сохраняются по маске nc_file_name.php_[orig4.6], где 4.6 - номер версии, на которой было произведено изменение
- документируются в специальном служебном выключенном разделе первого сайта под названием АДМИНАМ. Указывается путь к измененным файлам + причина модификации. Например вот так: /domain.ru/docs/netcat/modules/comments/nc_comments.class.php ( оригинал: nc_comments.class.php_[orig4.6] ) | влияет на вывод комментариев на Главной
- для всех полей типа "файл" файловая система "стандартная", кроме исключительных случаев с параноидальной безопасностью
- разработка нового функционала до окончания работ должна производиться во временных служебных разделах и компонентах, полностью скрытых от простых посетителей сайта.
Если у вас возникают сомнения или неуверенность том, что вы делаете, просто спросите совета у любого Ph.
Рекомендуемые
- в html-верстке везде, где это возможно, используются одинарные кавычки
- все внешние встраиваемые скрипты живут в /images/ , все добавляемые директории помечаются префиксом phph | тут нужно немножко подумать, правильно ли это
- количество сущностей должно быть минимальным: чем меньше компонентов, тем лучше
- приоритет макета над компонентом: максимум верстки должен помещаться в макет, компонент должен стремиться отвечать только за функционал.
Правила документирования сайтов
По-умолчанию документация состоит в описании компонентов сайта и их шаблонов. Описание следует помещать, как несложно догадаться, в поле "Описание компонента" (todo-подумать: можно ли через хэш-массивы достать это самое описание и показывать его в админке. Заходим в раздел в админке - сразу видим, как он работает да, можно) :) В описании должно быть в свободном стиле рассказано:
- где используется компонент/шаблон.
- Пример 1: центральный компонент сайта, по-умолчанию предполагается использовать во всех разделах сайта первого уровня, а также в разделе 131 -> 236 потому что так исторически сложилось.
- Пример 2: этот шаблон компонента используется для формирования фотогалерей. Он выводится в разделе 197, а также футере макета дизайна 103
- как работает компонент/шаблон. Фактически, это человекопонятный пересказ содержимого Системных настроек.
- Пример: этот шаблон компонента "Архив фотогалерей" выбирает все объекты, в которых стоит галка Фотогалерея, после picCount (число превьюшек) > 0, а дата публикации < 1 января 2011 года.
- в префикс списка объектов должна быть добавлена конструкция вида
".($inside_admin?"<p>$cc_env[ClassDescription]</p>":NULL)."
Теперь зайдя в админку, мы увидим описание компонента перед объектами. - todo-подумать: может для всех шаблонов делать по одному скрытому служебному разделу? Чтобы можно было гарантированно зайдя в админку разобраться с тем, как там все работает
- шаблоны и компоненты, актуальность которых неизвестна, должны быть переименованы с соотв. комментарием: "Старая фотогалерея (удалить? 2012-06-17)"
- при этом в вывод этого шаблона вставляется следующее: "
<span style='color:red;'>error-371</span>
", где 371 - номер шаблона/компонента. Если компонент где-то используется, пользователи когда-нибудь сообщат об ошибке. - todo: может есть более простой способ проверить, используется ли компонент/шаблон где-нибудь (макеты, компоненты, структура сайта)?
- при этом в вывод этого шаблона вставляется следующее: "
Обсуждаемые:
Здесь сотрудники Ph&Ph могут оставить свои предложения.
Комментарии:
1.1: или копируется так же как остальные компоненты ? LaF
- Именно переносится потому, что при создании нового раздела сайта в админке по-умолчанию выбирается компонент с номером 1. Если структура сайта сложная и преимущественно состоит из простых страниц (как обычно и бывает), то важно, чтобы по-умолчанию был выбран правильный компонент. Finar
1.2: с одной стороны верно, но есть компоненты которые привязаны к модулям, и их номера нужно будет менять в настройках модуля, если это вообще возможно. LaF
- fixed Finar
Оставить комментарий