Login | Register For Free | Help
Search for: (Advanced)

Mailing List Archive: Zope: Dev

Zope internals documentation

 

 

Zope dev RSS feed   Index | Next | Previous | View Threaded


optilude+lists at gmail

Dec 31, 2011, 11:09 AM

Post #1 of 12 (563 views)
Permalink
Zope internals documentation

Hi folks,

I have documented some of the darker corners of Zope's internals. I
put it in the Plone developer documentation for lack of a better
place, but it's not Plone-specific:

http://collective-docs.readthedocs.org/en/latest/zope_secrets/index.html

Topics covered include startup, publication, traversal and security.

One reason to do this, apart from morbid fascination, is to provide a
baseline against which we can consider simplifying some of this stuff.

For example, I'd like to consider an (opt-in) simplification of the
publisher and traversal, probably based on a stripped-down and
modernised repoze.zope2, which does away with some hooks and edge
cases, but is much simpler and easier to understand. Some things we
could consider chopping are:

- Attribute traversal to anything other than methods at the end of
the traversal chain (i.e. use __getitem__ traversal only)
- Traversal to anything without explicit security declarations
- The docstring security check
- Maybe __bobo_traverse__ (i.e. just implement __getitem__) and
__before_publishing_traverse__ (use a BeforeTraverseEvent instead, and
notify this for all traversals, not just over local component sites)
- All differences between publication and path traversal

This is still somewhat half-baked and obviously would break things and
require at least a new major version of Zope, but I think it's worth
exploring at least.

Martin
_______________________________________________
Zope-Dev maillist - Zope-Dev [at] zope
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 )


regebro at gmail

Dec 31, 2011, 4:07 PM

Post #2 of 12 (517 views)
Permalink
Re: Zope internals documentation [In reply to]

On Sat, Dec 31, 2011 at 20:09, Martin Aspeli <optilude+lists [at] gmail> wrote:
> Hi folks,
>
> I have documented some of the darker corners of Zope's internals. I
> put it in the Plone developer documentation for lack of a better
> place, but it's not Plone-specific:
>
> http://collective-docs.readthedocs.org/en/latest/zope_secrets/index.html
>
> Topics covered include startup, publication, traversal and security.
>
> One reason to do this, apart from morbid fascination, is to provide a
> baseline against which we can consider simplifying some of this stuff.
>
> For example, I'd like to consider an (opt-in) simplification of the
> publisher and traversal, probably based on a stripped-down and
> modernised repoze.zope2, which does away with some hooks and edge
> cases, but is much simpler and easier to understand. Some things we
> could consider chopping are:
>
>  - Attribute traversal to anything other than methods at the end of
> the traversal chain (i.e. use __getitem__ traversal only)
>  - Traversal to anything without explicit security declarations
>  - The docstring security check
>  - Maybe __bobo_traverse__ (i.e. just implement __getitem__) and
> __before_publishing_traverse__ (use a BeforeTraverseEvent instead, and
> notify this for all traversals, not just over local component sites)
>  - All differences between publication and path traversal
>
> This is still somewhat half-baked and obviously would break things and
> require at least a new major version of Zope, but I think it's worth
> exploring at least.

+1 for all of those, as a part of the so called "Zope 4" path of developments.
_______________________________________________
Zope-Dev maillist - Zope-Dev [at] zope
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 )


jens at dataflake

Jan 1, 2012, 1:44 AM

Post #3 of 12 (513 views)
Permalink
Re: Zope internals documentation [In reply to]

On Dec 31, 2011, at 20:09 , Martin Aspeli wrote:

> Hi folks,
>
> I have documented some of the darker corners of Zope's internals. I
> put it in the Plone developer documentation for lack of a better
> place, but it's not Plone-specific:
>
> http://collective-docs.readthedocs.org/en/latest/zope_secrets/index.html

Hi Martin,

There *is* a better place, docs.zope.org. If you can tell me where the sources are I can put it there.

jens



_______________________________________________
Zope-Dev maillist - Zope-Dev [at] zope
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 )


optilude+lists at gmail

Jan 1, 2012, 2:09 AM

Post #4 of 12 (515 views)
Permalink
Re: Zope internals documentation [In reply to]

On 1 January 2012 09:44, Jens Vagelpohl <jens [at] dataflake> wrote:
>
> On Dec 31, 2011, at 20:09 , Martin Aspeli wrote:
>
>> Hi folks,
>>
>> I have documented some of the darker corners of Zope's internals. I
>> put it in the Plone developer documentation for lack of a better
>> place, but it's not Plone-specific:
>>
>> http://collective-docs.readthedocs.org/en/latest/zope_secrets/index.html
>
> Hi Martin,
>
> There *is* a better place, docs.zope.org. If you can tell me where the sources are I can put it there.

