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

Internet Initiatives
Aug. 28, 2009
Продвинутый мультисайтинг
Продвинутый мультисайтинг
Продвинутый мультисайтинг
Продвинутый мультисайтинг
Продвинутый мультисайтинг
Продвинутый мультисайтинг
Продвинутый мультисайтинг
Продвинутый мультисайтинг
Продвинутый мультисайтинг
Продвинутый мультисайтинг
Продвинутый мультисайтинг
Продвинутый мультисайтинг
Продвинутый мультисайтинг
Продвинутый мультисайтинг
Продвинутый мультисайтинг
Продвинутый мультисайтинг
Продвинутый мультисайтинг
Продвинутый мультисайтинг
Продвинутый мультисайтинг
Продвинутый мультисайтинг
Продвинутый мультисайтинг
Продвинутый мультисайтинг
Продвинутый мультисайтинг
Продвинутый мультисайтинг
Продвинутый мультисайтинг
1 of 25

More Related Content

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

азы мультисайтингаазы мультисайтинга
азы мультисайтингаInna Tuyeva
006006
006JIuc
Moodle с точки зрения пользователя и программистаMoodle с точки зрения пользователя и программиста
Moodle с точки зрения пользователя и программистаIgor Sazonov
Презентация Игоря Сазонова на IT Global Meetup #5Презентация Игоря Сазонова на IT Global Meetup #5
Презентация Игоря Сазонова на IT Global Meetup #5Lilia Smirnova
Drupal   организация разработкиDrupal   организация разработки
Drupal организация разработкиAnna Fedoruk
Drupal  -organizaciya_razrabotkiDrupal  -organizaciya_razrabotki
Drupal -organizaciya_razrabotkidrupalconf

More from Drupal Camp Kyiv

DrupalCamp Kyiv 2009 Official ReportDrupalCamp Kyiv 2009 Official Report
DrupalCamp Kyiv 2009 Official ReportDrupal Camp Kyiv
Что нового в Drupal 7Что нового в Drupal 7
Что нового в Drupal 7Drupal Camp Kyiv
Безопасный кодБезопасный код
Безопасный кодDrupal Camp Kyiv
1day Opening1day Opening
1day OpeningDrupal Camp Kyiv
2day Opening2day Opening
2day OpeningDrupal Camp Kyiv
How to Make a BarcampHow to Make a Barcamp
How to Make a BarcampDrupal Camp Kyiv

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

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 о том, какие таблицы нужно делать общими для общей базы пользователей.