“You know my methods. Use them.”
--Sir Arthur Conan Doyle, code jock
Groove Networks
Groove开发综述
这部分概述了工具开发的过程。在您开始开发以前,知道创建一个工具需要涉及哪些是非常有帮助的。您需要创建多个文件去测试,运行和发布一个工具。您需要GRV(注入)文件,工具模板(tool template)文件和OSD文件,这些文件是相关的。 这些文件和它们的创建和安装将在下面详细地讲述。
Tool Template File/工具模板文件
模板是描述工具的静态持久的文件。工具模板(例如:mytool.tpl)是定义了组成工具的组件的XML文档,就像定义一个工具的布局(LAYOUT)再将控件放入布局中。Groove也能用模板来描述工具集,shared space或者skin。工具模板文件包含Groove在运行时生成用户界面的需要的一切,在内存中实例化组件,给予工具行为。它是在工具后的“源代码”
通常模板文件包含控制应用的脚本代码(默认的是javascript 或者VBScript, Perlscript, Pythonscript)。控制器代码也可以放在用c++或者VB写的外部DLL中,在这种情况下模板文件必需生成一个到外部代码的连接。
当工具第一次注入(injected)或者这个工具被随意地加到一个shared space时,模板文件将使用OSD文件中的信息和指令安装被存储在template.xss文件中。虽然你在文件系统中创建了源文件,但它是从template.xss是运行的。当你一个shared space创建一个工具的实例的时候,shared space引用那个工具的模板。工具可以被加到一个或多个shared spaces中。
工具模板以下多个或者所有的元素:
1 窗体(可能是隐式的)和子窗体
2 布局和视图容器
3 组件
4 代理,暴露工具的方法和属性给其它工具
5 脚本代码,把组件连接在一起并且规定行为和发生在组件中的任何事件
模板文件结构
这个图表显示了工具模板文件的XML结构
一个工具可能由这些文件组成:
文件
说明
Groove的可复用组件
组件经过组合以后提供用户在使用你的工具时的外观和功能。已经随Groove客户端安装的包括UI组件(按钮,编辑,布局等)和引擎,你可以简单地直接在你的模板中包含它们。如果你的工具可以在预先完成的组件上完成,那么你只要在模板中写一些脚本代码就可以提供所要的行为。这意义着您可以不用创建自己的组件。
定制组件
定制组件是指从头写起的或者通过Groove的ActiveXWrapper使用的现存的组件,它们必须安装在用户的机器上。这些组件一般为DLL和OCX文件。
组件运行时环境
如果你使用Visual Basic来定制组件,那么您必须在客户的机器上安装VB运行时环境。
图形文件
可在工具中使用的图片文件(BMP,JPG,GIF)
GSL文件
可包含在一个或多个工具模板中Groove代码库(Groove Script Library)。GSL文件被拷贝到templates.xss文件中。
工具模板组件将在“Groove组件”作详细的说明
工具描述文件
工具描述文件(例如,mytooldescriptor.xml)是包含工具信息的XML文档,比如像名称,版本,和类型。最重要的工具描述文件确定了您的工具的OSD文件和模板文件。当用户第一次选择您的工具的时候,工具描述文件指示Groove通过说明OSD文件去得到所需要的文件和组件。您若想了解更多关于工具描述文件请参阅“工具描述文件部分”。在ADD TOOL中列出的工具是建交在工具描述文件之上的。当用户运行一个GRV文件时,工具描述文件会被注入到用户的账户数据库中。
OSD文件
OSD文件是一个包含下载工具描述文件,模板文件和任何必要的组件和图形文件的XML文档。它定义了工具中所有组件的源文件和安装位置。它定义了工具中的软件包,怎么样不同的组件和Groove如何处理这些组件。若您想了解更多信息请参阅“OSD文件”部分。
GRV(注入)文件
GRV文件(例如mytool.grv)是一个把工具注入用户账号的XML文件,它使得用户可以选择这个工具。GRV详细说明了OSD文件的名称,组件服务用它把工具的描述文件注入到用户账号中。这样就把工具描述文件复制到了本地设备中,描述文件把工具加入到“创建共享空间”和“添加工具”对话框中,这就是说可以选择工具但不一定复制所有与工具有关的文件到本地设备中。用户可以通过许多途径得到GRV文件,例如一个共享目录,邮件附件或者在WEB页上(比如您可以从groove.net上添加的新工具)。
工具安装过程
.一些工具确实依赖标准的Groove组件也有可能包括定制组件。不管理这个工具需要下载,安装或者准备就绪添加到共享空间中。关键之处是整个新工具,皮肤或者工具集的获得和安装是非常容易的。不需要重新安装Groove,不需要PC支持技术员,也不需要分发的盘片和磁片,一些点击就可以完成了。您也许也注意到了许多用户帮助系统是在没有用户干涉的情况下使用同样的下载服务动态升级的。还有,每当您连上Internet的时候,Groove可以自动地用新版本和错误修改升级它本身。
以下的图片显示工具注入和安装的步骤并将讨论它们
1.用户在WEB页面上运行了一个Groove工具注入文件(GRV)。
2.这个GRV文件包含一个组件URL,它指向工具OSD文件地址并且详细说明了把工具描述文件(XML)安装到用户数据库\data\XML目录的软件包。
3.组件服务把工具描述文件(XML)下载到用户的数据库中(\data\xml目录)。
4.因为工具文件(特色)作为工具描述文件的依赖列出来的。它们会在注入的同时安装到本地(否则只有当用户把工具加入到共享空间的时候才会被安装)。
5.Groove检察本地清单看工具模板和组件的最新版已经安装。
6.如果工具模板或它的任何组件未安装,组件服务去资源URL获取需要的OSD文件。文件确定了工具模板(TPL)、相关的组件(典型地为DLL)、其它运行工具需要的文件比如图形或者运行时环境、或者其它包含其它指令的OSD文件。
7.工具被加入到用户的账号并且可以在添加工具窗口中找到。
8.用户把工具加入到共享空间中。
9.组件服务重复步骤5和6安装不依赖的components.osd。
10.工具现在就安装好了。
要注意的很重要的一点是请求安装一个新工具可能源于在共享空间中添加新工具的其它成员。每一个其它的成员将显然地收到安装这个工具的指令,这样共享空间就可以保持同步了。
在这种方式下工具安装到共享空间而不是用户的数据库。这样其它的用户就不能安装这个工具到其它共享空间,除非他们运行GRV来注入这个工具到他们的账号中。
工具开发/发布过程
现在您已经了解了工具实例过程的全部细节,知道开发/发布全过程中的时序是很重要的。最基本的层次上说,工具开发和发布过程是围绕创建和编辑4个XML文件。
•1 TPL建立了工具的界面和行为(附加代码可能放还Groove脚本库-GSL文件中)。
2 GRV,描述文件(XML)和OSD文件是用来安装工具的。
一般来说GRV,描述文件和OSD文件不会改变很多。作为工具设计的一个阶段,你应该知道你需要使用或创建什么组件,OSD一般就完整了。.
要改变很多次的是模板文件。在它不是完美之前,您必需在“调整周期”中反复地测试,修改和到templates.xss中去覆盖这个模板。