SlideShare a Scribd company logo
Азы мультисайтинга
План доклада Принципы мультисайтинга
Отдельный robots.txt для каждого сайта
Перевод
Обзор таблиц базы данных Таблицы, которые  можно смело делать общими
Таблицы, которые  можно делать общими при необходимости и осторожно
Таблицы, которые  делать общими опасно
Таблицы, которые  НЕЛЬЗЯ делать общими
Таблицы, которые можно смело делать общими filters и filter_formats   — форматы ввода.
locales_*   — строки переводов.
role  — роли на сайте.
permission   — права ролей на хуки, предоставляемые модулями.
users   — пользователи сайта.
users_roles  — роли пользователей сайта.
Таблицы, которые можно делать общими при необходимости access  — блокировка по IP, имени пользователя, e-mail.
authmap  — таблица для внешних аутентификаций (LDAP, OpenID).
flood  —  ограничение количества запусков определеных участков кода.
system  — данные про установленные модули и темы.
sessions  — сеансы пользователей.
Таблицы, которые делать общими опасно comments  — комментарии.
files и file_revisions  — файлы.
node и node_*  — контент сайта.
term_*  — термины таксономии.
view_*  — виды.

More Related Content

PPT
Продвинутый мультисайтинг
PDF
Relational databases versioning
ODP
Права доступа в Drupal
PPTX
Белов наиболее часто уязвимые места в веб приложениях
PDF
Ограничение доступа в ruby on rails
PDF
Flask, rest and data
PDF
01 - Web-технологии. Архитектура Web приложений
PPTX
09 server mgmt_ii_ru
Продвинутый мультисайтинг
Relational databases versioning
Права доступа в Drupal
Белов наиболее часто уязвимые места в веб приложениях
Ограничение доступа в ruby on rails
Flask, rest and data
01 - Web-технологии. Архитектура Web приложений
09 server mgmt_ii_ru

Similar to Азы мультисайтинга (20)

PPT
продвинутый мультисайтинг
PPT
006
PPT
Drupal организация разработки
PPT
Drupal -organizaciya_razrabotki
PDF
Презентация Игоря Сазонова на IT Global Meetup #5
PDF
Moodle с точки зрения пользователя и программиста
PPT
Инфраструктура социального проекта
PPT
история развития бд1
PPTX
Первое знакомство с MODx revolution
PDF
Спецкурс 2014, занятие 4. Конфиги, сборка, автотесты
PPTX
Inroducing SAP ABAP - Presentation with basics SAP ABAP
PPT
идеология Drupal 8 уже в drupal 7 вячеслав касихин
PDF
сравнение Drupal и 1с битрикс
PPT
Drupal и возможности его применения
PPT
Drupal Migrate
DOC
005
PPT
лекция 2
PPTX
FFCMS - вводная для пользователя
PPTX
Genome
продвинутый мультисайтинг
006
Drupal организация разработки
Drupal -organizaciya_razrabotki
Презентация Игоря Сазонова на IT Global Meetup #5
Moodle с точки зрения пользователя и программиста
Инфраструктура социального проекта
история развития бд1
Первое знакомство с MODx revolution
Спецкурс 2014, занятие 4. Конфиги, сборка, автотесты
Inroducing SAP ABAP - Presentation with basics SAP ABAP
идеология Drupal 8 уже в drupal 7 вячеслав касихин
сравнение Drupal и 1с битрикс
Drupal и возможности его применения
Drupal Migrate
005
лекция 2
FFCMS - вводная для пользователя
Genome
Ad

More from Drupal Camp Kyiv (20)

PDF
DrupalCamp Kyiv 2009 Official Report
PPT
Что нового в Drupal 7
PPT
Безопасный код
PPTX
1day Opening
PPTX
2day Opening
PPTX
How to Make a Barcamp
RTF
Текст доклада о разработке плагина к модулю ССК
ODP
Обслуживание мультисайтинга
ODP
Разработка соц. сети на Друпале
PPTX
За что мы ненавидим Drupal
PPT
Многоязычие сайта на Drupal
PPT
Gallery API
PPT
Drupal Do
PPT
Drupal 7 development: first impressions
PPT
Drupal on ASP.Net
PPT
Веб-аналитика в Drupal2
PPT
Веб-аналитика в Drupal1
PPTX
Who is here? DrupalCamp Kyiv 2009 opening
PPT
Разработка модуля для Cms Drupal
DrupalCamp Kyiv 2009 Official Report
Что нового в Drupal 7
Безопасный код
1day Opening
2day Opening
How to Make a Barcamp
Текст доклада о разработке плагина к модулю ССК
Обслуживание мультисайтинга
Разработка соц. сети на Друпале
За что мы ненавидим Drupal
Многоязычие сайта на Drupal
Gallery API
Drupal Do
Drupal 7 development: first impressions
Drupal on ASP.Net
Веб-аналитика в Drupal2
Веб-аналитика в Drupal1
Who is here? DrupalCamp Kyiv 2009 opening
Разработка модуля для Cms Drupal
Ad

Азы мультисайтинга

Editor's Notes

  • #2: Что такое мультисайтинг и зачем он нужен. Друпал не проектировался для мультисайтинга с общими пользователями и/или контентом — причины и последствия использования мультисайтинга.
  • #5: filters и filter_formats — форматы ввода. Можно делать общими. Если на одном из сайтов будет использоваться специфичный формат ввода, которого не должно быть на других сайтах - не делать общими. locales_* — переводы. Таблицы обычно имеют большой размер. Делать общими можно при условии, что для всех сайтов используется одинаковый перевод. role — роли на сайте (анонимный, зарегистрированный, модератор, админ). Можно делать общими. permission — права ролей на хуки, предоставляемые модулями. Можно делать общими. users — пользователи сайта. users_roles — роли пользователей сайта.
  • #6: 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?
  • #7: comments — комментарии. files и file_revisions — файлы. node и node_* — контент сайта. term_* — термины таксономии. view_* — виды. vocabulary и vocabulary_node_types — словари таксономии.
  • #8: 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, но это не удобно.
  • #9: 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, но это не удобно.
  • #17: При объединении пользователей и сеансов блок "Сейчас на сайте" будет показывать одного и того же пользователя на всех сайтах мультисайтинга, поэтому использовать его будет нельзя.
  • #18: При объединении пользователей и сеансов блок "Сейчас на сайте" будет показывать одного и того же пользователя на всех сайтах мультисайтинга, поэтому использовать его будет нельзя.
  • #20: Модуль Shared Sign-On не обновлялся уже почти год и в данный момент считается заброшенным: http://drupal.org/node/463408 «Mark singlesignon as abandoned».
  • #22: Обратите внимание: если делать контент общим и показывать его на всех сайтах, то будет дублированный контент на разных сайтах. Это не любят ни люди, ни поисковики. Решение проблемы дублированного контента при общем контенте в мультисайтинге: Разделить контент по типам материалов и на каждом сайте выводить определенный тип материала модулем Views или сниппетом.
  • #25: http://drupal.org/node/132361#comment-222070 «Pretty much what you had» - комментарий Cloudy о том, какие таблицы нужно делать общими для общей базы пользователей.