Re: [Modeling-users] API cleanup proposal
Status: Abandoned
Brought to you by:
sbigaret
From: Sebastien B. <sbi...@us...> - 2003-06-24 09:44:36
|
Hi, Time to summarize the changes we discussed here: EditingContext -------------- - insert() is an alias for insertObject() - delete() is an alias for deleteObject() - fetching: remove the need to import FetchSpecification and Qualifier, and propose an alternate for objectsWithFetchSpecification() def fetch(self, entityName, qualifier=3DNone, # either a Qualifier instance or a string isDeep=3D0, # should subentities be fetched as well? ) Note that parameters orderBy, limit/page/offset, lock and rawRows have been removed since they are unsupported yet (they will be introduced when support is available). - make fetchCount() an alias for objectsCountWithFetchSpecification() [same API as fetch()] - make (set)autoInsertion() aliases for (set)propagatesInsertionForRelatedObjects() =20=20=20=20 CustomObject ------------ - add globalID() KeyValueCoding -------------- - deprecate methods setValueForKey(), setValueForKeyPath() and setStoredValueForKey() I propose to set the removal time for these deprecated methods at version 0.9.1 - add valuesForKeys(), counterpart for takeValuesFromDictionary() Additionally, I propose to move the chapter dealing with KVC to an other part in the User's Guide, in some 'advanced techniques' chapter, so that it is not exposed as it is today. Validation ---------- No changes (because of backward compatibility issues, mainly) About the ``new'' KVC module: ----------------------------- Do we agree that it can be separatedly defined so that users can use it as a mix-in for their classes, at their will? If so, does anyone want to take the lead for this? (meaning at least continuing the discussion and coming to a decision) Future enhancements ------------------- Interesting future features (NOT included in this proposal) have been proposed in this thread, including: - fetchSQL(): the possibility to pass a raw sql query to build objects, - the ability to fetch raw rows (i.e. raw dict) rather than fully-initialized objects, - fetchSummary(): adds access to sum()/avg()/... and group by/having to the fetching API We'll probably need to discuss some of these points a bit more, however if you think you'll need one or more of these for the coming releases please fill in a RFE on sourceforge's page and announce it here --this is definitely the best way to make it happen sooner. I'd like to validate the API change proposal for the end of the week, if possible, so I'd appreciate if you could comment on this in the coming days. And BTW thanks a lot for the attention you already paid to this topic. -- S=E9bastien. |