Edit detail for GeneralDiscussion revision 506 of 541

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541
Editor: frank
Time: 2011/06/26 23:37:25 GMT-7
Note: Hi all

added:

From frank Sun Jun 26 23:37:20 -0700 2011
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
From: frank
Date: Sun, 26 Jun 2011 23:37:20 -0700
Subject: Hi all
Message-ID: <20110626233720-0700@zwiki.org>

It sure is quiet... cleaned up some vandalism, someone renamed FreeHosting. For some reason I didn't bother to look into, it broke the "new parent, name, replacement, page" form, so I did a manual rename and reverted all pages. Another thing that I learned is that a page rename apparently breaks the link with the page history; the page history remains available under the old name. 

Questions, comments and patches welcome! This is the Zwiki discussion hub, the place for all user support and developer topics. (There are other discussion pages around the wiki, but except for issue pages we try to keep most regular discussion here.)

This page (and the whole wiki) is connected to email, nntp and rss, so you can participate via email client or newsreader if you prefer.

To read, visit this page in your web browser, or subscribe and use your email client (tip: subscribe to "whole wiki"), or read the zwiki newsgroup in your newsreader or web browser (shows threads), or subscribe your feedreader to the new pages or comments feeds. To post, set a username and use the comment form below, or subscribe and send email to zwiki@zwiki.org, or subscribe and use your newsreader. To review old discussion, use your newsreader, or the wiki search, or browse the archived pages at AboutZwikiDiscussion?. Don't forget the #zwiki IRC channel! Especially good for troubleshooting and coaching.


server outage, caching changes --Simon Michael, Tue, 12 Jan 2010 07:04:11 -0800 reply

My server has been increasingly melting down due to heavy ill-behaved bot traffic and trying to do too much in 1G of ram with not enough sysadmin-fu; I had to walk away from it this weekend. Sorry for the recent slowness and outages. I have been trying all kinds of adjustments, as well as looking into reducing the free hosted zwikis, moving zope to a cheaper vps and so on.

This week I have enabled apache's mod_disk_cache for all of joyful.com & zwiki.org. Now those slow zope requests are being cached in /var/ cache/apache2/mod_disk_cache, and server load is way down. But you may not see very fresh results, I think depending on your browser. Eg the last edited time at top right of wiki pages may be way wrong. I suspect it should update itself after an hour, but maybe not. If in doubt, try a shift-reload. Still working on this.

Best - Simon

server outage, caching changes --Niall Douglas, Wed, 13 Jan 2010 02:41:35 -0800 reply

On 12 Jan 2010 at 7:04, Simon Michael wrote:

> My server has been increasingly melting down due to heavy ill-behaved > bot traffic and trying to do too much in 1G of ram with not enough > sysadmin-fu; I had to walk away from it this weekend. Sorry for the > recent slowness and outages. I have been trying all kinds of > adjustments, as well as looking into reducing the free hosted zwikis, > moving zope to a cheaper vps and so on.

Sorry to hear this, though I don't think that RAM will be your problem.

> This week I have enabled apache's mod_disk_cache for all of joyful.com > & zwiki.org. Now those slow zope requests are being cached in /var/ > cache/apache2/mod_disk_cache, and server load is way down. But you may > not see very fresh results, I think depending on your browser. Eg the > last edited time at top right of wiki pages may be way wrong. I > suspect it should update itself after an hour, but maybe not. If in > doubt, try a shift-reload. Still working on this.

I would VERY strongly recommend deploying a nginx + varnish frontend to Zope instead of Apache. You'll get a fast, responsive and fresh website with no page being more than a few seconds out of date, and I was running that on 256Mb of RAM for around a year (I wouldn't recommend this though if anyone is logging in). 512Mb should be enough, and 1Gb more than plenty. That said, FsckVPS? were doing a 25% off for life deal there before and you nowadays get a KVM rather than OpenVZ? which makes it the best on the VPS market right now. Oh BTW you might find my site http://www.lowenddedi.net/ useful - it's a list of the cheapest Plone capable hosting providers along with reviews and tests.

