Re: [Zope-dev] nasty persistence problem

2001-10-15 Thread Michel Pelletier

Tim McLaughlin wrote:
 
 Thanks Chris, I'll hold on to that for a rainier day.  I just worked
 this one out in a very roundabout way ;)
 
 A product had gotten copied in that moved a Product class from one
 module to another even though everything else was the same.  It seems
 that ZODB doesn't like that. 

It sure doesn't.  When it pickles an object, it says, here's a big
binary blob that is the state of the object.  The code for the object
can be found in Products.MyProduct.MyModule.MyClass.  When you move the
code, ZODB understandably barfs.

If I remember correctly, there is a way to make an alias in an old
location that points to a new location when you *must* move the code for
whatever reason.  I forget how it works though...

-Michel

___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )



Re: [Zope-dev] A modest proposal: Replace medusa with Twisted

2001-10-10 Thread Michel Pelletier

On Wed, 10 Oct 2001 16:05:06 +0200
 Itamar Shtull-Trauring [EMAIL PROTECTED] wrote:

 2) Plugging in a different transports instead of TCP (e.g. SSL) is much
 easier in Twisted than medusa, as far as I can tell. In m2crypto's medusa
 ssl code very protocol needs its own subclass in order supports SSL. In
 Twisted that is done transparently - the protocol doesn't have to worry
 about the transport. Basically any protocol (excepting perhaps FTP) could
 run out of the box with SSL in Twisted, using the one SSL support module. Or
 Unix domain sockets for that matter :)
 
 3) Twisted provides a larger number of protocols out of the box (e.g. pure
 python LDAP client, AOL TOC, IRC, POP3, SMTP, telnet) than medusa. Hopefully
we will soon have an integrated DNS server as well, though I can't think
 how *that* would help Zope.

Just to throw out another idea, Amos has discussed with me in the past the idea of 
replacing medusa with Apache 2.0.  Compelling as many of Twisted's features may be, 
Apache 2.0 as far as i can tell supports many of them as well (except perhaps jython 
integration, which is a pipe dream anyway for Zope).  Apache has the upshot in that it 
is rock solid, tested by millions, trusted by even more, and no doubt one of the most 
actively developed peices of software there is.

For ZC the upshots of 1) not needing to maintain it, and 2) it being a excellent 
marketing tool outweight many technical benifits that twisted may have that Apache 
doesn't (I'd like to know what the differences are, however).  For example, does 
twisted do URL rewriting?  proxy?  process/thread job control?

Twisted does have the advantage of 1, but not 2.  Further, our faith in the continuing 
development of Apache is, de facto, more than that of twisted simply based on the age, 
number of users, and number of developers of each project.

I'm not dismissing the idea, I'm just pointing out an alternative to Itamar's 
alternative.  ;)

-Michel

___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )



Re: [Zope-dev] thread locking and ZODB

2001-09-13 Thread Michel Pelletier

On Thu, 13 Sep 2001 09:40:43 +1000
 Terry Kerr [EMAIL PROTECTED] wrote:
 Chris,
 
 I notice in the ZODB2 article that it states that the conflict
 resolution method should return the state of the object after
 resolving
 the differences..  However, in the example the method only returns
 the
 portion of the state that was deamed to be in conflict.  Shouldn't it
 be
 returning the entire new state dictionary?

I believe it should, and that the article is in error, but really, I wouldn't go on 
that without hearing from someone like Jim or Shane.

-Michel

___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )



Re: [Zope-dev] Where to send patches?

2001-09-10 Thread Michel Pelletier

On Mon, 10 Sep 2001 12:16:51 -0400
 Jim Washington [EMAIL PROTECTED] wrote:
 Hi, All
 
 Since the Collector is down, where do we send patches if we are not 
 cvs-authorized?  I just discovered a not-too-clever hack to make the 
 Find tab  recurse through methods of Z Classes, which the margin of
 this 
 e-mail is too small to contain.

Dude, don't jinx yourself.  I'm sure you don't want us to refer to this as Jim 
Washington's last patch. ;)

-Michel

___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )



Re: [Zope-dev] question on ZCatalog

2001-07-03 Thread Michel Pelletier


Zope-dev isn't the apropriate mailing list for this kind of question.  You
should ask your question on the [EMAIL PROTECTED] mailing list.  This list is
for developers.

Have you read the Catalog documentation?

http://www.zope.org/Members/michel/ZB/SearchingZCatalog.dtml

-Michel

On Tue, 3 Jul 2001, Cherry Jeanette Ebue wrote:

 Yes, I have.
 
 -Original Message-
 From: Andreas Jung [EMAIL PROTECTED]
 To: Cherry Jeanette Ebue [EMAIL PROTECTED]
 Cc: [EMAIL PROTECTED] [EMAIL PROTECTED]
 Date: Tuesday, July 03, 2001 8:37 PM
 Subject: Re: [Zope-dev] question on ZCatalog
 
 
 Do you have created the corresponding indexes for the attributes ?
 Andreas
 - Original Message -
 From: Cherry Jeanette Ebue [EMAIL PROTECTED]
 To: Andreas Jung [EMAIL PROTECTED]
 Cc: [EMAIL PROTECTED]
 Sent: Tuesday, July 03, 2001 8:40 AM
 Subject: Re: [Zope-dev] question on ZCatalog
 
 
  Hey Andreas,
 
  I have articles with the following attributes: author, search_meta,
 title
  and publication date
 
  All attributes are included in the meta data list. When I search my
 Catalog
  (of articles), only attributes of type string are returned in the search
  result. Publication date (of type date) and search_meta (of type text) do
  not get covered in the search.
 
  Thanks,
  Cherry
 
 
 
  -Original Message-
  From: Andreas Jung [EMAIL PROTECTED]
  To: Cherry Jeanette Ebue [EMAIL PROTECTED]
  Cc: [EMAIL PROTECTED] [EMAIL PROTECTED]
  Date: Tuesday, July 03, 2001 8:07 PM
  Subject: Re: [Zope-dev] question on ZCatalog
 
 
  Cheery, could you please be a bit more detailed for us to understand
  your problem ?
  
  Andreas
  - Original Message -
  From: Cherry Jeanette Ebue [EMAIL PROTECTED]
  To: [EMAIL PROTECTED]
  Sent: Tuesday, July 03, 2001 8:04 AM
  Subject: [Zope-dev] question on ZCatalog
  
  
   question on ZCatalog...
  
   how come indexes of type date or text are not covered/searched when
  queried?
  
   i'd really appreciate some help :-)
  
   Cherry
  
  
  
  
  
  
   ___
   Zope-Dev maillist  -  [EMAIL PROTECTED]
   http://lists.zope.org/mailman/listinfo/zope-dev
   **  No cross posts or HTML encoding!  **
   (Related lists -
http://lists.zope.org/mailman/listinfo/zope-announce
http://lists.zope.org/mailman/listinfo/zope )
  
 
 
 
 
 
 ___
 Zope-Dev maillist  -  [EMAIL PROTECTED]
 http://lists.zope.org/mailman/listinfo/zope-dev
 **  No cross posts or HTML encoding!  **
 (Related lists - 
  http://lists.zope.org/mailman/listinfo/zope-announce
  http://lists.zope.org/mailman/listinfo/zope )
 


___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )



Re: [Zope-dev] persistence

2001-06-28 Thread Michel Pelletier

On Thu, 28 Jun 2001, Mark McEahern wrote:

 I'm a Zope and Python newbie and I'm trying to utilize Persistence, but I've
 seen two different ways:
 
   import ZODB
   from Persistence import Persistent
 
 vs.
 
   from Globals import Persistent
 
 Are these different?  If so, which is better?  Please don't ask me to
 define better.  ;-)

If you're just using Zope, both are acceptable.  If you are just using
ZODB, use the first.

-Michel


___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )



Re: [Zope-dev] Hey Chris, question for you

2001-06-26 Thread Michel Pelletier

On Tue, 26 Jun 2001, Casey Duncan wrote:

 Ok, I was able to get it to work by instantiating a IISet around
 _unindex.keys() and passing that to difference (Thanks!), however, I
 notice an interesting side effect. Let's say you have a TextIndex on
 title and you do the following query:

 title != 'foo*'

 Which to me means: all cataloged objects whose title do not match the
 substring 'foo*'

 However, this is not what you get exactly, instead you get:

 all cataloged objects that have a non-empty title that does not match
 the substring 'foo*'

 Because from what I am seeing, objects with empty (or no) titles are not
 included in the index *at all*. So the set of all objects does not
 include ones without titles. I could fix this by making all objects be
 instead All objects in the catalog (via catalog.data.keys()) instead
 of all objects in the index, but I wanted to see if anyone had
 additional thoughts about this.

Hmm the reason for the current behavior was optimization by saving space
not indexing empty values.  The problem with your latter aproach is that
all objects in the catalog may include object that don't have a title
attribute at all.

I'm not against indexing empty values though.

-Michel


___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )



[Zope-dev] Re: restructuredtext

2001-06-21 Thread Michel Pelletier


I've cc:ed zope-dev in case anyone else is interested.

On Thu, 21 Jun 2001, David Goodger wrote:

 The last time I downloaded and studied the CVS branch was in November 2000.
 At the time, the code wasn't very inviting. I just downloaded the CVS branch
 again, using the instructions in
 http://dev.zope.org/Members/jim/StructuredTextWiki/NGReleases, and visited
 http://dev.zope.org//Members/jim/StructuredTextWiki. The RecentChanges page
 and the StructuredTextNT/CurrentStatus page both list several additions
 which don't seem to be reflected in STNG.txt or the StructuredText.py module
 docstring. Is this code up to date? If not, I would appreciate a pointer to
 the latest code, or a source .tgz by email.

The version in Zope CVS (the HEAD, not any branches) is the most current
code.  The branch was dinscontinued when we folded it into the head, so
try checking out a full head branch and look there, you will probably
notice many changes.

 If you do have information on creating a language front-end parser for
 STXNG, please send it. And please add links to my projects to the
 appropriate Wiki pages if you have time.

(Karl: everytime I say DOM, I mean DOM-like).

Basicly, Zope's current classic front-end is defined in
StructuredText/ST.py.  In there, you will see a function called
StructuredText that turns indented, newline separated text into
StructuredTextParagraph DOM objects, that get inserted DOM tree-style into
a StructuredTextDocument DOM object.

I would suggest you start looking there, ie, turn your code into a simple,
homogeonous StructuredText paragraphs.  For example::

   foo = Title
  ...
  ...   One
  ...
  ...   Two *three*
  ...
  ... o four
  ...
  ... o **five**
  ...
  ... 

   Basic(foo)
  StructuredTextDocument([
  StructuredTextParagraph(Title, [
   StructuredTextParagraph(  One, [
   ])
   StructuredTextParagraph(  Two *three*, [
 StructuredTextParagraph(o four, [
 ])
 StructuredTextParagraph(o **five**, [
 ])
   ])
  ]),
  ])
  

The resultant object is a StructuredTextDocument DOM object with
StructuredTextParagraph DOM children.  After the very first step, you
can work with the content using the DOM interface::

   Basic(foo).getNodeName()
  'StructuredTextDocument'
  

