22
Serge Bezborodov Мультисайт

Мульти-сайт, система, платформа, проект - как рулить на одном движке?

  • Upload
    yiiconf

  • View
    1.715

  • Download
    1

Embed Size (px)

DESCRIPTION

С ростом проекта менеджмент принимает решения о развии системы - экспансии в другие страны, запуск мобильных версий и приложений, интеграция с соц сетями. Усложняются требования к работе, возникает необходимость разделять функционал по странам, платформам, языкам и т.п. Как учесть возможные вариации между системами, четко понимать текущее состояние пользователя, вести статистику в разрезе систем и не сойти с ума - расскажу в докладе.

Citation preview

Page 1: Мульти-сайт, система, платформа, проект - как рулить на одном движке?

Serge Bezborodov

Мультисайт

Page 2: Мульти-сайт, система, платформа, проект - как рулить на одном движке?

Что такое мультисайт?

- один движок

- одна база

- одна админка

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

Page 3: Мульти-сайт, система, платформа, проект - как рулить на одном движке?

Когда нужен мультисайт?

- региональные порталы

- сетки сайтов

- разные версии одной системы

Page 4: Мульти-сайт, система, платформа, проект - как рулить на одном движке?

Стандартная реакция:

- «Та че там сложного темы разные ставить»

Page 5: Мульти-сайт, система, платформа, проект - как рулить на одном движке?

Классический пример

Page 6: Мульти-сайт, система, платформа, проект - как рулить на одном движке?

Давайте рассмотрим пример!

socks.ruИнтернет магазин носочных изделий

Page 7: Мульти-сайт, система, платформа, проект - как рулить на одном движке?

Магазин socks.ru

- каталог продуктов

- цены в рублях

socks.ru

Page 8: Мульти-сайт, система, платформа, проект - как рулить на одном движке?

Магазин hello-kitty-socks.ru

hello-kitty-socks.ru

- другой дизайн- все тот же каталог, но показываем одну категорию- цены +5%- одна база пользователей- разделение статистики продаж

Page 9: Мульти-сайт, система, платформа, проект - как рулить на одном движке?

Мобильная версия socks.ru

- другой дизайн- для владельцев iOS устройств - цена +20%

m.socks.ru

- разделение статистики продаж

Page 10: Мульти-сайт, система, платформа, проект - как рулить на одном движке?

WL для socks.ru

- другой дизайн

noski.ru

- разделение статистики продаж

Page 11: Мульти-сайт, система, платформа, проект - как рулить на одном движке?

Что у нас есть?

socks.ru

hello-kitty-socks.rum.socks.ru noski.ru

Page 12: Мульти-сайт, система, платформа, проект - как рулить на одном движке?

Структура мультисайта

ID

Платформа

web mobile social

iOS Android FB VK

Локализация Сайт

socks.ru h-k-s.ru

noski.ru

Page 13: Мульти-сайт, система, платформа, проект - как рулить на одном движке?

Как сделать на скорую руку?

- привязываемся в коде к доменам, языкам

- хардкод

Page 14: Мульти-сайт, система, платформа, проект - как рулить на одном движке?

Как работать с этим в Yii?

- конфигурация в БД или файле

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

Page 15: Мульти-сайт, система, платформа, проект - как рулить на одном движке?

Пример конфигурации

Page 16: Мульти-сайт, система, платформа, проект - как рулить на одном движке?

Пример конфигурации

Не катит- ограниченная структура- сложность понимания

текущего состояния

Page 17: Мульти-сайт, система, платформа, проект - как рулить на одном движке?

Горизонтальная структура

web mobile socialПлатформы:Языки: русскийанглийский

WL: noski.ru

Сайты: socks.ru h-k-s.ru

Page 18: Мульти-сайт, система, платформа, проект - как рулить на одном движке?

Рабочий вариант

Page 19: Мульти-сайт, система, платформа, проект - как рулить на одном движке?

И в чем преимущество?

- гибкость- расширяемость- четкое понимание текущего состояния по ID- возможность развернуть в БД- переопределение доменов в локальном конфиге

Page 20: Мульти-сайт, система, платформа, проект - как рулить на одном движке?

Работаем в коде

Page 21: Мульти-сайт, система, платформа, проект - как рулить на одном движке?

Какие особенности?- в коде придется привязываться к названиям частей мультисайта или ID- у многих таблиц появится поле multisite_id- сложности с генерацией URL

- кроссдоменная авторизация

- неявные баги

Page 22: Мульти-сайт, система, платформа, проект - как рулить на одном движке?

Спасибо за внимание!

http://sergebezborodov.com

@sergebezborodov