I have an outdated guide along with testing results at http://www.nedprod.com/Niall_stuff/lowendDedicatedPloneServer.html. If you do decide to go down this route, let me know and I'll freshen that page with my latest config scripts - in particular my varnish default.vcl has evolved considerably over the past year. It's such a capable programming language!

HTH, Niall

server outage, caching changes --Simon Michael, Wed, 13 Jan 2010 07:36:24 -0800 reply

Niall, thanks a lot, I had forgotten these pages. This really deserves to be prominent in the zope & plone docs. I'll reread and explore those suggestions more. What makes you prefer nginx + varnish so much to apache (+ varnish, perhaps) ? Note my zope with just two threads and 5000 target cache size likes to get up around 700M. I have a $20/ mo 1G vps from prgmr.com to try, which seems a pretty good deal..

server outage, caching changes --Niall Douglas, Wed, 13 Jan 2010 08:01:59 -0800 reply

On 13 Jan 2010 at 7:36, Simon Michael wrote:

> Niall, thanks a lot, I had forgotten these pages. This really deserves > to be prominent in the zope & plone docs. I'll reread and explore > those suggestions more. What makes you prefer nginx + varnish so much > to apache (+ varnish, perhaps) ? Note my zope with just two threads > and 5000 target cache size likes to get up around 700M. I have a $20/ > mo 1G vps from prgmr.com to try, which seems a pretty good deal..

My reasons were purely from benchmarking - nginx had a narrower result variance even though it was slightly slower on average than its next competitor which in my mind meant it was more predictable and therefore more desirable. BTW nginx is many times faster than Apache when acting as a simple frontend, so much so that I simply wouldn't advise using Apache at all. In the end though, my nginx does very little except handling a few static pages, some gzip compression of merged CSS and Javascript which Zope cannot currently gzip (this makes a BIG difference to bandwidth usage when using Plone) and of course HTTPS. I don't think I have the magic nginx config for this public, so here it is:

# Plone's ResourceRegistries? can't gzip their compressed output # so we need to patch it here. Makes a huge difference to first # load times so it's worth the extra server load gzip on; gzip_http_version 1.0; gzip_buffers 16 8k; gzip_min_length 1000; gzip_proxied any; gzip_types application/x-javascript text/css; gzip_disable "MSIE [1-6]?."; gzip_vary on;

If you do follow the nginx route, let me know if you have trouble figuring out how to correctly handle 503 errors. It took me weeks of experimentation :(

BTW I've attached my varnish default.vcl below. You'll note that it manages to "mount" cached copies of Google Finance and the RePeC? bibliographic database as subdirectories of my websites - this allows one to work around cross-domain scripting in AJAX. Such is the power of varnish!

I have a low end 1.2Ghz Celeron D dedicated server, yet a nginx + varnish config will easily max out my 100Mbit network port before maxing out my CPU. I'd doubt though that my CPU would handle a 1Gbit max out though.

HTH, Niall

# This VCL config file is adapted from template.vcl in http://pypi.python.org/pypi/plone.recipe.varnish backend default {

.host = "localhost"; .port = "6100"; .first_byte_timeout = 300s; /* varnish v2.0.3 or later only */

}

backend repec {
.host = "ideas.repec.org"; .port = "80";

}

backend google {
.host = "209.85.229.106"; /www.google.com";/ .port = "80";

}

/* Only permit cluster to purge files from cache */ acl purge {

"dedi1.nedprod.com"; "us1.nedproductions.biz"; "localhost";

}