Notice how the first pass *didn't* go through looking for markup,
*just* for structure.  We did this for simplicity and because our
structure could be factored out of our markup, I'm not sure if you can
do that, but I suspect you can define more complex rules to define
what a 'paragraph' element is.

The next step is to colorize the simple, homogeonous DOM into a more
complex Document DOM object::

   Document(Basic(foo))
  StructuredTextDocument([
  StructuredTextSection(StructuredTextSectionTitle(Title, [
  ]), [
   StructuredTextParagraph(  One, [
   ])
   StructuredTextSection(StructuredTextSectionTitle(['  Two ',
  StructuredTextEmphasis('three')], [
  ]), [
 StructuredTextBullet(four, [
 ])
 StructuredTextBullet(StructuredTextStrong('five'), [
 ])
   ])
  ]),
  ])
  

Now you have a DOM object that fully expresses your textual language.
Obviously, you could turn this right back into STX.

The Document() factory accepts a simple STX DOM tree created by the
Basic() factory.  This factory goes through, using the DOM API,
looking for our special markup, and then colorizing that markup by
adding new, more specialized DOM objects (like StructuredTextBullet
and StructuredTextEmphasis).

The final step is to feed the colorized DOM into an output generator.
This is a factory that accepts a DOM object and returns a string of
that object in a certain format.  As an example, STXNG comes with
HTML, MML (framemaker) and DocBook generators::

 HTML(Document(Basic(foo)))
'html\nhead\ntitleTitle/title\n/head\nbody\nh0Title/h0\np
One/p\nh1 Two
emthree/em/h1\n\nul\nlifour/li\nlistrongfive/strong/li\n\n/ul\n/body\n/html\n'


So what you would do is to create your own frontend that can turn
your reStructuredText into a simple DOM consisting solely of
'paragraphs', whatever that means to you.  In the case of STX,
indentation and newlines define paragraph structure.  In reSTX, you
may have different ways of marking up document structure.  I suspect
your parsing rules will be more complex, and that you've probably
already written that piece.

DocumentClass.py contain a class for each type of markup STX defines.
All of these classes subclass the StructuredTextParagraph DOM object.
These DOM objects will get created when the
DocumentClass.DocumentClass class encounters your markup as it parses
your Basic DOM.

The DocumentClass.DocumentClass class has doc_* methods that get
called on every paragraph node in your Basic DOM.  Each method has an
associated regular expression that is used to match occorances of your
markup.  Some of them, like doc_table, are very complex, but others
like doc_emphasize are pretty simple.  You would write one subclass of
StructuredTextParagraph and one of 

Re: [Zope-dev] ZPL and GPL licensing issues

2001-06-20 Thread Michel Pelletier

On Wed, 20 Jun 2001, Gregor Hoffleit wrote:

 Hmm, I think this discussion doesn't belong to zope-dev.

It's very informitive to me so far.  I have no problem with discussing it
here.

-Michel


___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )



Re: [Zope-dev] Where did DocumentTemplate/VSEval.py go in 2.4.0a1?

2001-06-15 Thread Michel Pelletier


Should we make an alias for bw-compatability?

-Michel

On Fri, 15 Jun 2001, Evan Simpson wrote:

 Morten W. Petersen wrote:

  one of my products landed flat on its face when an ImportError was raised
  trying to import VSEval from DocumentTemplate;  is there a new class /
  function of some sort or simply another name for the class?

 See $ZOPE/lib/python/RestrictedPython.  That replaces both
 DocumentTemplate's VSEval and PythonScripts' zbytecodehacks.  It
 contains an Eval class that should be drop-in compatible with the old one.

 Cheers,

 Evan @ digicool


 ___
 Zope-Dev maillist  -  [EMAIL PROTECTED]
 http://lists.zope.org/mailman/listinfo/zope-dev
 **  No cross posts or HTML encoding!  **
 (Related lists -
  http://lists.zope.org/mailman/listinfo/zope-announce
  http://lists.zope.org/mailman/listinfo/zope )



___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )



[Zope-dev] New Release of Zope Developer's Guide

2001-06-15 Thread Michel Pelletier


I'm happy to announce a new release of the Zope Developer's Guide,
available in HTML format here:

http://www.zope.org/Documentation/ZDG/

The new guide contains many improvements and elaborations over the
previous HTML release, and has benefited from the review and contributions
from many community members including well-known object-orienteers Jim
Fulton, Guido van Rossum and Bruce Eckel.

This will be the last preview release of the Dev guide before we release
the first edition alongside the release of Zope 2.4.

As usual, any problems suggestions should be noted in the SourceForge
tracker for the dev guide:

http://sourceforge.net/projects/zope-devel/

Thanks!

-Michel


___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )



Re: [Zope-dev] Structured Text Plus

2001-06-12 Thread Michel Pelletier

On Tue, 12 Jun 2001, Ian Clatworthy wrote:

 Andreas Jung wrote:
 
  - Original Message -
  From: Ian Clatworthy [EMAIL PROTECTED]
  To: [EMAIL PROTECTED]
  Sent: Sunday, June 10, 2001 9:52 PM
  Subject: [Zope-dev] Structured Text Plus
 
   I've put together the design for an extended version of
   Structured Text which I'd like some feedback on before
   I go too much further. At this stage, the design is
   explained via a series of user-level How-To's, e.g.
   Writing Documents Using Structured Text Plus.
 
  Could you please summarize the benefits compared to
  STXNG ?

 As I understand things from reading the STXNG Wiki stuff,
 it's largely an internal rewrite which adds 2 or 3 new
 features, namely images and tables.

This is only a small feature compared to what STXNG really adds to
structured text.  STXNG turns structured text into cross-format Document
Object Model (DOM) in two stages and then into a final format.  The first
stage turns it into a simple DOM that reflects the paragraph structure,
but not the markup (italics, bold, links, etc.).

The second stage uses the first stage DOM to create an even more elaborate
DOM based on markup or colorized text found in the first DOM's
paragraphs.

The second stage DOM can then be fed to a final outputter stage that
renders the DOM in any format you want, currently we support HTML,
DocBook, and MML (Framemaker or something like that) and it would be easy
to add any other XML format or PDF.  Here's an example that will work for
you:

 print text
Title

  o *one*

  o **two**

  o 'three'

#
# Create the basic DOM structure

 Basic(text)
StructuredTextDocument([
StructuredTextParagraph(Title, [
 StructuredTextParagraph(  o *one*, [
 ])
 StructuredTextParagraph(  o **two**, [
 ])
 StructuredTextParagraph(  o 'three', [
 ])
]),
])

#
# Create the Colorized DOM structure

 Document(Basic(text))
StructuredTextDocument([
StructuredTextSection(StructuredTextSectionTitle(Title, [
]), [
 StructuredTextBullet(StructuredTextEmphasis('one'), [
 ])
 StructuredTextBullet(StructuredTextStrong('two'), [
 ])
 StructuredTextBullet(StructuredTextLiteral('three'), [
 ])
]),
])

#
# Generate HTML from the DOM

 print HTML(Document(Basic(text)))
html
head
titleTitle/title
/head
body
h0Title/h0

ul
liemone/em/li
listrongtwo/strong/li
licodethree/code/li

/ul
/body
/html

#
# Generate DocBook from the DOM

 print DocBookChapter(Document(Basic(text)))
chapter
titleTitle/title
itemizedlist
listitemparaemphasisone/emphasis /para/listitem
listitemparaemphasistwo/emphasis/para/listitem
listitemparaliteralthree/literal/para/listitem
/itemizedlist
/chapter



You should really work from STXNG because we designed it to be extended,
just like you want to do.  You can subclass and customize the colorizer
in the second stage to recognize your own customized markup and do what
you will with it.  Amos and I did this to support images in the book.
You can also customize outputers as I explained.

  You are targeting also the single-source approach
  for documents with STPlus - what are the benefits
  compared to working solution like Docbook ?

 Upwards compatibility with STX, i.e. something more
 readable than XML.

Amen to that!

-Michel


___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )



Re: [Zope-dev] Boost.Python

2001-06-04 Thread Michel Pelletier

On Mon, 4 Jun 2001, James Treleaven wrote:

 Hi,

 I know that Zope has its own C++ binding mechanism for Python scripts,

Eh?  Zope uses the standard Python C API, like any other python system
with C code.  We don't have our own mechanism, nor do we use C++.

 but
 are there any complications with respect to my using Boost.Python to bind
 any Zope Python scripts that I write to C++ code?

You've _really_ lost me, maybe someone else knows what you mean.  I don't
know what you mean by 'bind' (do you mean writing python extension modules
in C?), or what Boost.Python is, or what you are referring to as 'Zope
Python scripts' (do you mean the python modules that come with Zope?).

-Michel


___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )



Re: [Zope-dev] Wildcards in TextIndex query. Do they work?

2001-05-29 Thread Michel Pelletier

On Tue, 29 May 2001, Erik Enge wrote:

 On Thu, 24 May 2001, Michel Pelletier wrote:
 
 the unsplitted, unl and unq are my debug flags, but you can see what
 happens: without parens the '*' has it's desired effect, with, it doesn't.
 
 Got a clue?  Is this my bug, or ZCatalog's?

Must be ZCatalog's.  I'm guessing the paren matching takes a different
code path that doesn't expand wildcards.

-Michel


___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )



Re: [Zope-dev] bug in ZEO-1.0b3

2001-05-29 Thread Michel Pelletier

On Tue, 29 May 2001, Dyon Balding wrote:

 If the ZEO server goes down, the the client no longer tries to keep
 reconnecting.
 
 This appears to be something to do with the __closed attribute in
 zrpc.py.
 
 Is there a page to check the status of bugs in ZEO?
 When is the next version due out? and will it be a final 1.0 version?

Your bug, and these questions are probably best asked on the
[EMAIL PROTECTED] list.

-Michel


___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )



Re: [Zope-dev] Wildcards in TextIndex query. Do they work?

2001-05-24 Thread Michel Pelletier

On Thu, 24 May 2001, Erik Enge wrote:

 This query works:
 
   wil?car*
 
 This doesn't:
 
   (wil?car* or something else) and (word1 and word2)

If the first works, then you are using a globbing vocabulary.  The second
one should work, but maybe there is a bug.  Or perhaps your search
criteria is so strict that you are getting no results.

 I can't see that the query-parsers in UnTextIndex.py transforms them
 differently, but I might be missing something obvious.

There's _nothing_ obvious in that particular chunk of code.

-Michel


___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )



Re: [Zope-dev] Wildcards in TextIndex query. Do they work?

2001-05-24 Thread Michel Pelletier

On Thu, 24 May 2001, Erik Enge wrote:

 On Thu, 24 May 2001, Michel Pelletier wrote:
 
  If the first works, then you are using a globbing vocabulary.  The
  second one should work, but maybe there is a bug.  Or perhaps your
  search criteria is so strict that you are getting no results.
 
 Hm.  Something isn't right here.

I don't think you are using a globbing vocabulary.

 This:
   
