DNN清单模式
这款清单是一个XML文件(例如,MyDNNExtension.dnn),指示在安装过程中必须如何处理扩展包中的特定文件。
只有清单中特别声明的文件才会被安装。中指定的任何zip文件中的文件组件类型= " ResourceFile "
不必单独列出。清单中提到的不存在的文件将导致错误消息。
清单文件扩展名必须为.dnn
.您可以在最后添加DNN版本;例如,MyDNNExtension.dnn7
.
将清单文件保存在包的基本文件夹中,并在压缩包文件时包含它。
模式
< Package name="MyCompany. "SampleModule" type="Module" version="1.0.0"> My SampleModule My SampleModule是一个演示模块。 MyIcon.png MyCompany or MyName <组织>MyCompany Corporation组织> www.example.com (电子邮件保护) true 08.00.00 … …< /组件>… .
包
<包名= " MyCompany。MySampleModule" type="Module" version="1.0.0">…> < /包
- 的名字必须是唯一的。为了确保您的套餐的独特性,请添加您的公司作为前缀。
- 类型可以是以下之一:
- Auth_System
- 容器
- CoreLanguagePack
- DashboardControl
- ExtensionLanguagePack
- JavaScript_Library
- 图书馆
- 模块
- 提供者
- 皮肤
- SkinObject
- 其他自定义扩展类型
- 版本保存扩展的版本。
每个包代表一个DNN扩展。可以使用单个DNN清单安装多个扩展包
控件中的每个扩展包
标签。
包按照它们在清单中出现的顺序安装。
只有有关的信息第一个安装过程中会显示安装包。这包括包的名称、描述、所有者、许可证和发布说明。
friendlyName和description
My Sample Module My Sample Module is a demonstration Module
的friendlyName而且描述显示在安装过程中,用于
页,其中列出已安装或可用于安装的扩展。的friendlyName可以包含空格,最多250个字符;的描述最多可容纳2000个字符。iconFile
< iconFile > MyIcon.png < / iconFile >
可选的。该图标显示在DNN控制面板的下拉列表和扩展页面中。的. png格式优先。如果不指定,则使用DNN默认图标。
老板
MyCompany or MyName <组织>MyCompany Inc.组织> www.example.com (电子邮件保护)< /电子邮件> < /所有者>
可有可无,但值得鼓励。关于扩展的所有者或创建者的信息。
license和releaseNotes
可有可无,但值得鼓励。这些文本文件将在安装过程中显示。提示用户接受或拒绝许可。安装过程中会显示版本说明。属性也可以将实际文本嵌入到标记中src属性。
azureCompatible
真正< azureCompatible > < / azureCompatible >
可选的。默认是假
.设置为真正的
如果扩展与微软Azure兼容。
依赖关系
08.00.00 …< / >的依赖关系
依赖关系可以是以下类型中的任何一种(不区分大小写):
- coreVersion.最小DNN版本所需的扩展被安装。例子:
<依赖type = " coreVersion " > 08.00.00依赖> < /
- managedPackage.正在安装的扩展所需的包的名称和最小版本。内核中必须已经列出了所需的包包表格
AnotherPackageRequiredByThisComponent - 包.正在安装的扩展所需的包的名称。内核中必须已经列出了所需的包包表格例子:
<依赖type = "包" > AnotherPackageRequiredByThisComponent依赖> < /
- 类型.. net、DNN库或第三方库中的类型。确保安装程序可以创建指定类型的对象。例子:
<依赖类型=“类型”> System.Security.Principal.GenericPrincipal依赖> < /
- 类中包含的任何自定义依赖项类型依赖列表。DNN可以通过创建自定义依赖类型来扩展,这些依赖类型继承自DotNetNuke.Services.Installer.Dependencies.DependencyBase并且必须包含在依赖列表( ).例子:
<依赖type = " SomeCustomDependencyType " > ValueNeededBySomeCustomDependencyType依赖> < /
注意:自定义依赖项类型必须已经安装,才能在其他安装中使用。
组件
……> < /组件
有些组件类型只适用于同名的包类型;通用组件类型可以与任何包类型一起使用。
包类型 | 特定组件类型 | 通用组件类型 |
---|---|---|
Auth_System | AuthenticationSystem | 组装 清理 配置 文件 ResourceFile 脚本 |
容器 | 容器 | |
CoreLanguagePack | CoreLanguage | |
DashboardControl | DashboardControl | |
ExtensionLanguagePack | ExtensionLanguage | |
JavaScript_Library | ||
图书馆 | ||
模块 | 模块 | |
提供者 | 提供者 URL提供程序 |
|
皮肤 | 皮肤 | |
SkinObject | SkinObject |
组装
.安装在主装置上的组件\ bin安装目录。程序集是扩展的编译代码部分。它们可以是您自己的程序集,也可以是随扩展附带的第三方程序集。< Assembly > AuthenticationSystem
.扩展使用的身份验证提供程序,例如脸谱网,谷歌,推特,微软账户.缺省情况下,DNN使用自己的数据库进行身份验证。Facebook …> < /组件 清理
.在安装或升级包期间必须删除的文件列表。您可以在清单中单独列出这些文件。
bin MyFile.dll …> < /文件> < /组件 您还可以在文本文件中列出文件及其路径。
参见:- 组件类型
配置
在卸载过程中更新配置文件。 - 组件类型
脚本
用于必须卸载的数据提供程序脚本。
- 组件类型
配置
.要对指定配置文件进行的更改。< Config > web. >配置< / configFile < !——配置文件的名称,包括其相对于DNN安装根目录的路径。——> … … …> < /组件 有关
节点
属性,看到清单:XML合并.容器
.需要安装的容器。…> < / containerFiles > < /组件 DashboardControl
.将在DNN仪表板中显示为单独选项卡的控件( ).< DashboardControl > DashboardControl > < DashboardControl />…> < /组件 文件
.需要安装的文件。默认情况下,只安装具有允许的文件扩展名的文件;主机用户可以在安装过程中跳过此安全检查。要查看或修改文件扩展名列表,请转到DNN安装并选择 .<文件> … 示例:复制img / MyAwesomeImageFile.jpg从zip文件到desktopmodules / mymodule里/图片/ MyFile.jpg,desktopmodules/mymodule images MyFile.jpg img/MyAwesomeImageFile.jpg CoreLanguage
.针对特定区域性本地化核心DNN平台所需的语言包文件。核心语言包可以在DNN平台安装期间或之后的任何时候安装。< /名称> < / languageFile > < languageFile / >…> < / languageFiles > < /组件 有关支持的语言代码列表,请参阅.NETCultureInfo类。
ExtensionLanguage
.针对特定区域性本地化DNN扩展所需的语言包文件。< /名称> < / languageFile > < languageFile / >…> < / languageFiles > < /组件 有关支持的语言代码列表,请参阅.NETCultureInfo类。
模块
.只有一个组件类型=“模块”
允许在包
部分。要将一组模块作为一个单元安装,请创建一个模块包
相同清单中每个模块的节。… … modulecontrol > ... value 提供者
.扩展允许的文件扩展名列表。这些附加的文件扩展名仅应用于当前安装,不会添加到中找到的文件扩展名的全局列表中 .允许使用以下文件扩展名:.ashx, .aspx, .ascx, .vb, .cs, .resx, .css, .js, .resources, .config, .xml, .htc, .html, .htm, .text, .vbproj, .csproj, .sln。. ResourceFile
.安装过程中需要扩展的Zip文件。可以用来代替组件类型= "文件"
为包含多个文件的包简化清单。…> < / resourceFiles > < /组件 脚本
.扩展所需的数据库脚本。以下脚本的处理方式不同:安装。<dataprovidertype>
(例如,安装。SqlDataProvider
)执行之前所有其他脚本,如果该包是第一次安装的话。升级。<dataprovidertype>
(例如,升级。SqlDataProvider
)执行后所有常规脚本。
... 皮肤
.所有与主题相关的文件。安装程序需要在安装时解析主题文件以替换相对文件夹名称;因此,每个ASCX、HTML或CSS文件必须声明为skinFile
.其他文件(即图像和脚本)可以使用组件类型打包ResourceFile
简化主题清单的复杂性。…> < / skinFiles > < /组件 SkinObject
.自定义主题对象。URLProvider
.类使用的自定义URL提供程序高级URL管理系统(AUM).< URLProvider > URLProvider >
右键单击链接下载示例主题清单:MyThemeManifest.dnn.