sub vcl_recv {
set req.grace = 20s; /* Only enable if you don't mind slightly stale

content */

/* Before anything else we need to fix gzip compression */ if (req.http.Accept-Encoding) {

if (req.url ~ ".(jpg|png|gif|gz|tgz|bz2|tbz|mp3|ogg)$") {
# No point in compressing these remove req.http.Accept-Encoding;
} else if (req.http.Accept-Encoding ~ "gzip") {
set req.http.Accept-Encoding = "gzip";
} else if (req.http.Accept-Encoding ~ "deflate") {
set req.http.Accept-Encoding = "deflate";
} else {
# unknown algorithm remove req.http.Accept-Encoding;

}

}

if (req.request == "PURGE") {
if (!client.ip ~ purge) {
error 405 "Not allowed.";

} /* Always purge by URL rather than going via vcl_hash

as it hashes other factors which break purging */

purge_url(req.url); error 200 "Purged";

}

/* Rewrite all requests to /repec/cgi-bin/authorref.cgi to

http://ideas.repec.org/cgi-bin/authorref.cgi */
if (req.url ~ "^/repec/cgi-bin/authorref.cgi?handle=" || req.url ~
"^/repec/cgi-bin/ref.cgi?handle=") {
set req.http.host = "ideas.repec.org"; set req.url = regsub(req.url, "^/repec", ""); set req.backend = repec; remove req.http.Cookie; lookup;
} else if(req.url ~ "^/googlefinance/finance/converter?") {
set req.http.host = "www.google.com"; set req.url = regsub(req.url, "^/googlefinance", ""); set req.backend = google; remove req.http.Cookie; lookup;
} else {

set req.backend = default; if (req.http.X-Forwarded-Proto == "https" ) {

set req.http.X-Forwarded-Port = "443";
} else {
set req.http.X-Forwarded-Port = "80";

} if (req.http.host ~ "^(www.|ipv6.)?([-0-9a-zA-Z]?+).([a-zA-

Z]+)$") {
set req.http.host = regsub(req.http.host, "^(www.|ipv6.)?([-0-9a-
zA-Z]+).([a-zA-Z]?+)$", "12.3");
set req.url = "/VirtualHostBase?/" req.http.X-Forwarded-Proto
regsub(req.http.host, "^(www.|ipv6.)?([-0-9a-zA-Z]?+).([a-zA-
Z]+)$", "/12.3:")
req.http.X-Forwarded-Port regsub(req.http.host, "^(www.|ipv6.)?([-0-9a-zA-Z]?+).([a-zA-
Z]+)$", "/2.3/2.3/VirtualHostRoot?")
req.url;

}

}

if (req.request != "GET" &&
req.request != "HEAD" && req.request != "PUT" && req.request != "POST" && req.request != "TRACE" && req.request != "OPTIONS" && req.request != "DELETE") { /* Non-RFC2616 or CONNECT which is weird. */ pipe;

}

if (req.request != "GET" && req.request != "HEAD") {
/* We only deal with GET and HEAD by default */ pass;

}

if (req.http.Cookie) {
# We only care about the "__ac.*" cookies, used for
authentication and special persistent p_* cookies.
if (req.http.Cookie ~ "__ac.*" ) {
pass;

} # Else strip all cookies remove req.http.Cookie;

}

if (req.http.If-None-Match) {
pass;

}

if (req.url ~ "createObject") {
pass;

}

lookup;

}

sub vcl_pipe {
# This is not necessary if you do not do any request rewriting. set req.http.connection = "close";

}

sub vcl_hash {

# Normally it hashes on URL and Host but we rewrite the host # into a VirtualHostBase? URL. Therefore we can hash on URL alone. set req.hash += req.url;

# One needs to include compression state normalised above if (req.http.Accept-Encoding) {

set req.hash += req.http.Accept-Encoding;

}

# Differentiate based on login cookie too #set req.hash += req.http.cookie;

return (hash);

}

sub vcl_hit {
if (req.request == "PURGE") {
purge_url(req.url); error 200 "Purged";

}

}

sub vcl_miss {
if (req.request == "PURGE") {
error 404 "Not in cache";

}

}

sub vcl_fetch {
set req.grace = 20s; /* Only enable if you don't mind slightly stale
content */
if (req.url ~ ".svgz$") {
# Add a Content-Encoding to match compressed SVG set obj.http.Content-Type = "image/svg+xml"; set obj.http.Content-Encoding = "gzip"; remove obj.http.Content-Length; set obj.ttl = 86400s; set obj.http.Cache-Control = "max-age=3600"; deliver;

} if (req.http.host == "ideas.repec.org" || req.http.host ==

"www.google.com") {
set obj.http.Content-Type = "text/html; charset=utf-8"; /* Correct
the wrong response */
set obj.ttl = 86400s; set obj.http.Cache-Control = "max-age=3600"; deliver;

} if (obj.http.Set-Cookie) {

pass;

} if (req.http.Authorization && !obj.http.Cache-Control ~ "public") {

pass;

} /* Only use this if you wish to override Plone's CacheFu? */ if (obj.ttl < 3600s) {

if (obj.http.Cache-Control ~ "(private|no-cache|no-store)") {
set obj.ttl = 60s; /* Caching everything anonymous for 60s is
handy for being slashdotted :) */
} else {
set obj.ttl = 3600s;

}

}

}

