+1, especially if there were some common goals around things like:
- Not lossy: JSON preserves metadata defined in content schema, with standard serialization for common types.
- Graceful with files: store "primary field" binary contents (e.g. image, file) in native format, with JSON side-car file for metadata.
- Graceful with folderish content: keep metadata about folderish content inside a file within the folder (e.g. _index.json).
- Pluggable: add-on authors should be able to write a custom ContentJSON adapter, analogous to the way a JavaScript object can implement a toJSON() method.
- Might be nice if it works with DAV. Upload a bunch of folders and files, and "it just works" for lossless restore would be a noble goal (though DAV bits in Zope2/Plone would require some changes to handle #2/#3).
This project seems like it is the right size for a GSoC project, too. And many of these things seem approachable (excepting #5) with a well-mentored new developer.
Sean