A couple of weeks ago, I added a new feature to schema.Item subclasses that
allows you to create or update existing items in a parcel, and an
'installParcel()' hook that allows you to create a parcel's items from
Python code. It turns out that I forgot to announce these feature here,
although a number of people heard about it via IRC, the commit message, and
other places, and have already put it into use. For example, Morgen
created the osaf.app package using this feature, Ted has used it in the
flickr parcel, Bryan Stearns refactored the attribute editors parcel to use
it, and I converted the certstore.data package to use it to load
certificates directly from a .pem file instead of having to convert it to a
parcel.xml.
For more information, you can look at 'application/schema_api.txt', which
has a section called "Parcel-Loading Tools" beginning around line 577. You
can also look at the __init__.py of the parcels I mentioned above (except
for certstore.data, which is in certstore/data.py) for examples of how to
define an 'installParcel()' routine and how to use the 'update()' method to
create items.
So far, I've gotten pretty positive feedback about the convenience of
creating items with Python as compared to parcel.xml, and it's several
times faster compared to loading the equivalent items in parcel.xml
files. So, there has been some discussion about getting rid of parcel.xml
altogether, and just using Python as our format for setting up parcel
items. I believe Katie will be posting a more official proposal/call for
votes on this issue shortly, but she wanted to make sure everybody got a
chance to look at how item creation in Python looks/works before forming an
opinion, and I just realized I had never sent a dev list posting about the
new features. (For some reason I thought I'd also sent my commit message
(http://viewcvs.osafoundation.org/chandler/?rev=6169&view=rev) to the dev
list, but of course it only went to the commits list.)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Open Source Applications Foundation "Dev" mailing list
http://lists.osafoundation.org/mailman/listinfo/dev