[Chandler-dev] Sharing API type system meeting

Phillip J. Eby pje at telecommunity.com
Tue Sep 12 12:31:33 PDT 2006


I'd like for us to meet on Thursday, September 14th, at 3pm PST to discuss 
the type system for the sharing external information model between Chandler 
and Cosmo.  Morgen and Brian Moseley have both proposed using XSD, but I 
think we need to narrow the field a little, since XSD is much broader than 
what either the Chandler or Cosmo backends can actually accept at this 
point in time.  So, I don't field comfortable making the spec allow you to 
just throw in there whatever types XSD allows.  We should at least narrow 
it down to the subset of XSD that each backend can comfortably support, 
even if we use the XSD model for specifying types.

However, we could also just as easily use a very strict concrete typing 
based on SQL types, or just list out what types and variations thereof we 
will allow in the current version, and how we will communicate that type 
information.

So the first goal of the meeting is to decide "what types we care about", 
in the sense of both the specific types themselves, and what *distinctions* 
between types are necessary.  For example, the Chandler repository doesn't 
care about how big a Text field is, but SQL databases usually do, and often 
make a distinction between short text and long "memo" types at a smaller 
size than one would usually care about in Chandler before switching to a 
blob type.

Another similar distinction is numeric precision, since SQL databases tend 
to use fixed decimal places to describe their numeric types, vs. the way 
Python and Java effectively use numbers of bits.

So, we should establish what distinctions are critical, and then from there 
decide whether to use an XSD subset, an SQL-like type/precision notation, a 
fixed set of predefined types without any variation allowed, or something 
else altogether.

Of course, if we can answer these questions via email before Thursday and 
don't have to have a meeting, that's even better.  :)



More information about the chandler-dev mailing list