在mojoportal中如何安装、配置、升级第三方模块
原文:http://www.mojoportal.com/setupandupgradeforcustomfeatures.aspx
如何安装、配置、升级第三方模块
使用mojoPortal安装系统,您可以安装、配置、升级第三方模块。
mojoPortal安装系统为您提供的服务有:
1:运行数据库脚本文件来创建或修改数据库表或其他数据库对象,以便用于您的程序
2:安装模块到站点中,安装系统可以为您的模块在数据库中进行相关设置,也可以设定您的模块所需的参数 。
3:对于初始化安装,您可以随意的新建页面,并把模块安装到新建的页面中。
安装系统不能做的一件重要的事情是复制你的文件,你可以使用 xcopy来部署你的文件。使用xcopy把所需要的文件拷贝到相应的文件夹中。这个过程中你需要注意不要覆盖已有文件,比如web文件夹下已经有web.config和default.aspx文件,如果你的模块中也有这两个文件,那么你应该调整你的模块的结构,把文件放到子文件夹中。
结构如下:
web
bin
yourwebpageandcontrolsfolder
Setup
applications
你的应用程序名
FeatureDefinitions
SchemaInstallScripts
firebirdsql
mssql
mysql
pgsql
sqlite
SchemaUpgradeScripts
firebirdsql
mssql
mysql
pgsql
sqlite
ProviderConfig
indexbuilders
“你的应用程序名”中间不要有空格,我建议你使用小写字母,另外不能与其他程序名冲突。你的模块可能不需要配置所有种类的数据库,比如,可能你只想配置mssql数据库,那么其他的文件夹请保持为空文件夹就可以了。当然,如果你想要销售你的模块的时候,你可能会配置所有种类的数据库J.mojoportal源代码中包含一些codesmith模板,可以用来生成不同的数据层。我在开发mojo模块的时候使用了这些模板。
这些配置文件时一些以版本号命名,以config为扩展名的文本文件。举例来说明一下,当你开发了一个新的模块时,你可能在SchemaInstallScripts/mssql文件夹中建立了第一个脚本,名字是0.0.0.1.config.脚本中包含了创建表,存储过程所需要的所有代码。
肯能过了几天,你添加了一些小功能,需要在数据表上添加一列,并更改一些存储过程,那么你需要在SchemaUpgradeScripts/mssql文件夹中建立一个文件,名字可以是0.0.0.2.config ,并且把所有的sql代码放入其中。
要运行这些脚本,你只需要访问webroot/Setup/Default.aspx 页面,安装系统会遍历setup文件中各个模块的响应文件夹,如果发现了新版本,将会运行新版本中的脚本代码,并记录新版本号到mp_SchemaVersion表中,并且记录每一次的脚本到mp_SchemaScriptHistory表中。
你可以在程序的build events事件中,使用指定代码拷贝安装系统文件到主程序中。
FeatureDefinitions文件夹:
这里面的配置文件包含了模块的配置信息和模块的参数配置,你应该给你的模块一个唯一的GUID,这个GUID用于查找某个特色模块所属的参数配置,以便确保所有的参数配置已经设置完成,你可以在任意时刻添加模块的参数配置,然后访问安装页面(setup/default.aspx),这样新的参数配置就会被添加到你的模块中。
ProviderConfig/indexbuilders 文件夹:
这里的配置文件放入你已经实现的IndexBuilderProviders,以确保你的模块内容可以被查询到。
Initialcontent文件夹:
定义安装期间创建的页面,并放入相关模块,与此相关的配置文件放到这里。这是一个简单的xml文件,您可以看一下已经包含的例子,来创建您的页面。