1.2手动配置插件开发环境
下载并加载SmartbiPluginApp:在这里假设您已经下载并配置好了 Eclipse 开发工具。然后从这里下载 SmartbiPluginApp.zip 项目,将其解压到自己的代码开发工作目录下。启动 Eclipse 工具,然后在“Package Explorer”窗格上点击右键“Import...”,导入刚刚解压的 SmartbiPluginApp 项目。如下图所示:
2.启动应用服务器
开发调试环境的原理是这样的:上一步我们在 Eclipse 中加载的 SmartbiPluginApp 项目包含了 apache-tomcat-7.0.42,在其下部署了 smartbi 应用。该 smartbi 应用在运行时,会加载其它扩展包项目,从而让开发人员对其它扩展包项目的代码进行调试。接下来我们需要进行配置,让该 smartbi 正常运行起来。
2.1取得开发用的Smartbi-License文件
首先需要从思迈特处申请一个开发用的 Smartbi-License 文件。将取得的 Smartbi-License.xml 文件直接覆盖 /SmartbiPluginApp/apache-tomcat-7.0.42/bin/smartbi/ 目录下的同名文件。
2.2配置开发环境的知识库
该开发环境下的 smartbi 需要有个知识库,修改 /SmartbiPluginApp/apache-tomcat-7.0.42/bin/smartbi/smartbi-config.xml 文件,设置知识库连接信息,主要修改<dao/>这一段。
<dao> <database-type>MYSQL</database-type> <server-name>localhost:6688</server-name> <database-name>smartbi-dev-ide</database-name> <username>admin</username> <pass>admin</pass> <encrypt-type>0</encrypt-type> <max-count>100</max-count> <init-count>2</init-count> </dao>
2.3启动 apache-tomcat-7.0.42
SmartbiPluginApp 项目下已经添加了一个 Run_SmartbiPluginApp 启动配置文件,可以直接在“Debug”、“Run”模式下启动它。
2.4更新开发环境下smartbi版本
下载回来的 SmartbiPluginApp 项目虽然自带了一个 smartbi,但是其版本比较早。在开发调试时,要求开发所基于的smartbi版本,应该与未来生产环境部署的smartbi版本一致。因此我们还需要升级 /SmartbiPluginApp/apache-tomcat-7.0.42/webapps 路径下的 smartbi,具体升级过程可以参考:Smartbi版本更新。
3.创建扩展包
3.1说明
因为 Smartbi 扩展包里面的目录结构还是有一定规范的,虽然可以手动使用Eclipse 开发工具,通过“File -> New -> project …”创建一个扩展插件项目工程,但还是得手动按照 Smartbi 的插件目录规范创建目录及文件,稍显麻烦,而且可能也不会记得要创建些什么文件以及文件的配置结构是什么。
所以Smartbi 提供了一个工具用来创建扩展包项目,自动将需要的文件及目录创建好,创建好后手动使用Eclipse中的“File ->Import -> Existing Projects Info Workspace ...”导入到开发环境中即可。
3.2操作步骤
该框架小工具是 Smartbi 扩展包的模版项目,用来生成Smartbi扩展包的框架代码。
1、首先下载 extscaffold-Smartbi 或extscaffold-Smartbi.cmd工具,用来生成扩展包项目的框架代码。
2、在IE 10或以上的机器中,extscaffold-Smartbi.html 有可能无法正常工作,则可以使用上面的 extscaffold-Smartbi.cmd,双击即可运行。
3、解压后用 IE 浏览器打开 extscaffold-Smartbi.html 文件,浏览器会在页面顶部的信息栏提示“已限制此网页运行可以访问计算机的脚本和ActiveX控件”,点击信息栏,在出现的快捷菜单上点击“允许阻止的内容”。最新版本的 IE 会在页面底部提示,直接点击“允许阻止的内容”。
5、然后在 Eclipse 中 Import 该项目到开发环境中即可。
4.开发调试新功能
4.1开发新功能
直接在 SmartbiPluginApp 项目中添加自己的功能,如果是后台代码添加到 /SmartbiPluginApp/src/java 目录下;如果是前端代码、图片、文件全部添加到 /SmartbiPluginApp/src/web/vision 路径下。
4.2调试新功能
1、配置扩展包
在 Eclipse 中启动 Run_SmartbiPluginApp,打开浏览器访问 config.jsp 页面,配置 smartbi 扩展包加载路径指向 /HelloWorld/src/web。或者通过下面方式添加扩展包路径到smartbi项目环境
5.打包插件
开发调试全部完成后,如何将所开发的成果部署到生产环境上。利用 Ant Build 配置文件 /SmartbiPluginApp/build.xml,将整个项目的代码打包成一个 ext 扩展包。然后参考“扩展包部署”文档,将打包后的扩展包部署到生产环境中。
6.如何支持多扩展包开发
如果项目现场还想多创建一个扩展包,如何加入到这个调试环境中呢?具体操作方法如下:
1、使用上文中提供的工具创建扩展包。比如,创建的扩展包名为SecondPlugin, 存放在:D:/ext/ 目录下。
2、在上面的 Eclipse 开发环境中,点击“File -> Import -> Existing Projects into Workspace”(或者右击Package Explorer -> Import),将上面扩展包项目加入到Eclipse 环境中。
3、加载扩展包,修改/SmartbiPluginApp/apache-tomcat-7.0.42/webapps/smartbi/WEB-INF/extensions/extensions.list 文件,在其中加入一行 D:/ext/SecondPlugin/src/web。
..\..\..\..\..\src\web D:/ext/SecondPlugin/src/web
4、参照上面启动应用服务器,这样这个新扩展包也加入到smartbi 中了,并且可以调试它。
7.如何解决扩展包修改后需要重启生效
1、修改SmartbiPluginApp/apache-tomcat-7.0.42/webapps/smartbi/WEB-INF下的web.xml文件,在文件中加入 DevEnv 对应的四行代码。在文件中找到 ProductName 这个 <context-param>,在其下面添加 DevEnv 对应的四行<context-param>,其值为 true。
<context-param> <param-name>ProductName</param-name> <param-value>Smartbi</param-value> </context-param> <context-param> <param-name>DevEnv</param-name> <param-value>true</param-value> </context-param>
2、修改同样是web.xml中如图所示的位置
3、删除SmartbiPluginApp/apache-tomcat-7.0.42/webapps/smartbi/vision/version.txt 文件