Martijn Faassen | 2 May 17:14 2005

Re: Using Pyrex (with BTrees)?

Andreas Jung wrote:
> Has anyone tried to use Pyrex with BTree datastructures? I tried to
> use Pyrex to optimize a bottleneck in TextIndexNG3 where an iteration
>  over a list of word ids (and insertion into an IOBTree) takes very
> long. Unfortunately the C extension produced by Pyrex behaves
> differently from the original code because several unittests do
> fail...anyone with similar experiences?

I haven't tried this, quite an interesting experiment, though. I've used 
Pyrex extensively with lxml (wrapping libxml2), but there I'm not 
comparing with hand-written C code so it's a difficult situation to compare.

Regards,

Martijn
_______________________________________________
Zope-Dev maillist  -  Zope-Dev <at> zope.org
http://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope-announce
 http://mail.zope.org/mailman/listinfo/zope )

yuppie | 4 May 11:04 2005
Picon

Zope 2.8, Five and Interfaces

Hi!

I had a closer look at Zope 2.8's Five and I'm concerned about the fact 
that Five ships with redundant interface definitions:

- redundant code is always a problem because it's hard to keep things in 
sync

- the fact that Five is maintained in a different repository and should 
work with different Zope versions makes it almost impossible to change 
Zope interfaces in a consistent way

So my questions are:

1.) Why are interfaces that are available as Zope 2 interfaces 
duplicated in Five/interfaces.py instead of bridged?

2.) Could we move the interfaces that are currently not available as 
Zope 2 interfaces to the corresponding packages in Zope 2.8, using 
Five/interfaces.py just as an fallback for Zope 2.7 and old Five products?

If people agree that this is problem, I'd volunteer to help resolving it.

Cheers,

	Yuppie

_______________________________________________
Zope-Dev maillist  -  Zope-Dev <at> zope.org
http://mail.zope.org/mailman/listinfo/zope-dev
(Continue reading)

Martijn Faassen | 4 May 12:58 2005

Re: [Zope-dev] Zope 2.8, Five and Interfaces

yuppie wrote:
> I had a closer look at Zope 2.8's Five and I'm concerned about the fact 
> that Five ships with redundant interface definitions:
> 
> - redundant code is always a problem because it's hard to keep things in 
> sync
> 
> - the fact that Five is maintained in a different repository and should 
> work with different Zope versions makes it almost impossible to change 
> Zope interfaces in a consistent way
> 
> So my questions are:
> 
> 1.) Why are interfaces that are available as Zope 2 interfaces 
> duplicated in Five/interfaces.py instead of bridged?

Partially I suspect this reason is historical -- the Zope 2 interfaces 
were created by Philipp von Weitershausen before Tres implemented the 
bridging functionality.

> 2.) Could we move the interfaces that are currently not available as 
> Zope 2 interfaces to the corresponding packages in Zope 2.8, using 
> Five/interfaces.py just as an fallback for Zope 2.7 and old Five products?
> 
> If people agree that this is problem, I'd volunteer to help resolving it.

It sounds like a reasonable idea, but it does introduce complications. 
This does mean we need a separate version of Five for merging into Zope 
2.8. Another potential problem is that some Five-based code is also 
likely to stop working as the interface will change location (I'm not 
(Continue reading)

Tres Seaver | 4 May 14:44 2005

Re: Zope 2.8, Five and Interfaces


Martijn Faassen wrote:

> yuppie wrote:
> 
>> I had a closer look at Zope 2.8's Five and I'm concerned about the
>> fact that Five ships with redundant interface definitions:
>>
>> - redundant code is always a problem because it's hard to keep things
>> in sync
>>
>> - the fact that Five is maintained in a different repository and
>> should work with different Zope versions makes it almost impossible to
>> change Zope interfaces in a consistent way
>>
>> So my questions are:
>>
>> 1.) Why are interfaces that are available as Zope 2 interfaces
>> duplicated in Five/interfaces.py instead of bridged?
> 
> Partially I suspect this reason is historical -- the Zope 2 interfaces
> were created by Philipp von Weitershausen before Tres implemented the
> bridging functionality.
> 
>> 2.) Could we move the interfaces that are currently not available as
>> Zope 2 interfaces to the corresponding packages in Zope 2.8, using
>> Five/interfaces.py just as an fallback for Zope 2.7 and old Five
>> products?