eric
 
 got me 70 hits.
 
 This:
 
eri?
 
 got me 4 hits.

If you are not using a glob vocab, I suspect it stripped out the ? and is
hitting on 'eri'.  Do you have that word anywhere?

 That's a bit strange, if you ask me :)
 
 This:
 
(erik) and (enge)
 
 returned 1 hit
 
 This:
 
(erik) and (eng?)
 
 gave me none.

Which could make sense if you were not using a glob vocab.

 The first one looked like this after the parsers had nibbled on it:
 
   [['erik'], 'and', ['enge']]
 
 And the latter one:
 
   [['erik'], 'and', ['eng?']]

This one should look like [['erik'], 'and', ['enge', 'engs', 'engf',
...]] and match all the words that match the pattern eng?.  If this isn't
being expanded, then you are not using a globbing vocabulary.

Then again, where did you get these objects?  If you were looking at the
wrong point in the code, the wildcards may not have been expanded yet.

 
  [['erik', '...', '...', '...', 'enge']]

Where do you see this?

 Where should I look next to figure out what's going on?

Make sure you are using a globbing vocab.  Note that you can't change a
catalog's vocabulary once the catalog is made, so you have to make a new
catalog.

   I can't see that the query-parsers in UnTextIndex.py transforms them
   differently, but I might be missing something obvious.
  
  There's _nothing_ obvious in that particular chunk of code.
 
 Good, then it's just not me.  Is the overall design philosophy for
 ZCatalog/Catalog/SearchIndex documented anywhere?

The catalog has evolved over the past four years.  Most of the text index
query parser code was written by someone long gone from this company, and
certainly way before my time.  The catalog is, in fact, the evolution of a
completely different product called ZTables, now long dead in the annals
of Principia history. 

This person did not document their design, so the answer is no.  I had
some UML models once, but my modeling tool ate them.

  (By the way, from
 lib/python/SearchIndex/TextIndex.py, what is sws and cv3?)

Very old consulting projects, long dead.

-Michel


___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )



Re: [Zope-dev] SearchIndex Splitter lowercase indexes?

2001-05-24 Thread Michel Pelletier

On Thu, 24 May 2001, Christian Robottom Reis wrote:

 Hi, I've been testing SearchIndex's Splitter here, and I'm finding the
 behaviour only a tiny bit strange: it converts the words it splits to
 lowercase. Is this intentional? 

Yes.

Example:
 
  import SearchIndex.Splitter
  import SearchIndex.Lexicon
  s = SearchIndex.Splitter.Splitter(Foo Bar Baz,
   SearchIndex.Lexicon.stop_word_dict)
  s[0]
 'foo'
  s.indexes('foo')
 [0]
 
 Why does this happen? 

This is a very common indexing strategy to save space and make searches
more relevant.  Otherwise 'Dog' and 'dog' would return two completely
different result sets.  

The splitter also removes single character words, splits words on
non-alphanumeric characters based on your locale (like -) and trims off
common english suffixes like 's' and 'ing' so that 'walk' and 'walking'
find the same words.  The splitter can also be passed a mapping of
synonyms, so you can tell the splitter that automobile ford and lisp
are all synonymous to the word car.

 It makes TextIndex's position() call behave
 unexpectedly until you do some tests with the Splitter itself!

position() is currently unimplemented, isn't it?  so does it
matter?  Also, I don't know what your doing with position() but anytime
you want to look up things in a text index, use the same splitter to munge
the content before querying the index, otherwise, you may end up not
finding what you're looking for.

The splitter should really be a modular component.  That's what
vocabularies were origninally for, to store language specific artifacts
like word lists and splitters.  For example, stripping the ing suffix
obviously only makes sense in English.  so if you want to change this
behavior, make your own vocabulary with its own custom splitter.

This is because each language has very different splitting requirements,
and even different meanings of the word word.  Imagine, for example,
splitting Japanese or one of the Chinese languages (based textualy on
Kanji).  

Identifying words in Kanji is a very hard problem.  In romance langauge,
it's easy, words are seperated by spaces, but in Kanji words are
diferentiated by the context of the surrounding characters, there are no
spaces.  Splitting Kanji text requres a pre-existing dictionary and some
interesting heuristic matching algorithms.  And that's only half of
Japanese itself, really, since there are two other alphabets (hiragana and
katagana) that *are* character-phonetic like romance langauges, and all
three alphabets are commonly mixed together in the same sentence!  Chinese
language may also have these phonetic alphabets.

In other words, it's not an easy problem!  There is going to be an
unimaginable culture clash when asian and other non-romance languages
catch up to the volume of romance language content on the web.

-Michel


___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )



RE: [Zope-dev] Xron error!!!

2001-05-24 Thread Michel Pelletier

On Thu, 24 May 2001, Loren Stafford wrote:

 5. You can truncate the bloated tail end of a Data.fs file using standard
 system tools. I don't remember how right at the moment, but a search in the
 mail archives on trucate and data.fs might be fruitful. 

Use the unix command 'split'.  I immagine cygwin ports this simple program
to windows.

Of course, you can also do the truncation in a couple lines of python, but
I'll leave that as an exercise to the reader. ;)

-Michel


___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )



Re: [Zope-dev] SearchIndex Splitter lowercase indexes?

2001-05-24 Thread Michel Pelletier

On Thu, 24 May 2001, Christian Robottom Reis wrote:

 On Thu, 24 May 2001, Michel Pelletier wrote:

  This is a very common indexing strategy to save space and make searches
  more relevant.  Otherwise 'Dog' and 'dog' would return two completely
  different result sets.

 Fine. However:

  s.indexes('Foo')
 []

 Is _this_ supposed to happen, too?

Yes.  The splitter was applied to the document before it was indexed so
both Foo and foo became foo and there is no Foo.  The index itself is
technicaly not case insensitive, it's case flattened, which makes the
query interface case insensitive.

 Ah, I guess to. It's the problem with
 using this outside of Zope. :-)

No, you just didn't apply the splitter before you queried the index.

results = []
for word in Splitter(search for these words or foo):
  results = results + s.indexes(word)

 Uhhh, no, it _is_ implemented. It just didn't work like I'd expect :-)

  index.positions(1,['crazy'])
 [2]
  index.positions(1,'crazy')
 []
  index.positions(1,['Crazy'])
 []

I see, yes it must be a sequence and you must also apply the splitter to
your input before querying an index.

 So it does look lowercase words up. Of course, this is an artifact of the
 following point you make:

  you want to look up things in a text index, use the same splitter to munge
  the content before querying the index, otherwise, you may end up not
  finding what you're looking for.

 This makes sense:

  s = Splitter(Crazy)
  index.positions(1,s)
 [2]

 Ahhm. Okay. Will update my documentation with this important point.

Ah I see you came to the answer yourself.  Yes this is an important point,
especially for other languages where the splitter *must* be applied to
extract the words from context, like Japanese.

  In other words, it's not an easy problem!  There is going to be an
  unimaginable culture clash when asian and other non-romance languages
  catch up to the volume of romance language content on the web.

 Fascinating points on i18n and l10n of the indexing mechanism. Makes me
 wonder how far the current implementation will go before having to be
 rewritten, and if the world will survive east-meets-the-west of computing
 text.

Digital Garage implemented a JVocabulary and have sucessfully cataloged
japanese text.  I wonder if htdig or php can do that grin.

 But I believe the Splitter could stay the same for western languages, from
 what I've seen of the code. Can't really see the ing-cutting stuff here.

Oh, well maybe it used to remove common suffixes and I took it out.  It's
called stemming, and it's a pretty common pattern.  But you'd be suprised
how many people run into english only quirks even in western languages
with Zope's splitter.

-Michel


___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )



Re: [Zope-dev] ZCatalog Brains

2001-05-23 Thread Michel Pelletier

On Wed, 23 May 2001, Chris Withers wrote:

 Hi,
 
 Is it still fair game to use the data_record_normalized_score_ attibute of
 ZCatalog Brain objects?

Yes.

 If so, is it accurate and meaningful?

Only for queries involving text indexes, and even then it's not very
meaningful.  It takes the entire batch of search results, from the most
relevant (word occourance score) the the least relevent, and normalizes
all their scores between 0 and 100 (or 0 and 1, same difference).

 Finally, is there any way I can do the Google-esque thing of showing the snippet
 of the searched etxt with the words that were found highlighted?

Yes, You would have to fetch the object and then scan it for the search
terms.

-Michel


___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )



Re: [Zope-dev] Simple Question

2001-05-23 Thread Michel Pelletier

On Wed, 23 May 2001, jawad haider wrote:



 I wanted to make a search form in which search criteria and search
 result will appear on the same page e.g.search criteria on the top and
 when the submit button is pressed the list of search results should be
 displayed in the bottom of the page.

 But when I try to accomplish this using the following code the search
 results are displayed on a separate page.

You want to page to 1) draw a form if there are no search criteria and 2)
call itself when the form is submitted.  Andreas already showed how you
can check for a form submission, and havving the page call itself is
simple:

form action=.

this form will submit to its own URL.  Your question is out of the scope
of this list, which is about Zope core and product development.  This is a
user question, and should be directed to the Zope list [EMAIL PROTECTED]

-Michel



___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )



Re: [Zope-dev] manage_workspace = index_html

2001-05-14 Thread Michel Pelletier

On Mon, 14 May 2001, The Doctor What wrote:

 What's going on?  Is this a Mozilla problem? 

Yes.

 If so, why is lynx
 doing the same?

Because lynx is broken too.

 How should I go about trouble shooting it?

The problem is the client does not provide the right Basic authentication
credentials for the frame like it's supposed to.  Zope then assumes that
you are just an anonymous user, and shows you the only 'managment tab' you
have permission to see, 'View'.

If I recall, this have been broken an fixed in mozilla a few times
now.  Other browsers do this wrong too, like w3m.

-Michel


___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )



Re: [Zope-dev] ZEO Clients, broken servers, and Z2.pid

2001-05-10 Thread Michel Pelletier

On Thu, 10 May 2001, Anthony Baxter wrote:

 As far as I can see, ZEO clients don't write a pid to Z2.pid until
 after they've successfully connected to a storage. Is there a reason
 for this?

Probably not.  It's nothing to do with ZEO, z2.py does an 'import Zope'
before it writes the z2.pid file.

-Michel


___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )



Re: [Zope-dev] Zope Server hanging :-(

2001-05-03 Thread Michel Pelletier

On Thu, 3 May 2001, Chris McDonough wrote:

 It's no problem, especially as Michel had insomnia last night and did
 it.  ;-)

My best stuff comes out when I can't sleep.

Those of you who are interested in looking at it, check out the
ever-growing Zope Developer's Guide (shame on you if you haven't read
it!).

http://sourceforge.net/projects/zope-devel/

-Michel


___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )



Re: [Zope-dev] Zope Server hanging :-(

2001-05-03 Thread Michel Pelletier

On Thu, 3 May 2001, Michel Pelletier wrote:

 On Thu, 3 May 2001, Chris McDonough wrote:
 
  It's no problem, especially as Michel had insomnia last night and did
  it.  ;-)
 
 My best stuff comes out when I can't sleep.
 
 Those of you who are interested in looking at it, check out the
 ever-growing Zope Developer's Guide (shame on you if you haven't read
 it!).