Sure: Clone https://github.com/collective/collective.developermanual/
and get it from source/zope_secrets.

Where is docs.zope.org maintained?

Martin
_______________________________________________
Zope-Dev maillist - Zope-Dev [at] zope
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 )


jens at dataflake

Jan 1, 2012, 2:43 AM

Post #5 of 12 (513 views)
Permalink
Re: Zope internals documentation [In reply to]

Hi Martin,

>> There *is* a better place, docs.zope.org. If you can tell me where the sources are I can put it there.
>
> Sure: Clone https://github.com/collective/collective.developermanual/
> and get it from source/zope_secrets.

Thanks, I'll take a look at it today.


> Where is docs.zope.org maintained?

On one of the ZF servers.

jens


_______________________________________________
Zope-Dev maillist - Zope-Dev [at] zope
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 )


optilude+lists at gmail

Jan 1, 2012, 2:46 AM

Post #6 of 12 (513 views)
Permalink
Re: Zope internals documentation [In reply to]

On 1 January 2012 10:43, Jens Vagelpohl <jens [at] dataflake> wrote:
> Hi Martin,
>
>>> There *is* a better place, docs.zope.org. If you can tell me where the sources are I can put it there.
>>
>> Sure: Clone https://github.com/collective/collective.developermanual/
>> and get it from source/zope_secrets.
>
> Thanks, I'll take a look at it today.
>
>
>> Where is docs.zope.org maintained?
>
> On one of the ZF servers.

If it's going to go there, I'd like it to (a) be in version control
and (b) be somewhere that I can edit it. Is that doable?

Martin
_______________________________________________
Zope-Dev maillist - Zope-Dev [at] zope
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 )


lists at zopyx

Jan 1, 2012, 2:51 AM

Post #7 of 12 (514 views)
Permalink
Re: Zope internals documentation [In reply to]

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1



Martin Aspeli wrote:
> On 1 January 2012 10:43, Jens Vagelpohl <jens [at] dataflake> wrote:
>> Hi Martin,
>>
>>>> There *is* a better place, docs.zope.org. If you can tell me
>>>> where the sources are I can put it there.
>>> Sure: Clone
>>> https://github.com/collective/collective.developermanual/ and get
>>> it from source/zope_secrets.
>> Thanks, I'll take a look at it today.
>>
>>
>>> Where is docs.zope.org maintained?
>> On one of the ZF servers.
>
> If it's going to go there, I'd like it to (a) be in version control
> and (b) be somewhere that I can edit it. Is that doable?

Wouldn't it make sense to integrate your docs with The Zope Book.
It's maintained using Sphinx and the sources are on svn.zope.org
(somewhere).

Andreas
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQGUBAEBAgAGBQJPADrDAAoJEADcfz7u4AZjXNMLvRntVZ8H7GofIzyW5tZbCyEN
YPHeeF+Ci0GWdSQbNzszDngiiNlfWdm9I+urf9yqzF5bJ9ZKdVZGr+gMYGC8kOnL
/7W/MrH3kxdY2uAaPAhRyz1KT0VIAOGV0T3/bJ8KslBsFG01a0frAwkHxSFGUhiN
XmXdQ59fu571F84YuEgSSNfeG1wHYf/+cs0PNgz4RqOJVoq0bdAMm2aHP/PJDTnb
PBSJXk61gsF2UgVIwPTk+N1feG2RPx+dR8SJl8TGQDMPyuZJ+VHuoSczixWwfTd1
z8NUkefjDzOSMif87wsHTQQo6Fl6o+wcX9RO9Gryw0UNr7rzd65nvtj5Zi+pxoLw
3eOKegX3dlMwA/KoIs+vEv4ygzRK7mYAutZI0RxhAMf8zizKvqrDIFzxfjneprvZ
HdkKmcuZFqnk5aQWDWC6vz8M3+smLMMA/NvZa+UWcfWI5c5ntorJxFV/zt/LHYyo
VnS2e0/dDRpZlX51MCPKENSLuLAd7aQ=
=i3FK
-----END PGP SIGNATURE-----
Attachments: lists.vcf (0.30 KB)


optilude+lists at gmail

Jan 1, 2012, 2:58 AM

Post #8 of 12 (514 views)
Permalink
Re: Zope internals documentation [In reply to]

