插件开发说明

作者:wjlsunshine 来源:动易论坛 点击数: 发布时间:2011年01月22日

 

一、插件开发环境说明
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 节点





操作和上面的基本相同。


特殊路径:{TemplateDir} 模板路径 {SkinDir} 样式路径







插件接口说明
   ///
   ///
   ///

   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