Ok, well maybe not shame considering you have to check it out of CVS. ;0

-Michel


___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )



Re: [Zope-dev] Zope Server hanging :-(

2001-05-02 Thread Michel Pelletier

On Wed, 2 May 2001, Chris McDonough wrote:

 The docs (available via the --help switch) go into some of this detail, but
 I agree that a narrative explaining how to approach it from a functional
 perspective would be a good thing.

This should go in the debuggin and testing chapter of the dev guide.
Wanna take a stab?

-Michel


___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )



Re: [Zope-dev] reading the entire DB

2001-04-26 Thread Michel Pelletier

On Thu, 26 Apr 2001, nw_moriarty Last Name wrote:

 Jim
 
 Were you able to run the script I sent previously?  I have attached it
 again.  It demonstrates that the entire DB is read each time an item
 is read.

It does this because your script creates and destroys the database
connection every time it reads an object.  If you keep this connection
open, then it won't do that.  Whenever you open a database, the whole file
is read in order to rebuild the index cache, when you .close() the
connection, the whole thing goes out of scope and is destroyed.

-Michel


___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )



RE: [Zope-dev] getPhysicalPath?

2001-03-16 Thread Michel Pelletier



On Fri, 16 Mar 2001, Brian Lloyd wrote:

  To me, aswell. Is this documented somewhere? ;-)

 It's not in the Acquisition.stx in the ExtensionClass docs -
 probably they were never updated when it was added. I think
 that aq_chain is most useful as a debugging aid rather than
 something one would use in an application (which is not to
 say that it shouldn't be documented). It would be a good idea
 to add this to the Collector as a documentation issue.

A better place would be the sourceforge issue tracker for the dev guide:

http://sourceforge.net/projects/zope-devel

-Michel


___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )



Re: [Zope-dev] FTP interface being worked on?

2001-03-12 Thread Michel Pelletier

On Mon, 12 Mar 2001, Fred Wilson Horch wrote:

  You may also find our documentation process interesting:
  
  http://www.zope.org/DocProjects/intro
 
 Yes, very interesting!
 
 But I'm sorry to see that the Developer's Guide is only in the planning
 stages.  Here is some info that should go into it (from our Zope notes
 at
 
http://cvs.sourceforge.net/cgi-bin/cvsweb.cgi/docs/notes-zope.txt?rev=1.8content-type=text/x-cvsweb-markupcvsroot=ecoaccess):
 

This information should actually go in the administrator's guide:

http://sourceforge.net/projects/zope-admin

-Michel


___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )



[Zope-dev] Re: [Zope] Search Features and Zope Directions Road Map

2001-02-27 Thread Michel Pelletier


Please do NOT cross post.

-Michel


On Mon, 26 Feb 2001, Ausum wrote:

 Zope is a great application server, the same as its soon to be released Content
 Management Framework, because of  its bet on Python, everybody say it.
 Nevertheless, after reading the Directions Roadmap from DC, I was surprised that
 a substantial improvement of the searching features of Zope, wasn't mentioned as
 a major concern.

 For a new Zope enthusiast like me, it is a kind of addiction to arrange and
 administer content while taking the learning curve. Almost everybody in this
 list with a non-programming background might've experimented this. But when I
 arrived to the search features of ZCatalog, I got mixed feelings. (Right now I'm
 stuck on this OR indexes searching :)  )

 The fact is that - according to my strong belief - everybody uses more Google to
 look for Zope Site's content than Zope's own Zcatalog's search engine. Moreover,
 everybody uses more Google to look for everything, bypassing windows, doors, and
 portals!. Why? Because it's terribly smart (not mentioning its 6,000 Linux
 boxes, by the way), and because there's no need to follow the highly-engineered
 information architecture of a web site, if there's a trustful shorcut to the
 relevant content!. So, if I'd have to mention one big feature improvement to
 Zope, I wouldn't doubt: "search engine".

 I just wanted to point on this subject. I know Zope isn't about spidering and
 retrieving, but it should have "Greater Search Capabilities" as a title, within
 that roadmap.  :)



 Ausum



 p.d.   Right now I'm quite interested at the technology of searching and finding
 non structured content, in order to compose structured documents. For example,
 the guys at Vignette (StoryServer) say that its customers don't need to keyword
 anything in order to have a "related content" section. After the writer finishes
 a story, (possibly while) a routine by Autonomy (www.autonomy.com) reads the
 document and finds out what the document is about, and so it triggers a search
 for related content within the site, without the need of intervention by the
 writer.  (For the curious, Autonomy has published a personal version of its
 software. It's called Kenjin (www.kenjin.com) ). On the other hand, Fast, from
 Norway, already have a nice multimedia search engine, from regular,
 non-structured, spidered web pages. Can we do that "structuring the
 unstructured" thing within Zope?


 ___
 Zope maillist  -  [EMAIL PROTECTED]
 http://lists.zope.org/mailman/listinfo/zope
 **   No cross posts or HTML encoding!  **
 (Related lists -
  http://lists.zope.org/mailman/listinfo/zope-announce
  http://lists.zope.org/mailman/listinfo/zope-dev )



___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )



Re: [Zope-dev] Zope Development Roadmap Components

2001-02-27 Thread Michel Pelletier


On Tue, 27 Feb 2001, Jimmie Houchin wrote:

 While reading the Zope Development Roadmap about components I had a
 question.

 It says:
 """Components will be edited via the filesystem as .py files. Components
 will probably be checked into and out of Zope via a CVS like facility.
 Components can be tested locally without checking them into Zope."""

 What does this say about developing components with Py/Perl Scripts?
 It looks to be closer to the current Python Products.

Yes.  We have thought a bit about "composite components" and "persistent
modules" and stuff like that, but we only went so far into elaboration
when we realized that it required lots, and lots of thought and effort.

The current component effort is much simpler, a component is: an object
with an interface.  If this is a ZClass with Perl-based script methods,
then so be it, but we haven't thought far enough into what ZClasses really
are to start thinking about giving them interfaces.

Is this sort of what you're asking?

-Michel


___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )



[Zope-dev] Zope book now in public CVS

2001-02-23 Thread Michel Pelletier


Greetings!

The Zope book is now available in raw (structured text) format in a
sourceforge CVS repository.  We are also using SF's bug tracking and other
tools to allow you better report problems to us than just email.  If you'd
like to check the book out of CVS, follow the instructions on this page
under 'Anonymous CVS Access':

http://sourceforge.net/cvs/?group_id=21038

What does this do for you?  Well, first off, if you see problems in the
book and you'd like to fix them, you can submit a patch to us instead of
an email "describing" your suggested fix in prose.  This is much more
accurate for us to see the problem you point out.  Tracking patches also
gives us a nice mechanism for making sure we give patch-submitters
honorable mention in the book!

Also, some people may want to distribute the book (in accordance with the
OPL license, or course) in some format we don't support yet, like LaTeX or
Word (yes, PDF is coming, we're working on it!).  With "the source" you
are free to go about converting the content into whatever format you'd
like.

Lastly, although we try to keep the site as in-sync as possible with the
CVS, the latest and greatest bug changes to the book may be found in CVS,
where the web-site may lag a few days behind.

So check it out, and enjoy.

-Michel


___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )



Re: [Zope-dev] Introducing ZopePrints.

2001-02-13 Thread Michel Pelletier



On 12 Feb 2001, Erik Enge wrote:

 The rationale behind this is that the community at large would benefit
 from this by having _real_life_ case studies so when their time has
 come to implement an application in Zope, they don't fall into the
 same traps and pitfalls we did.  Instead of benchmarks, the Zope
 community would use implementation documents to decide whether Zope is
 up for the job or not, that's what really helps.

We would love to see this description from you.  We inside DC have our own
problem solving development process that is large, complex, slow, but
often (IMO) accurate if done well.  It is based partly on the "Rational"
model developed by the Three Amigos:

http://www.everything2.com/index.pl?node=the%20three%20amigoslastnode_id=125995

partly on chaos theory, Jim's three laws of engineering (1. F=MA, 2. You
can't solve a problem unless you know the answer, 3. You can't push a
rope)  and on the abundance of Thai food.

We also have a "fishbowl" experiment community process, a "dogbowl"
content managment design process, a documentation process, and one
horse-choking travel policy.

I think it would be great to get examples of your problems in a case study
format, but also in a higher-level, pattern like description.  Your
description sounds like it is based on the problem and the goals, which is
really great.


 I'm quite sure that it will also work as a tool for finding gaps and
 holes in either Zope or its tools and Products.

Indeed.

 We would like to start a project going in the Fishbowl which aims at
 creating the right tools to document a project as described above.

The fishbowl is the perfect place to do this.  In a conversation with
other people including Brian who is the "keeper of the fishbowl" we
realized that documentation artifacts come out of the fishbowl almost as
much as the software.  In fact, that's one of the whole reasons for the
fishbowl, to come up with better software because we thought about it and
wrote down some words before we started hacking code.  Instant
documentation.

Good luck!

-Michel


___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )



Re: [Zope-dev] Interfaces Wiki Security Stuff

2001-02-07 Thread Michel Pelletier

On Tue, 6 Feb 2001 23:01:32 -
 "Chris Withers" [EMAIL PROTECTED] wrote:
  security.  That
  wiki and lessons learned from it were used by us to
 create the Interface
  package that now comes with Zope.
 
 Is there anywhere I can find docs on that package?

Yes, in the fishbowl:

http://www.zope.org/Wikis/Interfaces/FrontPage

look at UserDocumentation.

-Michel

___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )



Re: [Zope-dev] Creating IMAP and SMTP services for Zope

2001-02-03 Thread Michel Pelletier



On Sat, 3 Feb 2001, Morten W. Petersen wrote:

 Hi guys,

 I'm wondering about creating IMAP and SMTP services for Zope.
 Someone mentioned to me that extending (using?) the ZServer
 could be a Good Thing (tm).

 Could anyone point me in the right direction?

I took a stab at IMAP once...

http://www.zope.org/Members/michel/MyWiki/IMAPServer

I haven't touched it in a while, and I cannot say much about it, it was
over a year ago.

-Michel


 Thanks.

 -Morten



 ___
 Zope-Dev maillist  -  [EMAIL PROTECTED]
 http://lists.zope.org/mailman/listinfo/zope-dev
 **  No cross posts or HTML encoding!  **
 (Related lists -
  http://lists.zope.org/mailman/listinfo/zope-announce
  http://lists.zope.org/mailman/listinfo/zope )



___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )



Re: [Zope-dev] Interfaces Wiki Security Stuff

2001-01-30 Thread Michel Pelletier


On Tue, 30 Jan 2001, Chris Withers wrote:

 Hi,

 How active/relevant is the interfaces wiki at:
 http://www.zope.org/Members/michel/Projects/Interfaces