Maybe we need to spell out what the fallback would look like more clearly.
(Continue reading)

Philipp von Weitershausen | 4 May 17:21 2005
Picon

Re: Zope 2.8, Five and Interfaces

Tres Seaver wrote:
>>>I had a closer look at Zope 2.8's Five and I'm concerned about the
>>>fact that Five ships with redundant interface definitions:
>>>
>>>- redundant code is always a problem because it's hard to keep things
>>>in sync
>>>
>>>- the fact that Five is maintained in a different repository and
>>>should work with different Zope versions makes it almost impossible to
>>>change Zope interfaces in a consistent way
>>>
>>>So my questions are:
>>>
>>>1.) Why are interfaces that are available as Zope 2 interfaces
>>>duplicated in Five/interfaces.py instead of bridged?
>>
>>Partially I suspect this reason is historical -- the Zope 2 interfaces
>>were created by Philipp von Weitershausen before Tres implemented the
>>bridging functionality.

Correct.

>>>2.) Could we move the interfaces that are currently not available as
>>>Zope 2 interfaces to the corresponding packages in Zope 2.8, using
>>>Five/interfaces.py just as an fallback for Zope 2.7 and old Five
>>>products?
> 
> Maybe we need to spell out what the fallback would look like more clearly.
> 
> 
(Continue reading)

yuppie | 4 May 18:07 2005
Picon

Re: Zope 2.8, Five and Interfaces

Hi!

Philipp von Weitershausen wrote:
> Right. Here's what we could do:
> 
> 1. Copy Five's interface definitions over to Zope 2.8 (mostly to 
> OFS.interfaces, I guess) where they are added as Zope 2 interfaces

I would prefer to reserve the name 'interfaces' for Zope 3 interfaces. 
So far ZopeTestCase is the only package in Zope 2.8 that uses 
'interfaces' for Zope 2 interfaces.

> 2. Keep Five's (redudant) interface definitions. They can stay at their 
> status quo (status Zope 2.7, that is).
> 
> 3. Add <five:bridge /> calls for every interface so that Five's 
> interfaces are automatically kept up-to-date with the Zope 2.8 ones. The 
> bridges would override the ones defined in the module, potentially 
> updating with newer definitions. The only thing that we need to take 
> care of is fallback for Zope 2.7 where the Zope 2 interfaces don't exist 
> yet.

Would this work: Instead of modifying Five at all, could we just add 
zcml files to the Zope 2.8 packages with Zope 2 interfaces and override 
the interfaces in Five.interfaces?

> If you want to do this, yuppie, feel free to do it. I would even be ok 
> for this to be done for the 1.0 branch, provided you also add it on the 
> trunk.

(Continue reading)

Philipp von Weitershausen | 4 May 18:25 2005
Picon

Re: Zope 2.8, Five and Interfaces

yuppie wrote:
> Philipp von Weitershausen wrote:
> 
>> Right. Here's what we could do:
>>
>> 1. Copy Five's interface definitions over to Zope 2.8 (mostly to 
>> OFS.interfaces, I guess) where they are added as Zope 2 interfaces
> 
> 
> I would prefer to reserve the name 'interfaces' for Zope 3 interfaces. 
> So far ZopeTestCase is the only package in Zope 2.8 that uses 
> 'interfaces' for Zope 2 interfaces.

Ok. I don't really care that much.

