[Zope-Annce] Silva 1.6 Final Released

2007-03-27 Thread eric casteleijn

27 march 2007 – Infrae has released version 1.6 of the Silva content
management system. This release brings a range of improvements and
several key new features, such as automatic PDF and Word file fulltext
indexing, Atom/RSS feeds from containers, ‘classic’ list-based menu
rendering, and additions to the documentation. Performance has been
significantly improved by changing how containers are published and
optimizing calls to the metadata service.


Silva Find

The Silva Find extension has been renovated to take advantage of the PDF
and Word file fulltext cataloging. It now supports search by all
metadata fields, including those in your custom sets. The search and
result views can be extensively customized. Silva Find is included in
the silva-extra tarball.


Major changes in Silva 1.6

* The published state of containers is now determined by the state of
the index document, as opposed to nested content, resulting in a
significant performance gain.
* Index items are now distinguished from simple anchors, and the Indexer
content type has been improved. Old index items will be gracefully upgraded.
* The page language can now be based on the metadata setting. This also
opens up many possibilities for multi-language sites.
* Silva now uses ZCML for registration of Silva extensions and the
content types they define. See doc/developer_changes.txt. Developers
should read doc/extension.txt.
* Many i18n changes:
 o New languages
 o i18n fixes
* Lots of bugfixes and subtle improvements.
* This is one of the best tested final releases in Silva’s history.

Many thanks to all who contributed.

See HISTORY.txt in the Silva core package for more information about
changes in Silva 1.6. For developer-level changes, see
doc/developer_changes. Also see the changes in components such as Silva
Metadata, External Sources, etc.


What is Silva?

Silva is an enterprise-class CMS designed for large organizations that
manage multiple or complex websites. Content is stored in clean and
future-proof XML, independent of layout and presentation. Features
include a multi-version workflow system, XSLT rendering support, content
reuse in multiple publications, sophisticated access management,
extensive import/export facilities, fine-grained templating, and hi-res
image storage and manipulation. Silva and its extensions are open source
software.

For more complete information, see the Silva Product Pages at
http://www.infrae.com/products/silva.


Download

The package can be downloaded from http://www.infrae.com/download/Silva.

Links to developer mailing lists, the issue tracker, and info about SVN
access can be found on the Silva product page.


Contact

FMI contact Eric Casteleijn, eric at infrae com, +31 10 243 7051.

--
- eric casteleijn
http://infrae.com

___
Zope-Announce maillist  -  Zope-Announce@zope.org
http://mail.zope.org/mailman/listinfo/zope-announce

 Zope-Announce for Announcements only - no discussions

