This is a good patch. As Steve mentioned, you can now see and search on the data stored in mongoDB using the full power of the JSON store. For those who want to port to something other than mongoDB, his update does not force you to use JSON. It is localized to the mongoDB specific code. I have to make some changes to my initial release based on the initial code review, but I plan to implement his update in my baseline after that. For quick reference, when switching to his version delete the mongo database with:
> use mongowave > db.dropDatabase(); This only has to be done the first time if you have existing data stored in base64 format, then you shouldn't have any problems. Also, in case you are wondering, his code is updated for the changes I made this morning related to the digest (enables you to see titles on the console after restart). Nice work Steve and thanks for joining in on the effort to add persistence to FedOne. R, Anthony On Mar 25, 8:41 pm, Steve Baker <[email protected]> wrote: > Hi All > > I've just made the following available via patchset and > clone:http://code.google.com/r/stevetbaker-mongodb-marshalldata/source/chec...http://codereview.waveprotocol.org/48001/show > > This patch builds on Anthony Watkins' MongoDB persistence work. > > Anthony's original implementation stores the actual wave data as base > 64 encoded > data. I wanted to make the most of persisting to an unstructured JSON > store. > > This is done by marshalling directly between protobuf messages and > DBObject, > which is the container object for MongoDB data. The marshalling is 2- > way and > happens in WaveStoreMarshaller.java > > The marshaller code structure is based on > JsonFormat.java:http://code.google.com/p/protobuf-java-format/source/browse/trunk/pro... > > A big benefit of this patch is that the MongoDB database can be > browsed and all > wave data can be seen. It might also be possible to run MongoDB > queries based on > wave data. > > Anthony Watkins has tested the change and said the following: > > > Worked without a hitch for me. Tested locally and through > > federation. Looked at the data in mongoDB and selected items > > within the __data field (now that I can :) ). > > The patchset is the difference between the clones awatkins03-mongodb > and > stevetbaker-mongodb-marshalldata. > > If you want to try this out locally then you can pull in the changes > by running: > hg pullhttps://stevetbaker-mongodb-marshalldata.googlecode.com/hg/ > > You'll have to delete your mongo database every time you switch > between this and awatkins03-mongodb. > > cheers -- You received this message because you are subscribed to the Google Groups "Wave Protocol" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/wave-protocol?hl=en.