sub vcl_error {
set obj.http.Content-Type = "text/html; charset=utf-8"; synthetic {"

<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<title>"} obj.status " " obj.response {"</title>

</head> <body>

<div style="background-color:yellow;">
<h1>This website is unavailable</h1> <p>If you are seeing this page, either maintenance is being
performed
or something really bad has happened. Try returning in a few
minutes.</p>

<h2>Error "} obj.status " " obj.response {"</h2> <p>"} obj.response {"</p> <h3>Guru Meditation:</h3> <p>XID: "} req.xid {"</p> <address>

<a href="http://www.nedproductions.biz/">ned Productions
Ltd.</a>
</address>

</div> <div style="position:fixed;top:0;left:0;width:100%;height:100%;z-

index:-1;">
<img alt="" src="/static/BBCTestCard?.jpg"
style="width:100%;height:100%" /></div>
</body>

</html> "};

return (deliver);

}

#Below is a commented-out copy of the default VCL logic. If you #redefine any of these subroutines, the built-in logic will be #appended to your code. # #sub vcl_recv { # if (req.request != "GET" && # req.request != "HEAD" && # req.request != "PUT" && # req.request != "POST" && # req.request != "TRACE" && # req.request != "OPTIONS" && # req.request != "DELETE") { # /* Non-RFC2616 or CONNECT which is weird. / # return (pipe); # } # if (req.request != "GET" && req.request != "HEAD") { # / We only deal with GET and HEAD by default / # return (pass); # } # if (req.http.Authorization || req.http.Cookie) { # / Not cacheable by default / # return (pass); # } # return (lookup); #} # #sub vcl_pipe { # return (pipe); #} # #sub vcl_pass { # return (pass); #} # #sub vcl_hash { # set req.hash += req.url; # if (req.http.host) { # set req.hash += req.http.host; # } else { # set req.hash += server.ip; # } # return (hash); #} # #sub vcl_hit { # if (!obj.cacheable) { # return (pass); # } # return (deliver); #} # #sub vcl_miss { # return (fetch); #} # #sub vcl_fetch { # if (!obj.cacheable) { # return (pass); # } # if (obj.http.Set-Cookie) { # return (pass); # } # set obj.prefetch = -30s; # return (deliver); #} # #sub vcl_deliver { # return (deliver); #} # #sub vcl_discard { # / XXX: Do not redefine vcl_discard{}, it is not yet supported / # return (discard); #} # #sub vcl_prefetch { # / XXX: Do not redefine vcl_prefetch{}, it is not yet supported / # return (fetch); #} # #sub vcl_timeout { # / XXX: Do not redefine vcl_timeout{}, it is not yet supported */ # return (discard); #} # #sub vcl_error { # set obj.http.Content-Type = "text/html; charset=utf-8"; # synthetic {" #<?xml version="1.0" encoding="utf-8"?> #<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" # "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> #<html> # <head> # <title>"} obj.status " " obj.response {"</title> # </head> # <body> # <h1>Error "} obj.status " " obj.response {"</h1> # <p>"} obj.response {"</p> # <h3>Guru Meditation:</h3> # <p>XID: "} req.xid {"</p> # <address> # <a href="http://www.varnish-cache.org/">Varnish</a> # </address> # </body> #</html> #"}; # return (deliver); #}

Site Error/ An error was encountered while publishing this resource. --johngrey, Wed, 20 Jan 2010 14:38:42 -0800 reply

Sorry to have to post what is probably something very basic but..

All the ZWikis? on my Zope site have suddenly stopped working for no obvious reason (well to me at least)

I'm using:

(Zope 2.10.5-final, python 2.4.5, linux2) Python Version 2.4.5 (#2, Jul 22 2009, 13:43:00) [GCC 4.2.4 (Ubuntu 4.2.4-1ubuntu3)]? ZWiki? (Installed product ZWiki? (ZWiki?-0-61-0))

All the ZWiki? pages are accessible via the ZMI but attempting to display any of them gives the following Traceback. This traceback is the result of trying to display a ZWiki? I have just added.

I'm at a loss to know how to approach this.

Any ideas?

thanks John

Site Error

An error was encountered while publishing this resource.

AttributeError
Sorry, a site error occurred.

Traceback (innermost last):

  * Module ZPublisher.Publish, line 202, in publish_module_standard
  * Module ZPublisher.Publish, line 150, in publish
  * Module Zope2.App.startup, line 221, in zpublisher_exception_hook
  * Module ZPublisher.Publish, line 119, in publish
  * Module ZPublisher.mapply, line 88, in mapply
  * Module ZPublisher.Publish, line 42, in call_object
  * Module Products.ZWiki.ZWikiPage, line 229, in __call__
  * Module Products.ZWiki.ZWikiPage, line 241, in render
  * Module Products.ZWiki.pagetypes.stx, line 96, in render
  * Module Products.ZWiki.Views, line 668, in addSkinTo
  * Module Shared.DC.Scripts.Bindings, line 313, in __call__
  * Module Shared.DC.Scripts.Bindings, line 350, in _bindAndExec
  * Module Products.PageTemplates.PageTemplateFile, line 129, in _exec
  * Module Products.PageTemplates.PageTemplate, line 89, in pt_render
  * Module zope.pagetemplate.pagetemplate, line 117, in pt_render
    Warning: Macro expansion failed
    Warning: exceptions.AttributeError: pt_macros
  * Module zope.tal.talinterpreter, line 271, in __call__
  * Module zope.tal.talinterpreter, line 346, in interpret
  * Module zope.tal.talinterpreter, line 891, in do_useMacro
  * Module zope.tal.talinterpreter, line 346, in interpret
  * Module zope.tal.talinterpreter, line 536, in do_optTag_tal
  * Module zope.tal.talinterpreter, line 521, in do_optTag
  * Module zope.tal.talinterpreter, line 516, in no_tag
  * Module zope.tal.talinterpreter, line 346, in interpret
  * Module zope.tal.talinterpreter, line 949, in do_defineSlot
  * Module zope.tal.talinterpreter, line 346, in interpret
  * Module zope.tal.talinterpreter, line 536, in do_optTag_tal
  * Module zope.tal.talinterpreter, line 521, in do_optTag
  * Module zope.tal.talinterpreter, line 516, in no_tag
  * Module zope.tal.talinterpreter, line 346, in interpret
  * Module zope.tal.talinterpreter, line 870, in do_useMacro
  * Module zope.tales.tales, line 696, in evaluate
    URL: wikipage
    Line 7, Column 6
    Expression: <PathExpr standard:'here/macros/pagesearchtags'>
    Names:

    {'container': <Folder at /test_wiki>,
     'context': <ZWikiPage 'FrontPage' at 0x941f7cc>,
     'default': <object object at 0xb7d6f528>,
     'here': <ZWikiPage 'FrontPage' at 0x941f7cc>,
     'loop': {},
     'nothing': None,
     'options': {'args': (<ZWikiPage 'FrontPage' at 0x941f7cc>,
                          <HTTPRequest, URL=http://red.sunderland.ac.uk:8080/test_wiki/FrontPage>),
                 'body': '<p><strong>Welcome!</strong> </p>\n<p>This is the front page of <a href="http://red.sunderland.ac.uk:8080/test_wiki/ZWiki">ZWiki</a>\'s "basic" wiki template, a small set of\nstarter pages for your wiki.  <a href="FrontPage/editform">Edit</


[cut the rest of the default Frontpage]


>\n<p>Enjoy your wiki!</p>\n<p>\n</p>\n'},
     'repeat': <Products.PageTemplates.Expressions.SafeMapping object at 0x94347ec>,
     'request': <HTTPRequest, URL=http://red.sunderland.ac.uk:8080/test_wiki/FrontPage>,
     'root': <Application at >,
     'template': <PageTemplateFile at /test_wiki/wikipage used for /test_wiki/FrontPage>,
     'user': <User 'john'>}

  * Module zope.tales.expressions, line 217, in __call__
  * Module Products.PageTemplates.Expressions, line 153, in _eval
  * Module zope.tales.expressions, line 124, in _eval
  * Module Products.PageTemplates.Expressions, line 80, in boboAwareZopeTraverse
  * Module OFS.Traversable, line 301, in restrictedTraverse
  * Module OFS.Traversable, line 284, in unrestrictedTraverse
    __traceback_info__: ([], 'macros')

AttributeError

Troubleshooting Suggestions

Site Error/ An error was encountered while publishing this resource. --Simon Michael, Wed, 20 Jan 2010 15:10:28 -0800 reply

Hi John, that is quite odd. The first thing I see there that's probably indicating a problem is:

* Module zope.pagetemplate.pagetemplate, line 117, in pt_render
  Warning: Macro expansion failed
  Warning: exceptions.AttributeError: pt_macros

If nothing has changed about your zope/zwiki configuration, is it possible you installed something elsewhere on the system - like a newer version of zope.pagetemplate - that could be affecting it, causing the standard pt_macros attribute to disappear ?

I would also look at the traceback in /error_log, where you'll get the clearest rendering. I'd like to know what exactly it shows after the final "AttributeError?" at the bottom.

Site Error/ An error was encountered while publishing this resource. --Simon Michael, Wed, 20 Jan 2010 15:19:00 -0800 reply

Another wild guess, could an object have been added to your zodb with a sensitive id, causing things to break ? http://wiki.zope.org/zope2/IdsToAvoid

lists some of these. Have you noticed any other breakage with this

zope ? Are you able to create a new Page Template in the root folder and view it ? How about in the wiki folder ? Are you able to test with a recent previous version of this zodb, if necessary by rolling back recent transactions in Undo (in a copy, obviously) ?

**continued - Site Error/ An error was encountered while publishing
this resource. ** --johngrey, Wed, 20 Jan 2010 15:32:11 -0800 reply

This is the end of the event.log

</ul>\n<p>Enjoy your wiki!</p>\n<p>\n</p>\n'},

       'repeat': <Products.PageTemplates.Expressions.SafeMapping object at 0x94ca92c>,

       'request': <HTTPRequest, URL=http://red.sunderland.ac.uk:8080/test_wiki/FrontPage>,

       'root': <Application at >,

       'template': <PageTemplateFile at /test_wiki/wikipage used for /test_wiki/FrontPage>,

       'user': <User 'john'>}

  Module zope.tales.expressions, line 217, in __call__

  Module Products.PageTemplates.Expressions, line 153, in _eval

  Module zope.tales.expressions, line 124, in _eval

  Module Products.PageTemplates.Expressions, line 80, in boboAwareZopeTraverse

  Module OFS.Traversable, line 301, in restrictedTraverse

  Module OFS.Traversable, line 284, in unrestrictedTraverse

   - __traceback_info__: ([], 'macros')

AttributeError: pt_macros

thanks, John

**continued - Site Error/ An error was encountered while publishing
this resource. ** --Simon Michael, Wed, 20 Jan 2010 15:40:58 -0800 reply
Googling for that error finds only http://zwiki.org/1373AttributeErrorPtMacrosInPlone
  • check this in case it contains any clues. You should probably open

a new issue to track this (at http://zwiki.org/IssueTracker ).

... --johngrey, Wed, 20 Jan 2010 15:52:18 -0800 reply

thanks - just to add - I haven't added anything significant - at the time it seemed to break I was working on a script to allow users to change passwords and I can't see anything else that has changed. I've rolled things back to before I thought the problem occurred with no effect. I tried to roll back further but got a page of error messages (sorry didn't capture these) and Zope now displays that there are no undos available. Everything else in Zope seems to be working ok. The error from google looks similar - although I wasn't using plone as was the case then.

I'll have to leave it for tonight but will investigate further tomorrow - thanks John

**continued - Site Error/ An error was encountered while publishing
this resource. ** --johngrey, Thu, 21 Jan 2010 03:27:30 -0800 reply

OK - I fixed it (after much messing around setting up another server to experiment with)

turns out there is another http://wiki.zope.org/zope2/IdsToAvoid - "content" - I had an empty method called content in root which was obviously being picked up by ZWiki? and preventing publishing.

thanks, John

**continued - Site Error/ An error was encountered while publishing
this resource. ** --Simon Michael, Thu, 21 Jan 2010 08:08:31 -0800 reply

Excellent! And unfortunate. :-/ Thanks for the tip.

hello --simon, Mon, 26 Jul 2010 11:51:22 -0700 reply

I've just had a look around zwiki.org for the first time in a while. It seems to be working as intended despite the neglect, so this is good.

Nothing has happened in Zwiki development for some time. Are many of you still using it ? Any new deployments, or is it just to keep legacy sites going, or has Zwiki gone the way of the dodo ?

I wanted to say hi to all you subscribers (wave).

hello --DeanG?, Mon, 26 Jul 2010 11:58:43 -0700 reply

Good to hear from you Simon (wave).

Since switching departments from where I deployed Zwiki I haven't been involved and the site has been mothballed. - DeanG? http://twitter.com/ponderings

I'd like to encourage you to pencil in PyCon? 2011 in the spring as it will be in California next year (Silicon valley area). :)

hello --FrankLaurijssens?, Tue, 27 Jul 2010 01:26:01 -0700 reply

(waves back) Still here, but not a wiki admin anymore. I'm currently working in a shop that relies on MediaWiki?.

hello --jmax, Sun, 01 Aug 2010 23:01:39 -0700 reply

Hi, Simon... with a certain amount of shame I have to admit that we've bowed to peer pressure and moved most of Thinkubator(.ccsp.sfu.ca) into WordPress? (all my friends were doing it, so...). I still have the legacy site up and running. WordPress? is nowhere near as elegant an architecture as Zope/ZWiki?, but I do feel a lot less like a lone wolf... Perhaps it's time for me to just say THANKS for such a terrific platform which served me for something like 7 years; I wish history were on its side, but from my perspective, it doesn't look that way.

hello --tralala, Mon, 02 Aug 2010 04:05:32 -0700 reply

Hey, Simon!

Nearly four years walking down the zwiki road I still have trouble convincing the company to use it actively. Nevertheless there's some progress - from a closed, department only wiki, now we have an open company-wide site and a policy to use it as a tool for communicating requirements and documenting the internal projects. I'm still waiting for the site to really pick up. The progress has been way too slow.

hello --JohnDeBruyn?, Sun, 08 Aug 2010 08:24:05 -0700 reply

Hi Simon: Zope and Zwiki are great. Hang in there. Your efforts are much appreciated. John

ZwikiBlog? --JohnDeBruyn?, Sun, 08 Aug 2010 08:57:16 -0700 reply

Hi Simon: I got over to the ZwikiBlog? page. Exciting stuff. Keep up the good work. John

hello --simon, Wed, 08 Sep 2010 08:12:19 -0700 reply

Hey all.. thanks for the replies to my ping in July. It sounds pretty much as I thought. But also, I've seen an unexpected slight uptick in activity of late - traffic on zwikis I subscribe to, Zwiki bug reports, #zwiki support incidents, new zwikis (eg).

So keep the ol' sites running I guess.

I accidentally the pypi package.. --simon, Fri, 17 Dec 2010 06:57:58 -0800 reply

Thanks to witsch for dropping by #zwiki and nudging me to do something about the broken Zwiki PYPI package. I removed it (now re-added, but hidden) until we conform to current packaging standards. To install Zwiki 2.0b1, use the traditional product tarball or darcs get methods linked on zwiki.org .

zwiki.org moved --admin, Thu, 24 Mar 2011 22:11:02 +0000 reply

zwiki.org and all *.zwiki.org sites have moved to a new VPS running zope 2.13.5. Everything should be working at this point, so please report any breakage.

Best - Simon

Hi all --frank, Sun, 26 Jun 2011 23:37:20 -0700 reply

It sure is quiet... cleaned up some vandalism, someone renamed FreeHosting?. For some reason I didn't bother to look into, it broke the "new parent, name, replacement, page" form, so I did a manual rename and reverted all pages. Another thing that I learned is that a page rename apparently breaks the link with the page history; the page history remains available under the old name.