知行合一
全部博文(31)
分类: 系统运维
2009-06-08 23:43:21
Wave扩展是一种增强wave的功能性的方法。目前,wave API只支持下面的扩展:
l Robots:构建机器人扩展可以使得一些普通的任务自动化完成。与真人相比,机器人是软件式的自动化wave参与者。
l Gadgets:构建配件扩展能够提供给使用者一种新的交互方式。配件(gadgets)提供一种方法使得可以在wave中运行小程序。
机器人和配件并不是相互排斥的。你可以同时使用它们。但是他们确实有不同的存在目的:
l 机器人是wave上面的一个自动化的参与者。机器人是运行在“云”里的应用程序,并且能够在wave里修改其自身的状态。它可以读取其加入的wave中的内容,修改wave的内容,添加或删除参与者,并且还能创建blips和新的waves。机器人由事件激发其动作。举个例子来说,机器人可以将wave上的内容发布到公共的blog站点并可以使用使用者的评论来更新wave。
l 配件是运行在client端的一个小的应用程序。Wave是配件的拥有者,并且所有的wave上面的参与者共享同一个配件状态。一个配件唯一响应的事件就是它自己状态对象的变化以及wave中的参与者的变化(譬如,参与者的加入和退出)。配件对wave自身没有影响。Wave配件并不是一个典型的成熟的应用程序,而只是一些小的可以帮助改进某些类型的会话的附加软件。例如,一个wave可以包含一个sudoku的配件,从而可以让参加解谜对抗的参与者看到谁能够首先解决难题。
下面的表总结了他们的不同:
Robot |
Gadget |
运行在“云”上 |
运行在客户端 |
对于每个wave来说一个指定的机器人只是一个实例。 请记住,机器人就像是wave中的一个参与者, 所以每个参与者(机器人)都是一个实例,但是一个wave可以有多个参与者(机器人)。 |
每个wave多个实例。 |
能够修改wave并且可以进行如真实的参与者相同的操作。 |
不能修改wave,并且wave对其暴露的也有限。只能够侦测到wave的参与者的改变。 |
可以修改配件 |
不能修改机器人,没有办法知道机器人的存在。 |
这一节描述了如何去打包一个扩展。
扩展表单是XML的文件,其定义了扩展是如何融进Google Wave的客户端的。表单包括两个部分:钩子(hooks)和动作(actions)。钩子告诉客户端扩展怎样以及在什么地点融进其中,动作则定义了当扩展使用时会发生什么。
例如,一个典型的钩子就是在Toolbar上加入一个按钮。下面是其代码:
description="Click to insert the Are You In? gadget." imageUrl=""/>
这个简单的表单用声明location=”Toolbar”表明它将被安装在Toolbar上面,它包含一个要添加到Toolbar上的图标的URL(imgUrl)。目前,有效的location选项只有Toolbar和NewWaveMenu。每一个location都有一个上下文(context)与之相关联。Toolbar拥有”editor”上下文,而NewWaveMenu具有“global”上下文。这对于表单使用的动作(actions)是很重要的。InsertGadget动作只工作在“editor”上下文中,而createNewWave则只工作在“global”上下文。
这儿是使用global上下文的一个例子:
description="Creates a new Twitter wave."/>
这个扩展将作为一个定制的选项被加入NewWaveMenu。作为参与者。
扩展表单是预览XML(preview XML)。将来会被延伸以支持更多的动作。这儿只是目前所采用的模式。
每一个用户帐号包含一个特殊的wave,这个wave包含你目前注册的所有的扩展。当前,可以通过URL引用唯一的扩展来进行处理。作为这方面的应用,你的扩展表单对于使用该扩展的wave客户端来说必须是公开地址的。虽然你可以直接修改这个wave,但是不是必须的。作为一种替代方案,你可以使用extension installer部件来安装你的扩展(并与其他人分享之!)
要安装一个扩展:
1. 创建一个新的wave
2. 选择Debug > Add Extension Installer
3. 在Insert Extension Installer对话框中,输入一个扩展表单的URL,如果有,还可以输入一个扩展图片的URL。如果你指定了一张图片,它将被包含在显示于blip中的安装图像之中。
4. 点击Done提交blip。你必须在点击Install之前点击Done
5. 点击Install按钮,该按钮将添加扩展到你设置的wave中.
为了同其他人分享扩展,可以简单的添加一个人到wave中作为一个参与者。之后,那个人同样可以像变魔术一样在他自己设置的wave中安装该扩展。
这儿是你可以安装和一试的扩展:
l 扩展表单:
l 扩展图片:
这个扩展添加了一个按钮到Toolbar,让你可以添加“Where Are You”配件到任何wave。该配件可以让wave参与者将他们的位置放到地图上。
要安装这个扩展,请遵照Installing Extensions进行操作。一旦安装上,你就可以创建一个新的wave,然后你将能够在你创建的wave的Toolbar上看到“Where Are You?”配件图标。