Not active, mostly relevant.

 I'm trying to figure out how RoleManagers, local roles, etc work and where the
 work of Zope Security is actually done.
 I've found ZopeSecurityPolicy.py and bits of stuff in Roles.py, and a few lines
 in BaseRequest.py, but the picture is still kinda flakey :-S

 It looks like there was quite a lot of discussion on the Wiki about all this,
 but I'm not sure how old it is and whether anything happened from it :-(

It's old.  The Interfaces Wiki was a first attempt at grasping the API of
Zope, not an easy task.  Most of the effort in that wiki went into the
online help system for "through the web" objects.

As a second goal, the wiki was also used to collaborativly develop new
interface in Zope, mostly in the areas of traversal and security.  That
wiki and lessons learned from it were used by us to create the Interface
package that now comes with Zope.

The next phase of the project is to actually document the interfaces of
Zope in Zope itself using the new interface framework.  This will be the
first step (and the hardest) toward a more component-oriented framework.
These issues have been one of my tasks for the past few weeks, and in the
next major version of Zope, you will probably see a good bit of internal
interface documentation for high level and low level Zope interfaces.

-Michel

 So, where should I be looking to find out how RoleManager, Local Roles  Proxy
 Role work from a Python product developers point of view (in Zope 2.3) and what
 changes are in the pipeline?

Security changes are usualy not driven through a pileline, think more like
a gun to your head. ;)

-Michel


___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )




Re: [Zope-dev] Gadfly and Zope 2.2.4

2000-12-11 Thread Michel Pelletier

On Sun, 10 Dec 2000, Josh Zeidner wrote:

 Hello,
 
   I tried to add a Gadfly Database connection to my Zope installation 
 without changing any of the parameters and got an error message saying: "The 
 parameter, connection, was omitted from the request." .  What, if anything, 
 am I doing wrong?

You're not selecting a data source.  This is one of the items in the list
box on the add form (the default setup comes with one data source called
'demo'.  To add your own data sources, see the Gadfly docs.

-Michel


  
 -josh zeidner
 Brooklyn Media Labs, LLC.
 
 _
 Get more from the Web.  FREE MSN Explorer download : http://explorer.msn.com
 
 
 ___
 Zope-Dev maillist  -  [EMAIL PROTECTED]
 http://lists.zope.org/mailman/listinfo/zope-dev
 **  No cross posts or HTML encoding!  **
 (Related lists - 
  http://lists.zope.org/mailman/listinfo/zope-announce
  http://lists.zope.org/mailman/listinfo/zope )
 
 


___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )




[Zope-dev] ANNOUNCE: Zope 2.3.0 alpha 1 Documentation Release

2000-12-11 Thread Michel Pelletier


On the heels of Brian's announcement, we are gurgling with joy to announce
a sychronized release of the Zope Book for the Zope 2.3 alpha release.

http://www.zope.org/Members/michel/ZB/

This release marks the first time the book and Zope are "in sync" enough
for you to be able to fully try out all the examples and understand all
the concepts.

This also marks the first time in long time that Zope has a (fairly)
complete, up-to-date manual!  Truely exciting times are these.  Remember
though, both the software *and* the manual are alpha, they both will have
bugs.  Please report any bugs, suggestions, or comments in the book to
[EMAIL PROTECTED]

Happy reading!

-Michel


___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )




Re: [Zope-dev] Significance of the ZODB split?

2000-12-07 Thread Michel Pelletier

On Fri, 8 Dec 2000, Robin Becker wrote:

 Anyone know why AM Kuchling needs to split off a Sourceforge project
 based on ZODB?

I don't think it's a "split", but AMK is using ZODB internally at his
job, and externally with his own projects, so I can see him wanting to
have some control over the distribution that he uses.  

Other than that, there could be other reasons, we, for example, do not
provide a mechanism for community checkin privledges, Sourceforge
does.  I don't think we have a ZODB specific mailing list, sourceforge
offers this.

That being said, I'm pretty sure we've allways kept up with Andrew's
patches and suggestions, and we'd be happy to create a mailing list.

Andrew has also extended any developer at DC checkin privledges at the
sourceforge project; although I suspect we'll just continue to check
into our CVS and he'll "sync" with us that which he wants.  I am, in
particular, barely not lazy enough to check stuff into branches, much
less whole other repositories. ;)

 I really liked the ZEO examples, but where's this going?

It's just open source.  More power to him in my opinion.  He's
definatly taking Zope and ZEO to new levels and audiences.

-Michel


___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )




Re: [Zope-dev] ZUnit - feedback convocation

2000-12-04 Thread Michel Pelletier

On Thu, 30 Nov 2000, Lalo Martins wrote:

 Hi all
 
 I'trying to write a document on ZUnit and Unit Testing in
 general, following Michel's and Amos' documentation process. I
 wrote an outline, and now I'm stuck :-) anyone with a few free
 moments is welcome to take a look and send me some words. Also,
 anyone very interested in the subject is welcome to volunteer
 for editorial help (read the Process to know what this means).
 
 Thank you.
 

I have some suggestions for the outline:

In the first section, remove "where does it come from" if the section
involves the history of unit testing.  I'd say the history lesson is out
of scope. ;)

I would add a section in the beginning "Why do you want to use it".  

What does "refactor mercilessly!" mean?

Next section...

"Importing ZUnit" requires a whole section?  I suggest axing it.

I would add an "example" section before moving into fitting it into
Zope...

What are "Fixtures"?  What is the "persistence problem"?  If it is a bug
that should be fixed in Zope then it probably shouldn't go in the
documentation, if it is something the reader shouldn't do, then it should
probably go into "interfacing with the Zope environment".  A wart
doesn't justify adding a new section just to add a sub-section to document
it. ;)

Here's a modified outline I tweaked with my above comments:



Unit testing Zope Products with ZUnit

  by Lalo Martins

  Unit Testing

What is Unit Testing

Why do you want to unit test

How should it be done

Refactor mercilessly!  (?)

  Writing Tests
  
The TestCase class

An Example TestCase

Interfacing with the Zope environment

Fixtures (?)

  The persistence problem - leaving traces behind (?)

Grouping tests in TestSuites

Wrapping it all up in a creator function
  
  Running the tests
  
The TestRunner object

TestResults objects

Leaving objects behind for debugging



___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )




Re: [Zope-dev] ZUnit - feedback convocation

2000-12-04 Thread Michel Pelletier

On Mon, 4 Dec 2000, Lalo Martins wrote:

  In the first section, remove "where does it come from" if the section
  involves the history of unit testing.  I'd say the history lesson is out
  of scope. ;)
  
  I would add a section in the beginning "Why do you want to use it".  
 
 The first section is the advocacy section; it will begin with
 "if you already do unit tests, you may want to skip this
 section". I'm not sure if the history lesson is out of scope,
 but "Why do you want to use it" is probably better.

Hmm... actually in that case you may want to axe both "why" and the history.

  What does "refactor mercilessly!" mean?
 
 I'll explain that one of the benefits of unit testing
 extensively is that you can modify your code without fear
 (you'll know when it breaks). This section is more advocacy
 than technical.

Ah, ok I like it.  I wonder if "refactor" is the right word; it's very
specific and it sounds like any kind of changing can be done.

  Next section...
  
  "Importing ZUnit" requires a whole section?  I suggest axing it.
 
 Hmm. Yes.
 
  I would add an "example" section before moving into fitting it into
  Zope...
 
 No, you can't do a lot without interfacing with Zope. I'd add
 an example *after* interfacing with Zope. Or both, perhaps.
 Maybe one example in the end of each subsection, so we don't
 need any subsection titled "example".

Oh, I was thinking of just a simple non-zope unit test to get the
flavor, but now that I think about it that's out of scope.  Yes, the
example after would be better.

  What are "Fixtures"?
 
 A method where you make many tests in a single TestCase class.
 You setup a situation (the "fixture") in a method named
 "setup", then you do the tests, then you clean up in a method
 named "teardown". In the HiperDom tests, for example, I use a
 Fixture to do most of the tests, because I initialize the
 Template object in setup.

Ah yes, I just went and RTFM.

  What is the "persistence problem"?  If it is a bug
  that should be fixed in Zope then it probably shouldn't go in the
  documentation, if it is something the reader shouldn't do, then it should
  probably go into "interfacing with the Zope environment".  A wart
  doesn't justify adding a new section just to add a sub-section to document
  it. ;)
 
 I don't consider this a bug in either Zope or ZUnit, it's just
 an "issue".

snip

 I allocated a subsection for this because just explaining the
 problem is already somewhat convoluted, as you see above ;-) in
 a printed book, I'd make it a sidebar or something, but...

Hmm.  I guess my concern was because it was the only subsection of
'Fixtures'.  Do fixtures need a more topical breakdown or are they
simple enough to sum up in one section?  Maybe we can think of some
'fixture use cases'.

-Michel


___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )




Re: [Zope-dev] ZUnit - feedback convocation

2000-11-30 Thread Michel Pelletier

Lalo Martins wrote:
 
 Hi all
 
 I'trying to write a document on ZUnit and Unit Testing in
 general, following Michel's and Amos' documentation process. I
 wrote an outline, and now I'm stuck :-) anyone with a few free
 moments is welcome to take a look and send me some words. Also,
 anyone very interested in the subject is welcome to volunteer
 for editorial help (read the Process to know what this means).

Where would we find this outline?
 
 Thank you.
 
 (BTW, if you can't understand what an "outline" is, read the
 process too. Oh what the heck. If you haven't read it, then
 read it, it's very cool reading anyway.)

Thanks!

-Michel

___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )




[Zope-dev] Meta-data clarification and Interface interfaces

2000-11-29 Thread Michel Pelletier


In my proposal:

http://www.zope.org/Wikis/Interfaces/ExtensibleMetaData

I mention interface object meta-data like pre/post conditions.  This
spurned a lot of interesting conversation, and I wanted to clarify some
bits that I picked up from the thread.

The proposal is not in any way trying to define what types of meta-data
are interesting, this is, rightly, application dependent (for example,
Zope would find security assertions interesting, other applications may
not).  The proposal is just proposing a mechanism for associating any
kind of meta-data with an interface object.

Dont get me wrong, the information on pre and post conditions was really
interesting, especially Tim's description of Eiffel's particularly
strong methedology that made me glad I don't work for the government.

In the interest of clarifying what these interface objects are, I have
created an Interface interface description:

http://www.zope.org/Wikis/Interfaces/InterfaceInterface

This describes interfaces, attributes and method objects and how they
are used.  I can forsee creating interface objects for these interface
objects.

The ones marked **Proposed** are the ones I am most interested in
getting feedback on.

Thanks!

-Michel

___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )




Re: [Zope-dev] Zope.org done broke

2000-11-29 Thread Michel Pelletier


Oops.  Sorry for the spam.  Nothing to see here folks, move along.

-Michel

___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )




Re: [Zope-dev] RFC: Python/Zope Interfaces: ZCatalog

2000-11-28 Thread Michel Pelletier

