我确信Wave不会每毫秒轮询一次服务器,以确定其他用户是否输入了某些东西......那么我怎样才能看到对方输入的内容?而且不会占用带宽.
谷歌波浪协议的常见问题解答说[HTML]"没有理想的属性",并且"HTML使OT(操作变换)变得困难,如果不是不可能的"[1].为什么会这样?如果将HTML简单地视为纯文本然后应用OT,会出现什么问题?
real-time distributed-computing google-wave real-time-systems operational-transform
我想从这里的教程中为机器人添加3个功能:http: //code.google.com/apis/wave/extensions/robots/python-tutorial.html
在添加所有这些功能之前,我的机器人正在按预期工作.现在奇怪的功能仍然出现(在blip内容的bck处有"v2"),但是没有新功能出现!我已经尝试了不同的方法,仍然无法正常工作.下面是我认为更符合逻辑的代码.有人能告诉我为什么似乎没有工作?
功能1 - 想尝试AppendText
功能2 - 希望机器人检测到blip已提交
功能3 - 希望机器人添加一个blip,删除旧blip的内容.
from waveapi import events
from waveapi import model
from waveapi import robot
def OnParticipantsChanged(properties, context):
"""Invoked when any participants have been added/removed."""
added = properties['participantsAdded']
for p in added:
Notify(context)
def OnRobotAdded(properties, context):
"""Invoked when the robot has been added."""
root_wavelet = context.GetRootWavelet()
"""feature 1"""
root_wavelet.CreateBlip().GetDocument().SetText("I'm alive! v2").GetDocument().AppendText("xxx")
def Notify(context):
root_wavelet = context.GetRootWavelet()
root_wavelet.CreateBlip().GetDocument().SetText("Hi everybody! v2")
"""feature 2"""
def OnBlipSubmitted(properties, context):
blip = context.GetBlipById(properties['blipId'])
blip.GetDocument().AppendText("xxx")
"""feature …Run Code Online (Sandbox Code Playgroud) 构建Google Wave的技术有哪些?
编辑:我已经移动并将答案合并到下面的答案中,而不是在问题所在的位置.
刚今我的wave沙盒邀请了.有谁知道google wave的.NET库?(客户端和服务器)我是程序员,不熟悉Google样本所用的语言.它已经迫不及待地为它写了一些东西.
当我尝试在我的Google Wave小工具中调用wave.getState()时,我返回null(没有状态对象).如何初始化Wave状态对象?我在Wave Sandbox工作.
我的ModulePrefs包含以下内容:
<Require feature="wave" />
<Require feature="rpc"/>
Run Code Online (Sandbox Code Playgroud)
我在搜索修复程序时从一些谷歌小组发布了"rpc"功能,但它似乎没有任何帮助.
小工具包含一个jQuery插件,它定义了我使用的类(未显示),将事件处理程序附加到以编辑模式显示的链接,并使用google wave小工具初始化程序设置回调方法:
$.fn.extend({
$.gork.InitPass.newButtonClick = function newButtonClick() {
var jer = new $.gork.InitPass.Player('Jeremias', 12, 2);
var delta = {};
delta[jer.name] = jer.serialize();
wave.getState().submitDelta(delta);
};
$.gork.InitPass.modeCallback = function modeCallback() {
var state = wave.getState();
var mode = wave.getMode();
$.gork.InitPass.getContainer().ipCombatState(state, (mode == wave.Mode.EDIT));
};
$.gork.InitPass.stateCallback = function stateCallback() {
$.gork.InitPass.getContainer().ipCombatState(
wave.getState(), (wave.getMode() == wave.Mode.EDIT));
alert('state');
};
$.gork.InitPass.init = function init() {
if (wave && wave.isInWaveContainer()) {
var mode = wave.getMode();
$('.gork-ip-container').ipCombatState(null, (mode …Run Code Online (Sandbox Code Playgroud) 波是否仅限于文本信息(HTML)的共享,或者我假设波可以包含任意数据(用XML表示),只要它还包含以有意义的方式呈现它所需的javascript,我是否正确?
我问,因为Google I/O视频中演示的协作文档准备看起来非常强大,但除了简单的rtf文本外还有许多其他类型的文档.就我而言,我会以交互方式展望甘特图.
很抱歉,如果这是众所周知的,但谷歌搜索我的答案只提出了关于制作谷歌Wave小工具的链接.
我的问题是,是否有任何Google Wave小工具可以进行更好的协作代码编辑?我的意思是,我可以将字体设置为固定宽度等,但它们是为它设计的任何小工具吗?
回复不应包含任何关于git或的内容svn.当我想使用那些时,我会使用它们.这是关于Google Wave的!
我最近一直在研究我的第一个google wave机器人,它的作用的重要部分是将内联回复插入到一个blip中.我不能为我的生活弄清楚如何做到这一点!
API文档有一个函数InsertInlineBlip听起来很有希望,但是调用似乎没有做任何事情!
编辑::似乎这是一个已知的错误.但是,问题仍然是插入内联blip的正确方法是什么?我假设这样的事情:
inline = blip.GetDocument().InsertInlineBlip(positionInText)
inline.GetDocument().SetText("some text")
Run Code Online (Sandbox Code Playgroud)