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.
|