Chris Withers wrote:
 
 Ken Manheimer wrote:
 
  I'm not expert on eiffel or even interfaces, but my understanding having
  interface "specification very near to the implementation" is misleading,
  at best.  The key thing is that there may be many implementations, all of
  which should be written to the same implementation - so you do not want
 
 Should that be 'same interface'?
 
  the interface specification tied to any one of them.
 
 This is a very good point!
 
 I'd be really interested in making something that supported the Catalog
 'interface' but actually used the new MySQL full-text searching stuff to
 do the indexing/searching.
 
 However, until Catalog has a defined _interface_, I'm not even going to
 think about starting :-S
 
 Anyone know when that's likely to happen?

A couple of years ago. (hehe - sorry, had to).  The Z Search Interface
is well defined (not well documented) and the Catalog is not the only
object that implements it, so do ZSQL Methods and Z Network Adapters
(which you've probably never heard of, they're buried in the CVS
somewhere...).  The 'Z Search Inteface' object is one tool in particular
that uses it, perhaps you can in imply the interface from that since it
is not documented.

-Michel

___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )




Re: [Zope-dev] objectValues performance

2000-11-28 Thread Michel Pelletier

Brett Carter wrote:
 
 Ok, I'll bite.  Why doesn't the standard folder scale?  Seems like a
 design flaw to me - why doesn't the default folder use catalogs or BTrees?
 -Brett

Because massive scale is not a requirment of folders, they are meant to
organize content for humans, not to be large-collection containers.  A
folder with 5000 elements is not very useful to a human.

On a similar note, create 5000 files in a linux directory on a ext2
(standard) filesystem and then type 'ls'.  You'll notice they don't
scale very well either, which is why there are filesystems like
ReiserFS.

-Michel
 
  "Casey" == Casey Duncan [EMAIL PROTECTED] writes:
 
 Casey Brett Carter wrote:
  I have a folder with greater than 5000 ZClass instances in it.  It
  takes  5mins to do an objectValues for every object in the folder -
  is there a higher perfomance call I could make?
  -Brett
 
 Casey Standard folder performance degrades pretty quickly once you get
 Casey a lot of objects in it. There are two solutions to this:
 
 Casey Subdivide your objects into multiple folders.
 Casey Use a BTreeFolder which should be much faster.
 
 Casey You can download the BTreeFolder product
 Casey here: http://www.zope.org/Members/hathawsh/BTreeFolder/
 
 Casey hth,
 Casey Casey Duncan
 
 ___
 Zope-Dev maillist  -  [EMAIL PROTECTED]
 http://lists.zope.org/mailman/listinfo/zope-dev
 **  No cross posts or HTML encoding!  **
 (Related lists -
  http://lists.zope.org/mailman/listinfo/zope-announce
  http://lists.zope.org/mailman/listinfo/zope )

___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )




[Zope-dev] Interface Meta Data proposal

2000-11-28 Thread Michel Pelletier


I've added a sub-proposal to the Interface proposal for describing
additional meta-data with Interface objects:

http://www.zope.org/Wikis/Interfaces/ExtesableMetaData

Please comment about this interesting possibility.

-Michel

___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )




Re: [Zope-dev] Re: [Geeks] Interface Meta Data proposal

2000-11-28 Thread Michel Pelletier

Chris McDonough wrote:
 
 Is security really a part of an object's interface? 

Maybe.  Are examples?  Also maybe.  It's documentation, so specific
systems that use interfaces may want to be able to extend the kinds of
information they can associate with interface elements.

 I thought this was more
 of an implementation thing.

These are good questions, I think these also have a great effect on the
Zope 3 story.  BTW, the whole idea of extensible meta-data on an
interface element came from reading the Zope 3 story so far, and seeing
the examples that include security assertions in an interface.  Amos and
I discussed it a bit and that's where the proposal came from.

-Michel

___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )




Re: [Zope-dev] RFC: Python/Zope Interfaces

2000-11-27 Thread Michel Pelletier

Dieter Maurer wrote:
 
 Michel Pelletier writes:
   Also, defining the interface seperately keep the two things apart,
   impementation and interface, and doesn't allow you to sneak in a new
   method unless you also sneak it into the interface, thus making a
   stronger "contract" with the user.
 I am a bit astonished by this statement:
 
   I know the "design by contract" concept from Bertrand Meyer,
   the Eiffel developper.
 
   In Eiffel, essential parts of the contract, among others
   method prototype, pre- and post-conditions as well as invariants
   are build directly into the language.
   A documentation tool extracts these parts
   from the source to generate the interface, for people
   that are only interested in how to use the class/method.
 
   Programms can be executed in a way, that the various
   (executable) contract parts can be checked at runtime.
   *THIS* provides for quite a strong contract.
 
 I cannot see, why the separation of interface and implementation
 should make the contract stronger. I do see, however, that it
 makes it more likely to be broken by the implementation.

The "contract" is a policy.  The mechanisms of interfaces should not
require that the policy be "strong" or "weak".  This is up to the
contractor.  I'm not sure if you are making these statement because you
disagree with the current proposal or because you disagree with what I
said above.  What I said above was just a scenario, not necessarily any
position I advocate.

The current python interface proposal makes no statement on the strength
of a contract.  It sounds like you want your contracts to be strong,
fine, but Python has no explict compile-time or run-time interface
enforcement.  The proposal in question is just trying to define how
interfaces are defined, created, implemented, and used.  Strong
contractual enforcement is a minor, policy-specific decision.
 
 It is a very good thing to have the specification very near
 to the implementation -- as a permanent guide to the
 implementor. It is even better, when big parts of the
 specification becomes part of the executable code
 (as is the case for Eiffel's pre- and post-conditions).

Maybe.  I disagree in this case: this proposal states that interfaces
are discoverable documentation, not language or policy enforcement.  The
less they can be tied to specific policies the more flexible they can
be.  Keep in mind, if you want run-time interface enforcement, you can
*allways* add it with mxProxy or some other mechanism.  If you *don't*
want run-time interface enforcement and we made it a requirement, you'd
be stuck.  You can allways add, but you can rarely take away.
 
-Michel

___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )




[Zope-dev] Lots more in the interfaces Wiki

2000-11-27 Thread Michel Pelletier

Hello,

I have added a lot more content to the interfaces wiki at:

http://www.zope.org/Wikis/Interfaces/FrontPage

(note, this is not the old interfaces wiki, which is link to from here).

This wiki is the realization of last weeks interfaces proposal:

http://www.zope.org/Wikis/Interfaces/OriginalProposal

So far, I have gone pretty far into defining the first goal of the
project "what is an interface".  For those of you that are interested in
looking at the prototype implementation, a new version can be downloaded
from:

http://www.zope.org/Members/michel/Products/Interfaces/

Some user and higher-fiber documentation can be found in the wiki. 
Please check out the wiki and let me know what you think about
interfaces.  These are important components that you will see a lot of
in the future, so we want your input!

-Michel

___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )




Re: [Zope-dev] Interface localization: zzLocale 0-0-4a release

2000-11-22 Thread Michel Pelletier


Can we see a screenshot of what the Zope managment interface looks like
in Japanese? (just a personal curiousity)

-Michel

Yves-Eric Martin wrote:
 
 Hello,
 
 Since the SkinnableAndLocalizable project is on hold, and since
 people here in Japan and other non-english speaking countries have
 repeatedly expressed their wish for localized versions of Zope, I
 decided to continue zzLocale development and turn it into an actually
 usable Product. Here is a big step towards it:
 
 zzLocale release 0-0-4a. zzLocale is a Zope locale support Product
 that provides a framework for Zope interface internationalization.
 
 Main new features are:
 
 o New failover code that should break less stuff (previous version broke
 various Products, like ZGadflyDA or LoginManager. All reported
 broken Products are now working)
 o Localization of management tabs
 o Localization of buttons (all should work now).
 o Fixed hideous bug that prevented uninstall
 
 Altogether, this should hopefully make this version actually usable:
 a few things are still not internationalized (like MessageDialogs), but
 it should *work*. Please email me if you can still find things that
 break when using zzLocale.
 
 Download urls:
   from zope.org:   http://www.zope.org/Members/yemartin/zzLocale
   from zope.ne.jp: http://www.zope.ne.jp/users/yemartin/zzLocale
 
 Note that no actual localization file is provided with this release.
 Language packs will be made available as we receive translations. (If
 you have a few hours to kill, how about translating Zope into your
 mother tongue (if it is not English)? ;) ).
 
 Cheers,
 
 --
 Yves-Eric Martin
 Digital Garage Inc.
 [EMAIL PROTECTED]
 
 ___
 Zope-Dev maillist  -  [EMAIL PROTECTED]
 http://lists.zope.org/mailman/listinfo/zope-dev
 **  No cross posts or HTML encoding!  **
 (Related lists -
  http://lists.zope.org/mailman/listinfo/zope-announce
  http://lists.zope.org/mailman/listinfo/zope )

___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )




Re: [Zope-dev] ZClasses not copyable - why?

2000-11-06 Thread Michel Pelletier

Philipp Auersperg wrote:
 
 It is not posible to copy ZClasses, when I try to copy a ZClass
 in the Management Interface I get the error:'The Item 'blorf' does not support 
that operation'
 
 I digged into that and found that in the ZClass.py there exists a method
 
 def cb_isCopyable:
 pass
 
 I was so crude to replace the pass with a 'return 1', restarted Zope and
 could now copy ZClasses as I wanted it.
 
 -
 My first question now:

(zero indexed questions, I love it)

 0.Why are ZClasses not copyable?

I don't know.

 1.Do I shoot into my foot with my hack or is that OK?

I don't know, but I suspect you're aiming the gun in that general
direction.
 
 -
 
 And now my second question
 I am working on a ZClass-intensive project and sometimes I
 want to add/remove base classes of a ZClass without redefining the whole class 
manually.

The usual method for this is to subclass from a class you define in
Python, then you can change the base classes of that python class
easily.  For this you need to make a python product with your class in
it and initialize the product, registering the class as subclassable. 
There's probably a how-to on it somewhere, otherwise you can check out
lib/python/Products/ZCatalog/__init__.py to see how the ZCatalog class
is made ZClass subclassable.

-Michel

___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )




[Zope-dev] Documentation Documentation

2000-11-02 Thread Michel Pelletier

Greetings,

Amos and I have done some work in the fishbowl this week.  We have
started a new project to define the process for writing Zope
documentation.

This fishbowl project can be found at:

http://dev.zope.org/Wikis/DevSite/Projects/DocumentationProcess/FrontPage

The idea here is to open up as much as possible the process for
determining the process of writing documentation.  In case you don't
follow that, let me put it a different way: We are using the Zope
fishbowl process to develop a *new* process for writing documentation. 
One of the goals of this new process is to work itself into the existing
fishbowl process for Zope projects, so that everyone has a clear
documentation vision.  All this gets a bit weird; meta-documentation and
developing a process with The Process in order to modify The Process,
but you'll get the idea if you read the wiki.

What this is *not* is a roadmap for existing or future documentation
artifacts.   In other words, if you looking for juicy bits on the
Developer's Guide or some other discreet Zope documentation artifact,
you won't find it here.  Because no process exists yet for writing
documentation, we have not addressed these issues.  When this project is
completed, we will have a complete roadmap that everyone can understand
for writing documentation, and then we will address the issues of actual
documentation artifacts, like where they belong in CVS and format issues
etc.