On 1 January 2012 10:51, Andreas Jung <lists [at] zopyx> wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
>
>
> Martin Aspeli wrote:
>> On 1 January 2012 10:43, Jens Vagelpohl <jens [at] dataflake> wrote:
>>> Hi Martin,
>>>
>>>>> There *is* a better place, docs.zope.org. If you can tell me
>>>>> where the sources are I can put it there.
>>>> Sure: Clone
>>>> https://github.com/collective/collective.developermanual/ and get
>>>> it from source/zope_secrets.
>>> Thanks, I'll take a look at it today.
>>>
>>>
>>>> Where is docs.zope.org maintained?
>>> On one of the ZF servers.
>>
>> If it's going to go there, I'd like it to (a) be in version control
>> and (b) be somewhere that I can edit it. Is that doable?
>
> Wouldn't it make sense to integrate your docs with The Zope Book.
> It's maintained using Sphinx and the sources are on svn.zope.org
> (somewhere).

This is really low level documentation. The Zope Book is for people
using Zope. This is for people who may need to maintain or deep-debug
it.

I'm happy for it to be integrated if people think it makes sense, but
I think it may be quite off-putting to read what is in many places
block-by-block explanations of what the code does.

Martin
_______________________________________________
Zope-Dev maillist - Zope-Dev [at] zope
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 )


jens at dataflake

Jan 1, 2012, 3:00 AM

Post #9 of 12 (517 views)
Permalink
Re: Zope internals documentation [In reply to]

On Jan 1, 2012, at 11:46 , Martin Aspeli wrote:
>>> Where is docs.zope.org maintained?
>>
>> On one of the ZF servers.
>
> If it's going to go there, I'd like it to (a) be in version control
> and (b) be somewhere that I can edit it. Is that doable?

That's how we do it with almost everything underneath the docs.zope.org hostname. The sources are on svn.zope.org are are pulled/built regularly. Where the source comes from doesn't really matter. The only requirement is that it should be a scriptable buildout process, like a buildout/Sphinx setup.

jens


_______________________________________________
Zope-Dev maillist - Zope-Dev [at] zope
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 )


optilude+lists at gmail

Jan 1, 2012, 3:00 AM

Post #10 of 12 (515 views)
Permalink
Re: Zope internals documentation [In reply to]

On 1 January 2012 11:00, Jens Vagelpohl <jens [at] dataflake> wrote:
>
> On Jan 1, 2012, at 11:46 , Martin Aspeli wrote:
>>>> Where is docs.zope.org maintained?
>>>
>>> On one of the ZF servers.
>>
>> If it's going to go there, I'd like it to (a) be in version control
>> and (b) be somewhere that I can edit it. Is that doable?
>
> That's how we do it with almost everything underneath the docs.zope.org hostname. The sources are on svn.zope.org are are pulled/built regularly. Where the source comes from doesn't really matter. The only requirement is that it should be a scriptable buildout process, like a buildout/Sphinx setup.

Sphinx on svn.zope.org works for me. :)

Martin
_______________________________________________
Zope-Dev maillist - Zope-Dev [at] zope
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 )


jens at dataflake

Jan 2, 2012, 4:33 AM

Post #11 of 12 (503 views)
Permalink
Re: Zope internals documentation [In reply to]

Hi Martin,

> Sphinx on svn.zope.org works for me. :)

I have created a simple buildout and put it in SVN:

http://svn.zope.org/zope_secrets/

The output is shown at http://docs.zope.org/zope_secrets/ and linked from the front page at http://docs.zope.org/. Every 6 hours, a cron job looks to see if the SVN revision has changed and if it has then the output is regenerated.

jens



_______________________________________________
Zope-Dev maillist - Zope-Dev [at] zope
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 )


optilude+lists at gmail

Jan 2, 2012, 9:48 AM

Post #12 of 12 (498 views)
Permalink
Re: Zope internals documentation [In reply to]

On 2 January 2012 12:33, Jens Vagelpohl <jens [at] dataflake> wrote:
> Hi Martin,
>
>> Sphinx on svn.zope.org works for me. :)
>
> I have created a simple buildout and put it in SVN:
>
> http://svn.zope.org/zope_secrets/
>
> The output is shown at http://docs.zope.org/zope_secrets/ and linked from the front page at http://docs.zope.org/. Every 6 hours, a cron job looks to see if the SVN revision has changed and if it has then the output is regenerated.

Thanks!

Martin
_______________________________________________
Zope-Dev maillist - Zope-Dev [at] zope
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 RSS feed   Index | Next | Previous | View Threaded
 
 


Interested in having your list archived? Contact Gossamer Threads
 
  Web Applications & Managed Hosting Powered by Gossamer Threads Inc.