(Related lists - 
Users: http://mail.zope.org/mailman/listinfo/zope

Developers: http://mail.zope.org/mailman/listinfo/zope-dev )


[Zope-Checkins] SVN: Zope/branches/2.9/doc/CHANGES.txt Hmm, this never made it in. No matter, just set the SVN record straigt for future releases

2007-03-27 Thread Martijn Pieters
Log message for revision 73720:
  Hmm, this never made it in. No matter, just set the SVN record straigt for 
future releases

Changed:
  U   Zope/branches/2.9/doc/CHANGES.txt

-=-
Modified: Zope/branches/2.9/doc/CHANGES.txt
===
--- Zope/branches/2.9/doc/CHANGES.txt   2007-03-27 12:32:02 UTC (rev 73719)
+++ Zope/branches/2.9/doc/CHANGES.txt   2007-03-27 12:38:13 UTC (rev 73720)
@@ -8,6 +8,10 @@
 
Bugs fixed
 
+  - Protected various security mutators with a new postonly decorator.
+The decorator limits method publishing to POST requests only, and
+is a backport from Zope 2.11's requestmethod decorator factory.
+
   - Collector #2298: webdav.Resource.COPY and webdav.Resource.MOVE did
 not send the expected copy/move events.
 

___
Zope-Checkins maillist  -  Zope-Checkins@zope.org
http://mail.zope.org/mailman/listinfo/zope-checkins


[Zope-Checkins] SVN: Zope/branches/2.9/ Collector #2300: delimit *all* headers with CRLF; accumulated_headers and appendHeader use \n for delimeters and never get corrected on output

2007-03-27 Thread Martijn Pieters
Log message for revision 73721:
  Collector #2300: delimit *all* headers with CRLF; accumulated_headers and 
appendHeader use \n for delimeters and never get corrected on output

Changed:
  U   Zope/branches/2.9/doc/CHANGES.txt
  U   Zope/branches/2.9/lib/python/ZServer/HTTPResponse.py
  U   Zope/branches/2.9/lib/python/ZServer/tests/test_responses.py

-=-
Modified: Zope/branches/2.9/doc/CHANGES.txt
===
--- Zope/branches/2.9/doc/CHANGES.txt   2007-03-27 12:38:13 UTC (rev 73720)
+++ Zope/branches/2.9/doc/CHANGES.txt   2007-03-27 12:43:31 UTC (rev 73721)
@@ -4,6 +4,12 @@
   Change information for previous versions of Zope can be found in the
   file HISTORY.txt.
 
+  Zope 2.9.8 (unreleased)
+
+   Bugs fixed
+  
+  - Collector #2300: delimit *all* HTTP Response headers with CRLF.
+
   Zope 2.9.7 (2007/03/25)
 
Bugs fixed

Modified: Zope/branches/2.9/lib/python/ZServer/HTTPResponse.py
===
--- Zope/branches/2.9/lib/python/ZServer/HTTPResponse.py2007-03-27 
12:38:13 UTC (rev 73720)
+++ Zope/branches/2.9/lib/python/ZServer/HTTPResponse.py2007-03-27 
12:43:31 UTC (rev 73721)
@@ -114,8 +114,15 @@
 self._chunking=1
 else:
 self.setHeader('Connection','close')
+
+headers = headers.items()
+for line in self.accumulated_headers.splitlines():
+if line[0] == '\t':
+headers[-1][1] += '\n' + line
+continue
+headers.append(line.split(': ', 1))
 
-for key, val in headers.items():
+for key, val in headers:
 if key.lower()==key:
 # only change non-literal header names
 key=%s%s % (key[:1].upper(), key[1:])
@@ -125,10 +132,13 @@
 key=%s-%s%s % (key[:l],key[l+1:l+2].upper(),key[l+2:])
 start=l+1
 l=key.find('-',start)
+val = val.replace('\n\t', '\r\n\t')
 append(%s: %s % (key, val))
 if self.cookies:
-headersl=headersl+self._cookie_list()
-headersl[len(headersl):]=[self.accumulated_headers, body]
+headersl.extend(self._cookie_list())
+
+append('')
+append(body)
 return \r\n.join(headersl)
 
 _tempfile=None
@@ -151,6 +161,7 @@
 
 
 
+
 if type(data) != type(''):
 raise TypeError('Value must be a string')
 

Modified: Zope/branches/2.9/lib/python/ZServer/tests/test_responses.py
===
--- Zope/branches/2.9/lib/python/ZServer/tests/test_responses.py
2007-03-27 12:38:13 UTC (rev 73720)
+++ Zope/branches/2.9/lib/python/ZServer/tests/test_responses.py
2007-03-27 12:43:31 UTC (rev 73721)
@@ -56,7 +56,7 @@
 one = ZServerHTTPResponse(stdout=DummyChannel())
 self.assertRaises(AssertionError,
   one.setBody, test_streamiterator())
-
+
 class DummyChannel:
 def __init__(self):
 self.out = StringIO()
@@ -92,8 +92,46 @@
 return self.data
 raise StopIteration
 
+class ZServerHTTPResponseTestCase(unittest.TestCase):
+Test ZServer HTTPResponse object
+
+def _makeOne(self):
+return ZServerHTTPResponse()
+
+def testToString(self):
+response = self._makeOne()
+response.headers = {
+'content-type': 'text/plain',
+'all-lower-case': 'foo',
+'Title-Cased': 'bar',
+'mixed-CasED': 'spam',
+'multilined': 'eggs\n\tham'}
+response.accumulated_headers = 'foo-bar: bar\n\tbaz\nFoo-bar: monty\n'
+response.cookies = dict(foo=dict(value='bar'))
+response.body = 'A body\nwith multiple lines\n'
+
+result = str(response)
+headers, body = result.rsplit('\r\n\r\n')
+
+self.assertEqual(body, response.body)
+
+self.assertTrue(headers.startswith('HTTP/1.0 200 OK\r\n'))
+
+# 15 header lines all delimited by \r\n
+self.assertEqual(
+['\n' in line for line in headers.split('\r\n')],
+15 * [False])
+
+self.assertTrue('Multilined: eggs\r\n\tham\r\n' in headers)
+self.assertTrue('Foo-Bar: bar\r\n\tbaz\r\n' in headers)
+
 def test_suite():
-return unittest.makeSuite(ZServerResponseTestCase)
+suite = unittest.TestSuite()
+suite.addTests((
+unittest.makeSuite(ZServerResponseTestCase),
+unittest.makeSuite(ZServerHTTPResponseTestCase)
+))
+return suite
 
 if __name__ == __main__:
 unittest.main(defaultTest=test_suite)

___
Zope-Checkins maillist  -  Zope-Checkins@zope.org
http://mail.zope.org/mailman/listinfo/zope-checkins


[Zope-Checkins] SVN: Zope/trunk/ Mark ZCatalog catalog brains with an interface

2007-03-27 Thread Martijn Pieters
Log message for revision 73762:
  Mark ZCatalog catalog brains with an interface

Changed:
  U   Zope/trunk/doc/CHANGES.txt
  U   Zope/trunk/lib/python/Products/ZCatalog/CatalogBrains.py
  U   Zope/trunk/lib/python/Products/ZCatalog/interfaces.py

-=-
Modified: Zope/trunk/doc/CHANGES.txt
===
--- Zope/trunk/doc/CHANGES.txt  2007-03-27 14:34:19 UTC (rev 73761)
+++ Zope/trunk/doc/CHANGES.txt  2007-03-27 14:36:38 UTC (rev 73762)
@@ -51,6 +51,9 @@
 
 Features added
 
+  - ZCatalog result objects (catalog brains) now have an interface,
+ZCatalog.interfaces.ICatalogBrain.
+
   - A new module, AccessControl.requestmethod, provides a decorator
 factory that limits decorated methods to one request method only.
 For example, marking a method with @requestmethod('POST') limits

Modified: Zope/trunk/lib/python/Products/ZCatalog/CatalogBrains.py
===
--- Zope/trunk/lib/python/Products/ZCatalog/CatalogBrains.py2007-03-27 
14:34:19 UTC (rev 73761)
+++ Zope/trunk/lib/python/Products/ZCatalog/CatalogBrains.py2007-03-27 
14:36:38 UTC (rev 73762)
@@ -13,9 +13,13 @@
 
 __version__ = $Revision$[11:-2]
 
+from zope.interface import implements
+
 import Acquisition, Record
 from ZODB.POSException import ConflictError
 
+from interfaces import ICatalogBrain
+
 # Switch for new behavior, raise exception instead of returning None.
 # Use 'catalog-getObject-raises off' in zope.conf to restore old behavior.
 GETOBJECT_RAISES = True
@@ -25,6 +29,8 @@
 required, and provides just enough smarts to let us get the URL, path,
 and cataloged object without having to ask the catalog directly.
 
+implements(ICatalogBrain)
+
 def has_key(self, key):
 return self.__record_schema__.has_key(key)
 

Modified: Zope/trunk/lib/python/Products/ZCatalog/interfaces.py
===
--- Zope/trunk/lib/python/Products/ZCatalog/interfaces.py   2007-03-27 
14:34:19 UTC (rev 73761)
+++ Zope/trunk/lib/python/Products/ZCatalog/interfaces.py   2007-03-27 
14:36:38 UTC (rev 73762)
@@ -246,3 +246,37 @@
 pghandler -- optional Progresshandler as defined in ProgressHandler.py
 (see also README.txt)
 
+
+# XXX This should inherit from an IRecord interface, if there ever is one.
+class ICatalogBrain(Interface):
+Catalog brain that handles looking up attributes as
+required, and provides just enough smarts to let us get the URL, path,
+and cataloged object without having to ask the catalog directly.
+
+def has_key(key):
+Record has this field
+
+def getPath():
+Get the physical path for this record
+
+def getURL(relative=0):
+Generate a URL for this record
+
+def _unrestrictedGetObject():
+Return the object for this record
+
+Same as getObject, but does not do security checks.
+
+
+def getObject():
+Return the object for this record
+
+Will return None if the object cannot be found via its cataloged path
+(i.e., it was deleted or moved without recataloging), or if the user is
+not authorized to access the object.
+
+
+
+def getRID():
+Return the record ID for this object.
+

___
Zope-Checkins maillist  -  Zope-Checkins@zope.org
http://mail.zope.org/mailman/listinfo/zope-checkins


[Zope-Checkins] SVN: Zope/trunk/lib/python/Products/Five/browser/ Fix Collector #2264: browser:view should set __name__

2007-03-27 Thread Martijn Pieters
Log message for revision 73766:
  Fix Collector #2264: browser:view should set __name__

Changed:
  U   Zope/trunk/lib/python/Products/Five/browser/metaconfigure.py
  U   Zope/trunk/lib/python/Products/Five/browser/tests/pages.txt
  U   Zope/trunk/lib/python/Products/Five/browser/tests/pages.zcml

-=-
Modified: Zope/trunk/lib/python/Products/Five/browser/metaconfigure.py
===
--- Zope/trunk/lib/python/Products/Five/browser/metaconfigure.py
2007-03-27 14:57:27 UTC (rev 73765)
+++ Zope/trunk/lib/python/Products/Five/browser/metaconfigure.py
2007-03-27 14:57:27 UTC (rev 73766)
@@ -251,6 +251,7 @@
 except:
 cname = GeneratedClass
 
+cdict['__name__'] = name
 newclass = makeClass(cname, bases, cdict)
 
 _handle_for(_context, for_)

Modified: Zope/trunk/lib/python/Products/Five/browser/tests/pages.txt
===
--- Zope/trunk/lib/python/Products/Five/browser/tests/pages.txt 2007-03-27 
14:57:27 UTC (rev 73765)
+++ Zope/trunk/lib/python/Products/Five/browser/tests/pages.txt 2007-03-27 
14:57:27 UTC (rev 73766)
@@ -85,8 +85,18 @@
 
self.folder.unrestrictedTraverse('testoid/@@new_style_class2')
   Products.Five.metaclass.NewStyleClass ...
+  
+Both browser:view and browser:page are ILocation providers, so make sure they
+have a __name__ attribute:
 
+   page = self.folder.unrestrictedTraverse('testoid/eagle.txt')
+   page.__name__
+  u'eagle.txt'
 
+   view = self.folder.unrestrictedTraverse('testoid/named_view')
+   view.__name__
+  u'named_view'
+
 ZPT-based browser pages
 ---
 

Modified: Zope/trunk/lib/python/Products/Five/browser/tests/pages.zcml
===
--- Zope/trunk/lib/python/Products/Five/browser/tests/pages.zcml
2007-03-27 14:57:27 UTC (rev 73765)
+++ Zope/trunk/lib/python/Products/Five/browser/tests/pages.zcml
2007-03-27 14:57:27 UTC (rev 73766)
@@ -218,6 +218,14 @@
   permission=zope2.Public
   /
 
+  !-- A named view --
+  browser:view
+  name=named_view
+  for=Products.Five.tests.testing.simplecontent.ISimpleContent
+  class=.pages.SimpleView
+  permission=zope2.Public
+  /
+  
   !-- XXX this should really be in Five.form.tests --
 
   !-- protected edit form for permission check --

___
Zope-Checkins maillist  -  Zope-Checkins@zope.org
http://mail.zope.org/mailman/listinfo/zope-checkins


[Zope-Checkins] SVN: Products.Five/branches/1.3/browser/ Merge Collector #2264 fix from Zope trunk: browser:view should set __name__

2007-03-27 Thread Martijn Pieters
Log message for revision 73768:
  Merge Collector #2264 fix from Zope trunk: browser:view should set __name__

Changed:
  U   Products.Five/branches/1.3/browser/metaconfigure.py
  U   Products.Five/branches/1.3/browser/tests/pages.txt
  U   Products.Five/branches/1.3/browser/tests/pages.zcml

-=-
Modified: Products.Five/branches/1.3/browser/metaconfigure.py
===
--- Products.Five/branches/1.3/browser/metaconfigure.py 2007-03-27 14:58:44 UTC 
(rev 73767)
+++ Products.Five/branches/1.3/browser/metaconfigure.py 2007-03-27 14:59:16 UTC 
(rev 73768)
@@ -247,6 +247,7 @@
 except:
 cname = GeneratedClass
 
+cdict['__name__'] = name
 newclass = makeClass(cname, bases, cdict)
 
 _handle_for(_context, for_)

Modified: Products.Five/branches/1.3/browser/tests/pages.txt
===
--- Products.Five/branches/1.3/browser/tests/pages.txt  2007-03-27 14:58:44 UTC 
(rev 73767)
+++ Products.Five/branches/1.3/browser/tests/pages.txt  2007-03-27 14:59:16 UTC 
(rev 73768)
@@ -85,8 +85,18 @@
 
self.folder.unrestrictedTraverse('testoid/@@new_style_class2')
   Products.Five.metaclass.NewStyleClass ...
+  
+Both browser:view and browser:page are ILocation providers, so make sure they
+have a __name__ attribute:
 
+   page = self.folder.unrestrictedTraverse('testoid/eagle.txt')
+   page.__name__
+  u'eagle.txt'
 
+   view = self.folder.unrestrictedTraverse('testoid/named_view')
+   view.__name__
+  u'named_view'
+
 ZPT-based browser pages
 ---
 

Modified: Products.Five/branches/1.3/browser/tests/pages.zcml
===
--- Products.Five/branches/1.3/browser/tests/pages.zcml 2007-03-27 14:58:44 UTC 
(rev 73767)
+++ Products.Five/branches/1.3/browser/tests/pages.zcml 2007-03-27 14:59:16 UTC 
(rev 73768)
@@ -218,6 +218,14 @@
   permission=zope2.Public
   /
 
+  !-- A named view --
+  browser:view
+  name=named_view
+  for=Products.Five.tests.testing.simplecontent.ISimpleContent
+  class=.pages.SimpleView
+  permission=zope2.Public
+  /
+  
   !-- XXX this should really be in Five.form.tests --
 
   !-- protected edit form for permission check --

___
Zope-Checkins maillist  -  Zope-Checkins@zope.org
http://mail.zope.org/mailman/listinfo/zope-checkins


[Zope-dev] buildbot failure in Zope branches 2.10 2.4 Linux zc-buildbot

2007-03-27 Thread buildbot
The Buildbot has detected a failed build of Zope branches 2.10 2.4 Linux 
zc-buildbot.

Buildbot URL: http://buildbot.zope.org/

Build Reason: changes
Build Source Stamp: 568
Blamelist: andreasjung,dobe,fdrake,jim,jukart,mj

BUILD FAILED: failed test

sincerely,
 -The Buildbot

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


[Zope-dev] buildbot failure in Zope branches 2.9 2.4 Linux zc-buildbot

2007-03-27 Thread buildbot
The Buildbot has detected a failed build of Zope branches 2.9 2.4 Linux 
zc-buildbot.

Buildbot URL: http://buildbot.zope.org/

Build Reason: changes
Build Source Stamp: 567
Blamelist: dobe,mj

BUILD FAILED: failed test

sincerely,
 -The Buildbot

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


[Zope-dev] buildbot failure in Zope trunk 2.4 Windows 2000 zc-bbwin6

2007-03-27 Thread buildbot
The Buildbot has detected a failed build of Zope trunk 2.4 Windows 2000 
zc-bbwin6.

Buildbot URL: http://buildbot.zope.org/

Build Reason: The web-page 'force build' button was pressed by 'Benji': see if 
slave is back

Build Source Stamp: None
Blamelist: 

BUILD FAILED: failed failed slave lost

sincerely,
 -The Buildbot

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


[Zope-dev] Re: Views on catalog results

2007-03-27 Thread Martijn Pieters

On 3/12/07, Martijn Pieters [EMAIL PROTECTED] wrote:

- Create an ICatalogResult interface and use a five:implements
directive to configure ZCatalog.CatalogBrains.AbstractCatalogBrain as
implementing it.


[...]


I'd like to add this to Zope trunk, with Traversable a base class for
AbstractCatalogBrain and a implements(ICatalogResult) on that same
class.


Checked in on the trunk. Of course, Five.Traversable is no longer
needed on the trunk (*slaps forehead*).

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

http://mail.zope.org/mailman/listinfo/zope )


[Zope-dev] buildbot failure in Zope branches 2.9 2.4 Linux zc-buildbot

2007-03-27 Thread buildbot
The Buildbot has detected a failed build of Zope branches 2.9 2.4 Linux 
zc-buildbot.

Buildbot URL: http://buildbot.zope.org/

Build Reason: changes
Build Source Stamp: 647
Blamelist: andreasjung,baijum,dobe,mj

BUILD FAILED: failed test

sincerely,
 -The Buildbot

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


[Zope-dev] buildbot failure in Zope trunk 2.4 Linux zc-buildbot

2007-03-27 Thread buildbot
The Buildbot has detected a failed build of Zope trunk 2.4 Linux zc-buildbot.

Buildbot URL: http://buildbot.zope.org/

Build Reason: changes
Build Source Stamp: 649
Blamelist: andreasjung,dobe,mj

BUILD FAILED: failed test

sincerely,
 -The Buildbot

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


[Zope-PAS] Re: [Plone-Users] Plone 3.0-beta1 is out

2007-03-27 Thread Wichert Akkerman
Previously Carl Brewer wrote:
 It's now doing something quite weird, when I add users, and then 'show 
 users', I see two entries for each user I added. They're identical.

They're the same users. The is caused by a design flaw in PAS: doing a
getUserById() does a search for the user id internally. This means that
unless a user can be found in a search he does not exist as far as PAS
is concerned.

Plone uses has its own plugin to manage user properties and user
searching. This can only search for users who have properties inside
the Plone site, so we also need to enable searching on the source_users
plugin to be able to create user instances for all other users (such as
the Zope admin user from the root user folder). The result is that 
users can be found twice: once in source_users and once by the Plone
property manager.

This PAS behaviour is problematic: there are a lot of valid
configurations where you can have a user who can not be found by a
search. The OpenID implementation has to jump through various hoops
to fake search results in order to be usable for example.

Wichert.

-- 
Wichert Akkerman [EMAIL PROTECTED]It is simple to make things.
http://www.wiggy.net/   It is hard to make things simple.
___
Zope-PAS mailing list
Zope-PAS@zope.org
http://mail.zope.org/mailman/listinfo/zope-pas


Re: [Zope] smart development debugging

2007-03-27 Thread Peter Bengtsson
My suggestion would be to develop it as a Python Product in Zope 2.8.9 
and use automatic product refreshing so you can change code and test it 
immediately without having to restart Zope. Zope 2.8 is slowly becoming 
old but still the fastest development environment I believe.


I'm also keeping a keen eye on Grok like Philipp suggested.

Roberto Scelzo wrote:

Hi all,
we are developing a couple of zope apps which now
are becoming pretty complex and, unfortunately,
up to now we're developing TTW since we
haven't yet find
a smart  fast way to do our job avoiding the ZMI.
We've searched a lot around but never found a nice guidence or howto...

It'll be nice to develop by eclipse...
Anyways, since the last upgrade (zope 2.9) even the external editor
doesn't work anymore. (sob...)

Someone suggested us to use a FS dump product, another one instead 
pointed us

to zope FS products, but, is there any
article/howto on how to make group development/debugging of middle/large 
sized zope apps

a nice and confortable experience?

Thank you!
Roberto


L'email della prossima generazione? Puoi averla con la nuova Yahoo! Mail 
 http://us.rd.yahoo.com/mail/it/taglines/hotmail/nowyoucan/nextgen/* 
http://it.docs.yahoo.com/nowyoucan.html





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

 http://mail.zope.org/mailman/listinfo/zope-dev )


--
Peter Bengtsson,
work www.fry-it.com
home www.peterbe.com
hobby www.issuetrackerproduct.com
___
Zope maillist  -  Zope@zope.org
http://mail.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
http://mail.zope.org/mailman/listinfo/zope-announce

http://mail.zope.org/mailman/listinfo/zope-dev )


Re: [Zope] Some __bobo_traverse__ help

2007-03-27 Thread Dieter Maurer
Garito wrote at 2007-3-27 02:50 +0200:
How could be the __bobo_traverse__ to work as expected with out losting
traverse_subpath?

You need to do strange things in __bobo_traverse__ to loose the
traverse_subpath: in fact, you need to tamper with the
TraversalRequestNameStack, or to no longer traverse to the objects
that set the traverse_subpath (in their __before_publishing_traverse__
hook).


I fear you need to go back to the drawing board.

When I remember right, then your primary problem has been that
Zope's security machinery fails when __bobo_traverse__ returns objects
which are neither acquisition wrapped nor have their own security declarations
(such as strings, unicode, etc).

Therefore, I suggested that you instead of the elementary types return
wrappers for those types which behave identical to them but in
addition have the security declaration __roles__ = None (which means
the object is public).

That seemed to work quite well for some time.


Now you are facing obscure problems (a user is not authenticated although
you think it should be). Unless you are URL traversing to one of the
wrappers above (which you should not do of course), this problem
should have nothing to do with the wrappers.
Almost surely, it is a different problem -- which one, I cannot tell you.
But, I gave some hints as to how I would proceed to understand the problem.



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


Re: [Zope] Some __bobo_traverse__ help

2007-03-27 Thread Garito

Forget it Dieter!
Finally what I do is do the normal traverse (with the bobo_traverse) and I
use another REQUEST variable (pathTraverse) to store the list expected at
traverse_subpath and return the last object founded

I pretty sure (I don't test it for now) I can reconstruct
TraversalRequestNameStack at __call__ level

Now I don't need the wrappers but the code goes fine

I didn't like so much the pathTraverse solution but works for me and that's
the real important think

Thanks and sorry!

2007/3/27, Dieter Maurer [EMAIL PROTECTED]:


Garito wrote at 2007-3-27 02:50 +0200:
How could be the __bobo_traverse__ to work as expected with out losting
traverse_subpath?

You need to do strange things in __bobo_traverse__ to loose the
traverse_subpath: in fact, you need to tamper with the
TraversalRequestNameStack, or to no longer traverse to the objects
that set the traverse_subpath (in their __before_publishing_traverse__
hook).


I fear you need to go back to the drawing board.

When I remember right, then your primary problem has been that
Zope's security machinery fails when __bobo_traverse__ returns objects
which are neither acquisition wrapped nor have their own security
declarations
(such as strings, unicode, etc).

Therefore, I suggested that you instead of the elementary types return
wrappers for those types which behave identical to them but in
addition have the security declaration __roles__ = None (which means
the object is public).

That seemed to work quite well for some time.


Now you are facing obscure problems (a user is not authenticated although
you think it should be). Unless you are URL traversing to one of the
wrappers above (which you should not do of course), this problem
should have nothing to do with the wrappers.
Almost surely, it is a different problem -- which one, I cannot tell you.
But, I gave some hints as to how I would proceed to understand the
problem.



--
Dieter





--
Mis Cosas
http://blogs.sistes.net/Garito
___
Zope maillist  -  Zope@zope.org
http://mail.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope-announce
 http://mail.zope.org/mailman/listinfo/zope-dev )