So please check it out and leave your comments in the Wiki.

Thanks,

-Michel

___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )




Re: [Zope-dev] Streaming?

2000-10-30 Thread Michel Pelletier

Lalo Martins wrote:
 
 Never mind, I found it. Just for the record, if anyone else
 needs this:
 
snip
 
 I don't know if this is documented somewhere, but it does what
 I wanted.

It is documented in the online help system, under API documentation,
under the 'Response' object.

-Michel

___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )




Re: [Zope-dev] Michel's Reply

2000-10-25 Thread Michel Pelletier

Toby Dickenson wrote:
 

Sorry for the delay (book ... crushing ... head ... )

 Perhaps the hippo analogy isnt helping, so heres a more concrete example. In
 zope today it is possible for a user who has been granted the 'View
 Management Screens' permission in *one* folder to create a one-line dtml
 method that lets him see the management page of any other dtml method in the
 whole site.

Even above where the user is defined?  Are you sure?  That would be a
bug.

Your arguments are all pretty solid, I think we are just looking at
things from different perspectives. 
 
   Ive now nearly finished converting all my newbie zope
  projects back to
   a conventional O-O design. I have been bitten by all the problems
   listed above. The feed method *should* *be* implemented in
  a ZooAnimal
   base class.
 
  Ok, that's a valid approach.
 
 Can you explain any advantage of the approach you are advocating?

We're working to make Zope usable from the perspective of many
different, possibly non-programming users.  I agree that a feed method
on an animal base class is a good way to do it from the perspective of
an python OO programmer (which you and I are), but people need to be
able to pick up, say, our book, and start creating useful dynamic
content by dropping in objects, scripts, HTML and other stuff they can
grok.  

I agree that this can also be a hinderance, I did some training in
california a few months ago and the company was doing all of their
application in DTML and external Methods and I convinced them (rather
easily because they were all coders) to make a Python product instead.  

Zope's audience can be pictured, like many things, as a bell curve. 
We're (most of us at least) all sittin' up on the top of the hump
looking down.  Understanding the perspective of someone at the bottom
looking up is essential to making sure Zope succeeds.

Python Methods are a perfect example of an object that is useful to us
at the top for advanced things, like methods of a animal base class we
use in our complex Zoo application, but they are also just as useful to
those at the bottom, as a simple little script written in python that
feeds the hippos.  Or unobfusicates their DTML.  Or iterates over a
database query.  It's useful and saves the time of these novice Zope
users if these methods can be flexible and reusable in different
contexts.  To me, this is the heart of the container vs. context binding
argument.  We at the top ususaly want the container because we're
engineering methods on classes.  Those at the bottom usually want
context for entirely different reasons.  Evan has done a great job
making an object that satisfies the entire spectrum, but in the process
has come up with something that is not entirely unlike a method in
python.

I'm not longer arguing or advocating a particular stance on container
vs. context, Evan talked me into the legitimacy of both approaches. 
Right now, I'm arguing that we need a name that makes sense to
everybody.  'Method' makes sense to us at the top, but not to those on
the bottom, and there are a lot more of those people than us.

-Michel

___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )




[Zope-dev] The Great Python (and Perl) Method Renaming Poll

2000-10-23 Thread Michel Pelletier


We will be conducting a community poll to decide what to call Python
(Perl, insert your language here) Methods.

Many candidates have been discussed, but I'm afraid I don't have enough
time to cull all the candidates from the discussions.

So, before the poll, we are calling for nominiations from the
community.  Please send me an email containing one or more candidate
names.  These names will be added to the list.  No pre-screening will be
done, so please exercise some discretion if your favorite name is more
tounge-in-cheek than practical (you never know what the masses will
decide though!).

Later this week, I will create a web poll where you can vote for your
favorite.

thanks,

-Michel

___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )




[Zope-dev] Re: Michel's Reply

2000-10-20 Thread Michel Pelletier

Chris Withers wrote:
 
 From: Michel Pelletier [EMAIL PROTECTED]
 

Hmm.  I thought this was a internal series of emails, I just now noticed
that zope-perl got cc:ed on them somewhere in the middle.  Oh well, it
is some good discussion; I allways like to stir the shit!

-Michel

___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )




Re: [Zope-dev] Python and Perl scripts

2000-10-20 Thread Michel Pelletier

[EMAIL PROTECTED] wrote:
 
  
  'Script' objects make a lot of sense, they don't overload the concept of
  methods, they describe an action that people commonly want to do (script
  the web) and they clear up a lot of potential confusion for newbie and
  old-hat alike.
  
 
 Oh, yuck!  Now we have to explain why PythonScript is safe, and JavaScript
 sucks rocks (from a security standpoint).  

The proposal is not for PythonScript but a "Python Script".  We are not
inventing a new language, this is python, we are just coming up with the
name for an object.  Don't capitalize it and you'll see what I mean.  Go
write a python script.  I'm gonna write a python script that handles
this HTML form.  If we do this with a python script instead of a DTML
method, it will be much clearer.  Wow, this perl script has lots of
slashes in it.

 And from common web convention,
 it would appear that PythonScript would run on the client side, rather
 than the server side.  Since the -let suffix appears to have taken on
 a server side connotation, perhaps that can be used.

Hmm.  Yes I agree the -let suffix may have a sttronger server side
flavor, but I disagree that the word script has any strong connection to
the client only.

 Python Function is not quite right, as it is fairly common (for me, at
 least) to define some helper functions in a Python Method.  But it is
 better than Python Script.

Function is just as technical as method.  These are OO techncial
programming terms (function less than method).  The idea is to lower the
bar for people using Zope.  People who only know HTML will be much more
likely to grok what a script is than a method.  We want to avoid
elitism.  Method is total OO elitism, function less so because it's very
language neutral, and script is like plain vanilla ice cream, everyone
gets it.

Like chocolate and coconut-shaving covered almonds, technical details
mixed in with your ice-cream will appeal only to a smaller crowd.  It
will not help define what 'ice cream' is.  It will turn away a group of
users who may have never know they could mix in sardines and sweet
tarts.  Technical details before the key idea is explained is
*dangerous* belive me, and it is the pitfall of all existing Zope
documentation to date.

The new DC documentation motto is "Explain key ideas in simple terms." 
Method is not a simple term.

 So, I guess my preferences would be:
 
 PythonSafeScriptlet
 PythonScriptlet
 PythonSafeScript
 PythonSafeFunction
 PythonFunction
 PythonBundle
 PythonMethod
 PythonScript
 
 in descending order of preference.

I'll add these to the list of candidates.  Thanks!

-Michel

___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )




Re: [Zope-dev] Python and Perl scripts

2000-10-20 Thread Michel Pelletier

[EMAIL PROTECTED] wrote:
 

snip good discussion

 Now we just need a generic term, which will not cause other confusions
 later on down the road for the concept.  I really don't like script,
 especially next to a language name (in the web domain).  You don't like
 function (which was not my suggestion).  Thingie seems a bit too non-
 descriptive.  Widget has technical meaning.  Perhaps task or job are
 suitable, as in
 Safe Python Task
 Safe Python Job
 Safe Python Subtask
 Safe Python Function
 Safe Python Script
 
 Then external methods, which are often also not methods, can become
 Flexible Python Task
 Flexible Python Job
 Flexible Python Subtask
 Flexible Python Function
 Flexible Python Script
 
 But if you really want to use
 Tame Snake Thingy, and
 Wild Snake Thingy,
 go ahead, but please do not credit me in the documentation!

Well they'll all go on the list of candidates!  Thanks for your input, I
kinda like task...
 
 As another obesrvation, substituting script for method is not really all
 that helpful for the other (misnamed) method, DTML Method.
 DTML Script is just not all that much clearer!

Rumor has it DTML Methods are going to be renamed to "DTML Template" or
something like that.

Keep in mind also that we are moving towards a new architecture with
"Documents" and "Templates" (ala HyperDOM).  I think Scripts fits right
in there:

Documents, Templates and Scripts

or

Documents, Templates and Methods

?

-Michel

___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )




Re: [Zope-dev] Strange permissions in the (built-in) API reference

2000-10-12 Thread Michel Pelletier

KevinL wrote:
 
  Michel Pelletier wrote
  Dieter Maurer wrote:
  3. Jim is working on formal interface support for python and he's
  thinking hard about it, we definatly didn't want to think hard about it
  and then turn out we came up with a bad answer, the existing API docs
  are just that, docs, not interfaces.  When format interfaces come about,
  API docs will probably be converted to that format.
 
 As in mods to python to give it interface support?  Is that discussion taking
 place anywhere public? 

It already did way back in the day shimmery dream sequence

http://www.zope.org/Members/jim/PythonInterfaces/Summary


 It's suddenly become an issue for me, for a
 non-related project...
 
 KevinL

___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )




Re: [Zope-dev] Strange permissions in the (built-in) API reference

2000-10-11 Thread Michel Pelletier

Dieter Maurer wrote:
 
 Recently, I read the "Interface Wiki". It covers most of
 the methods contained in the API and its permission descriptions
 made a very solid impression. Maybe, you can start from these
 descriptions.

The Interfaces Wiki is actually where all the API documention did come
from.  Are there inconsistencies?
 
 It might also not be optimal wrt. maintainability
 that the modules, their classes and their methods with
 the respective docstrings have been recreated
 just for API documentation purposes.
 Probably, it would be preferable to use the docstrings
 and the method prototypes from the source directly.
 You might still want to control with methods are described
 in the API and in which order.
 Personally, I would control this, too, inside the source
 documentation (a la javadoc), but I can imagine that an
 external configuration might be advantageous.

Yes, there are pros and cons on both sides, and Amos, Jim and I had some
long converstations about this very subject.  We decided to go with
seperate documentation instead of autogenerating it because:

1. An interface should be a contract, not just an artifact of the code.

2. Python, being without first class support for interfaces, has no
clear way of spelling an interface of a class.

3. Jim is working on formal interface support for python and he's
thinking hard about it, we definatly didn't want to think hard about it
and then turn out we came up with a bad answer, the existing API docs
are just that, docs, not interfaces.  When format interfaces come about,
API docs will probably be converted to that format.

Thanks for the comments!

-Michel

___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )




Re: [Zope-dev] intersection of ZCatalog queries on the same index

2000-10-05 Thread Michel Pelletier

Neil K wrote:
 
 If there a way to get ZCatalog to give me intersections of results on a
 single index? All the examples and tutorials I've seen are union (OR)
 queries.
 
 Basically I just want ZCatalog to give me items where keywords contained
 both 'foo' and 'bar'.

You should use a Keyword Index for this.  If your KW index was named
'food' and all your objects had a 'food' sequence attribute, then:

Catalog.searchResults({'food', ['foo', 'bar']})

would find all of the objects whose food property contained both 'foo'
_and_ 'bar'.

 I have browsed through Catalog.py and it seems like it might be possible.
 Disclaimer, I'm pretty new to Zope  python.

In the general case, it's not possible without redesigning Zope's
catalog query language (which implicitly ORs all index queries
together).  For the special case of keywords, use a keyword index.

