插件开发说明
一、插件开发环境说明
1、 使用VS2010/2008新建一个空的WebApplication
2、 把动易程序放在项目根目录下,并点击显示所有文件
3、 把bin目录改名为DLL目录
4、 把DLL目录的所有DLL添加引用到项目中。
由于项目比较多,可能这个操作需要比较久的时间。
经过上面四步,插件开发环境就搭建好了。当然这里的开发环境不是唯一的标准,如果你对asp.net熟悉,可以以其他形式开发。
具体实现效果可以参考插件DEMO工程。
二、插件开发过程简述
1、 我们把新增功能所需要的新增文件包含到项目中
2、 配置好相关配置文件
和数据连接字符串,即可正常运行程序。(在此之前先把数据库建立好,数据库脚本为:SQLServerSchema2005.sql-架构,SQLServerData2005.sql-默认数据,也要注意数据库版本。)
3、 插件开发完毕后的打包
插件开发完成后,打包程序,先把程序发布出来,然后保留新增功能文件。并根据安装配置需要分别打包。具体可以参考插件DEMO中的打包方式。
三、插件安装卸载配置说明
插件信息配置文件统一为:Plugin.config
Plugin.confg 模板:
Hello World
http://www.powereasy.net
Hello World
Jannock
3.6.0.0
3.6.0.0
检查环境">
复制插件文件">
安装数据库">
加载插件">
设置菜单">
Install 节为插件安装步骤
其中InstallStep 为一步。这里可以同时处理同一类操作的集合。
InstallStep可用操作有 Action 为 :
Load (加载插件操作)
File (文件操作)
Database (数据库操作)
Menu (菜单操作)
Description 为操作说明
可用操作详细说明:
Load (加载插件操作) 可以分为:
Type 为:
check 类
直接执行插件类,一般用于环境检查操作,也可用于其他操作。
同时必须要有参数
FilePath 以“~/”开头即为网站根目录,否则是当前插件目录
NameSpace 插件命名空间
service 类
服务类插件,系统启动时加载。
同时必须有参数
FilePath 以“~/”开头即为网站根目录,否则是当前插件目录
NameSpace 插件命名空间
File (文件操作)
Type 为:
zip文件解压
必须参数
OriginPath 源文件路径 以“~/”开头即为网站根目录,否则是当前插件目录
TargetPath 目标路径 以“~/”开头即为网站根目录,否则是当前插件目录
Description 为操作说明
copy 文件复制
必须参数
OriginPath 源文件路径 以“~/”开头即为网站根目录,否则是当前插件目录
TargetPath 目标路径 以“~/”开头即为网站根目录,否则是当前插件目录
Description 为操作说明
edit 文件编辑
必须参数
FilePath 源文件路径 以“~/”开头即为网站根目录,否则是当前插件目录
ActionType 操作类型
OriginString 被替换内容
TargetString 替换内容
Description 为操作说明
当ActionType 为 sql 时,限查询数据库替换。
例 :
当ActionType 为txt 时。即替换文本
del 删除文件
必须参数
FilePath 文件路径 以“~/”开头即为网站根目录,否则是当前插件目录
Description 为操作说明
Database (数据库操作)
Type 类型
file 执行脚本文件
Database 的InnerText 为脚本文件路径,以“~/”开头即为网站根目录,否则是当前插件目录
前面分2000 或2005数据库
例如脚本文件为:2005Task.sql 此处只需写上
Task.sql
txt 执行SQL语句
Database 的InnerText 为SQL语句
Menu (菜单操作)
Type 类型
admin 后台菜单操作
FilePath 为后台SiteMap路径。必须是~/ 开头
user 会员中心菜单操作
FilePath 菜单xml。必须是~/ 开头
Action 类型
Install 菜单安装
Uninstall 菜单删除
注:菜单操作需注意菜单组织结构,需对系统菜单有一定的了解才行。同类型的操作只能出现一个,即不能如下:
两个后台菜单同时出现,可以
Uninstall 节点,
UninstallStep 中的操作和上面的基本相同。
其中菜单部份
后台菜单需要添加属性
TitleList 菜单的标题(菜单命名时需要注意不能与系统的相同)
菜单标题可以是多个,使用 | 分开。
前台菜单也要增加属性
id 前台菜单对应的id。
Upgrade 节点
操作和上面的基本相同。
插件接口说明
///
///
///
public interface IPlugin
{
///
/// 是否出错
///
bool IsError
{
get;
set;
}
///
/// 执行方法
///
/// 插件路径
/// 执行信息/错误信息
string Exe(string pluginPath);
}
四、插件实例 HelloWorld
1、系统扩展点说明
系统插件扩展点统一放在
这里为扩展点。在系统启动时可以加载外部插件。
2、插件编写
(1)新建项目
实现接口函数,添加事件弹出 HelloWorld。
(2)插件功能基本完成,下面编写插件安装配置文件
新建文件Plugin.config
内容如下
(3)然后把编译后的dll统一放到一个目录下:
插件到此完成。
参考:http://bbs.powereasy.net/forum73/thread-491697-1-1.aspx