Re: [Zope-dev] patterns for using sphinx with the Zope Toolkit?

2010-01-03 Thread Lennart Regebro
On Sun, Jan 3, 2010 at 02:44, Chris McDonough chr...@plope.com wrote:
  But I couldn't really figure out a way to do the moral equivalent of this:

 .. code-block:: python

    a == 1

 .. manuel-expect:

    True

 Maybe I missed it.

I couldn't either. So I added a sphinx module for Manuel, supporting
Sphinx testsetup/testcode/testoutput statements.

Missing so far is:
  - support for groups,
  - in particular the * group for testsetup,
  - support for having doctest statements mixed with the above, so you
can have  statements but put output in a testoutput statement,

If the code is acceptable to Manuel people, I'll might work on it some
more until my usecases work. :) On the other hand I might abandon this
path completely, and make all my testing *not* be doctests, but use
Sphinx literal-include instead, and run the tests some other way,
because as usual doctests are turning out the be a shitload of work
for very little benefit.

Also if the above code is deemed as being a Good Idea, I will remove
all the usage of zope.testing.doctest from Manuel. This is necessary,
as one of the things I need from Manuel is a Python 3 port, and I'm
not porting zope.testing.doctest to Python 3.
-- 
Lennart Regebro: Python, Zope, Plone, Grok
http://regebro.wordpress.com/
+33 661 58 14 64
___
Zope-Dev maillist  -  Zope-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 https://mail.zope.org/mailman/listinfo/zope-announce
 https://mail.zope.org/mailman/listinfo/zope )


Re: [Zope-dev] patterns for using sphinx with the Zope Toolkit?

2010-01-03 Thread Martijn Faassen
Lennart Regebro wrote:
[snip]
 Also if the above code is deemed as being a Good Idea, I will remove
 all the usage of zope.testing.doctest from Manuel. This is necessary,
 as one of the things I need from Manuel is a Python 3 port, and I'm
 not porting zope.testing.doctest to Python 3.

I think this is quite independently from the above the consensus anyway, 
right? Switching over from zope.testing.doctest to plain doctest 
anywhere seems like a good idea.

Regards,

Martijn


___
Zope-Dev maillist  -  Zope-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 https://mail.zope.org/mailman/listinfo/zope-announce
 https://mail.zope.org/mailman/listinfo/zope )


[Zope-dev] [Announce] BlueBream: Script to setup a Zope project directory

2010-01-03 Thread Baiju M
Hi All,
  I started a project named BlueBream to create a
script to setup a Zope project directory.  BlueBream use
ZTK with some additional packages. BlueBream is
based on PasteScript's template plugin.

The package is available from PyPI:
http://pypi.python.org/pypi/bluebream

Source code is available from my Sandbox:
svn://svn.zope.org/repos/main/Sandbox/baijum/bluebream/trunk

Looking for your feedback.

Regards,
Baiju M
___
Zope-Dev maillist  -  Zope-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 https://mail.zope.org/mailman/listinfo/zope-announce
 https://mail.zope.org/mailman/listinfo/zope )


Re: [Zope-dev] [Announce] BlueBream: Script to setup a Zope project directory

2010-01-03 Thread Baiju M
On Sun, Jan 3, 2010 at 9:20 PM, Andreas Jung li...@zopyx.com wrote:
 How is this different from ZopeSkel?

Well, it's just yet another PasteScript project template. BlueBream
provides a slightly different layout compared to basic_zope .

Here are few features:

1. BlueBream project package includes ZTK + few additional packages
which was part of Zope 3.
2. Runnable Buildout
3. Functional testing enabled by default using z3c.testsetup
4. Use PasteDeploy
5. Create a namespace package by default.

To use:

$ easy_install bluebream
$ paster create -t bluebream testproject
$ cd testproject
$ python bootstrap.py
$ ./bin/buidout
$ ./bin/test
$ ./bin/paster serve debug.ini

Regards,
Baiju M
___
Zope-Dev maillist  -  Zope-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 https://mail.zope.org/mailman/listinfo/zope-announce
 https://mail.zope.org/mailman/listinfo/zope )


Re: [Zope-dev] [Announce] BlueBream: Script to setup a Zope project directory

2010-01-03 Thread Alex Clark
On 2010-01-03, Baiju M mba...@zeomega.com wrote:
 On Sun, Jan 3, 2010 at 9:20 PM, Andreas Jung li...@zopyx.com wrote:
 How is this different from ZopeSkel?

 Well, it's just yet another PasteScript project template. BlueBream
 provides a slightly different layout compared to basic_zope .