-Michel

___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )




Re: [Zope-dev] remote procedure calls to manage functions

2000-08-10 Thread Michel Pelletier

Jim Fulton wrote:
 
 Michel Pelletier wrote:
 
 
  I made a test script to make about 300 xmlrpc calls to various manage_
  methods.  I had to kill it after about a half-hour cuz it was takin so
  long.
 
 This sounds pretty fishy. Are you saying that you made less than
 300 calls in half an hour? This doesn't seem right at all.

My bad, my fingers dropped a zero.  I was gonna say 3000.  I don't know
the exact number but I can find out, i just wrapped a for loop around
the code that uploads the book content to zope.org; effectively
uploading the book 100 times.  I don't know the exact time either, but
in the time it ran before i killed it I recompiled and reconfigured a
linux kernel three times and had at least four cups of coffee.

 Hm. This says that the FileStorage _finish method was called
 3852 times.  This says that 3852 transactions were committed.

That may be the number of calls it made before i killed it.

 Since transactions only get committed on write requests, then
 this suggests 3852 write requests. There should have been
 way more than 3852 requests to have this many write requests.

You mean 300?
 
 First, it's not spending most of it's time in DT_InSV __getitem__, although
 it's spending more time in that method than in any other single method.
 The reason it spends so much time in that method is that the method
 gets called 700 thousand times. That is, it's used alot, because alot
 of in-tag special variables are used in your test. 

I'm not sure why though, I'm not executing any DTML, just uploading a
bunch of structured text into File objects (and three DTML methods to
view the book).

 This is also a
 pretty non-trivial method, so it's reasonable that it might take
 a while.
 
 All of this seems to me to be somewhat beside the point.
 
 The original comment was regarding ZClient vs XML-RPC.
 It would be more interesting to:
 
  - Compare ZClient and XML-RPC for some realistic tests, like yours,
 
  - Compare them for simple Python methods that don't do much but
return some data, something like:
 
def test(x,y,z):
   return 'hello world' * 100
 
  - If there is a big difference, use the profiler to try to figure out
why XML-RPC is taking so long.

Ok, in my spare time i'll cobble up a much better benchmark.

-Michel

___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )




Re: [Zope-dev] remote procedure calls to manage functions

2000-08-09 Thread Michel Pelletier



Chris Withers wrote:
 
 andrew wrote:
  Have been delving into ZPublisher.Client to make remote procedure calls
  under Zope 2.2.1.
 
 Did someone slip 2.2.1 without mentioning it?!
 
 I thought XML-RPC was now favoured over ZClient?

It's not really favored, both are quite useful.  xml-rpc is more for
when you want two different system to interoperate.  ZClient is very
zope specific and probably gives you a bit more functionality than
xml-rpc (because it has the 'remote object' abstraction).  Also, ZClient
is much faster i've found, probably due to the marshalling/unmarshalling
necessary for xml-rpc.

-Michel

___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )




Re: [Zope-dev] remote procedure calls to manage functions

2000-08-09 Thread Michel Pelletier

Jim Fulton wrote:
 
 Michel Pelletier wrote:
 

   I thought XML-RPC was now favoured over ZClient?
 
  It's not really favored, both are quite useful.  xml-rpc is more for
  when you want two different system to interoperate.  ZClient is very
  zope specific and probably gives you a bit more functionality than
  xml-rpc (because it has the 'remote object' abstraction).
 
 I don't think ZClient is really Zope specific. At least
 it's not supposed to be.  It does have a richer API, including
 features like authentication and header support.

My bad, you're right.

   Also, ZClient
  is much faster i've found, probably due to the marshalling/unmarshalling
  necessary for xml-rpc.
 
 That's interesting..Hm.  ZClient has to marshal.  I suspect that
 xml-rpc wants some sort of optimization.

I made a test script to make about 300 xmlrpc calls to various manage_
methods.  I had to kill it after about a half-hour cuz it was takin so
long.  Here's the profiler output:

   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
702883/2151  108.9800.000  288.5800.134
DT_InSV.py:379(__getitem__)
 7704   79.0500.010  243.9000.032 xmllib.py:201(goahead)
 3852   42.3000.011   43.1600.011
FileStorage.py:706(_finish)
158831/158827   38.0100.000   70.1400.000 DT_Var.py:258(render)
   732178   37.5800.000   49.4500.000 re.py:112(match)
495239/51912   36.6900.000  307.2000.006
HTTPRequest.py:741(__getitem__)
   586827   29.0400.000   29.0400.000 re.py:335(group)
   499291   22.9000.000   30.5300.000 re.py:95(search)
   875347   19.5000.000   19.5000.000 re.py:290(__init__)
45981   14.0900.000   39.0000.001
xmllib.py:539(parse_starttag)
   748592   10.6800.000   10.6800.000 exceptions.py:65(__init__)
   5419249.4200.0009.4200.000 re.py:297(start)
   4562739.1900.0009.1900.000 re.py:306(end)
   1078318.5200.0008.5200.000 urllib.py:898(quote)
127647/107577.4000.000  300.0800.028 :0(?)
491137.1600.0008.2400.000
User.py:140(getRolesInContext)
127647/43026.3500.000  303.9100.071 DT_Util.py:325(eval)
459815.3600.000   19.8700.000
xmllib.py:615(parse_endtag)
   1112585.2400.0007.0300.000
xmllib.py:699(handle_charref)
 38565.1000.001   17.0200.004
BaseRequest.py:224(traverse)
   2845154.5100.0004.5100.000 xmlrpclib.py:387(data)

I think you're right about optimizing, why is it spending most of it's
time in DT_InSV?

-Michel

___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )




[Zope-dev] Re: Zope Mailing Lists and ZCatalog

2000-08-04 Thread Michel Pelletier

Andy Dawkins wrote:
 
 Michel
 
 In case you are not aware, we at NIP currently host a complete archive of
 the Zope mailing lists that are publicly available.

Yep.
 
 We are using ZCatalog to index all the messages from the Mailing list
 archives.  To give you an idea of numbers, the Zope mailing list alone is
 over 30,000 messages.

 The problem we have is getting that many objects in to the Catalog.  If we
 load the objects in to the ZODB, then catalog them, the machine either runs
 out of memory or, if we lower the sub transactions, It runs out of hard
 drive space.

This is because you are indexing more content than you have virtual+tmp
memory to store the transaction in.  Zope is transaction, as I'm sure
you know, so it has to store the transaction somewhere so it can roll it
back if neccesary, and memory+tmp storage is where that goes
(subtransactions are swapped out to tmp).
 
 If we use CatalogAware to catalog the objects as they are imported the
 Catalog explodes to stupid sizes because CatalogAware doesn't support Sub
 transactions.

Subtransactions are a storage thing, and really don't have anything to
do with catalogaware, if you have a subtransaction threshold set then
subtransactions will be used for any cataloging operation, catalogaware
or not.
 
 We could solve these issues by regularly packing the database during the
 import, but it isn't a perfect solution.

I'm not sure what you mean with these last to paragraphs, it seems like
you have two problems:

1) you are mass indexing and running out of memory

2) you are indexing lots of content quickly and your database is growing

The answer to 1 is to not mass index and incrimentatly index over time. 
The answer to 2 is to use a storage that does not store old revisions,
like berkeley storage.
 
 Also as messages arrived over time the Catalog would once again explode
 dramatically,

 Basically we(NIP) would like to know if you(Michel/DC) are planning to
 improve ZCatalog/CatalogAware, if you are planning a successor to ZCatalog
 or basically any information that could be useful to us regarding the
 current development and urgency of ZCatalog/CatalogAware.

There isn't anything wrong with the Catalog (for this particular
problem), or at least, there isn't anything in the catalog to fix that
would solve your problem.  We've had customers index well over 50,000
objects; you just have to understand the resource constraints and work
with them, for example, don't mass index, use storages that scale to
high write environments, etc.

 Thanks in advance for your assistance.

NP.

-Michel

___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )




Re: [Zope-dev] Distutils scripts for ZODB

2000-06-16 Thread Michel Pelletier

I'm lost on what these scripts do, do they let you distribute ZODB in a
standalone fasion?  Do you have an example of that distribution based
on, say 2.2b?

"A.M. Kuchling" wrote:
 
 Here are 3 short setup.py scripts for various bits of Zope.  Two of them

-- 

-Michel Pelletier

http://www.zope.org/Members/michel/MyWiki

Visit WikiCentral for the latest Zen:

http://www.zope.org/Members/WikiCentral

___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )




Re: [Zope-dev] Re: ZCatalog and Unique IDs

2000-05-25 Thread Michel Pelletier

Evan Simpson wrote:
 
 
 In the case of Catalogs, much of the time we're probably not interested in
 cataloging "whatever lives at this path address"; 

At the moment this is true, but Jim and I have discussed the possibility
of ZCatalog being treating the paths less atomically and more as a
sequence of nodes from root to the target, this way, you could ask the
catalog for all objects below a certain point that match search
criteria, etc.

 we want information about
 a specific object.  Fortunately, the cut/copy/paste and rename
 implementations make the path approach workable.  As a matter of fact, the
 new mountable database code required changing the clipboard operations to
 use paths instead of object monikers.

And it looks like the event stuff is favoring paths also, I strongly
suggest we make sure any of these needs is captured in the proposed
traversal interface:

http://www.zope.org/Members/michel/Projects/Interfaces/Traversal

-- 

-Michel Pelletier

http://www.zope.org/Members/michel/MyWiki

Visit WikiCentral for the latest Zen:

http://www.zope.org/Members/WikiCentral

___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )




[Zope-dev] Re: ZCatalog and Unique IDs

2000-05-24 Thread Michel Pelletier



Chris Withers wrote:
 
 Hi,
 
 I hope this is a stupid question but why does ZCatalog use the URL of an
 object to uniquely identify it?

Because it's unique.
 
 Why not just use a reference to the object?

How do you define that?  If you mean reference in the strictly python
sense, then I guess you're thinking about some kind of name or
dictionary key in the catalog that is directly assigned the value of the
observed object?  This sorta gets back to the symbolic link vs. hard
link analogies brought up in the past.  Both have their dificulties, you
cannot, for example, have a reference across databases, while you can
map the physical path.  Using a string like this could also allow you to
quickly modify the catalog to index external resources.

 Persistent object
 identifiers must exist for the ZODB so why not use them instead?

They change, I believe, over the revisions of the objects; and also this
is a very low level identifier.  I'm not certain.  I think this
attribute is _p_oid.
 
 cheers,
 
 Chris
 
 PS: This would solve all the problems with ZCatalogs and virtually
 hosted sites...

So would a solid traversal interface that understood virtual hosting in
Zope.

 I think the traversal interface is needed for other
 reasons but it should remove ZCatalog from the list of things that need
 it... not that I've just been bitten by this or anything ;-)

I understand, but I think most of the biting was due to bugs than a flaw
in the model.

-- 

-Michel Pelletier

http://www.zope.org/Members/michel/MyWiki

Visit WikiCentral for the latest Zen:

http://www.zope.org/Members/WikiCentral

___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )