Пошаговая инструкция по переносу содержимого KooBoo с XML на SQL Server 2008 R2


24.07.2012 || Раздел: || Настройка KooBoo || Контент KooBoo


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

Цель: Настроить существующий сайт KooBoo на хранение содержимого (контента) в одной базе данных (БД), созданной в MS SQL Server 2008 R2.

Ход выполнения:

  1. Создание базы данных в MS SQL Server 2008 R2
  2. Экспорт существующего контента на сайте в zip-архив (если сайт новый, то можно пропустить этот шаг)
  3. Скачивание и копирование файлов провайдера SQLServer, настройка подключения
  4. Запуск сайта и импорт данных

1) Создание базы данных в MS SQL Server 2008 R2 (если уже есть, пропустите этот шаг).

Создайте базу данных, где в дальнейшем Вы планируете хранить содержимое сайта KooBoo.

См. Пример создания базы данных  в MS SQL Server 2008 R2  и пользователя  с соответствующими правами для хранения контента CMS KooBoo с помощью Microsoft SQL Server Management Studio

В итоге данного этапа у вас должны быть, например, следующие данные:

  • Название сервера - DATASERVER
  • Название БД - KooBooCMS
  • Имя и пароль пользователя БД (с правами owner) - KooBooCMSUser (пароль 1234567)

2) Экспорт существующего контента на сайте. Если сайт новый, то можно пропустить этот шаг.

В раскрывающемся списке нужного сайта в панели администрирования выберите пункт "Export" ("Выгрузить").

выгрузка контента kooboo

Контент будет выгружен в zip-архив (также будут выгружены настройки, темы и т.п. персонализация сайта) в указанную вами директорию.

3)  Скачиваем файл Content_Providers.zip с сайта - kooboo.codeplex.com. Распаковываем.

Нас интересуют только файлы из папки SQLServer.

файлы sql провайдера

Файл SQLServer.config открываем в любом текстовом редакторе и указываем там данные для подключения к БД.

Подробнее о настройке этого файла здесь - Настройка KooBoo для использования базы данных MSSQL (Microsoft SQL Server) или MongoDB

В данном примере текст файла будет примерно следующим.

Т.к. мы будем использовать только одну базу для всего контента, то и строка подключения одна.

Файлы Kooboo.CMS.Content.Persistence.SQLServer.dll  и  SQLServer.config копируем в папку "bin" системы KooBoo.

4) Перезапуск сайта и импорт данных

Теперь, чтобы KooBoo принял новые настройки, необходимо перезапустить веб-сайт.
Чтобы сделать это, например в IIS 7, выберите ваш сайт и в контекстном меню в пункте Manage Web Site выберите Restart.

Теперь запускаем административную страницу сайта, которая располагается по адресу: http://<домен_сайта>/admin

Удаляем все сайты, которые здесь есть, т.к. они были созданы с предыдущим провайдером, доступ к ним вы уже не получите.

Создаем новый сайт (если проект "с нуля") или делаем импорт раннее выгруженного сайта.

Для создания нового сайта нажмите кнопку "Create a new site" ("Создать новый сайт") и укажите имя сайта, базу данных (из файла SQLServer.config), остальные поля можно оставить по умолчанию.

создание сайта kooboo

Для импорта сайта (если вы заранее выгрузили его в файл) нажмите кнопку "Import sites" ("Загрузить сайты"), укажите имя сайта, базу данных (из файла SQLServer.config) и выберите файл с сайтом.

В итоге этих операций (если сайт был с данными по умолчанию) в БД SQL Server будут созданы следующие таблицы:

Теперь запускаем сайт, чтобы проверить работу нового провайдера.

Для этого в раскрывающемся меню сайта выбираем пункт "Preview" ("Предпросмотр"). Если все прошло успешно, вы увидите контент сайта.

При запуске или создании сайта могут возникнуть следующие ошибки:

1) System.Data.SqlClient.SqlException: A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified)

Возможные причины:

  1. Неверные данные в конфигурационном файле SQLServer.config. Решение: проверьте строку подключения, варианты написания строк можно увидеть здесь - http://www.connectionstrings.com/sql-server-2008
  2. KooBoo не находит конфигурационный файл SQLServer.config. Решение: попробуйте перенести файл SQLServer.config в корневой каталог сайта.

Также может возникнуть например такая ошибка:

2) System.Data.SqlClient.SqlException: Invalid object name '<имя базы>.Article'.

Возможные причины: Вы удалили какие-либо таблицы из базы после создания сайта и KooBoo не может их найти. Решение: удалите папку с названием базы из директории Cms_Data\Contents и вновь создайте/импортируйте сайт.

Примечание: т.к. в конфигурационном файле SQLServer.config мы указали, что нужно работать только с одной базой, то сколько бы сайтов вы не создали, все они будут работать с одним и тем же контентом. В нашем примере предполагается, что в дальнейшем мы будем работать только с одним сайтом.

Чтобы каждый сайт работал со своим контентом, нужно соответственно настроить файл SQLServer.config и при создании сайта указывать соответствующее имя БД.

©Элла (Автор: Ella Sea)

См. также http://wiki.kooboo.com/?wiki=Switch_content_database

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

Включение и настройка filestream на уже существующей БД при помощи визуального интерфейса MS SQL Server Management Studio

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

Транслит строки из кириллицы в латиницу на JavaScript