2015-05-19 61 views
4

我是.NET開發人員團隊的一員,我們嘗試使用DNN平臺作爲創建網站模板的方式,以便我們不必花費數週或數月的時間核心功能,如身份驗證,權限,導航等。但是,我對這個平臺如何工作以及它的安裝方式感到非常困惑。我花了很多時間在網上搜索http://www.dnnsoftware.com/以及其他網站,這隻會增加我的困惑。以下是一些尚未解答的具體問題:如何設置DotNetNuke進行開發

  1. 我們是否安裝了源代碼? http://www.dnnsoftware.com/wiki/how-to-install-the-source-package-of-dotnetnuke表示不建議安裝源代碼。另一方面,http://www.dnnsoftware.com/wiki/packages表示如果我們是開發者(我們是),我們應該使用源代碼。
  2. 如果我們不使用源代碼,那麼我們如何編寫代碼來將功能,樣式或業務邏輯添加到我們的網站?我們到底在哪裏放這個代碼?
  3. 我不斷看到「模塊」這個術語被拋出。世界上什麼是模塊?它是一個單獨的.csproj文件嗎?它是一個.cs文件保存爲網站的一部分?如果是這樣,我們如何在沒有源代碼的情況下整合它?
  4. 與其他應用程序一樣,我們需要能夠完全控制構建和部署。有了這個,我們可以看到我們所做的事情的歷史,在必要時回滾更改等。目前,對於其他項目,我們使用TeamCity構建並使用OctopusDeploy進行部署。 DNN在沒有源代碼的情況下適用於哪裏?我也知道DNN被設置爲一個網站項目而不是一個Web應用程序項目(請參閱http://www.dnnsoftware.com/forums/threadid/338902/scope/posts/threadpage/1),而網站項目是一種技術,並不是真正由較新版本的Visual Studio維護,並且可能很難部署。假設我不想轉換(http://blogs.msdn.com/b/webdev/archive/2009/10/29/converting-a-web-site-project-to-a-web-application-project.aspx),我將如何構建/部署網站項目?
  5. http://blogs.msdn.com/b/webdev/archive/2009/10/29/converting-a-web-site-project-to-a-web-application-project.aspx似乎聲明不建議從DNN中刪除依賴項並將其替換爲其他項。如果那確實如此,它會讓整個平臺看起來非常脆弱,並讓我懷疑我是否完全使用了錯誤的工具。 DNN真的適合開發者嗎? (如果沒有,什麼然後用途?)

回答

4

開始這裏 - >

http://www.christoc.com/Tutorials/All-Tutorials/aid/1

1)不要觸摸DNN源,相信我,這是不是值得頭痛

2)您可以通過使用擴展(模塊和外觀)

3)單獨的csproj的(檢查OU添加功能,覆蓋樣式等, t我的模板http://www.christoc.com/Tutorials/All-Tutorials/aid/2

4)您將通過從每個擴展中獲取ZIP文件進行部署,並通過主機/擴展頁上載,或者將ZIp文件放入/ install/module /放入您的根目錄部署目標,然後有一個進程調用/install/install.aspx?mode=installresources

5)DNN肯定是爲開發人員,但它是一個框架,建立在框架,不要進入並開始頂起框架本身。

+0

我得到你關於離開源單獨;問題是他們正在使用舊版本的Telerik。我們有一個更新的付費版本;我們希望換出新的引用。我瘋了嗎? – as9876

+0

我不會推薦它。您仍然可以在您自己的開發中使用較新的telerik控件 –

2

我首先得到一個在您的本地運行的DNN網站。對於任何.NET開發人員來說,這是相當直接的。

模塊是DNN框架的擴展,您可以基本上(一旦正確安裝)放在DNN頁面(稱爲選項卡)上。你所有的業務邏輯都會放在你自己的模塊中,這些模塊的代碼將成爲你唯一需要控制的東西。不要對DNN進行核心更改,因爲如果您升級,它們將被吹走。

如果您的模塊只需要部署一次,則不需要使用Christoc的模塊模板。我發現它會帶來很多不必要的組件和引用,你可能不需要它們。使用從DotNetNuke.Entities.Modules.PortalModuleBase繼承的webUserControls來創建你的模塊。將.ascx文件放在DNN的DesktopModules文件夾下它自己的文件夾中,並將所有必需的.dll放在DNN的bin文件夾中。在DNN中,轉到主機>擴展並創建一個新的擴展。爲擴展添加一個模塊控件並添加ascx文件作爲控件(將默認視圖的鍵保留爲空)。其他視圖應該具有唯一鍵,並且您可以使用EditUrl(「KeyName」)在DNN中導航到它們。

將您的模塊放在DNN頁面上並從那裏開始。

這當然是過於簡化,但它應該讓你去。網上有很多教程,我建議你看一下學習像Globals.NavigateUrl()這樣的基礎知識以在標籤之間導航以及如何將DNN放在一起。這個論壇主題可能會幫助你http://www.dnnsoftware.com/answers/dnn-7-module-development-step-by-step-tutorial

+0

我從哪裏獲得DotNetNuke.Entities.Modules.PortalModuleBase? – as9876

+0

在您的項目中引用DotNetNuke.dll。 .dll將位於DNN的bin文件夾中 – lukejkw

+0

典型使用(您不需要它們全部用於基本模塊) 使用DotNetNuke.Entities.Modules;使用DotNetNuke.Services.Exceptions的 ;使用DotNetNuke.UI.Skins的 ; 使用DotNetNuke.UI.Skins.Controls;使用DotNetNuke.Common.Utilities的 ;使用DotNetNuke.Framework的 ;使用DotNetNuke.Web.Client的 ; 使用DotNetNuke.Web.Client.ClientResourceManagement; – lukejkw