[Google Wave APIs] Cron Tutorial
I know what a cron job is, I have just never created one. For ANY platform. Google Wave is a very specific platform and there isn't much documentation on it (crons with Wave). In the Java API tutorial, cron jobs are mentioned as being available, but that's all I could find on them. I have seen some other posts about cron jobs in groups here and gathered that some lines of code should be added to the capabilities.xml but I don't know the extent of the attributes I can use or even how to use the ones I saw in the post (i think there was a directory for a script? and then a time given that appeared to be an interval like every 10 seconds). So my question is this: Is there some documentation I have missed in terms of cron jobs with wave (for the Java API)? If not, could someone give a quick run down of their understanding of how this could be used? I am also aware that a mechanism is being developed that could replace the need for cron jobs but I'd still like to familiarize myself with the cron capabilities. Thanks for your time! Smola --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google Wave API group. To post to this group, send email to google-wave-api@googlegroups.com To unsubscribe from this group, send email to google-wave-api+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-wave-api?hl=en -~--~~~~--~~--~--~---
[Google Wave APIs] Re: Strange Range behavior after appending text...
I don't know how many people were able to read this, but I haven't received any feedback yet and the problem persists. Is this some sort of annotation bug or am I missing something? On Oct 25, 12:06 pm, Smola callmesm...@gmail.com wrote: I hope the length of this post doesn't deter anyone from giving it a look. I am using the Java Robot API. With that said... I have been working on a robot that reads questions from a blip and populates them in a Question Bank blip. Here is the process: -I choose a blip and enter into it Question Bank -My robot reads and recognizes that exact text and 1.) sets a data document that stores the blip ID containing that text 2.) appends (Ready)\n to the blip -A user enters a question with my chosen q /q tags -Robot reads the question and recognizes tags -Robot reads last question data document (if available) and finds the next consecutive number (String num) to assign this question and sets a new data document for the current question with number -Robot replaces user question and tags with: num + .) + question -Robot changes text color with my custom stringStyle method (posted below) *start custom addQuestion method (posted below) -Robot reads data document with question bank id to get that blip context -Robot gets question bank blip with bundle.getBlip() method -Robot appends text to question bank blip document: num + .) + question -Robot uses custom stringStyle method to color question in question bank **stringStyle method** public void stringStyle(Blip blip, String string, String style, String arg) { string = new escape(string).get(); //custom class i created to escape certain characters for regex TextView doc = blip.getDocument(); doc.append(+doc.getText()+\n); //testing purposes only Matcher matcher = Pattern.compile(string, Pattern.CASE_INSENSITIVE).matcher(doc.getText()); if (matcher.find()) { doc.append( range:+matcher.start()+, +matcher.end()); // testing purposes only Range range = new Range(matcher.start(),matcher.end()+1); doc.setAnnotation(range, style/+style, arg); } else { doc.append(\nerr StringStyle: string not found); } } **addQuestion method** public void addQuestion(RobotMessageBundle bundle, Wavelet wavelet, String num, String question) { String blipID = wavelet.getDataDocument(bank); if(blipID != null) { Blip blip = bundle.getBlip(wavelet.getWaveId(), wavelet.getWaveletId(), blipID); blip.getDocument().append(\n+num+.) +question); stringStyle(blip, num+.) +question, color, red); } else { blipOut(wavelet, Question Bank not found!); } } Ok so EVERYTHING works just fine in the process except that last step. I want to color the added question red, but for some reason, my matcher finds the question starting at position 2 EVERY time (even as i continue adding questions successfully). This results in part of the text Question Bank (Ready) turning red instead of the question itself. I tried to view the doc.getText to see if it was returning the rest of the text in the question bank but it is not. For some reason getting the blip in this context does not return any of its content (it seems) except for the question I have just appended (via getDocument().getText()). I have a feeling this has something to do with using the bundle and the stored blip ID to get that blip reference to append to it. Anyone have any thoughts? I hope I included enough information... --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google Wave API group. To post to this group, send email to google-wave-api@googlegroups.com To unsubscribe from this group, send email to google-wave-api+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-wave-api?hl=en -~--~~~~--~~--~--~---
[Google Wave APIs] Re: Google Wave Robot Wire Protocol Draft - Feedback Wanted
I like the detail of the explanation for the Message bundle the robot receives. However, I would love to see that same level of detail in the JSON-RPC operations the robot sends to the wave. What is the extent of the methods that can be sent? How about the params? How exactly is it sent through a url? I would be interested in building a PHP client library so understanding my limitations would be very helpful. Also, when will the new protocol be rolled out (if it hasn't been already) and is it possible to begin building the client library currently? Smola On Nov 4, 8:38 pm, pamela (Google Employee) pamela...@gmail.com wrote: Under the hood, Google Wave robots operate by receiving events and sending operations via JSON messages at specified URLs. Our robot client libraries (in Java and Python) wrap on top of that wire protocol and expose the events and operations as classes and methods. When we first launched the robots SDKs in June, we received feedback about various issues with this underlying protocol. These issues bubbled up to the client libraries, and often made it harder to use the client libraries. As mentioned in the What's coming forum post a few months ago, we have been working on the next version of the wire protocol. We have now come up with a protocol that we think is much cleaner and will make development easier. We have published a draft of this new protocol here:http://code.google.com/apis/wave/extensions/robots/protocol.html This protocol will form the basis of future client libraries, so once we feel confident about this protocol, we will release client libraries that use it. If you are a developer thinking about writing a client library in your language of choice (like Ruby, PHP, etc), then this document will be of great interest to you. If you are a developer that uses our current robot APIs, then this document may help you understand the mechanisms of robots better, and prepare you for future client libraries to come. Please take a look and give us your feedback, both on the protocol itself and on the documentation. Thanks! --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google Wave API group. To post to this group, send email to google-wave-api@googlegroups.com To unsubscribe from this group, send email to google-wave-api+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-wave-api?hl=en -~--~~~~--~~--~--~---
[Google Wave APIs] Strange Range behavior after appending text...
I hope the length of this post doesn't deter anyone from giving it a look. I am using the Java Robot API. With that said... I have been working on a robot that reads questions from a blip and populates them in a Question Bank blip. Here is the process: -I choose a blip and enter into it Question Bank -My robot reads and recognizes that exact text and 1.) sets a data document that stores the blip ID containing that text 2.) appends (Ready)\n to the blip -A user enters a question with my chosen q /q tags -Robot reads the question and recognizes tags -Robot reads last question data document (if available) and finds the next consecutive number (String num) to assign this question and sets a new data document for the current question with number -Robot replaces user question and tags with: num + .) + question -Robot changes text color with my custom stringStyle method (posted below) *start custom addQuestion method (posted below) -Robot reads data document with question bank id to get that blip context -Robot gets question bank blip with bundle.getBlip() method -Robot appends text to question bank blip document: num + .) + question -Robot uses custom stringStyle method to color question in question bank **stringStyle method** public void stringStyle(Blip blip, String string, String style, String arg) { string = new escape(string).get(); //custom class i created to escape certain characters for regex TextView doc = blip.getDocument(); doc.append(+doc.getText()+\n); //testing purposes only Matcher matcher = Pattern.compile(string, Pattern.CASE_INSENSITIVE).matcher(doc.getText()); if (matcher.find()) { doc.append( range:+matcher.start()+, +matcher.end()); // testing purposes only Range range = new Range(matcher.start(),matcher.end()+1); doc.setAnnotation(range, style/+style, arg); } else { doc.append(\nerr StringStyle: string not found); } } **addQuestion method** public void addQuestion(RobotMessageBundle bundle, Wavelet wavelet, String num, String question) { String blipID = wavelet.getDataDocument(bank); if(blipID != null) { Blip blip = bundle.getBlip(wavelet.getWaveId(), wavelet.getWaveletId(), blipID); blip.getDocument().append(\n+num+.) +question); stringStyle(blip, num+.) +question, color, red); } else { blipOut(wavelet, Question Bank not found!); } } Ok so EVERYTHING works just fine in the process except that last step. I want to color the added question red, but for some reason, my matcher finds the question starting at position 2 EVERY time (even as i continue adding questions successfully). This results in part of the text Question Bank (Ready) turning red instead of the question itself. I tried to view the doc.getText to see if it was returning the rest of the text in the question bank but it is not. For some reason getting the blip in this context does not return any of its content (it seems) except for the question I have just appended (via getDocument().getText()). I have a feeling this has something to do with using the bundle and the stored blip ID to get that blip reference to append to it. Anyone have any thoughts? I hope I included enough information... --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google Wave API group. To post to this group, send email to google-wave-api@googlegroups.com To unsubscribe from this group, send email to google-wave-api+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-wave-api?hl=en -~--~~~~--~~--~--~---
[Google Wave APIs] Re: Can't seem to delete/trash a wave
I'd have to agree with Mr. Nesting. I know you want to get the wave out of of your inbox, but not at the expense of perhaps not getting legitimate waves later. As for the problem, I have experienced the same issue, but it is intermittent. I also get this same intermittent problem when trying to archive waves. The wave closes but remains in my inbox. Again, both of these issues are intermittent for me and are unpredictable. It's important to note that I'm mainly using Wave Preview, but I have seen this issue in sandbox as well. On Oct 25, 2:03 pm, David Nesting da...@fastolfe.net wrote: On Sun, Oct 25, 2009 at 10:56 AM, voidref void...@gmail.com wrote: Deleting waves does not appear to work yet, I have had to mark them as spam, and them Mute them. I guess you gotta do what you gotta do, but I would be concerned that this would introduce noise into the spam filtering Wave uses (or may use in the future). Marking legitimate waves as spam would seem to make it more difficult for the system to identify spam in the future. David --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google Wave API group. To post to this group, send email to google-wave-api@googlegroups.com To unsubscribe from this group, send email to google-wave-api+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-wave-api?hl=en -~--~~~~--~~--~--~---
[Google Wave APIs] Re: Can't seem to delete/trash a wave
Oh yea, I'm using Safari 4 on Mac OS X Snow Leopard. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google Wave API group. To post to this group, send email to google-wave-api@googlegroups.com To unsubscribe from this group, send email to google-wave-api+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-wave-api?hl=en -~--~~~~--~~--~--~---
[Google Wave APIs] Re: Wavelet.getRootBlip() -- Do I understand something wrong?
Keeping track of the IDs for lookup? I have been searching for a method in the API which takes a blip ID as an argument and returns the blip matching that ID but have been unable to find one. Am I missing something? Please tell me how this can be done if possible because my development has been stalled as a result. Smola On Oct 23, 2:55 am, Austin Chau (Google employee) api.aus...@google.com wrote: So yes, when a blip is out of context you would have no way to retrieve its document content from the event callback alone. What can you do now is maintain the context on your own with a datastore backend. Essentially keeping track of all wavelet and blip ids for lookup. We know that this is not ideal and we are working on this as speak to remove the limited context on callback. Stay tuned for updates. Austin 2009/10/22 Bálint Kriván bal...@google.com Oh I see...So robot doesn't get the whole wavelet with all of the blips, but the blip of the related event and it's parent. Ok, but if I would like to access to the rootblip, and I get its id with wavelet.getRootBlipId(), how can I request its content (getDoucment().getText())? (wavelet.getRootBlip().getDocument().getText() also throws null exception in these cases, so I don't have any idea how to achieve this) Thanks for your guidance! On Fri, Oct 23, 2009 at 2:56 AM, Austin Chau (Google employee) api.aus...@google.com wrote: Hi, To get the root blip id in your scenario - wave.appendBlip().getDocument().append(wavelet.getRootBlipId()); This would work because it does not require context of a grandparent blip. The reason that you are getting exception is because the context associated with an event callback only goes back its immediate parent. So in your case if the triggering event is resulted from a grandchild blip away from root, it will no longer has context to recreate the root blip when you invoked wavelet.getRootBlip() - thus you will get a null reference. Hope it helps, Austin 2009/10/22 Bálint Kriván bal...@google.com Reply to myself and others: I think this is related to http://code.google.com/p/google-wave-resources/issues/detail?id=200. 2009/10/22 Bálint Kriván bal...@krivan.info Hi! I have this little chunk of code: public void debug(RobotMessageBundle bundle, String msg) { ListString list = new ArrayList(); list.add(myaddress in google wave); Wavelet wave = bundle.createWavelet(list); wave.appendBlip().getDocument().append(msg); } @Override public void processEvents(RobotMessageBundle robotMessageBundle) { Wavelet wavelet = robotMessageBundle.getWavelet(); for (Event event : robotMessageBundle.getEvents()) { Blip currentBlip = event.getBlip(); switch (event.getType()) { case BLIP_SUBMITTED: debug(robotMessageBundle, String.valueOf(wavelet.getRootBlip().getBlipId())); // line 46! } } } So when I add a blip to the wavelet where the robot is, it should open a new wave with me and send the id of the root blip (The top blip in the wavelet). But if this blip isn't right after the root blip (so the very first Reply button) then I've got a NullPointerException: java.lang.NullPointerException at com.google.wave.api.impl.BlipImpl.getBlipId(BlipImpl.java:56) at robot.MainServlet.processEvents(MainServlet.java:46) at com.google.wave.api.AbstractRobotServlet.doPost(AbstractRobotServlet.java:8 9) [...] What is the recommended way to access the very first blip (which is I guess the RootBlip)? Thanks for your help! -- Üdv, Kriván Bálint -- Üdv, Kriván Bálint -- Üdv, Kriván Bálint --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google Wave API group. To post to this group, send email to google-wave-api@googlegroups.com To unsubscribe from this group, send email to google-wave-api+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-wave-api?hl=en -~--~~~~--~~--~--~---
[Google Wave APIs] Re: Testing a specific robot version
I believe that you can change the version currently being served in your appengine dashboard. However, if you are talking about having a working version up for the public and another one that you are developing, you're right, you have to have two different appIDs because appengine looks at the same version file for whatever version you work with. On Oct 18, 2:46 am, David Trattnig david.tratt...@gmail.com wrote: Is there an approach to test one specific version of a robot? For example following doesn't work: 7.latest.my...@appspot.com If not existent - is there a plan for a similar feature? Currently it's quite hard to test robots under-development while serving a working version to the public. The only way is to create a second test-app on AppEngine. Thanks david --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google Wave API group. To post to this group, send email to google-wave-api@googlegroups.com To unsubscribe from this group, send email to google-wave-api+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-wave-api?hl=en -~--~~~~--~~--~--~---
[Google Wave APIs] Re: Google Wave Inbox Notification tool for the Windows Desktop
Hello all, Oliver, I don't see how Sam's translating has anything to do with your progress developing your app. You go on your merry way developing your Windows app as your original intent implies. And if Sam chooses to try and translate, then way to go for him. Whether he finishes it or not or has a different GUI has no bearing on your own personal progress on the app. If I were you I'd continue as if you'd never heard Sam's original message and if he comes up with a translation you can make decisions then. VB was one of my first languages too! ;D I know it's pretty easy, but if you know basic logic it's not a HUGE leap to go from language to language. As you expand your curiosities I think you'll find that you may even prefer a different language. I started out in software design but found that I preferred web development instead. Good luck on your app! On Oct 16, 7:57 am, Chris Bailey xcom...@gmail.com wrote: sorry for not being able to reply before. _ not sure why it wouldn't let me. but Oliver if you focus on just making a GUI even if it's in a different language and make the actual getting of Wave data into it's own core that can be replaced in the future you should be fine with leaving it as is until Google releases an API On Fri, Oct 16, 2009 at 7:22 AM, Oliver Baker ocba...@gmail.com wrote: Hi, yes its an embedded webbrowser since I have found no other method that works with MIT's Proxy (New Zealand MIT). On Fri, Oct 16, 2009 at 7:57 PM, Joe Developer joe.d.develo...@gmail.comwrote: rar x file.rar works fine here(Debian), you may want to install `unrar` from your package management system. Have a look at 'Form1.vb' : wbLogin.ReadyState = WebBrowserReadyState.Complete I wanted to attach the source in tar.gz format, but intriguingly gmail tells me that it cannot be sent as it contains an executable. On Fri, Oct 16, 2009 at 1:48 PM, Sam Osborne sam.tosbo...@googlemail.com wrote: Oh and can you put the source on there in a different format? Linux (which I'm primarily on) can't read rars 2009/10/16 Sam Osborne sam.tosbo...@googlemail.com Ouch. Wait, if it IS an embedded browser, and if it was made (which is likely) in Visual Studio, it's an embedded IE Which is very bad... 2009/10/16 Joe Developer joe.d.develo...@gmail.com From browsing the code it seems like a straight translation is unlikely to work all that well.. It seems like the vb code uses an embedded webbrowser to handle the handshaking with the wave site. On Fri, Oct 16, 2009 at 1:00 PM, Sam Osborne sam.tosbo...@googlemail.com wrote: Ok... Well you could use wxWidgets to do the GUI for C++, instead of something like GTK.. It may mean learning a new thing on top of C++, but then you won't need some GUI maker thingy for every OS.. Linux just needs to install wxWidgets, not sure about Mac, but Windows works fine. Ok.. I'll have a look at the code.. Same link as before? All my code was (and some still is) pretty scruffy.. It can't be that bad! Seeing as I'm TRYING (I may fail :( ) to translate the code almost directly, it may be pretty simple to find out which code means what, espcecially if (once I've translated it all) if I match the line numbers up. For example: VB.net code: Line 1: msgbox(Hello) C++ code: Line 1: cout Hello; Alternate C++ Code (there's another bit of code that does exactly the same thing Line 1: printf(Hello); Although you may not be able to compile it, you can sure Test For Bugs, rather than Bug Fix, and then just tell us some bugs.. If you're working your way through the simple stuff in that pdf, you may even be able to fix some of them.. 2009/10/15 Oliver Baker ocba...@gmail.com The Source of Version 2 has been uploaded to Google Code, remember that I rushed this a little and the code is very scruffy (readable) since I really wasn't expecting to get this much support for the project. If this is going to be coded now in C++ this has been put on hold. (There is a slightly more cleaner version of the code with less bugs but I wanted to put up the code used in the latest version thats been released.) Don't complain about this programs source, If I was to release this in vb.net with the API when it comes out this would be re - written to proper standards. Thanks, Oliver Baker On Fri, Oct 16, 2009 at 9:34 AM, Joe Developer joe.d.develo...@gmail.com wrote: On Fri, Oct 16, 2009 at 3:20 AM, Oliver Baker ocba...@gmail.comwrote: Thats all very good, however I have to make sure I find people that I know will not suddenly ditch the application halfway through, leaving me dead in the water. (I am not saying that you would do it, its happened to me before) Experience can never be taken from you. I suppose we can move into C++, but we are going to have to find somebody who can program the GUI's for C++ Applications.
[Google Wave APIs] Experienced Wave Developers
I have been trying to work with and follow the groups in regard to all of my questions about Wave. However, one of my problems didn't get answered for 4 days and most others take half a day to a full day for replies. I think others are feeling the same frustration and, as a result, there have been requests for a Wave version of groups. In the meantime, I am requesting that developers who are willing to help in groups and also in Wave post their @googlewave.com ids here (I don't use my sandbox account as much anymore). I would like to add some developers to my contact list that I can shoot a Wave to and bounce a question or two off of from time to time. I don't know the types of time constraints people have but as a teacher I am always looking for ways to help my students so it could just me being naive when I ask this of you. So anyone who would like to act as a peer/teacher of sorts through Wave please leave your id here, send me an email at callmesm...@gmail.com, or send me a wave at callmesm...@googlewave.com. I think we should use the technology for its intended purpose. =] Thanks, Smola --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google Wave API group. To post to this group, send email to google-wave-api@googlegroups.com To unsubscribe from this group, send email to google-wave-api+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-wave-api?hl=en -~--~~~~--~~--~--~---
[Google Wave APIs] Re: Main account and test account
I could not connect to the preview wave and sandbox wave accounts at the same time with two separate safari windows. I do believe this is possible with two different browsers though. I am pretty sure I was able to get to work with Safari and Firefox. I don't have Chrome however. Perhaps it works differently in the way it stores cookies from separate windows? On Oct 13, 8:47 am, namronp normpl...@gmail.com wrote: I just tried opening my main account and test account with Chrome in two separate windows on the same computer and started a new wave. I added the other contact and I was able to carry on a wave dialogue. Therefore, my previous post mentioning the potential need for two separate computers or IP address is wrong. Sorry for speaking up too soon before testing this further. On Oct 13, 8:29 am, namronp normpl...@gmail.com wrote: Not sure, but I believe that you need another IP address, as I use two computers on the same network, each having a unique IP address and I can test wave applications. Seems that I can not be signed into a wave with two separate accounts on the same computer and perhaps this is due to cookies, etc.. Check with the documentation to determine if there's an answer to this. On Oct 13, 7:40 am, Harrison Conlin m...@harrisony.com wrote: This is coming soon (federation). On Tue, Oct 13, 2009 at 8:49 PM, Shaiton kev.raym...@gmail.com wrote: HI, I got the same preview account yesterday ! That's so amazing !! Thanks Google team ! To answer your question, did you try to look for your account with the full address ? (i.e. n...@wavesandbox.com) You need to write the whole adress. I don't know why (yet, cause I am looking for the answer) but there are @wavesandbox.com and @googlewave.com domains. Using my wavesandbox, I can't add googlewave users. Have fun waving ! Regards, Shaiton On Oct 13, 3:47 am, Long Thay Bun thaybunlon...@gmail.com wrote: Dear Google Wave API, Today, I have received 2 accounts and passwords to use Wave for the first time. I log in the main account, activate it and do the same with the test account. Then, I try to add test account into main account but it does not work and vice versa. Could any one help me on this issue? Thanks and regards, Long -- Harrison Conlin- Hide quoted text - - Show quoted text -- Hide quoted text - - Show quoted text - --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google Wave API group. To post to this group, send email to google-wave-api@googlegroups.com To unsubscribe from this group, send email to google-wave-api+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-wave-api?hl=en -~--~~~~--~~--~--~---
[Google Wave APIs] Re: Google Wave Web
I visited that page and it seems a bit off. I'm not sure why but the whole idea seems a little creepy. Profiting off of GWave invites? Come on... I advise against using it. On Oct 10, 8:48 pm, Google İnvite coz...@gmail.com wrote: google waveweb page no facebook google wavehttp://www.wave-google.us --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google Wave API group. To post to this group, send email to google-wave-api@googlegroups.com To unsubscribe from this group, send email to google-wave-api+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-wave-api?hl=en -~--~~~~--~~--~--~---
[Google Wave APIs] Mystical Hidden Character
I am still working on appending styled text to a blip, but I'm settling on adding annotations afterwards for now since appendMarkup doesn't seem to be working properly. What I am doing is identifying questions in a blip using tags(q/q). The script detects the tags, stores the question, and then edits the blip taking the tags away and turning the question green. Every time I try though the very last character remains black. I did some tests and the range I want is correct. However, I am using the replace() method to replace the contents of the original blip with the new content (sans question tags). When I do this replacement some phantom character gets added. I submit the original blip immediately after the last character by pressing shift+enter so a newline character shouldn't be a part of it. I tried commenting out the annotation code thinking that perhaps an annotation adds a character somehow but that didn't work. Oh, and it's important to note that the phantom character must be at the START of my replaced text because the un-annotated character is the last character of my string. Anyone else encounter this or have any ideas on what it is?? --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google Wave API group. To post to this group, send email to google-wave-api@googlegroups.com To unsubscribe from this group, send email to google-wave-api+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-wave-api?hl=en -~--~~~~--~~--~--~---
[Google Wave APIs] Re: Mystical Hidden Character
Ok, I must not understand the way Annotations work with Ranges. I changed my annotation range to go from 0,2 thinking that the 0th, 1st, and 2nd characters would get annotated. In other words, the first three characters. Isn't that how you'd expect it to work? So inside my question tags i put hi? and the question mark didn't get annotated. Again, the length of the text of this newly replaced document with just hi? had 4 characters instead of 3. So then I tried the range to from 1,3 and this time the 'h' in hi? was black and the other two characters were green. Still, 4 total characters found. The only thing that worked was for me to make the range go from 0,3. That seems so counter-intuitive to me though since in all other languages the behavior would be different. However, this behavior does lead me to believe that the 4th hidden character is indeed some sort of marker for the annotation and that it comes at the END of the text rather than the beginning. Any thoughts? --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google Wave API group. To post to this group, send email to google-wave-api@googlegroups.com To unsubscribe from this group, send email to google-wave-api+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-wave-api?hl=en -~--~~~~--~~--~--~---
[Google Wave APIs] Re: Setting Annotations cancels further Text changes?
This won't be helpful but, shouldn't it be ue-tray for true? I thought pig-latin splits words at the first vowel? On Oct 11, 9:35 pm, Spencer Chastain sechast...@gmail.com wrote: So, I'm making a toy robot - something that converts typed text into pig latin. And I have that working, except I thought it might be nice to revert the text into plain english if the document was edited again later on. I figured the easiest way to do this would be to annotate the text per the range of each pig latin word with the original un-translated word. So I added code such that at each word translation, the translated word was annotated with the original. Except now, the text updates seem to stop after the first annotation. If I comment out setting the Annotation, it works fine. If I uncomment the setting of the Annotation, it stops working. What's even more confusing, the Annotation doesn't seem to be coming across - I go back into edit the blip, during which I have my code dump all annotations - nothing there! String original = text.getText(); if(original.startsWith(pig:)) { int end = original.length(); while(end 4) { int start = original.lastIndexOf(' ', end-1)+1; if(start 4) { start = 4;} String word = original.substring(start, end).trim(); if(word.length() 0) { String pigged = ; if(/*starts with vowel*/) { pigged = word + -ay;} else { pigged = word.substring(1) + - + word.charAt(0) + ay;} logMsg += ' + word + ' = ' + pigged + ' [ + start + , + end + ]\n; Range r = new Range(start, end); text.replace(r, pigged); // Range nr = new Range(start, start+pigged.length()); // text.setAnnotation(nr, sechastain/pl/ + start, word);} end = start-1; } text.replace(new Range(0, 4), ); } Annotation commented out: ell-tay e-may omething-say rue-tay Annotation uncommented: pig:tell me something rue-tay Come to think of it, other than a range annotation (when I highlight text) and the occasional lang Annotation, I don't see much annotations. I guess I just always expected to see more from other places I've read. Any thoughts off hand? --Spencer --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google Wave API group. To post to this group, send email to google-wave-api@googlegroups.com To unsubscribe from this group, send email to google-wave-api+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-wave-api?hl=en -~--~~~~--~~--~--~---
[Google Wave APIs] Re: how to detect a new blip added to a wave?
I'd also like to point out a couple things First off, when you click reply on any blip, the WAVELET_BLIP_CREATED event will fire, so you will receive your good comment blip before any comment is even made. Secondly, use bundle.getEvents() as opposed to bundle.getBlipSubmittedEvents() if you want to listen and test for ANY event the client sends with the bundle. On Oct 10, 6:50 am, twdarkflame darkfl...@gmail.com wrote: I'm probably doing something silly here, but I'm just trying to get my bot to respond to a post. I tried; for (Event e: bundle.getBlipSubmittedEvents()) { Blip blip2 = wavelet.appendBlip(); TextView textView2 = blip2.getDocument(); textView2.append(event=+e.getType().toString()); if (e.getType() == EventType.BLIP_SUBMITTED) { Blip blip3 = wavelet.appendBlip(); TextView textView3 = blip3.getDocument(); textView3.append(Thats a good comment!5/10); } if (e.getType() == EventType.WAVELET_BLIP_CREATED ) { Blip blip4 = wavelet.appendBlip(); TextView textView4 = blip4.getDocument(); textView4.append(Thats a good comment! 10/10); } } And I get nothing at all I also tried putting it in the for (Event e: bundle.getEvents()) { ... } loop and also nothing. However, if (e.getType() == EventType.WAVELET_PARTICIPANTS_CHANGED) { does trigger an response. And so does bundle.wasSelfAdded() (which of course isnt in a loop). So...what am I missing? --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google Wave API group. To post to this group, send email to google-wave-api@googlegroups.com To unsubscribe from this group, send email to google-wave-api+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-wave-api?hl=en -~--~~~~--~~--~--~---
[Google Wave APIs] Re: Creating some annotated text to append to a blip
Well it seems that this post has fallen by the wayside. Fortunately, another post was made that indeed assists me with this problem. It involves creating text, appending it, then annotating it. It is located at: http://groups.google.com/group/google-wave-api/browse_thread/thread/eb334177c34c931f?hl=en However, my original goal was the create a chunk of text PRE-ANNOTATED and then append it to a blip. Is this even possible right now?? On Oct 4, 11:16 pm, Smola callmesm...@gmail.com wrote: I simply cannot wrap my head around this problem! I have done everything I can think of but I simply can't figure it out! I'm sure it's an easy fix as well. I am fairly new to Java but have a pretty good amount of experience of programming in general. Anyway, enough with the preface. I want to detect that a blip has been submitted (which I can do) and then append some styled text on the end of the blip (on a new line). I can append unstyled text easily with the append() method. I can also use setAnnotations() to change some styles on the entire text of the blip. But I can't figure out how to take some text, style it with colors or whatever, and then append it. I read up on theStyledTextclass but that deals with bold/ underlined, etc type styles it seems. I also tried using TextView as a constructor to create an empty TextView type variable but, silly me, TextView is an interface and has no constructor. So then I tried taking the TextView variable I got from blip.getDocument() and tried to delete() the contents and repopulate them but that didn't work because the delete() method returns void. I feel ridiculous because this must have a very basic solution but I just can't find it. I would really appreciate it if someone would help me out on this! --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google Wave API group. To post to this group, send email to google-wave-api@googlegroups.com To unsubscribe from this group, send email to google-wave-api+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-wave-api?hl=en -~--~~~~--~~--~--~---
[Google Wave APIs] Re: Creating some annotated text to append to a blip
Well I tried to do that actually. I took a paragraph tag and tried to append it with some styled text (just setting color to orange) and it didn't work. I've had other issues with that paragraph tag but changing color shouldn't have been too much of a stretch. Just for clarification the line of code was: text.appendMarkup(p style=\color:orange;\Hello/p); And it just appended plain black text to the end of my current textview text. Not even a new line. But that's been discussed in a different thread...;D On Oct 10, 4:27 pm, F. Andy Seidl fase...@myst-technology.com wrote: Take a look at TextView.appendMarkup(). This method lets you append text containing marketup which is then converted to annotations for you. On Oct 10, 12:06 pm, Smola callmesm...@gmail.com wrote: Well it seems that this post has fallen by the wayside. Fortunately, another post was made that indeed assists me with this problem. It involves creating text, appending it, then annotating it. It is located at: http://groups.google.com/group/google-wave-api/browse_thread/thread/e... However, my original goal was the create a chunk of text PRE-ANNOTATED and then append it to a blip. Is this even possible right now?? On Oct 4, 11:16 pm, Smola callmesm...@gmail.com wrote: I simply cannot wrap my head around this problem! I have done everything I can think of but I simply can't figure it out! I'm sure it's an easy fix as well. I am fairly new to Java but have a pretty good amount of experience of programming in general. Anyway, enough with the preface. I want to detect that a blip has been submitted (which I can do) and then append some styled text on the end of the blip (on a new line). I can append unstyled text easily with the append() method. I can also use setAnnotations() to change some styles on the entire text of the blip. But I can't figure out how to take some text, style it with colors or whatever, and then append it. I read up on theStyledTextclass but that deals with bold/ underlined, etc type styles it seems. I also tried using TextView as a constructor to create an empty TextView type variable but, silly me, TextView is an interface and has no constructor. So then I tried taking the TextView variable I got from blip.getDocument() and tried to delete() the contents and repopulate them but that didn't work because the delete() method returns void. I feel ridiculous because this must have a very basic solution but I just can't find it. I would really appreciate it if someone would help me out on this!- Hide quoted text - - Show quoted text - --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google Wave API group. To post to this group, send email to google-wave-api@googlegroups.com To unsubscribe from this group, send email to google-wave-api+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-wave-api?hl=en -~--~~~~--~~--~--~---
[Google Wave APIs] Supported XHTML Elements
Is it possible to get a list of all the XHTML entities that are supported? They are not listed in the documentation. The reason I'm asking is because I tried the most basic element (text.appendMarkup (pSome Text/p)) and it is supposed to append a block-level element. This should circumvent any newline problems. However, it doesn't display that way. It currently just appends the text right up against the last character in a blip (sans tags). Anyone else having this problem or have a way to correct it? --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google Wave API group. To post to this group, send email to google-wave-api@googlegroups.com To unsubscribe from this group, send email to google-wave-api+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-wave-api?hl=en -~--~~~~--~~--~--~---
[Google Wave APIs] Re: Robots receive other robots' events?
It may have been a typo, but there is no event registered as WAVELET_BLIP_SUBMITTED. Perhaps you meant WAVELET_BLIP_CREATED? Other than that, since I have not tested this functionality, I don't have an explanation for you. On Oct 5, 1:03 pm, nickthecook nickthec...@gmail.com wrote: I have found that after a day or so my robot now receives events from other robots, with no change required. Is this normal for Wave? Perhaps new robots just don't receive all the events they should right away. On Oct 3, 10:38 am, nickthecook nickthec...@gmail.com wrote: According tohttp://code.google.com/apis/wave/extensions/robots/: Operations performed by a robot are not reported back to the robot that did them, though they are reported to other participants in the affected wavelets, including other robots. However, I have a robot that currently does little more than log events that it receives. It is only seeing events from me (the only other person in the wave). There is another robot that submits blips in response to mine, but these are not seen by my robot. My capabilities.xml file includes: w:capability name=WAVELET_PARTICIPANTS_CHANGED content=true / w:capability name=BLIP_SUBMITTED content=true / w:capability name=WAVELET_BLIP_SUBMITTED content=true / I have incremented the version number and redeployed the robot just to make sure this configuration was applied. Has anyone else seen this, or can anyone spot what I'm doing wrong? --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google Wave API group. To post to this group, send email to google-wave-api@googlegroups.com To unsubscribe from this group, send email to google-wave-api+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-wave-api?hl=en -~--~~~~--~~--~--~---
[Google Wave APIs] Re: unable to deploy a robot
**UPDATE** I found the problem!!! Ok so my version wasn't updating with all those changes when I visited capabilities.xml even though I could see every version in my appengine dashboard. I looked around in my dashboard and there's an option on the left menu that says Versions. All of my versions were listed but version 1 was listed as the *default* version. I changed the default to the latest version and voila! I got robot activity! One problem though: I get both messages for WAVELET_PARTICIPANTS_CHANGED and WAVELET_SELF_ADDED when I add my robot to a wave. Adding a new contact sends the message for the former event and not the latter as expected. I suppose it makes sense to have both of those messages fire because being added does cause the participant list to change, but that's less than ideal for what it SHOULD do. Either way, it will only take a small fix to get rid of the redundancy. Anyway I hope my plight helps someone else!! On Oct 3, 10:19 pm, Smola callmesm...@gmail.com wrote: I am having the exact same problem actually. I copied everything from the Java tutorial character for character and I was able to access my capabilities.xml from appspot too. My first error was thrown in Eclipse. It flagged the package declaration at the top of my servlet. package com.google.wave.api.samples; was apparently invalid and so Eclipse suggested I use the project name instead (testrobot). So I changed it to package testrobot; But that didn't solve the problem. I also changed the class extension from ParrotyServlet to TestRobotServlet, but I wouldn't think that that would be an issue. I have also been changing my versions both in capabilites.xml and appengine-web.xml every time I deploy. However, when I visit smolatest.appspot.com/_wave/capabilities.xml I see my original version number. Even though I've changed it from 1 to 1a to 1b to 1c to 2 trying to get it to work, It still shows 1. Does anyone else see different? All new versions show up in my appengine dashboard even though the file doesn't seem to be getting updated. The only warning I see is on my naming of the class to TestRobotServlet. It throws this warning: The serializable class TestRobotServlet does not declare a static final serialVersionUID field of type long Would that keep it from working? I assure everyone that I followed the tutorial word for word and only changed the package declaration mentioned above. Also, I added smolat...@appspot.com to my contacts list successfully. I don't get why it won't work. =[ On Sep 29, 5:58 am, maxsap max.saprani...@gmail.com wrote: any one? I really can't understand what I am doing wrong, anyone with the same problem? --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google Wave API group. To post to this group, send email to google-wave-api@googlegroups.com To unsubscribe from this group, send email to google-wave-api+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-wave-api?hl=en -~--~~~~--~~--~--~---