I've just checked in an initial code drop for the most basic EIM features:
field types, fields, record types, and records. There is no key support
yet (primary or foreign) and thus no "diff" feature yet. However, you can
easily define record types and fields, associate type converters with them,
and create records from any data supported by the type converters. See the
"EIM.txt" file inside the osaf.sharing package. (Note: currently, the eim
features are not exported from the sharing package; you have to import them
from osaf.sharing.eim directly. This will be changed once the API to be
exposed has stabilized a bit more.)
We now have enough of a foundation to begin defining sharing schemas
(including perhaps the metaschema for transmitting schemas), and
experimenting with reading or writing EIM records.
Later in the week I should be adding some features related to keying,
diffing, the planned "NoChange" object, etc. And then, other phases'
features will follow.
But, there isn't any need to wait for all that to get started on
application layer issues like agreeing on the EIM encoding for UUIDs (e.g.
as 16 bytes vs. 32 text chars, what URI will be used to designate the type,
etc.), and other Chandler data types. (E.g. do we encode floats as
strings? What happens with unzoned date-times? Etc.)
These questions aren't ones I can really "drive" as they are application or
domain model-level. But feel free to pull me into any conversations or
answer any questions or to otherwise facilitate getting them resolved.
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Open Source Applications Foundation "chandler-dev" mailing list
http://lists.osafoundation.org/mailman/listinfo/chandler-dev