Upload
inna-tuyeva
View
483
Download
2
Embed Size (px)
Citation preview
Продвинутый мультисайтинг
2
План доклада
Обзор таблиц базы данных Методы объединения таблиц сайтов Мультисайтинг с общими пользователями Общий логин (аутентификация) Мультисайтинг с общим контентом
3
Обзор таблиц базы данных Таблицы, которые можно смело делать
общими Таблицы, которые можно делать общими
при необходимости и осторожно Таблицы, которые делать общими опасно Таблицы, которые НЕЛЬЗЯ делать общими
4
Таблицы, которые можно смело делать общими
filters и filter_formats — форматы ввода. locales_* — строки переводов. role — роли на сайте. permission — права ролей на хуки,
предоставляемые модулями. users — пользователи сайта. users_roles — роли пользователей сайта.
5
Таблицы, которые можно делать общими при необходимости
access — блокировка по IP, имени пользователя, e-mail.
authmap — таблица для внешних аутентификаций (LDAP, OpenID).
flood — ограничение количества запусков определеных участков кода.
system — данные про установленные модули и темы.
sessions — сеансы пользователей.
6
Таблицы, которые делать общими опасно
comments — комментарии. files и file_revisions — файлы. node и node_* — контент сайта. term_* — термины таксономии. view_* — виды. vocabulary и vocabulary_node_types —
словари таксономии.
7
Таблицы, которые НЕЛЬЗЯ делать общими (1)
blocks — таблица блоков сайта. blocks_roles — доступ ролей к блокам. boxes — текст (код) блоков. cache и cache_* — кэши. history — последние непрочитанные
сообщения (Drupal 5). menu — меню сайта (Drupal 5).
8
Таблицы, которые НЕЛЬЗЯ делать общими (2)
sequences — внутренний счетчик нод, комментариев, пользователей.
url_alias и url_alias_extra — алиасы, ЧПУ, чистые ссылки.
variable — переменные сайта. watchdog — журнал ошибок сайта.
9
План доклада
Обзор таблиц базы данных Методы объединения таблиц сайтов Мультисайтинг с общими пользователями Общий логин (аутентификация) Мультисайтинг с общим контентом
10
Методы объединения таблиц сайтов
Использовать префиксы таблиц Использовать разные базы данных
Использование префиксов таблиц (1)
Для таблиц отдельного сайта задаётся свой префикс таблиц:
Для общих таблиц используется общий префикс:
site1_system
shared_users
Использование префиксов таблиц (2)
Префикс задаётся в файле settings.php:
$db_prefix = array(
'default' => 'site1_',
'users' => 'shared_',
'sessions' => 'shared_',
// Перечислить все общие таблицы...
'role' => 'shared_',
);
Использование разных баз данных (1)
Подключение к базе обычно задаётся в файле settings.php так:
$db_url = 'mysqli://user:password@localhost/site1';$db_prefix = '';
Использование разных баз данных (2)
Вместо префикса указываем имя базы данных:
$db_url = 'mysqli://user:password@localhost/site1';
$db_prefix = array(
'default' => '',
'authmap' => 'shared.',
// Перечислить все общие таблицы...
'users' => 'shared.',
);
15
План доклада
Обзор таблиц базы данных Методы объединения таблиц сайтов Мультисайтинг с общими пользователями Общий логин (аутентификация) Мультисайтинг с общим контентом
16
Мультисайтинг с общими пользователями (1)
Нужно сделать общими таблицы: users sessions authmap
Если используется модуль profile - нужно сделать общими:
profile_fields profile_values
17
Мультисайтинг с общими пользователями (2)
Общие пользователи, роли и права доступа: users users_roles role permission sessions url_alias url_alias_extra
18
План доклада
Обзор таблиц базы данных Методы объединения таблиц сайтов Мультисайтинг с общими пользователями Общий логин (аутентификация) Мультисайтинг с общим контентом
19
Общий логин (аутентификация)
Модуль Shared Sign-On(http://drupal.org/project/singlesignon)
В settings.php указать:
ini_set('session.name', 'mysite_PHPSESSID');
20
План доклада
Обзор таблиц базы данных Методы объединения таблиц сайтов Мультисайтинг с общими пользователями Общий логин (аутентификация) Мультисайтинг с общим контентом
21
Мультисайтинг с общим контентом
Делаем общими таблицы: comments files file_revisions history node node_*
term_* view_* vocabulary vocabulary_node_types
22
План доклада
Обзор таблиц базы данных Методы объединения таблиц сайтов Мультисайтинг с общими пользователями Общий логин (аутентификация) Мультисайтинг с общим контентом
Спасибо за внимание!Спасибо за внимание!
23
Полезные ссылки (1)
http://www.razgonka.ru/multisiting«Мультисайтинг — это просто»
http://drupal.ru/node/6226 «Мультисайтинг на Друпале — это круто!»
http://drupalcookbook.ru/node/335«Установка мультисайтинга с общими таблицами»
http://webdevgeeks.com/schemaspy/index.html«Схема БД Drupal 5»
24
Полезные ссылки (2)
http://drupal.org/node/132361#comment-222070 «Pretty much what you had»
http://groups.drupal.org/node/11795«D5 Shared database - sharing all but theming/layout/navigation»
http://devbee.com/user_sequence_gotcha«user sequence gotcha»
http://drupal.org/node/291373«Multi-site with single codebase, different content databases, shared user database, shared sign-on»