Re: Divmod Axiom 0.5.20

Robert Gravina <[email protected]> Wed, 21 Mar 2007 17:43:48 +0900
Newsgroups gmane.comp.python.quotient.dev
Message-ID <[email protected]>
Oh wow... I was under the impression Axiom development wasn't really  
happening, until I decided to look at trunk about a week ago and  
realised you guys were up to version 0.5.19!

In the meantime, I dabbled with sqlalchemy but came back to Axiom in  
frustration. Axiom is so much simpler to work with, and more powerful  
in some areas that matter to me (e.g. abstraction).

I'll definitely upgrade to 0.5.20 (and Epsilon 0.5.6).

I noticed there is a "whenDeleted=CASCADE" option for references from  
the fact there was a ticket about it being slow... This is great  
news, because I have a lot of code which deletes the children of an  
object by defining onDeleteItem (for child in self.children:  
child.deleteFromStore() kind of thing) and it would be nice to get  
rid of some of that code (e.g. what if I forget to delete something?  
It's great that the DB handles it).
http://divmod.org/trac/ticket/1864

Also I noticed a ticket saying the that axiom.sequences.List is  
depreciated... I use it extensively... what is the suggested way to  
implement similar functionality?
http://divmod.org/trac/ticket/1507

The app I am writing uses Axiom, Twisted Perspective Broker and  
wxPython so that several clients can share data and edit certain  
objects through GUI forms. Most Items subclass pb.Copyable so users  
can add new object locally by creating a pb.RemoteCopy that doesn't  
subclass from Item, but has the same attributes as the Item and  
shares data validation code. When they are done setting editing this  
newly-created object, they send to the server where I create the Item/ 
pb/Copyable version of that object and copy all the attributes across  
(pb.Cacheables need to be created/live on the server, so I'm not sure  
how to do this using them) and I notify all clients after the Item is  
saved.

Is there any way to find out which objects have been updated when a  
transaction is committed? I thought perhaps I could have certain Item/ 
pb.Cacheable subclasses define an "update" method which gets called  
right after a transaction is committed and updates clients.

Essentially, what I would like to do is implement something like  
Zope's ZEO but with Twisted and Axiom.  Am I totally nuts? Would  
Glyph or others have any suggestions before I give this a try? For  
the purposes of my app I can get by just writing code to update  
clients on a case-by-case basis when each type of major Item in my  
application is saved, but it would be nice to work on something more  
generic that I (and others) can reuse. I don't want to switch to ZEO,  
because that would mean restarting from scratch essentially and I do  
like Twisted!

Robert

On Mar 21, 2007, at 9:19 AM, Tristan Seligmann wrote:

> Hi all,
>
> I'm pleased to announce the Divmod Axiom 0.5.20 release (tagged  
> about a
> month ago), available here:
>
> <http://divmod.org/trac/attachment/wiki/SoftwareReleases/ 
> Axiom-0.5.20.tar.gz?format=raw>
>