>> 2. Keep Five's (redudant) interface definitions. They can stay at 
>> their status quo (status Zope 2.7, that is).
>>
>> 3. Add <five:bridge /> calls for every interface so that Five's 
>> interfaces are automatically kept up-to-date with the Zope 2.8 ones. 
>> The bridges would override the ones defined in the module, potentially 
>> updating with newer definitions. The only thing that we need to take 
>> care of is fallback for Zope 2.7 where the Zope 2 interfaces don't 
>> exist yet.
> 
> Would this work: Instead of modifying Five at all, could we just add 
> zcml files to the Zope 2.8 packages with Zope 2 interfaces and override 
> the interfaces in Five.interfaces?

Yes. We could, for example, add another Product to Zope 2.8 (e.g. 
(Continue reading)

yuppie | 6 May 13:07 2005
Picon

relocating Zope 2 core interfaces - a proposal

Hi again!

As discussed two days ago, I started working on integrating Five 
interfaces closer into Zope 2.8. I believe I understand the problem 
better now and like to propose a different way to resolve it:

Current State
=============

Five (now part of Zope 2.8) ships with one big interfaces.py file that 
contains z3 interfaces for Zope 2 core classes. (There are also some 
five specific interfaces in that file, but they are not subject of this 
proposal.)

interfaces.zcml states that Zope 2 implements these interfaces, but 
there are no tests to verify that and in fact many of these interfaces 
are broken in Five 1.0. (Yesterday I checked in some fixes to the Five 
trunk.) So if they are used at all in Five products, they are only used 
as marker interfaces, not to verify implementations.

I grepped through CMFonFive, SilvaDocBook and SilvaFlexibleXML: None of 
them use these interfaces.

Goals
=====

Step by step, Zope 2 should move to z3 interfaces. Where z2 interfaces 
exist, these should be improved and bridged to z3 interfaces. Missing 
interfaces should be added as z3 interfaces. Instead of maintaining 
competing interfaces, Five should support that process.
(Continue reading)

Andreas Jung | 6 May 13:23 2005

Re: relocating Zope 2 core interfaces - a proposal


--On Freitag, 6. Mai 2005 13:07 Uhr +0200 yuppie <y.2005- <at> wcm-solutions.de> 
wrote:

> Proposed Solution
> =================
>
> 1.) Adding ZCML that bridges existing z2 interfaces into the 'interfaces'
> module of their package. [Zope 2.8.0]
>
> 2.) Copying z3 interfaces from Five.interfaces to the 'interfaces' module
> of the corresponding package. Marking those in Five as Zope 2.7 backwards
> compatibility cruft. [Zope 2.8.0]
>
> 3.) Doing the same for Zope 2.7 with monkey patching code. [Five 1.0+]
>
> 4.) Making interfaces.zcml point to the new locations. [Five 1.0+]
>
> 5.) Adding unit tests that verify interfaces and implementations. [Zope
> 2.8.0]

-1. Such changes are not much acceptable *now*. 2.b2 will be released this 
week
and 2.8 final in about two weeks. Such changes should have been proposed 
during
alpha phase...but I am against such change in this late release phase.

Andreas
(Continue reading)

Martijn Faassen | 6 May 13:30 2005

Re: Zope 2.8, Five and Interfaces

Philipp von Weitershausen wrote:
[snip]
> Right. Here's what we could do:
> 
> 1. Copy Five's interface definitions over to Zope 2.8 (mostly to 
> OFS.interfaces, I guess) where they are added as Zope 2 interfaces
> 
> 2. Keep Five's (redudant) interface definitions. They can stay at their 
> status quo (status Zope 2.7, that is).
> 
> 3. Add <five:bridge /> calls for every interface so that Five's 
> interfaces are automatically kept up-to-date with the Zope 2.8 ones. The 
> bridges would override the ones defined in the module, potentially 
> updating with newer definitions. The only thing that we need to take 
> care of is fallback for Zope 2.7 where the Zope 2 interfaces don't exist 
> yet.

So you would have the Zope 2.8 interfaces exist in the Five.interfaces 
module?

If not, we do have a compatibility problem.

Regards,

Martijn
_______________________________________________
Zope-Dev maillist  -  Zope-Dev <at> zope.org
http://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
(Continue reading)


Gmane