款清单模式

  • 平台
  • Evoq内容
  • Evoq参与

这款清单是一个XML文件(例如,MyDNNExtension.dnn扩展包中),表明特定的文件必须在安装过程中进行处理。

只有文件中声明的具体清单将被安装。文件在任何zip文件中指定组件类型= " ResourceFile "不需要单独列出。不存在的文件清单中提到将会导致一个错误消息。

manifest文件扩展名.dnn。您可以添加版本最后款;例如,MyDNNExtension.dnn7

清单文件保存在您的软件包,包括它的基本文件夹压缩包文件。

模式

< dotnetnuke type = "包" version = " 8.0 " > <包> <包名= " MyCompany。SampleModule”类型=“模块”version = " 1.0.0 " > < friendlyName > < / friendlyName > <描述>我的示例模块样本模块是一个演示模块。< /描述> < iconFile > MyIcon。png < / iconFile > <所有者> <名称> MyCompany或名字< /名称> <组织> MyCompany公司www.example.com < /组织> < url > < / url > < >电子邮件support@example.com < /电子邮件> < /所有者> < src = " MyLicense许可证。txt " / > < releaseNotes src = " MyReleaseNotes。txt " / >< azureCompatible >对< / azureCompatible ><依赖> <依赖type = " coreVersion " > 08.00.00 < /依赖>…< /依赖> <组件> <组件类型=“模块”>…< /组件>…< /组件> < /包> < /包> < / dotnetnuke >

<包名= " MyCompany。MySampleModule”类型=“模块”version = " 1.0.0 " >…< /包>
  • 的名字必须是唯一的。为了确保你包的独特之处,添加你的公司作为前缀。
  • 类型可以是下列之一:
  • 版本您的扩展的版本。

每个包是一个款扩展。您可以安装多个扩展使用单一款清单通过创建一个为每个内扩展部分标签。

包安装的顺序出现在清单中。

只有信息第一个包是在安装过程中显示。这包括包名、描述、所有者许可,并释放笔记。

friendlyName和描述

< < friendlyName >我的示例模块/ friendlyName > <描述>样本模块是一个演示模块。< /描述>

friendlyName描述显示在安装和使用的吗主机>扩展页面,该页面列出了安装或可供安装的扩展。的friendlyName可以包含空格和多达250个字符;的描述可以容纳2000个字符。

iconFile

< iconFile > MyIcon.png < / iconFile >

可选的。图标显示在控制面板的下拉列表和扩展款页面。的. png格式是首选。如果没有指定,默认图标款。

老板

<所有者> <名称> MyCompany或名字< /名称> <组织> MyCompany www.example.com Inc . < /组织> < url > < / url > < >邮件support@example.com < /电子邮件> < /所有者>

可选的,但是鼓励。信息所有者或扩展的创造者。

执照和releaseNotes

src = " MyLicense <许可证。txt " / >

可选的,但是鼓励。在安装过程中显示这些文本文件。用户提示接受或拒绝许可。版本注释显示在安装。还可以嵌入到实际的文本标签没有src属性。

azureCompatible

< azureCompatible >对< / azureCompatible >

可选的。默认是。设置为真正的如果扩展兼容微软Azure。

依赖关系

<依赖> <依赖type = " coreVersion " > 08.00.00 < /依赖>…< / >的依赖关系

依赖关系可以是任何这些类型(不区分大小写):

  • coreVersion。所需的最低版本款扩展安装。例子:
    <依赖type = " coreVersion " > 08.00.00 < /依赖>
  • managedPackage。的名称和扩展所需的最低版本的包安装。所需的包必须在核心已经上市表。
    <依赖type = " managedPackage " version = " 1.0.0 " > AnotherPackageRequiredByThisComponent < /依赖>
  • 。一个包的名字被安装所需的扩展。所需的包必须在核心已经上市表。例子:
    <依赖type = "包" > AnotherPackageRequiredByThisComponent < /依赖>
  • 类型。在。net类型,在图书馆,款或第三方库。确保安装可以创建一个指定类型的对象。例子:
    <依赖类型=“类型”> System.Security.Principal.GenericPrincipal < /依赖>
    提示: 完全有资格如果它不是一个类型App_Code文件夹,以避免冲突与同样来自多个源的命名类型。
  • 任何自定义依赖类型中依赖列表。款可以通过创建自定义扩展依赖类型继承DotNetNuke.Services.Installer.Dependencies.DependencyBase,必须包含在依赖列表(主机>列表)。例子:
    <依赖type = " SomeCustomDependencyType " > ValueNeededBySomeCustomDependencyType < /依赖>
    注意:自定义依赖类型使用它之前必须已经被安装在另一个安装。

组件

<组件> <组件类型= "…"/>  ... 

一些组件类型仅适用相同的包类型名称;通用组件类型可以用于任何类型的包。

