Re: GSOC idea: json api for plone
Sean Upton <[email protected]>
| Newsgroups | gmane.comp.web.zope.plone.devel |
|---|---|
| Message-ID | <CANjV-2NOfpZY+hVDT9+jJW4PTY1BMT=f7DrR4Gd0vJMMrPdCKw@mail.gmail.com> |
> IMO it would be a good start to make all plone.api calls available as > json-rpc. Also (with some level of abstraction on serialization/ > deserialization) then it is easy to get at the same time an xmlrpc api. +1 to abstracting serialization model. We can and should have a traversal+CRUD API that works as intuitively as possible... and JSON (or YAML, XML, protocol buffers, or who cares what else) is somewhat beside the point of always having some externally representable serialization of content object state: (a) stuff from __getstate__(), excluding stuff inappropriate to external state representation. (b) selected stuff in content object annotations, as appropriate. (c) Stuff in _workflow_history attribute. (d) Some way to serialize references (always UUID, ideally). (e) Reasonable way to serialize given a format some binary payload (e.g. primary field for file or image). (f) Event notification for pre-post serialization to allow add-ons to do things like put metadata into IPTC/XMP for media files. (g) Standardized format for content listings (contained, related) in the state serialziation of a folderish object. (h) Standardized normalization for data types: all Datetime objects to datetime.datetime. (i) some adapter interface that content type authors can implement for specific normalization that is more specific than default content normalization. Same override ability also with type-specific plus format-specific serializations. (j) Standardized serialization for more complex idioms (e.g. data grid) commonly used in add-on content types. If we have standardized abstractions for this stuff, it could be used for other things beside web API... Thinking backups, DAV/FTP upload/download, content-addressed external versioning (git), CMIS implementations, etc. Sean ------------------------------------------------------------------------------ Flow-based real-time traffic analytics software. Cisco certified tool. Monitor traffic, SLAs, QoS, Medianet, WAAS etc. with NetFlow Analyzer Customize your own dashboards, set traffic alerts and generate reports. Network behavioral analysis & security monitoring. All-in-one tool. http://pubads.g.doubleclick.net/gampad/clk?id=126839071&iu=/4140/ostg.clktrk