Weblocks makes some assumptions about persistence as object  
serializability to some data store.  True persistent objects don't  
quite fit because in a couple of places it creates temporary objects  
which are visible to the whole system, but may be uninitialized.  I  
had to create a proxy class mechanism (weblocks-elephant) to allow for  
temporary objects that didn't pollute the class index until we were  
ready to commit it.

Ian

On Feb 20, 2009, at 6:24 AM, Leslie P. Polzer wrote:

>
>
>> Very rough and ready.
>
> Then it's at least a candidate for contrib/ right away.
>
>
>> The worst part about this is overwriting the object-id method
>> completely.
>
> Fair enough.
>
>
>> Suggestions and whatnot welcome -- it works for our small mock up
>
> This first approximation is suprisingly simple. How do you
> add new objects (or prevent new instances from getting added
> automatically)?
>
>
>> but we're not sure if we'll stay with weblocks
>
> Can we help you in your decision process?
>
> In any case I'd be glad to know with what you will end up
> and what influenced your decision.
>
>
>> (our program is mostly for generating lots of RRD graphs -- if you
>> want an example of doing that with weblocks I can send it along).
>
> Yes please. I have a personal interest in such a thing and it would
> probably also make a nice additional demo.
>
>
> Some things I noticed:
>
>> (defgeneric strictly-less-p (a b)
>> (defgeneric equivalentp (a b)
>> (defun order-objects-in-memory (seq order-by)
>> (defun range-objects-in-memory (seq range)
>
> Did you copy those from the memory store?
>
> We should really make this available for all stores
> in store-utils.lisp.
>
>
>> (defmethod find-persistent-objects ((store  
>> db.allegrocache::database) class-name &key
>> order-by range &allow-other-keys)
>>  (order-objects-in-memory
>>   (range-objects-in-memory
>>    (let (val)
>>      (let ((db.allegrocache:*allegrocache* store))
>>      (db.allegrocache:doclass* (x (find-class class-name))
>>        (push x val)))
>>      val) range) order-by))
>
> I suppose we'd want to delegate ordering and ranging to AC later
> for efficiency...
>
>  Leslie
>
>
> >


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"weblocks" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/weblocks?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to