包类型 特定的组件类型 通用组件类型
Auth_System AuthenticationSystem

组装

清理

配置

文件

ResourceFile

脚本

容器 容器
CoreLanguagePack CoreLanguage
DashboardControl DashboardControl
ExtensionLanguagePack ExtensionLanguage
JavaScript_Library
图书馆
模块 模块
提供者

提供者

URL提供程序

皮肤 皮肤
SkinObject SkinObject
  • 组装。组件安装在主\ bin安装的文件夹。总成的编译后的代码部分您的扩展。他们可以自己的组件或第三方程序集,你船扩展。
    <组件类型=“装配”> <组件> <汇编> <路径/ < !——组装安装的路径。相对于的\ bin文件夹安装款。——> <名称/ < !——组装安装的名称。- - > / < <版本!——版本的组装安装。- - > < /装配> <组装行动=“注销”> / < <路径!——组装的路径删除。相对于的\ bin文件夹安装款。——> <名称/ < !——组装的名字删除。 -->   ...  
  • AuthenticationSystem。身份验证提供者使用的扩展,如脸谱网,谷歌,推特,微软账户。默认情况下,验证款使用自己的数据库。
    <组件类型=“AuthenticationSystem”> < authenticationService > <类型> Facebook < /类型> < settingsControlSrc / > < loginControlSrc / > < logoffControlSrc / > < / authenticationService > < authenticationService / >…> < /组件
  • 清理。在安装过程中必须删除的文件列表或升级包。

    你能列出清单中的单独的文件。

    <组件类型=“清理”version = " 07.40.00 " > <文件> <文件> <路径>本< /路径> <名称> MyFile。dll < /名称> < /文件> <文件/ >…< /文件> < /组件>

    您还可以列出文件的路径在一个文本文件。

    <组件类型=“清理”version = " 07.40.00“文件名= " ListOfFilesToDelete。txt " / >
    参见:
    • 组件类型配置在卸载更新配置文件。
    • 组件类型脚本数据提供者必须卸载脚本。
  • 配置。变化在指定的配置文件。
    <组件类型=“配置”> <设置> < configFile > web。配置< / configFile < !配置文件的名称,包括其路径相对于安装款的根源。节点配置- - > <安装> < > < > <节点路径= " /配置/系统。网络服务器/处理程序" action =“更新”键= "路径覆盖“碰撞= >…节点/ > < /节点> <…< /节点> < /配置> < /安装> <卸载> <配置> <节点/ > < /配置> < /卸载> < / config > < config / >…> < /组件

    的信息节点属性,看到清单:XML合并

  • 容器。容器安装。
    <组件类型=“容器”> < containerFiles > < basePath / < !——目标基础组件的安装文件夹。相对于安装款的根源。- - > < containerName / > / < < containerFile > <路径!——目标文件夹。相对于basePath。- - > < /名称> < / containerFile > < containerFile / >…< / containerFiles > < /组件>
  • DashboardControl。控件将作为单独的标签出现在仪表板款(主机>指示板)。
    <组件类型=“DashboardControl”> < DashboardControl > <键/ > < src / > < localResources / > < controllerClass / > < isEnabled / > < viewOrder / > < / DashboardControl > < DashboardControl / >…> < /组件
  • 文件。安装文件。默认情况下,只允许安装文件扩展名的文件;然而,主机用户可以绕过这个在安装期间安全检查。查看或修改文件扩展名的列表,去你款安装和选择主机>主机设置>其他设置>允许的文件扩展名
    <组件类型=“文件”> <文件> < basePath / < !——目标基础组件的安装文件夹。相对于安装款的根源。- - > / < <文件> <路径!——目标文件夹。相对于basePath。也认为是源文件文件夹在zip文件中,如果sourceFileName不是定义。- - > < /名称> < sourceFileName / < !——一个文件的路径和名称在zip文件。文件- - > < /文件> < / >…  
    例如:复制img / MyAwesomeImageFile.jpg从zip文件desktopmodules / mymodule里/图片/ MyFile.jpg,
    < basePath > desktopmodules / mymodule里< / basePath > <文件> <路径> < /路径> <名称>图像MyFile.jpg < /名称> < sourceFileName > img / MyAwesomeImageFile.jpg < / sourceFileName > < /文件>
  • CoreLanguage。语言包文件定位核心款平台所需的特定文化。一个核心可以安装语言包款平台安装期间或之后的任何时间。
    <组件类型=“CoreLanguage”> < languageFiles > <代码/ > < displayName / > <后退/ < !——代码替代语言。如果没有找到一个资源用于当前的语言包。- - > / < < languageFile > <路径!——目标文件夹。相对于安装款的根源。- - > < /名称> < / languageFile > < languageFile / >…< / languageFiles > < /组件>

    支持的语言代码列表,请参阅. netCultureInfo类。

  • ExtensionLanguage。语言包文件需要本地化款扩展为一个特定的文化。
    <组件类型=“ExtensionLanguage”> < languageFiles > <代码/ > <包/ < !——另一个包的名称包含扩展这个语言包是用于。——> < basePath / < !——目标基础组件的安装文件夹。相对于安装款的根源。- - > / < < languageFile > <路径!——目标文件夹。相对于basePath。- - > < /名称> < / languageFile > < languageFile / >…< / languageFiles > < /组件>

    支持的语言代码列表,请参阅. netCultureInfo类。

  • 模块。只有一个组件类型=“模块”允许在一个部分。安装一组模块作为一个单元,创建一个每个模块部分相同的清单。
    <组件类型=“模块”> < desktopModule > < moduleName / > < foldername / > < businessControllerClass / > < codeSubdirectory / > < isAdmin / > < isPremium / > < supportedFeatures < !businessControllerClass——需要一个值。- - > < supportedFeature类型=“便携式”/ < !——模块使用IPortable接口导入/导出功能。- - > < supportedFeature type = "搜索" / < !——模块可以使用ISearchable接口索引和搜索。- - > < supportedFeature type = "升级" / < !——模块可以使用IUpgradeable接口进行升级。- - >…< / supportedFeatures > < moduleDefinition > < friendlyName / > < defaultCacheTime / > < moduleControls > < moduleControl > < controlKey / > < controlSrc / > < supportsPartialRendering / > < controlTitle / > < controlType / > < iconFile / > < helpUrl / > < / moduleControl > < moduleControl / >…< / moduleControls > <权限> < !-- In , "code" is the code for the module, "key" is the code for the permission, and "name" is the user-friendly name for the permission. -->   ...        value   
  • 提供者。扩展允许文件扩展名的列表。这些额外的文件扩展名仅适用于当前的安装和不添加到全局列表中发现的文件扩展名主机>主机设置>其他设置>允许的文件扩展名。下面的文件扩展名可以被允许:.ashx . aspx, .ascx, .vb, cs, . resx, . css, . js, .resources, config . xml, .htc,, . html, htm、。text, . vbproj .csproj, . sln。
    <组件类型= "提供" / >
  • ResourceFile。Zip文件在安装过程中会扩大。可以代替吗组件类型= "文件"为了简化包包含很多文件的清单。
    <组件类型=“ResourceFile”> < resourceFiles > < basePath / < !——目标文件夹zip文件的内容将被安装。相对于安装款的根源。——> < resourceFile > <名称/ < !——zip文件的名称。- - > < / resourceFile > < resourceFile / >…< / resourceFiles > < /组件>
  • 脚本。数据库脚本的扩展需求。以下脚本处理不同:
    • 安装。<dataprovidertype>(例如,install.SqlDataProvider执行)之前所有其他脚本,如果包是第一次安装。
    • 升级。<dataprovidertype>(例如,upgrade.SqlDataProvider执行)所有常规的脚本。
    <组件类型=“脚本”> <脚本> < basePath / < !——目标基础组件的安装文件夹。相对于安装款的根源。- - > <脚本类型=“安装”> / < <路径!——目标文件夹。相对于basePath。——> <名称/ < !——必须命名为“< scriptversion >。< dataprovider >”。例子:01.00.00。SqlDataProvider——> / < <版本!——安装版本的脚本文件。 -->   ...  
  • 皮肤。所有文件相关的主题。安装程序需要解析文件在安装时更换主题相对文件夹名称;因此,每个ASCX、HTML或必须声明为一个CSS文件skinFile。其他文件(即。,images and scripts) can be packaged using component typeResourceFile简化复杂的主题清单。
    <组件类型=“皮肤”> < skinFiles > < basePath / < !——目标基础组件的安装文件夹。相对于安装款的根源。- - > < skinName / > / < < skinFile > <路径!——目标文件夹。相对于basePath。- - > < /名称> < / skinFile > < skinFile / >…< / skinFiles > < /组件>
  • SkinObject。自定义主题对象。
    <组件类型=“SkinObject”> < moduleControl > < controlKey / < !皮肤,令牌对象在方括号[];例如,(版权)——> < controlSrc / < !——主题对象的ASCX文件的目标文件夹。——> < supportsPartialRendering / < !——“真实”主题对象是否支持通过一个AJAX更新面板女士包装部分呈现。默认值:“假”——> < / moduleControl > < /组件>
  • URLProvider。自定义URL提供程序使用的先进的URL管理系统(资产管理)
    <组件类型=“URLProvider”> < URLProvider > < /名称> <类型/ > < settingsControlSrc / > < redirectAllUrls / > < replaceAllUrls / > < rewriteAllUrls / > < desktopModule / > < / URLProvider > < /组件>
右键单击链接下载示例主题清单:MyThemeManifest.dnn