Finar.ru
web.finar.ru
video.finar.ru
Темы для BootstrapNew!

Правила разработки сайтов в NetCat в студии Ph&Ph

внутрикорпоративный guide

Автор: Филипп Казаков, дата: 2012-01-07, просмотров 4249
Тэги

Чем больше становится Ph&Ph, чем больше сайтов мы делаем и поддерживаем, тем больше похожих операций нам приходится производить. Дело дошло до того, что стиль нашей работы потребовал внутрикорпоративной стандартизации. О как!

Обязательные

  1. для каждого сайта создается новая группа компонентов с названием вида !domain.ru
    1. группа компонентов создается сразу после установки системы и в нее переносится первый компонент "простая страница".
    2. все остальные компоненты, не связанные с модулями, разрабатываются только через копирование исходных компонентов.
    3. компоненты, связанные с модулями - на усмотрение разработчика.
  2. при правке исходных кодов системы:
    1. исходные файлы сохраняются по маске nc_file_name.php_[orig4.6], где 4.6 - номер версии, на которой было произведено изменение
    2. документируются в специальном служебном выключенном разделе первого сайта под названием АДМИНАМ. Указывается путь к измененным файлам + причина модификации. Например вот так: /domain.ru/docs/netcat/modules/comments/nc_comments.class.php ( оригинал: nc_comments.class.php_[orig4.6] ) | влияет на вывод комментариев на Главной
  3. для всех полей типа "файл" файловая система "стандартная", кроме исключительных случаев с параноидальной безопасностью
  4. разработка нового функционала до окончания работ должна производиться во временных служебных разделах и компонентах, полностью скрытых от простых посетителей сайта.

Если у вас возникают сомнения или неуверенность том, что вы делаете, просто спросите совета у любого Ph.

Рекомендуемые

  1. в html-верстке везде, где это возможно, используются одинарные кавычки
  2. все внешние встраиваемые скрипты живут в /images/ , все добавляемые директории помечаются префиксом phph | тут нужно немножко подумать, правильно ли это
  3. количество сущностей должно быть минимальным: чем меньше компонентов, тем лучше
  4. приоритет макета над компонентом: максимум верстки должен помещаться в макет, компонент должен стремиться отвечать только за функционал.

Правила документирования сайтов

По-умолчанию документация состоит в описании компонентов сайта и их шаблонов. Описание следует помещать, как несложно догадаться, в поле "Описание компонента" (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

Оставить комментарий 


Ваше имя:
->