Hello,
I have a simple/silly question:
how can you sort the Catalog results with 2 parameters? Es:
sort_on='last_name', sort_on='first_name'... in the old days was
simple: sort='last_name, first_name'
Thank You,
Giampiero
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Reminder:
Today at 20:00 UTC (less than 12 hours from now) one of the Zope
Foundation-maintained servers will be physically moved to a different
data center by our hosting provider. The server will be shut down at
around 20:00 UTC and, according to the hosting provider, become
available again no later than 05:30 UTC tomorrow (Friday, May 28).
This outage will affect several websites as well as the mailing list
service. No mail sent to the lists will be lost, though, it will just be
queued up on our secondary mail relay, which is unaffected by this move.
Once the main server comes back up it will be delivered.
Services affected
=================
- the docs.zope.org website
- the download.zope.org website
- all zope.org mailing lists and the lists.zope.org website
Server shutdown
===============
Thursday, May 27 (TODAY) 20:00 UTC
- 22:00 CEST/Berlin
- 16:00 EDT/New York
- May 28 06:00 EST/Sydney
Server start
============
On or before Friday, May 28 (TOMORROW) 05:30 UTC
- 07:30 CEST/Berlin
- 01:30 EDT/New York
- 15:30 EST/Sydney
jens
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.8 (Darwin)
iEYEARECAAYFAkv+LTYACgkQRAx5nvEhZLIg4gCeKpPV3ZZVinNhDA8F9Rj1KV0Q
nkMAnj1r+faNJnWhEKIrYqhZYUITipJx
=EDSt
-----END PGP SIGNATURE-----
Hi Zope People!
I got this conflict (see below) error utilizing z3c.authenticator in
bluebream.
Learned from
http://www.mail-archive.com/zope3-users@zope.org/msg08290.html
that
"""
> Both registrations won't work at the same time.
> You need to get rid of one based on what sort of authentication you're
> using.
"""
This is out of question. The question is how to do this. There is no direct
dependecy on zope.app.security in my zcml code.
Any help apreciated, thanks in advance
Volker
zope.configuration.config.ConfigurationConflictError: Conflicting
configuration actions
For: ('view', None, u'logout.html', <InterfaceClass
zope.publisher.interfaces.browser.IBrowserRequest>, <InterfaceClass
zope.publisher.interfaces.browser.IDefaultBrowserLayer>)
File
"/home/volker/workspace/vbb/propertyshelf.mls/eggs/zope.app.security-3.7.5-py2.6.egg/zope/app/security/browser/configure.zcml",
line 31.2-38.8
<browser:page
name="logout.html"
for="*"
class=".auth.HTTPAuthenticationLogout"
attribute="logout"
permission="zope.Public"
allowed_interface="zope.app.publisher.interfaces.http.ILogout"
/>
File
"/home/volker/workspace/vbb/propertyshelf.mls/eggs/z3c.authenticator-0.8.0-py2.6.egg/z3c/authenticator/browser/login.zcml",
line 21.2-26.8
<page
name="logout.html"
for="*"
class=".login.SiteLogout"
permission="zope.Public"
/>
Any help appreciated.
Thanks in advance
Volker
--
====================================================
inqbus it-consulting +49 ( 341 ) 5643800
Dr. Volker Jaenisch http://www.inqbus.de
Herloßsohnstr. 12 0 4 1 5 5 Leipzig
N O T - F Ä L L E +49 ( 170 ) 3113748
====================================================
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Please note:
First of all, apologies for the cross-posting. I wanted to reach as many
people as possible.
On Thursday, May 27 (2 days from now) one of the Zope
Foundation-maintained servers will be physically moved to a different
data center by our hosting provider. The server will be shut down at
around 20:00 UTC and, according to the hosting provider, become
available again no later than 05:30 UTC the next day (Friday, May 28).
This outage will affect several websites as well as the mailing list
service. No mail sent to the lists will be lost, though, it will just be
queued up on our secondary mail relay, which is unaffected by this move.
Once the main server comes back up it will be delivered.
Services affected
=================
- the docs.zope.org website
- the download.zope.org website
- all zope.org mailing lists and the lists.zope.org website
Server shutdown
===============
Thursday, May 27 20:00 UTC
- 22:00 CEST/Berlin
- 16:00 EDT/New York
- May 28 06:00 EST/Sydney
Server start
============
On or before Friday, May 28 05:30 UTC
- 07:30 CEST/Berlin
- 01:30 EDT/New York
- 15:30 EST/Sydney
I will send a reminder a few hours before the move.
jens
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.8 (Darwin)
iEYEARECAAYFAkv7m9AACgkQRAx5nvEhZLKc6ACdGs5yEK91p/4zqC962mRK1uAE
1ZUAoLX+sS1EoCvvd4lztmpxGwmla8RO
=g4v9
-----END PGP SIGNATURE-----
hi there!
as our zope2 zodb grows we experience more and more conflicts
with long running transactions. so i'm going to rewrite these
methods to commit transactions in batches - here my attempt
to tackle this problem. the idea is to get a list of objects
to be modified in this transaction, break it down to batches
and commit after each batch was processed. to avoid zope's
retry-on-conflict machinery and still have a chance to retry
per batch transaction commits, the iteration over one batch
is guarded by a try:except ConflictError: and a retry logic.
i wrote some more or less pseudo code to make this clear.
def myLongRunningMethod(self):
BATCH_SIZE = 10
MAX_CONFLICTS = 3
work_items = [some, work, to , do, ...]
# list of persistent objects to be modified in this method
idx = 0
while idx < len(work_items):
conflicts = 0
try:
my_batch = work_items[idx, idx+BATCH_SIZE]
for work_item in my_batch:
do_some_work(work_item)
transaction.commit()
except ConflicError:
conflicts += 1
if conflicts > MAX_CONFLICTS:
raise
else:
idx += BATCH_SIZE
does this sound like a reasonable approach?
jürgen
--
>> XLhost.de - eXperts in Linux hosting ® <<
XLhost.de GmbH
Jürgen Herrmann, Geschäftsführer
Boelckestrasse 21, 93051 Regensburg, Germany
Geschäftsführer: Volker Geith, Jürgen Herrmann
Registriert unter: HRB9918
Umsatzsteuer-Identifikationsnummer: DE245931218
Fon: +49 (0)800 XLHOSTDE [0800 95467833]
Fax: +49 (0)800 95467830
WEB: http://www.XLhost.de
IRC: #XLhost(a)irc.quakenet.org
I am using some dynamic javascript to build form input controls and I
have got everything working perfectly in all browsers except IE. The
javascript uses square bracket notation to allow the
phones.number:records to build multiple database input records for Zope.
if (eval("document.forms.playlist['phones.number:records'][" + idx +
"].value") > 0)
However,IE interprets it as:
"document.forms.playlist.phones.number:records"
and of course therefore does not find the element referenced.
Can anyone suggest a workaround for IE in this respect.
Thanks
Garry
Hi zope list!
Tried to use the PAU feature of the challenge mechanism
of the sessionbasedcredential plugin in bluebream.
The main registration of PAU :
@adapter(INewMLSApplicationEvent)
def createPAU( event ):
sm = event.object.getSiteManager()
pau = PluggableAuthentication()
sm['authentication'] = pau
sm.registerUtility(pau, IAuthentication)
users = PrincipalFolder()
sm['authentication']['Users'] = users
sm.registerUtility(users, IAuthenticatorPlugin, name="Users")
pau.credentialsPlugins = ( "No Challenge if Authenticated", "Session
Credentials" )
# introduce my own login page
for name, plugin in pau.getCredentialsPlugins():
#iterate over all credential plugin tupels
if hasattr(plugin,'loginpagename'):
plugin.loginpagename = '@@login'
This code should bring the functionality that an unauthorized user will jump
to the login page (@@login).
I addressed without a former login the following URL
http://127.0.0.1:8080/test11/@@test
where test11 is my custom site-manager-instance and @@test a empty
test-view just
containing a pdb in __call__.
class testPage(BrowserPagelet):
"""test pagelet"""
def __call__(self):
import pdb; pdb.set_trace()
def update(self):
import pdb; pdb.set_trace()
I end up with
URL: http://127.0.0.1:8080/test11/%40%40test
Module paste.evalexception.middleware:*306* in |respond|
<http://127.0.0.1:8080/test11/@@test#>
|<< <http://127.0.0.1:8080/test11/@@test#> *try**:*
__traceback_supplement__ *=*
errormiddleware*.*Supplement*,* self*,* environ
app_iter *=* self*.*application*(*environ*,*
detect_start_response*)*
*try**:*
return_iter *=* list*(*app_iter*)*||>>
<http://127.0.0.1:8080/test11/@@test#>app_iter *=*
self*.*application*(*environ*,* detect_start_response*)*|
Module paste.translogger:*68* in |__call__|
<http://127.0.0.1:8080/test11/@@test#>
|<< <http://127.0.0.1:8080/test11/@@test#>
self.write_log(environ, method, req_uri, start, status, bytes)
return start_response(status, headers)
return self.application(environ, replacement_start_response)
def write_log(self, environ, method, req_uri, start, status,
bytes):||>> <http://127.0.0.1:8080/test11/@@test#>*return*
self*.*application*(*environ*,* replacement_start_response*)*|
Module zope.app.wsgi:*59* in |__call__|
<http://127.0.0.1:8080/test11/@@test#>
|<< <http://127.0.0.1:8080/test11/@@test#> handle_errors *=*
environ*.*get*(*'wsgi.handleErrors'*,* self*.*handleErrors*)*
request *=* publish*(*request*,*
handle_errors*=*handle_errors*)*
response *=* request*.*response
# Get logging info from principal for log use||>>
<http://127.0.0.1:8080/test11/@@test#>request *=* publish*(*request*,*
handle_errors*=*handle_errors*)*|
Module zope.publisher.publish:*131* in |publish|
<http://127.0.0.1:8080/test11/@@test#>
|<< <http://127.0.0.1:8080/test11/@@test#>
obj *=*
publication*.*getApplication*(*request*)*
obj *=* request*.*traverse*(*obj*)*
publication*.*afterTraversal*(*request*,* obj*)*||>>
<http://127.0.0.1:8080/test11/@@test#>obj *=* request*.*traverse*(*obj*)*|
Module zope.publisher.browser:*556* in |traverse|
<http://127.0.0.1:8080/test11/@@test#>
|<< <http://127.0.0.1:8080/test11/@@test#>
nsteps *=* *0*
ob*,* add_steps *=*
publication*.*getDefaultTraversal*(*self*,* ob*)*
*while* add_steps*:*
nsteps *+=* len*(*add_steps*)*||>>
<http://127.0.0.1:8080/test11/@@test#>ob*,* add_steps *=*
publication*.*getDefaultTraversal*(*self*,* ob*)*|
Module zope.app.publication.browser:*36* in |getDefaultTraversal|
<http://127.0.0.1:8080/test11/@@test#>
|<< <http://127.0.0.1:8080/test11/@@test#> *if*
IBrowserPublisher*.*providedBy*(*ob*)**:*
# ob is already proxied, so the result of calling a
method will be
*return* ob*.*browserDefault*(*request*)*
*else**:*
adapter *=* queryMultiAdapter*(**(*ob*,* request*)**,*
IBrowserPublisher*)*||>> <http://127.0.0.1:8080/test11/@@test#>*return*
ob*.*browserDefault*(*request*)*|
*Unauthorized: (<z3c.pagelet.zcml.testPage object at 0x9e4838c>,
'browserDefault', 'zope.ManageContent')
*This trace is correct in so far that the view has the following
permission settings:
<!-- test form -->
<z3c:pagelet
for="*"
name="test"
class=".test.testPage"
permission="zope.ManageContent"
layer="propertyshelf.mls.skin.interfaces.IDefaultLayer"
/>
*
*
1) The plugin "Session Credentials" is registered and works.
I know this because the "extractCredentials"-Routine of the plugin is
called and
it is my instance of this plugin because it has its loginpagename set to
"@@login" which is not the default value.
2) But the "challenge"-routine of the plugin which should bring up the
login page is never called.
3) I traced that back into PAU itself. The "unauthorized"-routine in
zope.pluggableauth-1.0.1-py2.6.egg/zope/pluggableauth/authentication.py
which will in turn call the plugins challenge-routine is also not called.
4) But the routine "unauthenticatedPrincipal" is called which is not
implemented.
5) I had the slight suspicion that this has something to do with the
exception/event-handling.
So I tried to run the bluebream instance not in debug-mode (which
catches some ecxeptions) but in
deploy-mode utilizing
./bin/paster serve deploy.ini
But this ends in the following stacktrace
2010-05-20T00:08:57 ERROR SiteError Error while reporting an error to
the Error Reporting utility
Traceback (most recent call last):
File
"/home/volker/workspace/vbb/propertyshelf.mls/eggs/zope.app.publication-3.10.2-py2.6.egg/zope/app/publication/zopepublication.py",
line 263, in _logErrorWithErrorReportingUtility
errUtility = zope.component.getUtility(IErrorReportingUtility)
File
"/home/volker/workspace/vbb/propertyshelf.mls/eggs/zope.component-3.9.3-py2.6.egg/zope/component/_api.py",
line 171, in getUtility
raise ComponentLookupError(interface, name)
ComponentLookupError: (<InterfaceClass
zope.error.interfaces.IErrorReportingUtility>, '')
<zope.publisher.interfaces.EndRequestEvent object at 0x94185ac>
Any help or idea appreciated
Volker
--
====================================================
inqbus it-consulting +49 ( 341 ) 5643800
Dr. Volker Jaenisch http://www.inqbus.de
Herloßsohnstr. 12 0 4 1 5 5 Leipzig
N O T - F Ä L L E +49 ( 170 ) 3113748
====================================================
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hello,
Due to ICANN's decision to allow for non-Latin characters in domain
names, I thought I'd give our Zope installation a test to see how it
would handle it. We've had problems with people copy and pasting from
MS Word, and its use of strange characters. I'm sure at some point the
faculty here at Purdue will have a need to link to web sites using
non-Latin characters.
This is my example HTML:
<html>
<head>
<title>URL Test</title>
</head>
<body>
<a
href="http://موقع.وزارة-الأتصالات.مصر">http://موقع.وزارة-الأتصالات.مصر</a>.
</body>
</html>
Not only is it a different character set, but it is a right to left
character set. This code works fine while editing a Page Template.
However, when viewing it, all of those characters in the href are
converted to question marks. If the same HTML is pasted into a DTML
Method or a File object, Zope will convert the characters to ASCII
characters. When viewed it will be viewed correctly.
Any reason that Page Templates may fail to render this properly?
- -Chris
- --
- --------------------------------------------------------------------
Christopher N. Deckard | Lead Web Systems Developer
cnd(a)ecn.purdue.edu | Engineering Computer Network
http://eng.purdue.edu/ECN/ | Purdue University
- ---- zlib.decompress('x\234K\316Kq((-J)M\325KM)\005\000)"\005w') ---
-----BEGIN PGP SIGNATURE-----
Version: GnuPG/MacGPG2 v2.0.12 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
iEYEARECAAYFAkvxoQcACgkQ+zGkEDwn8UZcGACgufURwanURBIBcZUSLYYRkEvV
vKwAoNnGMlmOhE/GciZuTO3ldptuBr4Z
=mypE
-----END PGP SIGNATURE-----
Hi,
In the zope application that I am working on, there are nearly 40 ZEO
clients. Restarting 40 ZEO clients is a time consuming process which takes
hours - especially the creation of .zec files in each of the ZEO clients
takes a lot of time.
My doubt is whether it is possible to use one .zec file shared among all the
ZEO clients?
Thanks,
Roopesh