Можно ли упаковать пользовательский модуль dot net nuke со скриптом базы данных? - PullRequest
0 голосов
/ 19 января 2010

Я создал пользовательский модуль для DNN и создал его пакет, но когда я интегрировал его с другим приложением DNN, мне нужно было вручную создать необходимую базу данных, чтобы этот модуль работал с этим сайтом. Можно ли создать пакет таким образом, чтобы он мог автоматически создавать свою базу данных при интеграции его с другими приложениями. Мне нужно развертывание в один клик, когда пользователю просто нужно объявить этот пакет, и мой модуль должен начать работать ..

Ответы [ 2 ]

0 голосов
/ 20 января 2010

Farrukh,

Я не уверен, пытаетесь ли вы создать совершенно новую базу данных и связанные схемы, или вы просто добавляете объекты (таблицы, sprocs, представления и т. Д.) В существующую базу данных DotNetNuke.... но ...

Предполагая, что вы хотите ДОБАВИТЬ в существующую базу данных, вы можете просто включить сценарии создания объекта в то, что называется в мире разработки модуля DNN, SQLDataProvider file.

Во время процесса установки вашего модуля DotNetNuke считывает содержимое этих файлов и выполняет их в базе данных DNN, создавая схему, требуемую вашим модулем.

Пожалуйстаобратите внимание, что есть процесс, который вы должны пройти, чтобы убедиться, что эти файлы правильно выполняются DNN, а именно:

  1. Убедитесь, что вы включили каждую запись файла SQLDataProvider в манифест DNN
  2. Убедитесь, что вы назвали свой файл .SQLDataProvider с соответствующим префиксом версии (например, если ваш модульв версии 01.00.01, тогда имя вашего файла SQLDataProvider должно быть 01.00.01.SQLDataprovider) - DNN установит / обновит на основе сравнения того, что у вас уже установлено, VS и того, что вы устанавливаете, и выполнит соответствующий скриптобновить модуль.Я бы посоветовал вам взглянуть на DotNetNuke StarterKit.Это генератор шаблонов Visual Studio, и он создаст весь базовый проект модуля DotNetNuke, который включает файлы SQLDataProvider, которые я обсуждал выше.

Теперь, если вы пытаетесь СОЗДАТЬ совершенно новую базу данных, то вам следуетвероятно, подходить к ситуации немного по-другому.Есть несколько способов сделать это, и в качестве аргумента, вот один из них:

  1. Создание экрана ТОЛЬКО ADMIN в вашем модуле (и экране редактирования).
  2. В этом элементе управления ADMIN вы добавляете процесс создания строки подключения.Это позволяет администратору настроить дополнительную строку подключения, необходимую для этого модуля.(Вы должны внедрить базовые методы безопасности и зашифровать их, если собираетесь хранить их в настройках DNN)
  3. Добавить кнопку, которая запускает ваш собственный процесс создания пользовательских объектов данных, который будет выполняться для строки подключения, созданной вамиШаг 2.

Надеюсь, это поможет вам добиться того, чего вы пытаетесь достичь.

Приветствия.

0 голосов
/ 19 января 2010

Короткий ответ - нет. Частью развертывания модуля DNN являются сценарии базы данных, но также необходимо развернуть файлы .ascx и другие ресурсы для использования модулем на веб-сервере.

Информацию о разработке модулей вы можете посмотреть здесь - http://www.dotnetnuke.com/Support/Documentation/DownloadableFiles/tabid/478/Default.aspx - руководство по разработке модулей содержит немного информации по упаковке ваших модулей для использования на других сайтах DNN.

...