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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.