Another obvious question (sorry ;-), why not just contribute to ZopeSkel (which 
is currently
in need of some active contributors, IIRC)?

 Here are few features:
 1. BlueBream project package includes ZTK + few additional packages
 which was part of Zope 3.
 2. Runnable Buildout
 3. Functional testing enabled by default using z3c.testsetup
 4. Use PasteDeploy
 5. Create a namespace package by default.
 To use:
 $ easy_install bluebream
 $ paster create -t bluebream testproject
 $ cd testproject
 $ python bootstrap.py
 $ ./bin/buidout
 $ ./bin/test
 $ ./bin/paster serve debug.ini

Nice! Can I suggest adding that last bit to the PyPI page? E.g.
$ cd testproject
$ python bootstrap.py
$ ./bin/buidout
$ ./bin/test
$ ./bin/paster serve debug.ini

Also, there are a few installation issues (fixed by running `mkdir -p` by hand):
http://pastie.org/765137
http://pastie.org/765140

And runtime issues (I think?):
http://pastie.org/765143

Otherwise, it works as expected :-)

Alex

 Regards,
 Baiju M
 ___
 Zope-Dev maillist  -  Zope-Dev@zope.org
 https://mail.zope.org/mailman/listinfo/zope-dev
 **  No cross posts or HTML encoding!  **
 (Related lists - 
  https://mail.zope.org/mailman/listinfo/zope-announce
  https://mail.zope.org/mailman/listinfo/zope )


---
Alex Clark · http://aclark.net
Practical Plone 3 · http://tinyurl.com/practical-plone


___
Zope-Dev maillist  -  Zope-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 https://mail.zope.org/mailman/listinfo/zope-announce
 https://mail.zope.org/mailman/listinfo/zope )


Re: [Zope-dev] broken zope.publisher because of new content types in zope.contenttype

2010-01-03 Thread Martijn Faassen
Hey,

Roger wrote:

 Since aaron added new mimetypes e.g. application/javascript,
 the _implicitResult method in zope.publisher.http.py (line 794)
 is broken because the method checks for text/* content types
 if unicode is given:
 
 def _implicitResult(self, body):
 encoding = getCharsetUsingRequest(self._request) or 'utf-8'
 content_type = self.getHeader('content-type')
 
 if isinstance(body, unicode):
 try:
 if not content_type.startswith('text/'):
 raise ValueError(
 'Unicode results must have a text content type.')
 except AttributeError:
 raise ValueError(
 'Unicode results must have a text content type.')
 
 Sould we remove this basic content type check above?
 Or enhance the check with the new added unicode valid
 content types like application/javascript.
 
 btw, the RFC is just Informational which defines
 this changes. See: http://www.rfc-editor.org/rfc/rfc4329.txt

We don't seem to be getting test failures anywhere in the ZTK. Could you 
propose a test that identifies this issue?

Aaron, can you give feedback about this issue?

Regards,

Martijn



___
Zope-Dev maillist  -  Zope-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 https://mail.zope.org/mailman/listinfo/zope-announce
 https://mail.zope.org/mailman/listinfo/zope )


[Zope-dev] how to help Martijn (how can we have better discussions?)

2010-01-03 Thread Martijn Faassen
Hi there,

A meta-discussion, how dangerous! Let's see whether it can help us 
improve the way we work together, though.

I'll talk about how I think, from my perspective, we can improve the 
quality of discourse on this mailing list and be more constructive.

What lowered the quality of this discussion? I think it is because 
various people became quite upset and annoyed. That's because I reverted 
Hanno's changes to the ZTK trunk. I shouldn't have done that just like 
that, but I needed the subsequent discussion to come up with a better 
solution.

In the turmoil, my attempts to formulate a solution that would satisfy 
everybody's concerns fairly well seemed to have been overlooked a little 
bit. Instead we focused a lot of time on discussing bits we ironically 
enough actually more or less agreed about, such as the role of the ZTK. 
Nobody seemed to quite notice that I'm in fact in favor of a smaller 
ZTK, even though I said so repeatedly.

That's because I'm *also* in favor of maintaining the zopeapp bits a 
while longer and not just throwing those away. I want an exit strategy 
for those bits. A transition strategy. That is a legitimate topic for 
this mailing list at the very least.

Instead, we had endless debates about whether it was a legitimate 
concern for the ZTK maintainers. I'm of course still right that it is. 
I have wonderful and coherent reasons to support my position just like 
everybody else does who disagrees with me. It's not really very 
important anyway. We're here together on this list to work together 
beyond the ZTK itself.

So how can we have better discussions?

We can have better discussions by helping me.

How can you help me? Of course it helps if you agree with me. I realize 
that's frequently infeasible, but I certainly wouldn't mind. :)

If you disagree with me, I'd like you to try to understand my concerns 
as much as you possibly can. In addition, try acknowledge my concerns as 
much as you possibly can without feeling you're lying. This works beter 
than just rejecting them.

How else can you help me?

You can propose realistic solutions for how we as a community can take 
care of these concerns that I have. And still fulfill your concerns at 
the same time. Such solutions were entirely possible in this discussion.

Constructive debating is an art I'm still learning, but I had the 
feeling people enjoyed the rest of the debate too much to be very 
constructive this time...

Of course the way you'd help me is the way anybody would be helped in a 
discussion, as the discussion becomes more constructive.

Again, I know as much to blame as anyone else. I helped spark it due to 
my revert and my continued insistence that I am right. The revert 
shouldn't have happened. But I didn't know that at the time as I hadn't 
had time to think yet either.

So how else can you help me? Give me some space to think. I believe my 
concerns could have been easily taken care of if we'd stopped and talked 
for a little bit *before* drastic changes were checked in. So, you can 
help me by discussing things that you know are drastic changes before 
you do them.

I know we have had a lot of problems reaching conclusions in such 
discussions in the past, but we can't learn how to do better at that if 
we don't. And we are going to do better if I can help it.

Regards,

Martijn

___
Zope-Dev maillist  -  Zope-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 https://mail.zope.org/mailman/listinfo/zope-announce
 https://mail.zope.org/mailman/listinfo/zope )


[Zope-dev] shrinking the ZTK: a proposed solution

2010-01-03 Thread Martijn Faassen
Hi there,

So here's my proposed solution for the ZTK shrinking issue:

The ZTK branch 'faassen-smaller' contains Hanno's smaller ZTK. Since 
Zope 2 forked the ZTK in response and continued to make changes to their 
fork, I've tried to keep it in sync with the Zope 2 fork.

I've created a new 'zopeapp' package that expands the ZTK with zope.app. 
packages in my sandbox. This extracts that information from the ZTK.

Hopefully after we get some feedback from other steering group members 
(very silent indeed in the holiday period when all this happened) we can 
make these two projects the official one: a ZTK project and a zopeapp 
project.

A few things I ask the ZTK maintainers:

I ask the ZTK maintainers to have the same concern for the zope.app 
packages as for any other user of the ZTK: work to support zopeapp's 
compatibility with the ZTK. If the zopeapp maintainers have issues, 
listen to them seriously. I think everybody can agree that this is 
within the ZTK mandate for the time being, as zopeapp clearly exists and 
is being used by a significant amount of people. (I'd like to work to 
retire it by making it used by far less people)

I also strongly encourage the ZTK maintainers to consider the situation 
of backwards compatibility seriously. Help people transition from their 
code now to the ZTK. Helping everybody migrate to the ZTK smoothly 
increases the value of the ZTK itself. Obviously I cannot *force* ZTK 
maintainers to worry about this. Instead I'm appealing to your 
self-interest. And of course the transition burden is shared and should 
not fall solely or even predominantly on the ZTK maintainers.

I also think we as ZTK maintainers should better consider the concerns 
of other users of the ZTK. In this case, Zope 2 had less of a concern 
for zope.app than Grok or Zope 3. I didn't even understand this until 
the debate was further along. The concerns of others should be 
considered as well instead of simply rejected. We usually can find ways 
to balance the concerns of everybody. To that end concerns (or lack 
thereof) should be clearly communicated and be listened to.

Regards,

Martijn

___
Zope-Dev maillist  -  Zope-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 https://mail.zope.org/mailman/listinfo/zope-announce
 https://mail.zope.org/mailman/listinfo/zope )


Re: [Zope-dev] patterns for using sphinx with the Zope Toolkit?

2010-01-03 Thread Benji York
On Sat, Jan 2, 2010 at 8:44 PM, Chris McDonough chr...@plope.com wrote:
 Python samples in Sphinx docs are generated like so:

 .. code-block:: python

     a == 1

 I did a bit of fooling around with Manuel, because I wanted to make sure that
 the code blocks in my documentation actually worked, but I wound up in a place
 where I use Manuel to check only the *syntax* of a subets of the Sphinx code
 blocks I use.  It will do this right out of the box if you read the Manuel 
 docs
  But I couldn't really figure out a way to do the moral equivalent of this:

 .. code-block:: python

    a == 1

 .. manuel-expect:

    True

Sphinx and Manuel both support interpreter blocks, so the normal
approach will work:

 a == 1
True

Occasionally you want to show some code but hide the assertions about
the effects of the code.  You can do that by putting the tests in a reST
comment after the code.

.. code-block:: python

a = Foo()
b = a.bar()

.. make sure the above worked correctly

 b.baz
42
-- 
Benji York
___
Zope-Dev maillist  -  Zope-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 https://mail.zope.org/mailman/listinfo/zope-announce
 https://mail.zope.org/mailman/listinfo/zope )


Re: [Zope-dev] patterns for using sphinx with the Zope Toolkit?

2010-01-03 Thread Martijn Faassen
Martin Aspeli wrote:
[snip]
 We've had good success with 
 http://pypi.python.org/pypi/collective.recipe.sphinxbuilder

I'm having trouble with this. I'm trying to set up a narrative_docs 
directory in a package but:

* the documentation on collective.recipe.sphinxbuilder pypi talks about 
a bin/sphinxbuilder script. That simply isn't there (the sphinx-build 
and sphinx-quickstart commands are). Ah, I see it is named after my 
section. The documentation didn't say that.

* I'm supposed to run sphinx-quickstart by hand and answer a few 
questions and choose docs-source as your source folder. I'd like to 
tell about my source folder, but instead it asks me for a root path for 
the documentation. I cannot directly control the source path at all, 
only whether it is the root path or whether it's in root_path/source.

* I'd prefer it if I ended up with a sphinx quickstart script that got 
preconfigured with the choices I made in buildout anyway, or perhaps 
even run quickstart itself when necessary (but a manual step here is 
okay and perhaps the sanest)
There's also a z3c.recipe.sphinxdoc recipe. This seems to be geared 
towards producing sphinx documentation from doctests within a Python 
package. I think to encourage narrative documentation I'd like to 
separate this documentation from the source tree (though I *would* like 
to have the *option* to use doc tests).

* Do I need to answer 'y' or 'no' to the 'Create Makefile' question and 
a windows command file?

This is definitely frustrating. :) I want to document something about 
this so that people have more guidance and that our ZTK packages have a 
similar documentation structure,...

Regards,

Martijn

___
Zope-Dev maillist  -  Zope-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 https://mail.zope.org/mailman/listinfo/zope-announce
 https://mail.zope.org/mailman/listinfo/zope )


Re: [Zope-dev] zope.testing 3.8.6 emits deprecation warnings from itself?

2010-01-03 Thread Benji York
On Wed, Dec 30, 2009 at 7:45 AM, Marius Gedminas mar...@gedmin.as wrote:
 On Wed, Dec 30, 2009 at 08:58:52AM +0100, Lennart Regebro wrote:
 On Tue, Dec 29, 2009 at 23:47, Marius Gedminas mar...@gedmin.as wrote:
   * support for the INTERPRET_FOOTNOTES feature

 Then they should use Manuel.

 Good, so we have a migration path for this bit!

 How mechanical can such a transformation be?

The transformation should be reasonably mechanical.  Something like this
(untested):

m = manuel.footnote.Manuel()
m += manuel.doctest.Manuel(**kw)
return manuel.testing.TestSuite(m, 'foo.txt')
-- 
Benji York
___
Zope-Dev maillist  -  Zope-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 https://mail.zope.org/mailman/listinfo/zope-announce
 https://mail.zope.org/mailman/listinfo/zope )


Re: [Zope-dev] patterns for using sphinx with the Zope Toolkit?

2010-01-03 Thread Benji York
On Sun, Jan 3, 2010 at 4:48 PM, Lennart Regebro rege...@gmail.com wrote:
 On Sun, Jan 3, 2010 at 22:08, Benji York be...@zope.com wrote:
 Occasionally you want to show some code but hide the assertions about
 the effects of the code.  You can do that by putting the tests in a reST
 comment after the code.

 .. code-block:: python

    a = Foo()
    b = a.bar()

 .. make sure the above worked correctly

     b.baz
    42

 That doesn't work for code that will raise an exception.

 Also, if you want to both run a command and make sure it's output is
 correct, then you need to do that twice.

In both of those cases normal doctest blocks seem appropriate.

Calling foo with the wrong parameters raises an exception:

 foo('wrong')
Traceback (most recent call last):
  ...
ValueError: bad parameters

Calling the hello function prints a greeting.

 hello()
Hello world!
-- 
Benji York
___
Zope-Dev maillist  -  Zope-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 https://mail.zope.org/mailman/listinfo/zope-announce
 https://mail.zope.org/mailman/listinfo/zope )


Re: [Zope-dev] patterns for using sphinx with the Zope Toolkit?

2010-01-03 Thread Benji York
On Sun, Jan 3, 2010 at 6:53 AM, Martijn Faassen faas...@startifact.com wrote:
 Lennart Regebro wrote:
 [snip]
 Also if the above code is deemed as being a Good Idea, I will remove
 all the usage of zope.testing.doctest from Manuel. This is necessary,
 as one of the things I need from Manuel is a Python 3 port, and I'm
 not porting zope.testing.doctest to Python 3.

 I think this is quite independently from the above the consensus anyway,
 right? Switching over from zope.testing.doctest to plain doctest
 anywhere seems like a good idea.

Manuel uses the standard library's doctest almost exclusively.  The only
place zope.testing.doctest is used is to be compatible with
zope.testing's expectations.

I just took a stab at removing all references to zope.testing.doctest
from Manuel and got it to work using the zope.testing trunk (Manuel
needs DocTestFailureException).
-- 
Benji York
___
Zope-Dev maillist  -  Zope-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 https://mail.zope.org/mailman/listinfo/zope-announce
 https://mail.zope.org/mailman/listinfo/zope )


Re: [Zope-dev] patterns for using sphinx with the Zope Toolkit?

2010-01-03 Thread Lennart Regebro
On Sun, Jan 3, 2010 at 23:14, Benji York be...@zope.com wrote:
 In both of those cases normal doctest blocks seem appropriate.

Not if you don't want the output in the formatting, or if you don't
want the  brackets.

-- 
Lennart Regebro: Python, Zope, Plone, Grok
http://regebro.wordpress.com/
+33 661 58 14 64
___
Zope-Dev maillist  -  Zope-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 https://mail.zope.org/mailman/listinfo/zope-announce
 https://mail.zope.org/mailman/listinfo/zope )


Re: [Zope-dev] patterns for using sphinx with the Zope Toolkit?

2010-01-03 Thread Lennart Regebro
On Sun, Jan 3, 2010 at 23:38, Benji York be...@zope.com wrote:
 I just took a stab at removing all references to zope.testing.doctest
 from Manuel and got it to work using the zope.testing trunk (Manuel
 needs DocTestFailureException).

Awesome! That would make it easy to port to Python 3, which I need.

-- 
Lennart Regebro: Python, Zope, Plone, Grok
http://regebro.wordpress.com/
+33 661 58 14 64
___
Zope-Dev maillist  -  Zope-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 https://mail.zope.org/mailman/listinfo/zope-announce
 https://mail.zope.org/mailman/listinfo/zope )


Re: [Zope-dev] patterns for using sphinx with the Zope Toolkit?

2010-01-03 Thread Chris McDonough
Lennart Regebro wrote:
 On Sun, Jan 3, 2010 at 23:14, Benji York be...@zope.com wrote:
 In both of those cases normal doctest blocks seem appropriate.
 
 Not if you don't want the output in the formatting, or if you don't
 want the  brackets.
 

Yeah.  I haven't thought about this much, so it might be bollocks, but I think 
something like this is what I'm after:

.. code-block-setup::

import sys
from somepackage.testing import DummyModule
sys.modules['models'] = DummyModule()

.. code-block:: python
:linenos:

from models import MyModel
from repoze.bfg.view import bfg_view
from repoze.bfg.chameleon_zpt import render_template_to_response

@bfg_view(name='my_view', request_method='POST', context=MyModel,
  permission='read')
def my_view(request):
return {'a':1}

.. code-block-teardown::
del sys.modules['models']

Only the code-block would show up.  Actually being a code-block would be 
helpful, too, so we could use the other features of code-blocks, like line 
numbers.  Or something.

- C
___
Zope-Dev maillist  -  Zope-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 https://mail.zope.org/mailman/listinfo/zope-announce
 https://mail.zope.org/mailman/listinfo/zope )


Re: [Zope-dev] patterns for using sphinx with the Zope Toolkit?

2010-01-03 Thread Benji York
On Sun, Jan 3, 2010 at 6:43 PM, Chris McDonough chr...@plope.com wrote:
 Yeah.  I haven't thought about this much, so it might be bollocks, but I
 think something like this is what I'm after:

 .. code-block-setup::

   import sys
   from somepackage.testing import DummyModule
   sys.modules['models'] = DummyModule()

 .. code-block:: python
   :linenos:

   from models import MyModel
   from repoze.bfg.view import bfg_view
   from repoze.bfg.chameleon_zpt import render_template_to_response

   @bfg_view(name='my_view', request_method='POST', context=MyModel,
             permission='read')
   def my_view(request):
       return {'a':1}

 .. code-block-teardown::
   del sys.modules['models']

 Only the code-block would show up.  Actually being a code-block would be
 helpful, too, so we could use the other features of code-blocks, like line
 numbers.  Or something.

If you replace .. code-block-setup:: and .. code-block-teardown::
with .. invisible-code-block:: python you can do that with Manuel now
(http://packages.python.org/manuel/#invisible-code-blocks).
-- 
Benji York
___
Zope-Dev maillist  -  Zope-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 https://mail.zope.org/mailman/listinfo/zope-announce
 https://mail.zope.org/mailman/listinfo/zope )


Re: [Zope-dev] shrinking the ZTK: a proposed solution

2010-01-03 Thread Takeshi Yamamoto
I agree and support Martijn's strategy.

There are *many* Zope 3 users who are not visible on this discussion.

For example, these CMS are based on Zope 3, as you can find the word on the 
page.
http://z3ext.net/news/z3ext-1_0_0-released/
https://makunouchi.jp/products

Not only them, but more Zope 3 based systems exist which are not exposed on 
internet.

I think ZTK community needs to think about them.  In other words, 
Some directions should be provided to them when ZTK 1.0 gets released.

Probably, many Zope 3 users are not participating community nor subscribing 
this mailing list. 
But developers who are developing *foundation* software need to consider *big* 
world beyond directly visible scope.

I am not a programmer, but I have translated philikon's web component 
development book.
http://www.springer.jp/978-4-431-10040-9

Takeshi Yamamoto

On Jan 4, 2010, at 5:51 AM, Martijn Faassen wrote:

 I think everybody can agree that this is 
 within the ZTK mandate for the time being, as zopeapp clearly exists and 
 is being used by a significant amount of people. (I'd like to work to 
 retire it by making it used by far less people)

___
Zope-Dev maillist  -  Zope-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 https://mail.zope.org/mailman/listinfo/zope-announce
 https://mail.zope.org/mailman/listinfo/zope )


Re: [Zope-dev] patterns for using sphinx with the Zope Toolkit?

2010-01-03 Thread Martin Aspeli
Martijn Faassen wrote:
 Martin Aspeli wrote:
 [snip]
 We've had good success with
 http://pypi.python.org/pypi/collective.recipe.sphinxbuilder

 I'm having trouble with this. I'm trying to set up a narrative_docs
 directory in a package but:

 * the documentation on collective.recipe.sphinxbuilder pypi talks about
 a bin/sphinxbuilder script. That simply isn't there (the sphinx-build
 and sphinx-quickstart commands are). Ah, I see it is named after my
 section. The documentation didn't say that.

:)

 * I'm supposed to run sphinx-quickstart by hand and answer a few
 questions and choose docs-source as your source folder. I'd like to
 tell about my source folder, but instead it asks me for a root path for
 the documentation. I cannot directly control the source path at all,
 only whether it is the root path or whether it's in root_path/source.

I can't really remember what answers we gave, but  I know we ran it once 
and from then on we've been able to do ./bin/sphinx to rebuild from reST 
sources.

The quickstart thing is only necessary when you start a new project, so 
you should only use it once per package.

 * I'd prefer it if I ended up with a sphinx quickstart script that got
 preconfigured with the choices I made in buildout anyway, or perhaps
 even run quickstart itself when necessary (but a manual step here is
 okay and perhaps the sanest)
 There's also a z3c.recipe.sphinxdoc recipe. This seems to be geared
 towards producing sphinx documentation from doctests within a Python
 package. I think to encourage narrative documentation I'd like to
 separate this documentation from the source tree (though I *would* like
 to have the *option* to use doc tests).

Yeah, I saw that one, but had the same conclusion.

 * Do I need to answer 'y' or 'no' to the 'Create Makefile' question and
 a windows command file?

 This is definitely frustrating. :) I want to document something about
 this so that people have more guidance and that our ZTK packages have a
 similar documentation structure,...

This is what we have in our (project) buildout:

[sphinx]
recipe = collective.recipe.sphinxbuilder
source = ${buildout:directory}/docs/source
build = ${buildout:directory}/docs/output
eggs =
 ${eggs:main}
 repoze.sphinx.autointerface

${eggs:main} is a list of eggs that make up our project's main 
dependencies. We include them so that we can get the automatically 
generated documentation to work.

Martin


-- 
Author of `Professional Plone Development`, a book for developers who
want to work with Plone. See http://martinaspeli.net/plone-book

___
Zope-Dev maillist  -  Zope-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 https://mail.zope.org/mailman/listinfo/zope-announce
 https://mail.zope.org/mailman/listinfo/zope )


Re: [Zope-dev] shrinking the ZTK: what happened (my perspective)

2010-01-03 Thread Martin Aspeli
Martijn Faassen wrote:
 Hi there,

 This is a summary of the previous discussions for those who weren't
 paying attention last week and don't want to read a huge thread coming
 back from vacations. I'm talking about you in particular, other steering
 group members. I'll spread it out over multiple short mails.

 So what happened?

 Hanno reduced the ZTK to a set of just zope.* packages. He removed the
 zope.app packages from the ZTK.

 I was happy with losing zope.app, but not the way the zope.app packages
 were just unceremoniously removed from the ZTK without discussion. I
 didn't like the way that was done, so I reverted Hanno's change and
 added the packages back to the ZTK trunk.

 I objected because of backwards compatibility concerns. Version
 information was being lost that was being maintained before. This
 information would be useful in both upgrading Zope 3 and Grok
 applications to the ZTK. (and I thought Zope 2 too at the time, but it
 is less of an issue there)

 People responded in various ways:

 * the ZTK isn't released yet and a discontinuity so there are no
 backwards compatibility concerns we need to care about.

 * people maintaining Zope 3 or Grok applications, or the developers of
 these frameworks, should figure this out for themselves.

 I responded that if the ZTK wants users it should help people cross the
 gap to it. That the ZTK has some responsibility to the transition from
 the past. Nobody seemed to feel that these arguments weighed very heavily.

 Since I'm writing this summary, I'm of course still right. :)

 Let me put that in other words: I believe have a legitimate concern that
 we could have solved pretty easily if we all weren't too busy trying to
 make points and being disgruntled.

+1 - I think concerns for backwards compatibility need to go beyond 
purely academic questions of what was released with what explicit or 
implicit promises, and consider what code is actually used in the wild. 
A lot of people are using zope.app.* (in Plone for one). A lot of people 
need good KGS' to do *anything* and can't resolve their own dependency 
conflicts easily. A lot of people look to ZTK as the way forward for a 
sane, stable set of Zope packages to depend on. Those three groups of 
people overlap quite significantly. Maybe we never made them any strong 
promises, but that doesn't mean we shouldn't try to make their lives easier.

Martin

-- 
Author of `Professional Plone Development`, a book for developers who
want to work with Plone. See http://martinaspeli.net/plone-book

___
Zope-Dev maillist  -  Zope-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 https://mail.zope.org/mailman/listinfo/zope-announce
 https://mail.zope.org/mailman/listinfo/zope )


Re: [Zope-dev] how to help Martijn (how can we have better discussions?)

2010-01-03 Thread Martin Aspeli
Martijn Faassen wrote:

 What lowered the quality of this discussion? I think it is because
 various people became quite upset and annoyed. That's because I reverted
 Hanno's changes to the ZTK trunk. I shouldn't have done that just like
 that, but I needed the subsequent discussion to come up with a better
 solution.

I think you and Hanno were probably both equally wrong. :-)

  - Hanno's work probably should've been in a branch with a post here 
asking to merge it

  - You probably shouldn't have reverted his work so quickly. Few things 
irk developers like having their work (or others' work they care about) 
reverted.

 In the turmoil, my attempts to formulate a solution that would satisfy
 everybody's concerns fairly well seemed to have been overlooked a little
 bit. Instead we focused a lot of time on discussing bits we ironically
 enough actually more or less agreed about, such as the role of the ZTK.
 Nobody seemed to quite notice that I'm in fact in favor of a smaller
 ZTK, even though I said so repeatedly.

 That's because I'm *also* in favor of maintaining the zopeapp bits a
 while longer and not just throwing those away. I want an exit strategy
 for those bits. A transition strategy. That is a legitimate topic for
 this mailing list at the very least.

+1

 Instead, we had endless debates about whether it was a legitimate
 concern for the ZTK maintainers. I'm of course still right that it is.
 I have wonderful and coherent reasons to support my position just like
 everybody else does who disagrees with me. It's not really very
 important anyway. We're here together on this list to work together
 beyond the ZTK itself.

I think one problem is that we speak about abstract groups of people, 
the ZTK maintainers, or the Zope 3 maintainers and now The ZopeApp 
maintainers. These groups don't really exist in any cultural sense. 
They don't have an identity in the same way that, say, the Plone 
maintainers or the Grok maintainers (and possibly, the Zope 2 
maintainers) do. It's hard for any one group to make their voice heard 
when no-one knows if they're part of that group or not. :)

I think in general, it's more useful to talk about the Zope community 
until such time that these groups actually self-organise, if indeed they 
ever do.

 So how can we have better discussions?

 We can have better discussions by helping me.

 How can you help me? Of course it helps if you agree with me. I realize
 that's frequently infeasible, but I certainly wouldn't mind. :)

:-p

 If you disagree with me, I'd like you to try to understand my concerns
 as much as you possibly can. In addition, try acknowledge my concerns as
 much as you possibly can without feeling you're lying. This works beter
 than just rejecting them.

I think this goes for anyone, not just for you.

 How else can you help me?

 You can propose realistic solutions for how we as a community can take
 care of these concerns that I have. And still fulfill your concerns at
 the same time. Such solutions were entirely possible in this discussion.

 Constructive debating is an art I'm still learning, but I had the
 feeling people enjoyed the rest of the debate too much to be very
 constructive this time...

 Of course the way you'd help me is the way anybody would be helped in a
 discussion, as the discussion becomes more constructive.

 Again, I know as much to blame as anyone else. I helped spark it due to
 my revert and my continued insistence that I am right. The revert
 shouldn't have happened. But I didn't know that at the time as I hadn't
 had time to think yet either.

I think there's another lesson here: reverts are the open source 
equivalent of swearing at someone. It may seem like a good idea at the 
time, but it is basically saying your work is not wanted here. It 
offends at an emotional level and means the discussion easily stops 
being factual. It's a lot better to ask the developer to do the revert 
himself, if needed. At least then he has a chance to make the point.

 So how else can you help me? Give me some space to think. I believe my
 concerns could have been easily taken care of if we'd stopped and talked
 for a little bit *before* drastic changes were checked in. So, you can
 help me by discussing things that you know are drastic changes before
 you do them.

I think we normally have a policy of making invasive changes on a branch 
and then posting here with a proposal to merge it. That's not a bad 
thing. We need to acknowledge that most of the work that happens in Zope 
land these days is about building a shared infrastructure for a few more 
user-facing projects: Grok, BFG, Zope 2, Plone, and possibly full-stack 
Zope 3. That means that there are a lot of stakeholders who have quite 
a big stake in some of our changes. We can't just unilaterally make changes.

On the other hand, I think we almost always agree on what needs to be 
done, and I think we almost always come to constructive and useful 
conclusions. It can just 

Re: [Zope-dev] shrinking the ZTK: a proposed solution

2010-01-03 Thread Martin Aspeli
Hi,

 So here's my proposed solution for the ZTK shrinking issue:

 The ZTK branch 'faassen-smaller' contains Hanno's smaller ZTK. Since
 Zope 2 forked the ZTK in response and continued to make changes to their
 fork, I've tried to keep it in sync with the Zope 2 fork.

 I've created a new 'zopeapp' package that expands the ZTK with zope.app.
 packages in my sandbox. This extracts that information from the ZTK.

 Hopefully after we get some feedback from other steering group members
 (very silent indeed in the holiday period when all this happened) we can
 make these two projects the official one: a ZTK project and a zopeapp
 project.

+1

I think we do need to start being a bit more explicit about who these 
people are, though, or (I think more reasonably, at least in the short 
term) acknowledge that really there's one community: the Zope one; and 
various *audiences*. Documenting that somewhere (and possibly letting 
people indicate their interest in one or more audiences and one or more 
sub-projects, like ZTK vs. ZopeApp) would at least help us make sure 
that we had all points of view represented.

 A few things I ask the ZTK maintainers:

 I ask the ZTK maintainers to have the same concern for the zope.app
 packages as for any other user of the ZTK: work to support zopeapp's
 compatibility with the ZTK. If the zopeapp maintainers have issues,
 listen to them seriously. I think everybody can agree that this is
 within the ZTK mandate for the time being, as zopeapp clearly exists and
 is being used by a significant amount of people. (I'd like to work to
 retire it by making it used by far less people)

 I also strongly encourage the ZTK maintainers to consider the situation
 of backwards compatibility seriously. Help people transition from their
 code now to the ZTK. Helping everybody migrate to the ZTK smoothly
 increases the value of the ZTK itself. Obviously I cannot *force* ZTK
 maintainers to worry about this. Instead I'm appealing to your
 self-interest. And of course the transition burden is shared and should
 not fall solely or even predominantly on the ZTK maintainers.

 I also think we as ZTK maintainers should better consider the concerns
 of other users of the ZTK. In this case, Zope 2 had less of a concern
 for zope.app than Grok or Zope 3. I didn't even understand this until
 the debate was further along. The concerns of others should be
 considered as well instead of simply rejected. We usually can find ways
 to balance the concerns of everybody. To that end concerns (or lack
 thereof) should be clearly communicated and be listened to.

+1 to all of that.

Martin

-- 
Author of `Professional Plone Development`, a book for developers who
want to work with Plone. See http://martinaspeli.net/plone-book

___
Zope-Dev maillist  -  Zope-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 https://mail.zope.org/mailman/listinfo/zope-announce
 https://mail.zope.org/mailman/listinfo/zope )


Re: [Zope-dev] [Announce] BlueBream: Script to setup a Zope project directory

2010-01-03 Thread Baiju M
Hi Alex,
   Thanks for the feedback.  I will look into the bugs you pointed out.

On Mon, Jan 4, 2010 at 12:38 AM, Alex Clark acl...@aclark.net wrote:
[snip]
 Another obvious question (sorry ;-), why not just contribute to ZopeSkel 
 (which is currently
 in need of some active contributors, IIRC)?

I felt ZopeSkel scope is very large.  ZopeSkel is a great project for its users.

BlueBream is Prepare the way for born-again Zope 3.

BlueBream could be a getting started story for Born-again Zope 3.
If desired, it could adopt the project name as BlueBream itself.

Regards,
Baiju M
___
Zope-Dev maillist  -  Zope-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 https://mail.zope.org/mailman/listinfo/zope-announce
 https://mail.zope.org/mailman/listinfo/zope )


Re: [Zope-dev] [Announce] BlueBream: Script to setup a Zope project directory

2010-01-03 Thread Baiju M
On Mon, Jan 4, 2010 at 12:38 AM, Alex Clark acl...@aclark.net wrote:
 Also, there are a few installation issues (fixed by running `mkdir -p` by 
 hand):
    http://pastie.org/765137
    http://pastie.org/765140

On a closer look, this error puzzling me.  The var and its sub-folders are
already existing in the source.  But when I run setuptools sdist command,
its missing from the tar ball. I have these two options in my setup.py:

packages=find_packages(src),
include_package_data=True,

Regards,
Baiju M
___
Zope-Dev maillist  -  Zope-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 https://mail.zope.org/mailman/listinfo/zope-announce
 https://mail.zope.org/mailman/listinfo/zope )