Особенности проектирования под Битрикс Александр Сербул Руководитель направления контроля качества интеграции и внедрений

advertisement
Особенности проектирования
под Битрикс
Александр Сербул
Руководитель направления контроля качества интеграции и внедрений
@AlexSerbul
Прежде всего…
Пройти курсы (http://dev.1c-bitrix.ru/learning/):
Администратор. Базовый
Администратор. Модули
Администратор. Бизнес
Администратор «1С-Битрикс: Корпоративный портал»
Контент-менеджер
Многосайтовость
Причины большинства «кривых» проектов:
-
Проектировщик не читал курсы по Битриксу
-
Разработчикам дали полную свободу
Кто проектирует веб-систему?
Проектировать может:
-
Менеджер проекта вместе с Клиентом
-
Аналитик
Разработчики могут, но обычно занимаются реализацией задач.
Обязательно подключается дизайнер/юзабилист.
Риски Проектировщиков:
Менеджер – пытается угодить Клиенту в ущерб
архитектуре
Аналитик – старается все сделать чересчур правильно
Разработчик – чтобы было удобно программировать 
Сделайте правильный выбор!
Проектирование под Битрикс
Права и роли – кто и что может делать и где
Структура контента сайта – список страниц и разделов
Шаблоны сайта и их динамика
Меню
Свойства страниц и разделов, управление ими
Модели данных и работа с ними – инфоблоки и админки к ним
Компоненты и их размещение на страницах
Поиск на сайте, выгрузка во внешние системы
Веб-сервисы
Синхронизация данных с внешними системами
Многосайтовость
Структура информации
Главная
О компании
Руководство
Новости
Фотогалерея
Каталог
Детальная продукта
Дерево разделов и
страниц
Шаблоны
Типы
управляемого
меню в шаблонах
Главная страница
Вложенная статика
Вложенная каталога
Для печати
PDA
Праздничный на новый год
Верхнее
Левое
Нижнее
и т.п.
Структура веб-страницы
Компонент – это кирпичик с динамическим
функционалом.
Страница сайта
Компонент: «Список новостей»
Настраивается:
-Кол-во на странице
-Число слов краткого описания до «…»
-Формат даты
и .т.п.
Компонент 2
Компонент 3
Стандартных компонентов в продукте больше трехсот.
Структура проекта на Битрикс
Стандартный
компонент
Стандартный
компонент
Стандартный
компонент
Стандартный
компонент
Стандартная
страница/раздел
Стандартная
страница/раздел
Стандартная
страница/раздел
Стандартный
Стандартный
модуль
Стандартный
модуль
Стандартный
модуль
модуль
Кастомная
страница/раздел
Кастомная
страница/раздел
Кастомные
обработчики
событий
Кастомный
компонент
Кастомный
компонент
Кастомный
компонент
Кастомный
компонент
Кастомный
компонент
Кастомный
модуль
Кастомный
модуль
Кастомный
модуль
Компоненты
Страница
/раздел проекта
Свои таблицы
в СУБД
Контроллеры ajax
Кастомный инфоблок
Кастомный инфоблок
Кастомные типы
свойств
Модули
Страница
/раздел проекта
Кастомная форма
Кастомная
инфоблокаформа
элемента инфоблока
Веб-сервисы
Публичная часть
Многочисленные
настройки и объекты
проекта
Админка
Особенности составления ТЗ
Публичная часть веб-системы модифицируется очень гибко можно написать все, что угодно
Административная часть Битрикс – модифицируется
ограниченно, далеко не везде
Имеется много стандартных, обновляемых компонентов
Имеется много стандартных админок для модулей
В ТЗ описываем, что то-то и то-то будет реализовано через
стандартные возможности Битрикс
Иногда «стандарт» приходится описывать в ТЗ 
Основное время тратим на риски «нестандартного»
функционала
Структура ТЗ
Краткое описание реализации на стандартных
возможностях Битрикс – публичка и админка
Даем ссылки на официальную техдокументацию и курсы
Подробное описание нестандартного функционала
Детальное описание и прототипы кастомных админок
Если Заказчик активно хочет менять стандартные админки –
пишем для него персональный кастомный
административный раздел: “htdocs/customer_admin/…”
Структура ТЗ на Битриксе
ТЗ на интернет-проект
Шаблон 1
Шаблон 2
Шаблон 3
Компонент 1
Компонент 2
Компонент 3
Группы
пользователей и
политика разделения
доступа
Компонент N
Типы меню
Типы справочников/списков
(инфоблоки)
Дерево разделов и
страниц
«Нестандарт»
Типичный проект среднего
размера:
-2-3 шаблона
-20-30 компонентов
-50 разделов и страниц
-5 групп пользователей с
разными правами
-10-20 инфоблоков
-«нестандарт»
Права и роли в ТЗ
Описываем роли и их иерархию
Настраиваем права в админке: на модули,
файлы и т.п.
Добавляем свои уровни доступа
Создаем учетки в созданных группах
Проверяем доступы в публичной части,
кнопки на административной панели
Инфоблоки в ТЗ
Типы инфоблоков
Типы полей инфоблоков
Модель сущностей, логическая модель
данных
Кто знает о ком – направление связей
Денормализация данных
Права на сущности
Обработчики событий
Риски:
«Глубокие выборки»
Обновление данных
Целостность данных
Компоненты в ТЗ
Описываем все компоненты и их размещение на страницах –
подробно
Описываем связи компонентов с инфоблоками
Описываем все свойства нестандартных компонентов
Логика работы, как управляется
Полезные компоненты можно добавлять в свою библиотеку
Сложные компоненты «нравятся» разработчикам –
мотивация
Когда кода слишком много – делайте свой модуль
E-commerce в ТЗ
Обычно, самое сложное именно
тут
Интернет-магазин или торговый
каталог?
Хочу много корзин
Логика формирования
нестандартных цен и скидок –
корзина, события …
Товары, цены, SKU, остатки … и
инфоблоки
Статусы заказов – State Machine
Diagram
Проектируем формат
импорта/экспорта
Веб-сервисы в ТЗ
Нестандарт с 1С
Интеграция с SAP
SOAP, REST – веб-сервисы
CSV и XML – когда и зачем
Может файликами на FTP? ;-)
Очереди сообщений – нужны
ли?
Обновление инфоблоков по
событию
Управляемый кэш
Deployment Diagram
Спасибо за внимание!
Вопросы?
Александр Сербул
serbul@1c-bitrix.ru
@AlexSerbul
Download