2010-01-19 33 views
0

我已經在DNN上創建了一個自定義模塊並創建了它的包,但是當我將它與其他一些DNN應用程序集成時,我需要手動創建其所需的數據庫以使該模塊與該站點一起工作。 是否有可能創建一個包時,它可以自動創建其數據庫時,將其與其他應用程序集成。我需要一個點擊部署,用戶只需要廣告該包,我的模塊應該開始工作..是否有可能將dot net nuke自定義模塊與數據庫腳本打包在一起?

回答

0

最簡潔的答案是不。部署DNN模塊的一部分是數據庫腳本,但也需要部署.ascx文件和其他資源以供模塊用於Web服務器。

有關模塊開發的信息,您可能需要查看這裏 - http://www.dotnetnuke.com/Support/Documentation/DownloadableFiles/tabid/478/Default.aspx - 模塊開發指南提供了一些關於打包您的模塊以供其他DNN站點使用的信息。

+0

是的,我知道它需要.ascx文件和其他resources.Even我已經部署了它和它的工作fine.but的問題只是,目前,我創建模塊數據庫manuallay,但我想這是一個部分的包,這樣就不再需要手動創建數據庫,模塊只需簡單的安裝即可工作。 – 2010-01-19 16:12:32

0

法魯克,

我不知道,如果你想創建一個全新的數據庫和相關的模式,或者如果你只是將對象(表,存儲過程,視圖等),以現有的DotNetNuke的數據庫.. ..但...

假設你想要添加到現有的數據庫,那麼你可以簡單地包括對象創建腳本,在什麼是在DNN模塊開發領域的術語,一個的SqlDataProvider文件。

在您的模塊安裝過程中,DotNetNuke將讀取這些文件的內容並根據DNN數據庫執行它們,從而創建模塊所需的模式。

請注意,有一個過程,你必須經歷,以確保這些文件被正確的DNN執行,具體如下:

  1. 確保您在您的DNN體現
  2. 各的SqlDataProvider文件條目
  3. 請確保您使用適當的版本前綴命名.SQLDataProvider文件(例如,如果您的模塊版本在01.00.01,那麼您的SQLDataProvider文件名應該是01.00.01.SQLDataprovider) - DNN將根據比較安裝/升級你已經安裝了什麼,以及你正在安裝什麼,它會執行相應的腳本來使模塊保持最新狀態。 我建議你看看DotNetNuke StarterKit。這是一個Visual Studio模板生成器,它將創建一個完整的基線DotNetNuke模塊項目,其中包括上面討論的SQLDataProvider文件。

現在,如果您嘗試創建一個全新的數據庫,那麼您應該以不同的方式處理這種情況。有很多方法可以做到這一點,並且爲了爭辯,這裏是一個:

  1. 在您的模塊(和編輯屏幕)中創建一個ADMIN ONLY屏幕。
  2. 在此ADMIN控件中,添加連接字符串創建過程。這樣管理員就可以配置該模塊所需的附加連接字符串。 (如果要將它存儲在DNN設置中,您應該實施基本的安全實踐並對其進行加密)
  3. 添加一個按鈕,該按鈕觸發您自己的自定義數據對象創建過程,該過程將根據您在步驟2中創建的連接字符串執行。

我希望這有助於你正在努力完成的任務。

乾杯。

相關問題