SlideShare a Scribd company logo
Продвинутый мультисайтинг
План доклада ,[object Object],[object Object],[object Object],[object Object],[object Object]
Обзор таблиц базы данных ,[object Object],[object Object],[object Object],[object Object]
Таблицы, которые можно смело делать общими ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Таблицы, которые можно делать общими при необходимости ,[object Object],[object Object],[object Object],[object Object],[object Object]
Таблицы, которые делать общими опасно ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Таблицы, которые НЕЛЬЗЯ делать общими (1) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Таблицы, которые НЕЛЬЗЯ делать общими (2) ,[object Object],[object Object],[object Object],[object Object]
План доклада ,[object Object],[object Object],[object Object],[object Object],[object Object]
Методы объединения таблиц сайтов ,[object Object],[object Object]
Использование  префиксов таблиц (1) ,[object Object],[object Object],site1_system shared_users
Использование  префиксов таблиц (2) ,[object Object],$db_prefix = array( 'default'  => 'site1_', 'users'  => 'shared_', 'sessions'  => 'shared_', // Перечислить все общие таблицы... 'role'  => 'shared_', );
Использование разных  баз данных (1) ,[object Object],$db_url = 'mysqli://user:password@localhost/site1'; $db_prefix = '';
Использование разных  баз данных (2) ,[object Object],$db_url = 'mysqli://user:password@localhost/site1'; $db_prefix = array( 'default' => '', 'authmap' => 'shared.', // Перечислить все общие таблицы... 'users' => 'shared.', );
План доклада ,[object Object],[object Object],[object Object],[object Object],[object Object]
Мультисайтинг с общими пользователями (1) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Мультисайтинг с общими пользователями (2) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
План доклада ,[object Object],[object Object],[object Object],[object Object],[object Object]
Общий логин (аутентификация) ,[object Object],[object Object],ini_set('session.name', 'mysite_PHPSESSID');
План доклада ,[object Object],[object Object],[object Object],[object Object],[object Object]
Мультисайтинг с общим контентом ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
План доклада ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Полезные ссылки (1) ,[object Object],[object Object],[object Object],[object Object]
Полезные ссылки (2) ,[object Object],[object Object],[object Object],[object Object]
Спасибо за внимание. ,[object Object],[object Object],[object Object]

More Related Content

Viewers also liked

Design lab empathy project
Design lab empathy projectDesign lab empathy project
Design lab empathy project
Emily Bembeneck
 
Gamedev Mixer. Мацук Василь: "Оптимізація розробки 3D"
Gamedev Mixer. Мацук Василь: "Оптимізація розробки 3D"Gamedev Mixer. Мацук Василь: "Оптимізація розробки 3D"
Gamedev Mixer. Мацук Василь: "Оптимізація розробки 3D"
Lviv Startup Club
 
Kuga08 2011 light
Kuga08 2011 lightKuga08 2011 light
Kuga08 2011 lightrukford1
 
Барокко
БароккоБарокко
БароккоAnna
 
090702 электронное правительство
090702 электронное правительство090702 электронное правительство
090702 электронное правительство
Ilya Ponomarev
 
Вертиполох Михаил Ключевые моменты в организации Интернет-магазина продуктов...
Вертиполох Михаил  Ключевые моменты в организации Интернет-магазина продуктов...Вертиполох Михаил  Ключевые моменты в организации Интернет-магазина продуктов...
Вертиполох Михаил Ключевые моменты в организации Интернет-магазина продуктов...GoodsMatrixSPIK
 
сотрудничество
сотрудничествосотрудничество
сотрудничествоEugene Kalinin
 
Как оптимизировать посадочную страницу для посетителей различных этапов ворон...
Как оптимизировать посадочную страницу для посетителей различных этапов ворон...Как оптимизировать посадочную страницу для посетителей различных этапов ворон...
Как оптимизировать посадочную страницу для посетителей различных этапов ворон...
LPgenerator
 
Выращиваем интерфейс своими руками
Выращиваем интерфейс своими рукамиВыращиваем интерфейс своими руками
Выращиваем интерфейс своими руками
Ольга Павлова
 
10 Tips for using the Google Analytics App
10 Tips for using the Google Analytics App10 Tips for using the Google Analytics App
10 Tips for using the Google Analytics App
Loves Data
 
Как продать больше и лучше с помощью онлайн каталога
Как продать больше и лучше с помощью онлайн каталогаКак продать больше и лучше с помощью онлайн каталога
Как продать больше и лучше с помощью онлайн каталога
DialogMarketingDays
 
Непредвиденное и быстро меняющееся поведение клиентов в каталожной и интернет...
Непредвиденное и быстро меняющееся поведение клиентов в каталожной и интернет...Непредвиденное и быстро меняющееся поведение клиентов в каталожной и интернет...
Непредвиденное и быстро меняющееся поведение клиентов в каталожной и интернет...
DialogMarketingDays
 
антон презентация
антон презентацияантон презентация
антон презентацияantoshkinz
 
Usability "на коленке"
Usability "на коленке"Usability "на коленке"
Usability "на коленке"
Ольга Павлова
 
герои легендарных времен
герои легендарных временгерои легендарных времен
герои легендарных временrescensarg
 
псн 170913 редевелопмент_тикова
псн 170913 редевелопмент_тиковапсн 170913 редевелопмент_тикова
псн 170913 редевелопмент_тиковаmertey
 
Calder Zwicky worshop
Calder Zwicky worshopCalder Zwicky worshop
Calder Zwicky worshopDaria Agapova
 
Оптовые продажи натурального Зольнхофенского природного камня по России
Оптовые продажи натурального Зольнхофенского природного камня  по РоссииОптовые продажи натурального Зольнхофенского природного камня  по России
Оптовые продажи натурального Зольнхофенского природного камня по РоссииОлег Никитин
 

Viewers also liked (20)

Design lab empathy project
Design lab empathy projectDesign lab empathy project
Design lab empathy project
 
Gamedev Mixer. Мацук Василь: "Оптимізація розробки 3D"
Gamedev Mixer. Мацук Василь: "Оптимізація розробки 3D"Gamedev Mixer. Мацук Василь: "Оптимізація розробки 3D"
Gamedev Mixer. Мацук Василь: "Оптимізація розробки 3D"
 
Kuga08 2011 light
Kuga08 2011 lightKuga08 2011 light
Kuga08 2011 light
 
Osmaci excel
Osmaci excelOsmaci excel
Osmaci excel
 
Барокко
БароккоБарокко
Барокко
 
Mdo stalker obschaya_prezentatsia
Mdo stalker obschaya_prezentatsiaMdo stalker obschaya_prezentatsia
Mdo stalker obschaya_prezentatsia
 
090702 электронное правительство
090702 электронное правительство090702 электронное правительство
090702 электронное правительство
 
Вертиполох Михаил Ключевые моменты в организации Интернет-магазина продуктов...
Вертиполох Михаил  Ключевые моменты в организации Интернет-магазина продуктов...Вертиполох Михаил  Ключевые моменты в организации Интернет-магазина продуктов...
Вертиполох Михаил Ключевые моменты в организации Интернет-магазина продуктов...
 
сотрудничество
сотрудничествосотрудничество
сотрудничество
 
Как оптимизировать посадочную страницу для посетителей различных этапов ворон...
Как оптимизировать посадочную страницу для посетителей различных этапов ворон...Как оптимизировать посадочную страницу для посетителей различных этапов ворон...
Как оптимизировать посадочную страницу для посетителей различных этапов ворон...
 
Выращиваем интерфейс своими руками
Выращиваем интерфейс своими рукамиВыращиваем интерфейс своими руками
Выращиваем интерфейс своими руками
 
10 Tips for using the Google Analytics App
10 Tips for using the Google Analytics App10 Tips for using the Google Analytics App
10 Tips for using the Google Analytics App
 
Как продать больше и лучше с помощью онлайн каталога
Как продать больше и лучше с помощью онлайн каталогаКак продать больше и лучше с помощью онлайн каталога
Как продать больше и лучше с помощью онлайн каталога
 
Непредвиденное и быстро меняющееся поведение клиентов в каталожной и интернет...
Непредвиденное и быстро меняющееся поведение клиентов в каталожной и интернет...Непредвиденное и быстро меняющееся поведение клиентов в каталожной и интернет...
Непредвиденное и быстро меняющееся поведение клиентов в каталожной и интернет...
 
антон презентация
антон презентацияантон презентация
антон презентация
 
Usability "на коленке"
Usability "на коленке"Usability "на коленке"
Usability "на коленке"
 
герои легендарных времен
герои легендарных временгерои легендарных времен
герои легендарных времен
 
псн 170913 редевелопмент_тикова
псн 170913 редевелопмент_тиковапсн 170913 редевелопмент_тикова
псн 170913 редевелопмент_тикова
 
Calder Zwicky worshop
Calder Zwicky worshopCalder Zwicky worshop
Calder Zwicky worshop
 
Оптовые продажи натурального Зольнхофенского природного камня по России
Оптовые продажи натурального Зольнхофенского природного камня  по РоссииОптовые продажи натурального Зольнхофенского природного камня  по России
Оптовые продажи натурального Зольнхофенского природного камня по России
 

Similar to продвинутый мультисайтинг

азы мультисайтинга
азы мультисайтингаазы мультисайтинга
азы мультисайтингаInna Tuyeva
 
006
006006
006JIuc
 
Moodle с точки зрения пользователя и программиста
Moodle с точки зрения пользователя и программистаMoodle с точки зрения пользователя и программиста
Moodle с точки зрения пользователя и программиста
Igor Sazonov
 
Презентация Игоря Сазонова на IT Global Meetup #5
Презентация Игоря Сазонова на IT Global Meetup #5Презентация Игоря Сазонова на IT Global Meetup #5
Презентация Игоря Сазонова на IT Global Meetup #5
Lilia Smirnova
 
Drupal организация разработки
Drupal   организация разработкиDrupal   организация разработки
Drupal организация разработки
Anna Fedoruk
 
Drupal -organizaciya_razrabotki
Drupal  -organizaciya_razrabotkiDrupal  -organizaciya_razrabotki
Drupal -organizaciya_razrabotkidrupalconf
 
Symfony 3
Symfony 3Symfony 3
история развития бд1
история развития бд1история развития бд1
история развития бд1Sai_17
 
сравнение Drupal и 1с битрикс
сравнение Drupal и 1с битрикссравнение Drupal и 1с битрикс
сравнение Drupal и 1с битриксAndrii Podanenko
 
идеология Drupal 8 уже в drupal 7 вячеслав касихин
идеология Drupal 8 уже в drupal 7 вячеслав касихинидеология Drupal 8 уже в drupal 7 вячеслав касихин
идеология Drupal 8 уже в drupal 7 вячеслав касихинdrupalconf
 
Первое знакомство с MODx revolution
Первое знакомство с MODx revolutionПервое знакомство с MODx revolution
Первое знакомство с MODx revolution
GetDev.NET
 
Спецкурс 2014, занятие 4. Конфиги, сборка, автотесты
Спецкурс 2014, занятие 4. Конфиги, сборка, автотестыСпецкурс 2014, занятие 4. Конфиги, сборка, автотесты
Спецкурс 2014, занятие 4. Конфиги, сборка, автотесты
7bits
 
Drupal и возможности его применения
Drupal и возможности его примененияDrupal и возможности его применения
Drupal и возможности его примененияMedia Gorod
 
Inroducing SAP ABAP - Presentation with basics SAP ABAP
Inroducing SAP ABAP - Presentation with basics SAP ABAPInroducing SAP ABAP - Presentation with basics SAP ABAP
Inroducing SAP ABAP - Presentation with basics SAP ABAP
mikhailshurgulaya
 
005
005005
005JIuc
 
Инфраструктура социального проекта
Инфраструктура социального проектаИнфраструктура социального проекта
Инфраструктура социального проектаMedia Gorod
 
Moodle Overview | Анатолий Бакал
Moodle Overview | Анатолий БакалMoodle Overview | Анатолий Бакал
Moodle Overview | Анатолий Бакал
Anatoliy Bakal
 
Drupal Migrate
Drupal MigrateDrupal Migrate
Drupal Migrate
Andrii Podanenko
 
C# Desktop. Занятие 01.
C# Desktop. Занятие 01.C# Desktop. Занятие 01.
C# Desktop. Занятие 01.
Igor Shkulipa
 

Similar to продвинутый мультисайтинг (20)

азы мультисайтинга
азы мультисайтингаазы мультисайтинга
азы мультисайтинга
 
006
006006
006
 
Moodle с точки зрения пользователя и программиста
Moodle с точки зрения пользователя и программистаMoodle с точки зрения пользователя и программиста
Moodle с точки зрения пользователя и программиста
 
Презентация Игоря Сазонова на IT Global Meetup #5
Презентация Игоря Сазонова на IT Global Meetup #5Презентация Игоря Сазонова на IT Global Meetup #5
Презентация Игоря Сазонова на IT Global Meetup #5
 
Drupal организация разработки
Drupal   организация разработкиDrupal   организация разработки
Drupal организация разработки
 
Drupal -organizaciya_razrabotki
Drupal  -organizaciya_razrabotkiDrupal  -organizaciya_razrabotki
Drupal -organizaciya_razrabotki
 
Symfony 3
Symfony 3Symfony 3
Symfony 3
 
история развития бд1
история развития бд1история развития бд1
история развития бд1
 
сравнение Drupal и 1с битрикс
сравнение Drupal и 1с битрикссравнение Drupal и 1с битрикс
сравнение Drupal и 1с битрикс
 
идеология Drupal 8 уже в drupal 7 вячеслав касихин
идеология Drupal 8 уже в drupal 7 вячеслав касихинидеология Drupal 8 уже в drupal 7 вячеслав касихин
идеология Drupal 8 уже в drupal 7 вячеслав касихин
 
Первое знакомство с MODx revolution
Первое знакомство с MODx revolutionПервое знакомство с MODx revolution
Первое знакомство с MODx revolution
 
Спецкурс 2014, занятие 4. Конфиги, сборка, автотесты
Спецкурс 2014, занятие 4. Конфиги, сборка, автотестыСпецкурс 2014, занятие 4. Конфиги, сборка, автотесты
Спецкурс 2014, занятие 4. Конфиги, сборка, автотесты
 
Drupal и возможности его применения
Drupal и возможности его примененияDrupal и возможности его применения
Drupal и возможности его применения
 
Inroducing SAP ABAP - Presentation with basics SAP ABAP
Inroducing SAP ABAP - Presentation with basics SAP ABAPInroducing SAP ABAP - Presentation with basics SAP ABAP
Inroducing SAP ABAP - Presentation with basics SAP ABAP
 
005
005005
005
 
лекция 2
лекция 2лекция 2
лекция 2
 
Инфраструктура социального проекта
Инфраструктура социального проектаИнфраструктура социального проекта
Инфраструктура социального проекта
 
Moodle Overview | Анатолий Бакал
Moodle Overview | Анатолий БакалMoodle Overview | Анатолий Бакал
Moodle Overview | Анатолий Бакал
 
Drupal Migrate
Drupal MigrateDrupal Migrate
Drupal Migrate
 
C# Desktop. Занятие 01.
C# Desktop. Занятие 01.C# Desktop. Занятие 01.
C# Desktop. Занятие 01.
 

More from Inna Tuyeva

Drupal Camp2009 Asp.Net Vs Drupal
Drupal Camp2009 Asp.Net Vs DrupalDrupal Camp2009 Asp.Net Vs Drupal
Drupal Camp2009 Asp.Net Vs Drupal
Inna Tuyeva
 
порівняння Drupal та Typo3
порівняння Drupal та Typo3порівняння Drupal та Typo3
порівняння Drupal та Typo3Inna Tuyeva
 
Multilangaunguage Drupal
Multilangaunguage DrupalMultilangaunguage Drupal
Multilangaunguage DrupalInna Tuyeva
 
Multilanguage Drupal
Multilanguage DrupalMultilanguage Drupal
Multilanguage DrupalInna Tuyeva
 
D7dev
D7devD7dev
презентация соц сеть на друпале
презентация соц сеть на друпалепрезентация соц сеть на друпале
презентация соц сеть на друпалеInna Tuyeva
 
обслуживание мультисайтинга
обслуживание мультисайтингаобслуживание мультисайтинга
обслуживание мультисайтингаInna Tuyeva
 
разработка модуля для Cms Drupal
разработка модуля для Cms Drupalразработка модуля для Cms Drupal
разработка модуля для Cms DrupalInna Tuyeva
 
Zen
ZenZen

More from Inna Tuyeva (20)

Drupal Camp2009 Asp.Net Vs Drupal
Drupal Camp2009 Asp.Net Vs DrupalDrupal Camp2009 Asp.Net Vs Drupal
Drupal Camp2009 Asp.Net Vs Drupal
 
порівняння Drupal та Typo3
порівняння Drupal та Typo3порівняння Drupal та Typo3
порівняння Drupal та Typo3
 
Multilangaunguage Drupal
Multilangaunguage DrupalMultilangaunguage Drupal
Multilangaunguage Drupal
 
Multilanguage Drupal
Multilanguage DrupalMultilanguage Drupal
Multilanguage Drupal
 
Galleryapi
GalleryapiGalleryapi
Galleryapi
 
Drupal Do
Drupal DoDrupal Do
Drupal Do
 
D7dev
D7devD7dev
D7dev
 
презентация соц сеть на друпале
презентация соц сеть на друпалепрезентация соц сеть на друпале
презентация соц сеть на друпале
 
I Net
I NetI Net
I Net
 
Galleryapi
GalleryapiGalleryapi
Galleryapi
 
Text
TextText
Text
 
обслуживание мультисайтинга
обслуживание мультисайтингаобслуживание мультисайтинга
обслуживание мультисайтинга
 
Arsa
ArsaArsa
Arsa
 
разработка модуля для Cms Drupal
разработка модуля для Cms Drupalразработка модуля для Cms Drupal
разработка модуля для Cms Drupal
 
Drupal Paranoia
Drupal ParanoiaDrupal Paranoia
Drupal Paranoia
 
Paranoia
ParanoiaParanoia
Paranoia
 
Drupal Paranoia
Drupal ParanoiaDrupal Paranoia
Drupal Paranoia
 
Drupal Paranoia
Drupal ParanoiaDrupal Paranoia
Drupal Paranoia
 
Dc P
Dc PDc P
Dc P
 
Zen
ZenZen
Zen
 

продвинутый мультисайтинг

Editor's Notes

  1. Что такое мультисайтинг и зачем он нужен. Друпал не проектировался для мультисайтинга с общими пользователями и/или контентом — причины и последствия использования мультисайтинга.
  2. filters и filter_formats — форматы ввода. Можно делать общими. Если на одном из сайтов будет использоваться специфичный формат ввода, которого не должно быть на других сайтах - не делать общими. locales_* — переводы. Таблицы обычно имеют большой размер. Делать общими можно при условии, что для всех сайтов используется одинаковый перевод. role — роли на сайте (анонимный, зарегистрированный, модератор, админ). Можно делать общими. permission — права ролей на хуки, предоставляемые модулями. Можно делать общими. users — пользователи сайта. users_roles — роли пользователей сайта.
  3. access — блокировка по IP, имени пользователя, e-mail. Если блокировка не используется, то можно смело делать общей. Для крупных сайтов можно разделить. authmap — таблица для внешних аутентификаций (LDAP, OpenID). Если не используется внешняя аутентификация — можно смело делать общей (пустая таблица). Если же используется, то делать общими если нужно сделать объединение пользователей. flood — таблица используется для ограничения количества запусков определеных участков кода в основном для предотврацения спама - N запусков в час. Используется для этих целей многими модулями, которые, например, которые делают рассылку (email, feedback, ass_contact, forward), а также модулем Contact. system — инфа о установленных модулях и темах. Объединяю, предварительно закинув нужные файлы в /sites/all/modules и /sites/all/themes. sessions — сеансы пользователей.Делать общими нужно, чтобы пользователи могли быть залогинеными на нескольких сайтах одновременно. См. Общая база пользователей в мультисайтинге In my opinion, the 'sessions' table should not be shared! Otherwise users logged in at one site are shown at all sites as logged in. Moreover, a certain user logged in at two sites is shown twice at all sites. Keeping the sessions table individual prevents this. Are there other arguments to share the table?
  4. comments — комментарии. files и file_revisions — файлы. node и node_* — контент сайта. term_* — термины таксономии. view_* — виды. vocabulary и vocabulary_node_types — словари таксономии.
  5. blocks — таблица блоков у сайта. Название блока, где отображается, вес, и т.п. blocks_roles — доступ ролей к блокам. boxes — текст (код) самого блока. cache и cache_* — кэши. history — используется для форумов, последние непрочитанные сообщения. Если на сайтах не будет форумов — можно объединить. См. Общий контент в мультисайтинге. menu — меню сайта. sequences — информация о количестве нод, комментариев, пользователей. В Drupal 6 отсутствует, так как в таблицах введен автоинкремент для id. См. Общий контент в мультисайтинге и Общая база пользователей в мультисайтинге. Лучше разделить. url_alias и url_alias_extra — алиасы, ЧПУ, чистые ссылки. См. Общий контент в мультисайтинге и Общая база пользователей в мультисайтинге. Для себя выбрал вариант — не совмещать. variable — переменные сайта. Из-за присутствия специфичных переменных, вроде site_name (имя сайта), site_slogan, theme_default, pathauto_* совместить не получится. watchdog — журнал ошибок сайта. Совместить можно, но крайне нежелательно, ибо при большом количестве сайтов в админке сложно смотреть такие журналы — всё валится в одну кучу. В PhpMyAdmin можно будет задать фильтр по столбцу location, но это не удобно.
  6. blocks — таблица блоков у сайта. Название блока, где отображается, вес, и т.п. blocks_roles — доступ ролей к блокам. boxes — текст (код) самого блока. cache и cache_* — кэши. history — используется для форумов, последние непрочитанные сообщения. Если на сайтах не будет форумов — можно объединить. См. Общий контент в мультисайтинге. menu — меню сайта. sequences — информация о количестве нод, комментариев, пользователей. В Drupal 6 отсутствует, так как в таблицах введен автоинкремент для id. См. Общий контент в мультисайтинге и Общая база пользователей в мультисайтинге. Лучше разделить. url_alias и url_alias_extra — алиасы, ЧПУ, чистые ссылки. См. Общий контент в мультисайтинге и Общая база пользователей в мультисайтинге. Для себя выбрал вариант — не совмещать. variable — переменные сайта. Из-за присутствия специфичных переменных, вроде site_name (имя сайта), site_slogan, theme_default, pathauto_* совместить не получится. watchdog — журнал ошибок сайта. Совместить можно, но крайне нежелательно, ибо при большом количестве сайтов в админке сложно смотреть такие журналы — всё валится в одну кучу. В PhpMyAdmin можно будет задать фильтр по столбцу location, но это не удобно.
  7. При объединении пользователей и сеансов блок "Сейчас на сайте" будет показывать одного и того же пользователя на всех сайтах мультисайтинга, поэтому использовать его будет нельзя.
  8. При объединении пользователей и сеансов блок "Сейчас на сайте" будет показывать одного и того же пользователя на всех сайтах мультисайтинга, поэтому использовать его будет нельзя.
  9. Модуль Shared Sign-On не обновлялся уже почти год и в данный момент считается заброшенным: http://drupal.org/node/463408 «Mark singlesignon as abandoned».
  10. Обратите внимание: если делать контент общим и показывать его на всех сайтах, то будет дублированный контент на разных сайтах. Это не любят ни люди, ни поисковики. Решение проблемы дублированного контента при общем контенте в мультисайтинге: Разделить контент по типам материалов и на каждом сайте выводить определенный тип материала модулем Views или сниппетом.
  11. http://drupal.org/node/132361#comment-222070 «Pretty much what you had» - комментарий Cloudy о том, какие таблицы нужно делать общими для общей базы пользователей.