Настройка KooBoo для использования базы данных MSSQL или MongoDB


25.02.2012 || Раздел: || Настройка KooBoo || MS SQL Server || Контент KooBoo || Установка KooBoo


Версия KooBoo на момент написания статьи: 3.1

По умолчанию (при установке), система Kooboo CMS в качестве хранилища данных использует XML. Это подходит для сайтов с лимитированным контентом, например, таких как небольшие бизнес сайты-визитки. Для крупных сайтов следует рассмотреть возможность использования других контент-провайдеров.

Система Kooboo поддерживает MSSQL Server, SQLCE, MySQL and MongDB.

Примечание: насколько мне удалось выяснить опытным путем Kooboo поддерживает работу только с одним провайдером в один момент времени. Т.е. нельзя сделать один сайт на XML, а другой на MSSQL. Соответственно при перенастройке провайдера сайты на предыдущем провайдере работать перестанут.

Чтобы настроить Kooboo для работы с каким либо провайдером, скачайте файл - Content_Providers.zip  с сайта - kooboo.codeplex.com.

Распаковав архив, вы увидите следующие папки провайдеров:

Внимание! Описанные здесь способы настройки позволят перенести на другие источники данных только контент сайта, но не учетные записи пользователей. Аккаунты по прежнему останутся на провайдере XML.

О том как перенести пользователей на базу SQL Server читайте в будущих статьях.

Миграция уже существующего сайта

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

Как использовать провайдеры данных

Чтобы использовать определенный провайдер данных, скопируйте все файлы из папки необходимого провайдера (которые располагались в вышеназванном архиве) в папку "bin" системы KooBoo.

1) Если вы использовали провайдер по умолчанию (XML), то просто скопируйте файлы как сказано выше в папку  "bin"

2) Если вы уже использовали другой провайдер данных (помимо XML), вам необходимо сначала удалить предыдущего провайдера и все связанные с ним библиотеки (dll), особенно файл:

Kooboo.CMS.Content.Persistence.{providername}.dll

Уровень доверия (trust level)  установка базы данных на сервер

Провайдер SQLCE требует для работы полного уровня доверия (full trust level). Клиент-серверный режим MongoDB требует ручной установки на экземпляр сервера.

Конфигурационные файлы для каждого провайдера данных

Для SQLServer, MongoDB вы найдете файл .config внутри каждой папки. Вы можете скопировать этот конфигурационный файл в корневую папку веб-проекта системы KooBoo и подкорректировать нужные значения в нем.

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

Внимание! Выше обозначенный  абзац - перевод с оффсайта. Но опытным путем мне удалось установить (по крайней мере на дату написания этой статьи), что конфигурационный файл нужно копировать в ту же директорию "bin".

Конфигурационные файлы содержат следующие значения:

SQLServer.config

Может выглядеть так:


Или, например, так:

SharingDatabase: Будет ли репозиторий (хранилище) контента использовать одну базу данных (БД) или каждое хранилище будет иметь собственную БД. 

Connections: Хранилище нескольких строк подключений для каждой БД в индивидуальном режиме.
Name: наименование БД определенного контента.

SharingDatabaseConnectionString: В случае, если используется одна БД, здесь указывается строка подключения к ней.

CreateDatabaseSetting: В случае, если каждое хранилище контента использует собственную БД, то здесь указывается строка подключения, которая будет использоваться для создания каждой БД.

Таким образом вам следует указать нужное подключение или в значении SharingDatabaseConnectionString или в значении CreateDatabaseSetting

SQLCe не имеет конфигурационных настроек. Kooboo сохраняет все db-файлы в соответствующей директории. 

 

MongoDB.config

ConnectionString: строка подключения к MongoDB, по умолчанию: mongodb://localhost

SharingDatabase: Будет ли репозиторий (хранилище) контента использовать одну базу данных (БД) или каждое хранилище будет иметь собственную БД.  По умолчанию - нет (false).

Перевод и редактура статьи: ©Элла (Автор: Ella Sea)

Материалы, используемые для подготовки данной статьи: http://www.kooboo.com/Documents/Detail/CMS/v3/MSSQL-SQLCE-RavenDB-and-MongoDB

< Предыдущая статья

Создание базы данных в MS SQL Server 2008 R2 для хранения контента CMS KooBoo

Следующая статья >

Ограничение на доступ анонимным пользователям при помощи view