需要定制DNN 8模块和皮肤

时间:2016-02-03 11:24:20

标签: dotnetnuke dotnetnuke-7 dotnetnuke-5

是否可以自定义DNN 8模块和皮肤?是否可以配置DNN 8并在VS 2010 framework 4.0中使用它?如果它让我知道要做的步骤,因为我已经将DNN 8站点配置到IIS 7并且它在那里运行良好,但是当我尝试将其加载到VS2010并构建它时,它给了我不同的错误

错误:

i)未知的服务器标签' dnn:DnnCssIncludes' - 通过在同一文件中为dnn标记添加一行来解决这个问题。

ii)解决了之前的错误后ckFinder的另一个错误wsa,并通过在bin文件夹中添加ckFinder.dll文件来解决。

iii)解决以前的问题后,它会为ckEditor生成新的错误。它显示以下错误消息: 类型或命名空间名称' Ventrian'找不到(你错过了使用指令或汇编引用吗?)

我试图解决并搜索解决方案,但没有做到。有人会告诉我这方面的修复吗?

1 个答案:

答案 0 :(得分:1)

是的,这是可能的,你会想做几件事

  1. 设置您的环境
  2. 打开项目以获取您正在修改的内容,这通常涉及安装您要修改的扩展程序的SOURCE包。
  3. 不要改变"核心",意思是不要改变" DNN"本身,你可以,它是开源的,但是一旦你这样做,你就会分叉,如果你不小心,升级到DNN的新版本是非常困难的。
  4. 设置环境 来自http://www.christoc.com/Tutorials/All-Tutorials/aid/1 设置开发环境可能因您的最终目标而异。如果您正在进行模块开发以供自己使用,并且在您自己的DNN环境中,您可以忽略下面的一些设置。如果您正在进行模块开发,并认为您可以转而将模块放弃或出售,那么您可能希望遵循下面提出的指导原则来支持最广泛的DNN安装环境。

    我建议每个开发人员都有自己的本地开发环境,本地IIS网站运行DotNetNuke,以及SQL Server 2008/2012(不是表达,但可以使用它)数据库用于网站。拥有单独的开发环境使得组模块开发比共享环境/数据库更容易。

    选择DotNetNuke版本 当您开始开发时,选择一个版本的DotNetNuke非常重要,原因有两个。对于您自己开发的模块,您需要问一下,您在生产中使用的DotNetNuke的最低版本是多少。你在运行DNN 5.6.1吗?你在运行6.2.6,7.0.0,7.0.6吗?根据答案,您可以确定应将哪个版本的DNN设置为开发环境。您不应该在新版本的DNN上开发,而不是在生产中运行。和所有事情一样,有很多方法,但我不打算在本教程中详细介绍。

    作为一名致力于创建模块并发布模块的开发人员,您可能拥有在最新和最好的DNN版本上运行的生产站点,但您的客户呢?或者您的潜在客户?你必须问自己,你想为真正旧版本的DotNetNuke提供支持吗?从开发的角度来看,您可能会说不,但从业务角度来看,您可能会说“是”,这就是原因。不是每个人都应该像他们那样升级DotNetNuke网站,而且有时候你会发现有些人永远不会升级。虽然我不建议采用这种方法来管理DotNetNuke网站,但人们并不总是升级,而且有成千上万的人(如果不是数万人)拥有未运行的网站,这是事实。 DNN的最新版本。您在进行模块开发时应该考虑到这一点,如果您针对较旧版本的DNN编译模块,那么您的模块也应该在较新版本上运行,例如。如果您针对DotNetNuke 6.2.6编译模块,它可能会在此后发布的每个DNN版本上运行。虽然有一些延伸的情况并不总是有效,但DNN努力保持向后兼容性,但这并非总是可行。

    您可能还想使用仅从特定版本的DotNetNuke开始提供的功能,例如从DNN 5.1开始的工作流功能,在这种情况下,您可以选择不支持旧版本的平台。这将最大限度地减少您销售模块的市场,但由于DNN提供的功能,可以减少支持并缩短开发周期。

    选择套餐 现在这里可能会让你感到困惑。我建议你使用INSTALL包来下载你下载的任何版本的DotNetNuke。什么? INSTALL套餐? SOURCE包怎么样?那么你可以使用源代码,但你不需要它。我为您设置的模块开发并不需要DNN源,使用INSTALL包可以使您的开发环境更加清洁。当我们进行模块开发时,我们不会打开DotNetNuke项目,那么为什么这些文件无所事事?此外,如果您曾试图将SOURCE包用于任何事情,那么您就会知道它并不容易。

    设置开发环境的步骤将适用于DotNetNuke的社区版和专业版。

    安装配置 一旦您选择了版本,就可以完成安装过程。虽然我不打算向您介绍在本文中安装DotNetNuke的每个步骤的最细微的细节,但我至少会尝试为每个步骤指出正确的方向。

    下载要在开发环境中使用的DotNetNuke版本的INSTALL包。

    将INSTALL包中的文件解压缩到您选择的位置,此位置是您在我们配置网站时指向IIS(Web服务器)的位置。在我的环境中,我通常使用c:\​​ websites \ dnndev.me \(一个注意事项:您可能需要右键单击ZIP文件并在解压缩之前选择“属性”,如果您有UNBLOCK选项,请在属性窗口中单击该文件某些版本的Windows已经开始阻止DotNetNuke ZIP文件中的文件,这将导致您在实际安装过程中出现问题。)

    设置IIS IIS是Windows计算机附带的Web服务器。 DNN 7需要IIS 7或更高版本(7,7.5,8.0),因此您至少需要Windows Vista,Windows 7,Windows 8或Windows Server 2008 R2,Windows Server 2012。

    在IIS中,您应该创建一个新网站(注意:如果您在IIS中使用现有网站,请确保为DNNDEV.ME添加HOST绑定),并指向您解压缩INSTALL包的文件夹。

    注意:使用DotNetNuke 7.0+,需要.NET Framework 4.0,因此请确保您的应用程序池配置为在4.0以下运行,而不是2.0。

    设置文件权限 为DNN安装设置文件权限通常是导致最大麻烦的步骤。您应该右键单击解压缩DNN的文件夹(c:\ websites \ dnndev.me)并选择属性。选择“安全”选项卡。您需要为运行网站应用程序池的帐户添加权限。您需要设置权限,以便为DNNDEV.ME文件夹授予帐户“完全”或“修改”权限。您将使用哪个帐户会因您的IIS版本而异,以下是基于IIS版本的一些默认帐户的简单列表。

    IIS版操作系统帐户 IIS 7 Windows Vista,Windows Server 2008 localmachine \ Network Service IIS 7.5 Windows 2008 R2,Windows 7 IIS AppPool \ APPPOOLNAME IIS 8 Windows 2012,Windows 8 IIS AppPool \ APPPOOLNAME

    注意:如果您使用的是IIS7.5 / 8.0,您会在上表中注意到我们在身份中有APPPOOLNAME,这是因为当您在IIS中设置新网站时,会创建一个新的应用程序池。您应该键入已创建的应用程序池的名称来代替您。如果您愿意,也可以绕过此选项并将应用程序池配置为使用网络服务帐户而不是动态帐户。

    数据库配置 在SQL Server中,您应该完成并创建一个新数据库。我总是创建一个与网站同名的数据库,所以在这种情况下DNNDEV.ME。创建数据库后,创建可以访问该数据库的用户。我总是使用SQL身份验证,关闭强制密码要求,并授予用户DB Owner和Public访问DNNDEV.ME数据库的权限。记住您在此处创建的用户名和密码,因为当您浏览DotNetNuke的安装屏幕时,您将需要它们。

    DotNetNuke安装屏幕 使用标准DNN信息,主机用户名,密码等填充安装屏幕。对于Database选项,选择Custom并配置数据库连接,提供服务器IP /名称,数据库名称(dnndev.me)。对于数据库身份验证,您将要选择允许您输入先前创建的数据库用户的用户名/密码的选项。

    现在您可以配置两个额外的选项,通常我会告诉您不要修改它们,但从开发环境的角度来看,我建议您更改objectQualifier设置。默认情况下它应为空白,您应键入“dnn”(不带引号),这将在“DNN”创建的所有对象(例如“表和存储过程”)之前添加“dnn_”。这不是我从生产角度推荐的东西,但如果您正在开发待售模块,那么建议在开发中支持objectQualifier。如果您的客户在其生产数据库中定义了objectQualifier,它将为您节省时间。

    DotNetNuke模块开发 要开始DNN模块开发,请务必阅读我们的如何安装模块开发模板的教程。

    接下来,设置Visual Studio模板(您将要使用VS 2015)并创建一个项目。 您可以在https://visualstudiogallery.msdn.microsoft.com/bdd506ef-d5c3-4274-bf1d-9e673fb23484

    找到模板

    下载,运行VSIX软件包安装程序,或搜索DotNetNuke的在线模板。观看此视频https://www.youtube.com/watch?v=kOoQJDeTlJ0&list=PLFpEtny5sIbb9jGxJ7RBM5hIizodOCtoj&index=1