Edit detail for GeneralDiscussion revision 471 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: jmax
Time: 2009/10/24 01:17:40 GMT-7
Note: Zwiki 2.0b1 released

added:

From jmax Sat Oct 24 01:17:39 -0700 2009
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
From: jmax
Date: Sat, 24 Oct 2009 01:17:39 -0700
Subject: Zwiki 2.0b1 released
Message-ID: <20091024011739-0700@zwiki.org>
In-Reply-To: <8E43DB28-DA8A-43E7-86D9-B2251C3D8B0B@joyful.com>

Big congrats on this release, Simon. I'll be watching carefully, plotting a course for upgrades here. Thanks!

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.


zeo --simon, Sun, 09 Mar 2008 14:56:48 -0700 reply

I have re-enabled ZEO, hoping http://zwiki.org/1358 won't bite.

unicode progress --simon, Mon, 10 Mar 2008 14:17:16 -0700 reply

The patches I've just pushed to -unstable include: "a bunch more unicode-related fixes. We can now upgradeAll the content of zwiki.org then serve it without obvious problems (complete cataloging requires unicode-aware indexes)"

This is a good milestone. If you are able, please test the dev.zwiki.org server and if you're brave, test the unstable branch on your own wikis. It does require a manual /upgradeAll to get things working. This will convert everything in your wiki from utf-8 to unicode.

The catalog situation is not bad - both Andreas' TextIndexNG3? and Dieter's ManagableIndex? are unicode aware. The latter provides a keyword index, which we need for the parents field, but I haven't got it working yet. When I do, Zwiki-unstable/unicode/2 should be usable in production..

Getting the upgrade process working - even manually - was not easy at all, because of the enmeshment of updating pages and updating the outline cache. Poor layering/encapsulation. I have been reduced to groping - testing and fixing the issues as I find them - though I do have a reasonable picture of the end goal in my head, eg the boundary line between encoded and unicode text. The unicode conversion is having the expected effect of clarifying architectural problems. Some time soon, new developer docs will emerge and help clarify things further. I'm debating whether to start these in a fresh high-signal Zwiki 2 wiki, or co-exist on zwiki.org (with cleanups).

performance fixes --Simon Michael, Tue, 11 Mar 2008 15:53:32 -0700 reply

I looked at some more server slowness today, with the help of emacs, dtach, top, vmstat, tail, highlight-lines-matching-regexp, and Tres Seaver's excellent thrashcatcher product which shows zodb load and store counts for each transaction in the trace log. I applied two fixes which large zwiki sites might want to know about:

  • bots were finding their way directly to page revision diffs (how ? I don't know), trying every link and causing a lot of unnecessary zodb loads. I stopped it by adding this apache rewrite rule:

    # temporary to keep bots out of revisions
    # redirects direct requests for revisions to the latest page
    RewriteRule (.*)/revisions/(.*)\.[0-9]+/ $1/$2 [R,L]
    
  • visits to old revisions of zwiki.org FrontPage? were generating thousands of page loads every time. The "new pages" dtml snippet on FrontPage? calls pages() to show the last 5 pages, but in the revisions folder this was falling back to a non-catalog search (since there is no catalog there), loading all 2000+ old page revisions into cache. For this reason pages now returns nothing without a properly configured catalog.

**applied patch: pages now returns nothing without a fully-configured catalog (to
avoid blowing up =?utf-8?Q?=7Aodb?= cache when viewing old revisions)** --zwiki-repo, Tue, 11 Mar 2008 15:57:17 -0700 reply
Tue Mar 11 15:57:00 PDT 2008 Simon Michael <simon@joyful.com>
* pages now returns nothing without a fully-configured catalog (to avoid blowing up zodb cache when viewing old revisions)

drop outline cache ? --simon, Wed, 12 Mar 2008 15:03:51 -0700 reply

Zwiki stores the page hierarchy in two places. First, every page keeps a list of its parents, in a parents property. The hierarchy is built from this.

Second - because the above data structure is not rich enough to tell us what we want to know (what are my children ? who are my siblings ? what's the first page in the wiki ?) without thrashing the zodb - we cache the same information in the outline object in the wiki folder. This stores the whole hierarchy in one place so it's easy to query efficiently. The outline object is generated on demand and kept up to date as changes are made in the wiki (in parallel with the parents property).

I'm kicking around the idea of dropping the outline cache and keeping more detailed information on the pages - not only parents, but children and previous/next sibling. The downside of this is a lot of redundancy and (different) opportunities to get out of sync. Also you might have to touch a few more pages than before when making wiki changes. And I suppose we would have to index all these new pointers for efficient queries. The upside seems to be a simpler design that would be easier to self-repair and easier to upgrade. For example it would allow the upgrade to unicode to be handled automatically.

applied patch: make lastLog more robust, prevent occasional page breakage --zwiki-repo, Fri, 28 Mar 2008 08:10:48 -0700 reply

Sat Mar 8 01:23:03 PST 2008 Simon Michael <simon@joyful.com>
* make lastLog more robust, prevent occasional page breakage

applied patch: make plone member email lookup more robust to fix non-mail-out (#1400) --zwiki-repo, Fri, 28 Mar 2008 08:14:18 -0700 reply

Fri Mar 28 08:09:41 PDT 2008 Simon Michael <simon@joyful.com>
* make plone member email lookup more robust to fix non-mail-out (#1400)

outline updating query --jmax, Mon, 07 Apr 2008 17:19:57 -0700 reply

Ironic, given the above, but...

We at Thinkubator are once again pushing against the traditional. I'm currently working in a system in which a new page can be created and "filed" under multiple parents as part of the creation step. I'm calling create() instead of edit() as it seems to offer the ability to pass a 'parents' argument. And it partially works. The parents are added locally, to the new page's property, but they don't seem to make it into the outline (and hence, to be known to the parents themselves -- imagine being in such a situation!) Now, create() seems to be calling wikiOutline().add(), which ought to do the trick, but, as I say, it isn't, and besides, when I look, I don't see an 'add()' defined anywhere for wikiObject. So... any pointers?

outline updating query --Simon Michael, Mon, 07 Apr 2008 17:40:39 -0700 reply

Hi John.. that's a little odd. Maybe you can step through with a debugger and see where it goes wrong ? Or, maybe a call to updateWikiOutline will take care of it ?

ZWiki? pages incorrectly can be added in other people's Members folders --nd51, Thu, 10 Apr 2008 07:35:18 -0700 reply

Hi,
Can anyone shed light on which permission to set to fix this? This problem was reported by someone else on plone-users using 3.0.6. We've had this problem for some time on Plone 2.5.3. If you go to Members folder of someone other than yourself, you have permission to add a wiki page to their folder! All my permissions on security tab are set to 'manager' (with 'authenticated' for add comment) which seems to behave fine for the rest of the site.
How do I stop this from happening without turning everything off?
I don't want to turn off "implicitly addable" for wiki page as that'd affect the whole site. Members is an ATBTreeFolder?, as opposed to other folders being just ATFolder?. Does that make a difference?

ZWiki? pages incorrectly can be added in other people's Members folders --Simon Michael, Thu, 10 Apr 2008 13:51:45 -0700 reply

Sorry.. this one does not sound familiar. If you need it fixed I am available as a consultant at joyful.com, or feel free to ask more questions on #zwiki.

**applied patch: interim fix for the document actions display glitch with plone 3 -
hide them** --zwiki-repo, Fri, 11 Apr 2008 15:19:16 -0700 reply
Fri Apr 11 15:18:59 PDT 2008 Simon Michael <simon@joyful.com>
* interim fix for the document actions display glitch with plone 3 - hide them

applied patch: fix the plone 3 document actions display glitch - hide them --zwiki-repo, Fri, 11 Apr 2008 15:33:55 -0700 reply

Fri Apr 11 15:33:39 PDT 2008 Simon Michael <simon@joyful.com>
* fix the plone 3 document actions display glitch - hide them

fix the plone 3 document actions display glitch - hide them --Simon Michael, Fri, 11 Apr 2008 15:37:53 -0700 reply

Quickly unpulled and recorded that one. I'll be releasing a 0.61 from the latest stable repo, which will be the one to use with plone 3.

unsubscribed an address --simon, Fri, 18 Apr 2008 13:10:16 -0700 reply

I noticed feedreader at yahoo.com subscribed to all zwiki.org edits, which seemed wrong, so I unsubscribed it. If I'm wrong, please reply.

100 subscribers --simon, Fri, 18 Apr 2008 13:15:07 -0700 reply

GeneralDiscussion? has passed 100 subscribers (page + wiki). Hi!

unsubscribed an address --feedreader, Fri, 18 Apr 2008 14:39:39 -0700 reply

Simon, if my subscription seems "wrong" maybe I should think again about it... out of respect I mean. But really, it felt OK to me.

Now though it looks as if I don't need to be subscribed to notice that I've been unsubscribed, which gives me some food for thought on the subject of subscription...

  • Ken

unsubscribed an address --Simon Michael, Fri, 18 Apr 2008 15:42:19 -0700 reply

Hi Ken, sorry about that. So is that your personal address ? I thought it was someone trying to pipe all edit mails into some kind of yahoo feed monitoring thing.

Now though it looks as if I don't need to be subscribed to notice
that I've been unsubscribed, which gives me some food for thought on
the subject of subscription...

Neat. :) Maybe you're subscribed with another address ?

applied patch: the bones of 0.61 release notes --zwiki-repo, Tue, 22 Apr 2008 22:27:33 -0700 reply

Fri Apr 11 16:06:00 PDT 2008 Simon Michael <simon@joyful.com>
* the bones of 0.61 release notes

unstable repo cleaned up! --simon, Wed, 23 Apr 2008 13:53:22 -0700 reply

I have been reviewing and consolidating branches on my local machine, zwiki.org, and wiki.zope.org, and have resolved a showstopping darcs speed issue. Pushing between the stable and unstable repos had become impractical due to the large number of conflicts I created when merging unicode and skin cleanup branches. With the help of #darcs I understood this better and re-recorded those as two conflict-free mega-patches, for a cleaner and quicker unstable repo. Also the unstable repo is now in darcs 2's backwards-compatible hashed format.

This means:

  • if you have a local copy of the ZWiki?-unstable repo, you should delete it and get a new copy
  • you need darcs 2 to work with the unstable repo
  • any version of darcs works for the stable repo

a mailing list! --simon, Wed, 23 Apr 2008 14:13:33 -0700 reply

I think I am going to set up an honest-to-god mailing list again, to make our discussions easier. Surviving on our own dogfood is good, but I want to remove that constant "where do I post this ?" friction, and also to review and discuss darcs patches easily the way other projects do (these do not travel well through wiki mail). I can set up a Zwiki team and mail list in our Launchpad project, and reuse the old zwiki gmane group. Comments ?

We'll need to figure out (anew! :) the most useful ways to integrate wiki and list, and what to do with existing page and wiki subscribers. I think think it would good to retire the GeneralDiscussion? page and move all subscribers to the mail list. I suspect that would require everyone to join the Zwiki team on launchpad though. That might be a showstopper, actually.

more discussion thoughts --simon, Wed, 23 Apr 2008 21:28:26 -0700 reply

I remembered more details of the old wiki versus mail-list dilemma.. I had a 12-point memo for you, but lost it in a firefox 3 crash. Basically I have decided to try something else first: stick with the simple all-wiki setup and seek other solutions to the problems I mentioned. Eg:

  1. really emphasize GeneralDiscussion? as the standard place for discussion, including users, developers, patch review, but excluding extremely specific topics like issues
  2. solve the problem of darcs patches cluttering up the page content

Getting started on 1, I archived old discussion, merged the 2008 patch discussion into GeneralDiscussion?, cleaned up that page and simplified the FrontPage? discussion links. Better! AboutZwikiDiscussion? updates later.

who does what, new policy (was Re: New Zwiki Version?) --Simon Michael, Thu, 24 Apr 2008 09:36:48 -0700 reply

On Apr 24, 2008, at 12:44 AM, Tom Gross wrote: | Hi Simon, | | when will there be a new zwiki-version? The current one (0.60) | breaks with the recent version of PlacelessTranslationService? | (1.4.0) because most of the i18n *.po files are invalid. They lack | the "Language-code" header. | | Thanks for helping, | -Tom

Hey Tom,

thanks for the bug report, that's helpful. Also you raise an important point.

I think it's best for me to prioritise patch review, education/ coaching/mentoring, and architectural cleanup (design, code, documentation, developer and community processes), rather than churning out yet another bugfix myself. Other people need to be sending patches. So taking a page from David Roundy, whose recent "departure" from darcs has jump-started that project, I hereby announce:

I will not work on, and may not even read, any issue or feature request unless it meets one of these criteria:

  • somebody sends a darcs patch, or
  • somebody wants to collaborate/be mentored, or
  • somebody pays me to work on it, or
  • it is something that particularly affects and motivates me today

I will do a release as soon as enough blocker issues have been fixed, so if you want it to happen sooner, send darcs patches.

http://zwiki.org/DarcsRepos#how-to-use-the-main-zwiki-darcs-repository

Thanks!

two discussion helps --simon, Thu, 24 Apr 2008 10:19:37 -0700 reply

Two versions of discussion help at http://zwiki.org/GeneralDiscussion , which is better ?

two discussion helps --betabug, Thu, 24 Apr 2008 11:31:39 -0700 reply

I prefer the first one with the logic of "what do you want to do?" - "this is how you can do it".

two discussion helps --Simon Michael, Thu, 24 Apr 2008 14:11:21 -0700 reply

Agreed, thanks.

zwiki.org moved to latest code --simon, Fri, 25 Apr 2008 05:16:36 -0700 reply

I have moved zwiki.org to a fresh ZODB running the latest ZWiki?-unstable code. Time to live on our own dogfood. This means zwiki.org is now all unicode - Hurrah!

Known issues: about 10% of pages are not being indexed. [#1389 UnicodeDecodeError when searching]? has gone away.

Other changes: navigation links are available in more places (part of skins cleanup), and access keys work again.

I also doubled the ram on this VPS, from 512Mb to 1G. I haven't retuned the zopes yet, but thanks to the ram and the clean ZODB the site seems quite zippy.

zwiki.org moved to latest code --simon, Fri, 25 Apr 2008 05:18:50 -0700 reply

Correction: mailin is not broken, just upgrade teething issues. If you see errors, please briefly report them (no need for a traceback in this case.) Thanks!

applied patch: fix subscribing to the whole wiki (IssueNo0754?) --zwiki-repo, Fri, 25 Apr 2008 14:20:31 -0700 reply

Fri Apr 25 14:16:09 PDT 2008 Simon Michael <simon@joyful.com>
* make tests pass, move test_excerptAt

zwiki.org content archived, ready for cleanup --simon, Fri, 25 Apr 2008 21:42:32 -0700 reply

old.zwiki.org is a read-only snapshot of zwiki.org as it was yesterday. (Please don't link it, to reduce server load.) I can easily zsync(*) old pages from there to the new server, should it be needed. With this in place, aggressive cleanups of zwiki.org content are safe, likely and encouraged!

(*) ZSyncer 0.7.1 was the hero of last night's migration. To my surprise, it had no problem syncing 3000 pages and random other zope objects, including the wiki catalog, outline cache, localfs objects, and so on. I had thought it would suffer all the same problems I had seen with export/import, but apparently not. Bravo!

sphinx docs --simon, Fri, 25 Apr 2008 23:35:15 -0700 reply

I'm happy to announce we now have filesystem-based docs as well as wiki ones, or rather we now have a way to publish them nicely (Sphinx, thanks to Georg Brandl).

http://zwiki.org/docs

These are generated from the restructured text .txt files in the unstable code repo, on the hour. They are mostly developer-oriented, and being close to the code, are potentially much more efficient for developers to maintain than wiki pages. (See the link for a discussion of wiki vs filesystem docs.) Also Sphinx does a nice job of pretty-printing doctests and provides a lot of support for linking and cross-referencing stuff. It does not generate api documentation from code, but hopefully we can integrate epydoc or something.

Patches welcome.

road map update --simon, Sat, 26 Apr 2008 12:52:12 -0700 reply

I have created RoadMap2008?, but I think it needs an update. My current thoughts:

  • as far as possible, stick with one main line of Zwiki development, rather than two. This is just simpler all round.
  • the stable and unstable repos are a good idea, especially for my hosting setup; I can test newer code in production while also hosting stable sites. I imagine all unstable patches feeding into stable eventually, and all Zwiki releases coming from stable.
  • keep Plone support. Refactor it, don't spend cycles supporting it, but keep the working code we have. Even partial Plone integration that just works is useful.
  • refactor ourselves into a modern component-architecture application. As that is achieved, it will open more integration possibilities.

road map update --simon, Sat, 26 Apr 2008 13:03:07 -0700 reply

  • within the "one main line", do mark major transitions with a version number change, eg to 1.x or 2.x. I think the switch to unicode is such a transition. I don't know exactly what we should do. I lean towards releasing one or more updates in the 0.x line, skipping 1.x entirely, and then releasing 2.0 with unicode support and some significant other features worthy of a 2.0 release. Also this should coincide with a fairly major overhaul of zwiki.org, jettisoning a lot of old content, possibly focussing it on 2.x and leaving old.zwiki.org as the 0.x support site.

Comments ?

darcs patch: Added some more functional tests (filling out the opti... --betabug.darcs, Wed, 30 Apr 2008 11:15:56 -0700 reply

Wed Apr 30 21:10:47 EEST 2008 betabug.darcs@betabug.ch
* Added some more functional tests (filling out the options, searching)

darcs patch: Added some more functional tests (filling out the opti... --Simon Michael, Wed, 30 Apr 2008 11:27:41 -0700 reply

Applied, thanks!

zwiki.org mail flowing again --simon, Wed, 30 Apr 2008 11:33:01 -0700 reply

All - zwiki.org stopped sending mail after a software upgrade on april 25th. Please have a look at recent http://zwiki.org/GeneralDiscussion (starting with "zwiki.org moved to latest code --simon, Fri, 25 Apr 2008 05:16:36 -0700") to see some important announcements. Summary: zwiki.org now running latest unstable code, old.zwiki.org archived, sphinx docs, roadmap update.

applied to unstable: fix a unicode-related issue properties form breakage --zwiki-repo, Wed, 30 Apr 2008 13:56:14 -0700 reply

Wed Apr 30 13:56:10 PDT 2008 Simon Michael <simon@joyful.com>
* fix a unicode-related issue properties form breakage

darcs send change --Simon Michael, Wed, 30 Apr 2008 14:20:38 -0700 reply

I've updated the description of darcs send behaviour at DarcsRepos?. Latest policy is this:

  • darcs send to either the stable or unstable repo sends the patch to GeneralDiscussion? for review. Currently this makes manual cleanup necessary on the page, but I hope to solve this soon.
  • someone with direct repo access (currently Simon and Sascha) applies the patch, once approved
  • there is also a secret address for each repo to which you can darcs send to bypass the review step. Ask on #zwiki for this if the review step is too much overhead for some reason.
  • I myself pretty often just push patches over ssh
  • however it happens, both repos send a "patch applied" notification to GeneralDiscussion? when a change goes in

darcs patch: Added a simple unicode aware splitter, based on code b... --betabug.darcs, Thu, 01 May 2008 09:48:40 -0700 reply

* Added a simple unicode aware splitter, based on code by Stefan H. Holek.
The following code is mostly taken from the UnicodeLexicon product by Stefan H. Holek (ZPL) which can be found at: http://www.zope.org/Members/shh/UnicodeLexicon
Many thanks to you Stefan!

We are using this here, so people with minimal needs don't have to install extra products. If you need more than this install a more specific splitter (e.g. a CJK splitter) create a new "ZCTextIndex Lexicon" and recreate the "SearchableText" and "Title" indexes with your new lexicon.

darcs patch: Added a simple unicode aware splitter, based on code b... --Simon Michael, Thu, 01 May 2008 10:04:42 -0700 reply

Looking good, thanks for showing the work in progress. UnicodeLexicon? seems just the missing piece for our unicode story. I like the idea that we could work with the standard product (or others like it) if installed, but that we also have a minimal version built in - at least enough to get all pages into the catalog without breaking.

applied to stable: provide indexObject to avoid revision indexing in plone 3 (#1407, Dorneles Tremea) --stable-repo, Thu, 01 May 2008 10:36:25 -0700 reply

Thu May 1 10:18:17 PDT 2008 Simon Michael <simon@joyful.com>
* provide indexObject to avoid revision indexing in plone 3 (#1407, Dorneles Tremea)

applied to unstable: provide indexObject to avoid revision indexing in plone 3 (#1407, Dorneles Tremea) --unstable-repo, Thu, 01 May 2008 10:40:10 -0700 reply

Thu May 1 10:18:17 PDT 2008 Simon Michael <simon@joyful.com>
* provide indexObject to avoid revision indexing in plone 3 (#1407, Dorneles Tremea)

applied to unstable: fix event log message formatting --unstable-repo, Thu, 01 May 2008 11:25:32 -0700 reply

Thu May 1 11:25:26 PDT 2008 Simon Michael <simon@joyful.com>
* fix event log message formatting

darcs patch: Added a simple unicode aware splitter, based on code b... --betabug, Thu, 01 May 2008 11:34:59 -0700 reply

Yes, the idea is that we have something that works "out of the box" for most of the people. Of course some people will always want/need more specific stuff, so they will have to install either TextIndexNG? or something like "CJK Splitter" and recreate those indexes.

darcs patch: Added a simple unicode aware splitter, b... (and 1 more) --betabug.darcs, Thu, 01 May 2008 11:47:22 -0700 reply

* Create ZCTextIndexes with Unicode splitters by default.

applied to unstable: Added a simple unicode aware splitter, based on code by Stefan H. Holek. --unstable-repo, Thu, 01 May 2008 11:59:22 -0700 reply

Thu May 1 09:46:07 PDT 2008 betabug.darcs@betabug.ch
* Added a simple unicode aware splitter, based on code by Stefan H. Holek.
The following code is mostly taken from the UnicodeLexicon? product by
Stefan H. Holek (ZPL) which can be found at:
Many thanks to you Stefan!

We are using this here, so people with minimal needs don't have to
install extra products. If you need more than this install a more
specific splitter (e.g. a CJK splitter) create a new "ZCTextIndex?
Lexicon" and recreate the "SearchableText?" and "Title" indexes with your
new lexicon.

applied to unstable: Create ZCTextIndexes? with Unicode splitters by default. --unstable-repo, Thu, 01 May 2008 11:59:38 -0700 reply

Thu May 1 11:45:37 PDT 2008 betabug.darcs@betabug.ch
* Create ZCTextIndexes? with Unicode splitters by default.

applied to unstable: fix LOG macro to pass tests --unstable-repo, Thu, 01 May 2008 12:47:23 -0700 reply

Thu May 1 12:45:24 PDT 2008 Simon Michael <simon@joyful.com>
* fix LOG macro to pass tests
toencoded & tounicode are now available as functions, and

issuebrowser fixed --simon, Thu, 01 May 2008 20:02:46 -0700 reply

http://zwiki.org/IssueBrowser login (x, x) now works again.

applied to stable: fix excerptAt to pass its test --stable-repo, Thu, 01 May 2008 20:39:01 -0700 reply

Thu May 1 20:38:40 PDT 2008 simon@joyful.com
* fix excerptAt to pass its test

applied to stable: fix an unsafe use of page name which could break editform (#1376, Noboyuku Koyoshi) --stable-repo, Thu, 01 May 2008 20:40:24 -0700 reply

Thu May 1 20:39:08 PDT 2008 simon@joyful.com
* fix an unsafe use of page name which could break editform (#1376, Noboyuku Koyoshi)

applied to unstable: fix an unsafe use of page name which could break editform (#1376, Noboyuku Koyoshi) --unstable-repo, Thu, 01 May 2008 20:40:42 -0700 reply

Thu May 1 20:39:08 PDT 2008 simon@joyful.com
* fix an unsafe use of page name which could break editform (#1376, Noboyuku Koyoshi)

applied to stable: be more careful when mutating the parents property, to avoid inconsistencies (#1353, Willi Langenberger) --stable-repo, Thu, 01 May 2008 21:02:32 -0700 reply

Thu May 1 21:00:59 PDT 2008 simon@joyful.com
* be more careful when mutating the parents property, to avoid inconsistencies (#1353, Willi Langenberger)

applied to unstable: be more careful when mutating the parents property, to avoid inconsistencies (#1353, Willi Langenberger) --unstable-repo, Thu, 01 May 2008 21:02:45 -0700 reply

Thu May 1 21:00:59 PDT 2008 simon@joyful.com
* be more careful when mutating the parents property, to avoid inconsistencies (#1353, Willi Langenberger)

Way to go! --FrankLaurijssens?, Fri, 02 May 2008 00:39:12 -0700 reply

A lot of activity again! I'm sorry I can't chime in at the moment.

applied to unstable: preserve unicode when evaluating DTML (#1411) --unstable-repo, Fri, 02 May 2008 08:55:54 -0700 reply

Fri May 2 08:54:38 PDT 2008 Simon Michael <simon@joyful.com>
* preserve unicode when evaluating DTML (#1411)

applied to stable: provide x access key only when external edit is available --stable-repo, Fri, 02 May 2008 11:54:58 -0700 reply

Simon Michael <simon@joyful.com> Fri May 2 11:24:12 PDT 2008

applied to unstable: provide x access key only when external edit is available --unstable-repo, Fri, 02 May 2008 12:06:01 -0700 reply

provide x access key only when external edit is available

applied to unstable: resolve sendMailTo conflict --unstable-repo, Fri, 02 May 2008 13:07:18 -0700 reply

resolve sendMailTo conflict

applied to unstable: refactor sendMailTo --unstable-repo, Fri, 02 May 2008 13:07:21 -0700 reply

refactor sendMailTo

darcs patch: Upgrade SearchableText and Title if they are TextIndex... --betabug.darcs, Fri, 02 May 2008 13:34:31 -0700 reply

  • Upgrade SearchableText and Title if they are TextIndex based.

test --Simon Michael, Fri, 02 May 2008 15:00:10 -0700 reply

test

test 2 --Simon Michael, Fri, 02 May 2008 15:02:24 -0700 reply

test

test with attachment --Simon Michael, Fri, 02 May 2008 15:04:21 -0700 reply

text part

oops --simon, Fri, 02 May 2008 15:05:04 -0700 reply

Sorry, I keep forgetting to send those to TestPage?.

applied to unstable: drop the special handling of darcs patch mail-ins --unstable-repo, Fri, 02 May 2008 15:07:43 -0700 reply

drop the special handling of darcs patch mail-ins

applied to unstable: forward original mail-in messages to subscribers --unstable-repo, Fri, 02 May 2008 15:07:44 -0700 reply

forward original mail-in messages to subscribers

applied to unstable: make html_quote unicode-safe, make summary and excerptAt return unicode --unstable-repo, Fri, 02 May 2008 15:07:45 -0700 reply

make html_quote unicode-safe, make summary and excerptAt return unicode

applied to unstable: fix sendMailTo --unstable-repo, Fri, 02 May 2008 16:46:37 -0700 reply

fix sendMailTo

darcs patch: Upgrade SearchableText and Title if they... (and 2 more) --betabug.darcs, Sat, 03 May 2008 04:27:31 -0700 reply

  • Upgrade SearchableText and Title if they are TextIndex based.
  • Minimal test for upgrading TextIndex'es through !setupCatalog.
  • Extended index upgrade tests for !setupCatalog. Existing ZCTextIndexes (or anything non-TextIndex) will not be replaced. These might be there if someone set up a more advanced index than what we have by default. We're now testing for this condition. set up a different

darcs patch: Fixed the display of non-ascii search expressions sear... --betabug.darcs, Sat, 03 May 2008 04:29:20 -0700 reply

  • Fixed the display of non-ascii search expressions searchwiki.

Are we drowning out any discussion? --betabug, Sat, 03 May 2008 05:50:05 -0700 reply

Sometimes when looking at the latest deluge of patches (yay! patches!) I wonder if we're drowning out any discussion that might happen on this page? Not that there was so much discussion lately.

darcs patch: Functional tests: Anonymous edits, edits... (and 1 more) --betabug.darcs, Sat, 03 May 2008 12:06:23 -0700 reply

  • Functional tests: Anonymous edits, edits with options set only.
  • Another functional test: expungeEditsEverywhereBy.

Are we drowning out any discussion? --Frank Laurijssens, Sun, 04 May 2008 01:13:36 -0700 reply

Well, the inclusion of the patches themselves IMHO does make the thing a bit unreadable, which makes a good discussion somewhat difficult. Did anyone notice my post earlier this week?

Are we drowning out any discussion? --betabug, Sun, 04 May 2008 03:33:05 -0700 reply

The included patches currently are getting cleaned up manually - that's why they sometimes stick around for a short while. Yeah, I noticed your post :-)

darcs patch: Make createNextIssue and changeIssueProperties unicode... --betabug.darcs, Sun, 04 May 2008 05:12:24 -0700 reply

  • Make createNextIssue and changeIssueProperties unicode-safe. Did not do the same for createIssue, since comments mention this method is not used directly any more, instead it's called from createNextIssue.

Are we drowning out any discussion? --Simon Michael, Sun, 04 May 2008 10:22:12 -0700 reply

Frank, you read GeneralDiscussion? on the web, rather than by email ?

Sure I noticed your post - thanks!

Are we drowning out any discussion? --Frank Laurijssens, Sun, 04 May 2008 11:05:32 -0700 reply

No, by email and on the web. I did notice you're editing out the patches but that's because I'm an all-edits (and all-wiki) subscriber. Casual subscribers to GeneralDiscussion? get kilobytes of patches, to date there's no known way of editing those out :-)

And yes, I am glad development on Zwiki is catching up. I'm still in the process of rebuilding my home server, which is taking all the spare time I have at the moment. Virtualization is great except when your storage subsystem fails and your backups only contain the essential data. The good thing about this is that I needed to look into a couple of things anyway, so this is a good training experience and I'm glad I got a round tuit.

developer chat summary --simon, Sun, 04 May 2008 12:06:20 -0700 reply

Good morning.. Sascha and I just had one of our impromptu developer conferences on #zwiki. We chatted for about an hour, brainstorming priorities and the best ways to go forward.

Here are some topics and decisions that came up:

  • sm points to great motivating talks on software quality, collaboration, documentation: http://www.oopsla.org/oopsla2007/index.php?page=podcasts/ , David Parnas and Fred Brooks
  • sm really, really would like to have the best of both wiki pages and revision-controlled files, but needs to live with current darcs/wiki docs split for now. I think that means more sphinx (fs-based) docs, especially developer/testing oriented docs
  • brainstorming a future storage-agnostic static-html-generating easy-hosting componentised zwiki
  • betabug just wants to smoke out a lot of bugs and have a proper unicode-savvy zwiki. sm agrees with that goal as next step - a good bug-free unicode zwiki, that does the things we're familiar with
  • we agree on really easy filesystem-based skinning as a valuable thing to tackle after that
  • sm is looking for ways we can simplify to focus our energy on new stuff
  • stick with the plan of freezing utf branch after one more bugfix release, and focussing all energy on unicode branch
  • are we sure the unicode retrofitting can become trustably robust for all users with reasonable effort ? We think so. To get there, we need a clear specification document, comprehensive testing, and more code review. We should be ready to change zwiki design if necessary to make this easier.
  • no darcs 2 for osx ppc makes it hard for betabug to work on zwiki at the office
  • efficient discussion and patch review/submission processes remain a top priority

And some definite actions:

  • sm to keep streamlining patch submission process, eg finish mailin enhancement to deliver darcs patches without posting them on the wiki
  • sm to release a bugfixed utf as 0.61 - this needs me to put out remaining fires with plone 3.x support
  • betabug to focus on unicode testing
  • sm to move my latest unicode notes to a sphinx doc, which we should develop into a specification to guide testing and cleanup
  • sm and betabug to start doing joint code review sessions

Are we drowning out any discussion? --Simon Michael, Sun, 04 May 2008 12:26:32 -0700 reply

> No, by email and on the web. I did notice you're editing out the > patches but that's because I'm an all-edits (and all-wiki) > subscriber. Casual subscribers to GeneralDiscussion? get kilobytes of > patches, to date there's no known way of editing those out :-)

I see. Well the plan (the next step) as I see it is to have it keep delivering the full patch emails to subscribers, but strip out the code before posting to the wiki page. So yes, casual subscribers will still see the patches. Is that really a problem in a mailreader, where you can easily skip them ? Developers need to see the code for patch review, casual subscribers can benefit from seeing activity, and I feel the advantage of having a single discussion area for everyone is large (at the moment). If more of you have an opinion, please send it.

**applied to unstable: make displaysSubtopicsWithDtml regexp a little
smarter** --unstable-repo, Thu, 08 May 2008 16:12:25 -0700 reply

make displaysSubtopicsWithDtml regexp a little smarter

Simon Michael <simon@joyful.com>

**applied to unstable: add our proposed function/method contract
documentation guidelines to the style guide** --unstable-repo, Sat, 10 May 2008 11:57:56 -0700 reply

add our proposed function/method contract documentation guidelines to the style guide

Simon Michael <simon@joyful.com>

applied to unstable: docstring --unstable-repo, Sat, 10 May 2008 11:58:06 -0700 reply

docstring

Simon Michael <simon@joyful.com>

applied to unstable: some text change --unstable-repo, Sat, 10 May 2008 11:58:08 -0700 reply

some text change

Simon Michael <simon@joyful.com>

**applied to unstable: update the copyright message to reflect de facto
status.. I thought I did this long ago** --unstable-repo, Sat, 10 May 2008 11:58:10 -0700 reply

update the copyright message to reflect de facto status.. I thought I did this long ago

Simon Michael <simon@joyful.com>

applied to unstable: contract docs cleanups --unstable-repo, Sat, 10 May 2008 12:07:27 -0700 reply

contract docs cleanups

Simon Michael <simon@joyful.com>

clarifying state dependencies --Simon Michael, Sat, 10 May 2008 12:18:55 -0700 reply

A couple of days away from keyboard are good for thinking. After another productive chat with betabug this morning, I have added some new guidelines to the developer style guide, which I include here for your interest and critique.

Function/method contracts

We are considering ways to document function and method "contracts". Here's an example. We are most interested in

  • their input (argument) and output (return value) types

  • their degree of statefulness/statelessness. Are they

    • pure functions depending only on the arguments ?
    • well-behaved methods which depend on/modify only self ?
    • or do they depend on/modify other pages, the wiki folder, other things ?

Understanding statefulness in particular should help us to identify and gather together the most stateful code, reduce state dependencies, and increase the proportion of pure and semi-pure functional code, which will greatly aid testing, debugging and reliability.

Here is a possible convention for now: when you touch code, review the docstring and try to add a comment to the function definition describing (a) the return type(s), (b) state that it depends on other than the arguments, if any, and (c) state that it modifies other than the return value, if any. Even a rough guess at the state dependencies could be helpful. Here are some examples. The dependency on self for permission checking is omitted.:

def method(args) # -> return value type(s) [; depends on: ...] [; modifies: ...]

def htmlquote(self, text): # -> string

def asAgeString(self,time): # -> string | empty string ; depends on: self (for current time)

def excerptAt(self, expr, size=100, highlight=1, text=None):  # -> html string | empty string ; depends on: self (if no text provided)

def revisionNumberBefore(self, username): # -> revision number | none ; depends on: self, revisions

def handleSubtopicsProperty(self,subtopics,REQUEST=None): # -> none ; modifies: self

def expungeEditsEverywhereBy(self, username, REQUEST=None, batch=0): # -> none ; depends on: all pages, revisions ; modifies: all pages, revisions

def upgradeAll(self,render=1,batch=0,REQUEST=None): # -> none; depends on: wiki; modifies: wiki (folder, pages, dtml methods, catalog, outline, revisions..)

applied to unstable: begin adding method contract annotations --unstable-repo, Sat, 10 May 2008 12:45:03 -0700 reply

begin adding method contract annotations

Simon Michael <simon@joyful.com>

applied to unstable: more doc cleanups --unstable-repo, Sat, 10 May 2008 12:45:06 -0700 reply

more doc cleanups

Simon Michael <simon@joyful.com>

**applied to unstable: move the mailin external method to a normal page
method** --unstable-repo, Sat, 10 May 2008 20:02:32 -0700 reply

move the mailin external method to a normal page method Incoming mail should now be posted to SOMEPAGEURL/mailin. This means you need to know a valid page id in /etc/aliases (FrontPage? or ZWiki? are good choices), but removes one more configuration hassle.

**applied to unstable: =?utf-8?Q?initiali=7Ae?= mail mixin classes to
ensure permission enforcement.. still finding these =?utf-8?Q?=3F?=** --unstable-repo, Sat, 10 May 2008 20:02:53 -0700 reply

initialize mail mixin classes to ensure permission enforcement.. still finding these ?

**applied to unstable: dagnabbit.. fix double headers in mail-throughs
due to premature code** --unstable-repo, Sat, 10 May 2008 20:11:42 -0700 reply

dagnabbit.. fix double headers in mail-throughs due to premature code

applied to unstable: more contract documenting tips --unstable-repo, Sat, 10 May 2008 22:09:00 -0700 reply

more contract documenting tips

applied to unstable: document remaining Mail.py contracts --unstable-repo, Sat, 10 May 2008 22:09:12 -0700 reply

document remaining Mail.py contracts

applied to unstable: mailin refactoring, cleanup, contract documenting --unstable-repo, Sat, 10 May 2008 22:09:14 -0700 reply

mailin refactoring, cleanup, contract documenting

**applied to unstable: Upgrade SearchableText? and Title if they are
TextIndex? based.** --unstable-repo, Sun, 11 May 2008 11:54:10 -0700 reply

Upgrade SearchableText? and Title if they are TextIndex? based.

**applied to unstable: Minimal test for upgrading TextIndex?'es through
setupCatalog.** --unstable-repo, Sun, 11 May 2008 11:54:27 -0700 reply

Minimal test for upgrading TextIndex?'es through setupCatalog.

applied to unstable: Extended index upgrade tests for setupCatalog. --unstable-repo, Sun, 11 May 2008 11:54:30 -0700 reply

Extended index upgrade tests for setupCatalog. Existing ZCTextIndexes? (or anything non-TextIndex?) will not be replaced. These might be there if someone set up a more advanced index than what we have by default. We're now testing for this condition. set up a different

**applied to unstable: Functional tests: Anonymous edits,
edits with options set only.** --unstable-repo, Sun, 11 May 2008 12:32:50 -0700 reply

Functional tests: Anonymous edits, edits with options set only.

**applied to unstable: Another functional test:
expungeEditsEverywhereBy.** --unstable-repo, Sun, 11 May 2008 12:33:07 -0700 reply

Another functional test: expungeEditsEverywhereBy.

**applied to unstable: Make createNextIssue and changeIssueProperties
unicode-safe.** --unstable-repo, Sun, 11 May 2008 12:33:08 -0700 reply

Make createNextIssue and changeIssueProperties unicode-safe. Did not do the same for createIssue, since comments mention this method is not used directly any more, instead it's called from createNextIssue.

**applied to unstable: Fixed the display of non-ascii search
expressions searchwiki.** --unstable-repo, Sun, 11 May 2008 12:33:16 -0700 reply

Fixed the display of non-ascii search expressions searchwiki.

applied to unstable: drop the unused spam reporting mailin feature --unstable-repo, Sun, 11 May 2008 19:01:20 -0700 reply

drop the unused spam reporting mailin feature

applied to unstable: clean up mail code and tests --unstable-repo, Sun, 11 May 2008 19:01:21 -0700 reply

clean up mail code and tests

oops --simon, Sun, 11 May 2008 19:02:23 -0700 reply

Sorry for the resend of those last four notifications.. darcs pull --dry-run seems to trigger them. betabug I verified all your latest patches are in ZWiki-unstable.

great --Simon Michael, Sun, 11 May 2008 19:13:58 -0700 reply

PS, thanks for the unicode work and all the tests! These obviously help a lot.

**applied to stable: make displaysSubtopicsWithDtml regexp a little
smarter** --stable-repo, Sun, 11 May 2008 19:15:59 -0700 reply

make displaysSubtopicsWithDtml regexp a little smarter

darcs patch: 1171 - more than one double parenthesis link in the sa... --betabug.darcs, Wed, 14 May 2008 07:37:41 -0700 reply

Wed May 14 17:32:09 EEST 2008 betabug.darcs@betabug.ch
  • 1171 - more than one double parenthesis link in the same paragraph works now.
**applied to unstable: 1171 - more than one double parenthesis link in
the same paragraph works now.** --unstable-repo, Wed, 14 May 2008 12:12:33 -0700 reply

1171 - more than one double parenthesis link in the same paragraph works now.

applied to unstable: make fixperms fix the top directory also --unstable-repo, Wed, 14 May 2008 12:24:24 -0700 reply

make fixperms fix the top directory also

applied to stable: make fixperms fix the top directory also --stable-repo, Wed, 14 May 2008 12:30:19 -0700 reply

make fixperms fix the top directory also

darcs patch: 356 - the asterisk "*" is an allowed character in URLs?. --betabug.darcs, Thu, 15 May 2008 07:18:21 -0700 reply

Thu May 15 17:05:20 EEST 2008 betabug.darcs@betabug.ch
  • 356 - the asterisk "*" is an allowed character in URLs?.

darcs patch: 1361 - determine permissions on editform() at runtime. --betabug.darcs, Thu, 15 May 2008 07:19:23 -0700 reply

Thu May 15 16:34:03 EEST 2008 betabug.darcs@betabug.ch
  • 1361 - determine permissions on editform() at runtime.

The editform() form should be displayed also in the case that the user has "Add" rights on the wiki, but no "Edit" rights on the page he started from. (E.g. going through the "add" form on a restricted page, then clicking on the "Preview" button raised Unauthorized before this fix.)

darcs patch: 1414 - pre-line for "pre" blocks is not ... (and 1 more) --betabug.darcs, Fri, 16 May 2008 00:46:09 -0700 reply

Fri May 16 10:24:04 EEST 2008 betabug.darcs@betabug.ch
  • 1414 - pre-line for "pre" blocks is not what we want, it kills indentation.
Fri May 16 10:30:10 EEST 2008 betabug.darcs@betabug.ch
  • Fixed some minor incorrect css.
**applied to unstable: 1361 - determine permissions on editform() at
runtime.** --unstable-repo, Fri, 16 May 2008 07:23:17 -0700 reply

1361 - determine permissions on editform() at runtime. The editform() form should be displayed also in the case that the user has "Add" rights on the wiki, but no "Edit" rights on the page he started from. (E.g. going through the "add" form on a restricted page, then clicking on the "Preview" button raised Unauthorized before this fix.)

**applied to unstable: 356 - the asterisk "*" is an allowed character
in URLs?.** --unstable-repo, Fri, 16 May 2008 07:23:28 -0700 reply

356 - the asterisk "*" is an allowed character in URLs?.

applied to unstable: Fixed some minor incorrect css. --unstable-repo, Fri, 16 May 2008 07:23:30 -0700 reply

Fixed some minor incorrect css.

**applied to unstable: 1414 - pre-line for "pre" blocks is not what we
want, it kills indentation.** --unstable-repo, Fri, 16 May 2008 07:23:33 -0700 reply

1414 - pre-line for "pre" blocks is not what we want, it kills indentation.

applied to unstable: clean up test rules --unstable-repo, Sat, 17 May 2008 10:16:21 -0700 reply

clean up test rules

applied to unstable: more mail test cleanups --unstable-repo, Sat, 17 May 2008 10:16:40 -0700 reply

more mail test cleanups

applied to unstable: clean up test rules --Simon Michael, Sat, 17 May 2008 10:18:00 -0700 reply

Sascha, any idea why (with this latest makefile cleanup) make testmod_Functional or make testmod_Functional_test breaks ? It runs fine during make test.

applied to unstable: remove some old make rules --unstable-repo, Sat, 17 May 2008 11:05:25 -0700 reply

remove some old make rules

applied to unstable: move around some mail tests --unstable-repo, Sat, 17 May 2008 11:05:31 -0700 reply

move around some mail tests

**applied to unstable: make test_methodregexp no longer has to match
from the beginning** --unstable-repo, Sat, 17 May 2008 11:05:34 -0700 reply

make test_methodregexp no longer has to match from the beginning

**applied to unstable: slight stx tests cleanup and a failing test for
#1115** --unstable-repo, Sat, 17 May 2008 11:59:55 -0700 reply

slight stx tests cleanup and a failing test for #1115

applied to unstable: make docs --unstable-repo, Sat, 17 May 2008 12:00:03 -0700 reply

make docs

applied to unstable: style docs --unstable-repo, Sat, 17 May 2008 12:00:05 -0700 reply

style docs

applied to unstable: contract docs --unstable-repo, Sat, 17 May 2008 12:00:12 -0700 reply

contract docs

applied to unstable: rename and add a test for obfuscateEmailAddresses --unstable-repo, Sat, 17 May 2008 12:14:07 -0700 reply

rename and add a test for obfuscateEmailAddresses

darcs patch: 939 - suppress "e" accesskey in editform. --betabug.darcs, Sat, 17 May 2008 12:14:32 -0700 reply

Sat May 17 21:58:01 EEST 2008 betabug.darcs@betabug.ch
  • 939 - suppress "e" accesskey in editform.

applied to unstable: 939 - suppress "e" accesskey in editform. --unstable-repo, Sat, 17 May 2008 12:21:32 -0700 reply

939 - suppress "e" accesskey in editform.

darcsweb urls --Simon Michael, Sat, 17 May 2008 12:31:18 -0700 reply

The following guessable urls now take you to the darcsweb index:

http://zwiki.org/darcsweb http://joyful.com/darcsweb http://joyful.com/darcs

Markup hiding --frank, Sun, 18 May 2008 20:41:34 -0700 reply

I closed #1001, because I think that if we want to implement this properly, we might as well get rid of page types entirely. I mean, using RST, STX, HTML or any other type is just the preference of the user when editing a page. Why bother other users upon subsequents edits with the page type the creator of the page chose? IMHO, this is a Zope issue, not a Zwiki issue.

cia.vc --betabug, Fri, 30 May 2008 02:14:18 -0700 reply

A while back sm and me talked about getting cia.vc connected to zwiki DarcsRepos? again. Apparently the solution given from cia.vc is a kludge (you have to replace the darcs binary with a wrapper script). Today looking at the darcs page I noticed that perhaps it could be possible to use darcs-monitor for this? It's made to send out mails e.g. from a posthook, and judging from the readme, it lets you create a template.

applied to unstable: 517 - refactor updating backlinks. --unstable-repo, Sat, 31 May 2008 02:09:34 -0700 reply

517 - refactor updating backlinks. This will now do all kind of nice stuff, like respect the link style that the link on the page previously had. Added a bunch of tests too.

**applied to unstable: 517 - updating backlinks does not create links
out of plain text any more.** --unstable-repo, Sat, 31 May 2008 02:09:51 -0700 reply

517 - updating backlinks does not create links out of plain text any more. Problem existed when the canonical ID of the old page matched some plain text word (which happens only when the word in question is not a WikiWord?). We're now checking this condition. But there are other problems with this method: It does only bracket freeform links and replaces sometimes with bracket links what could be WikiLinks? - it will also not gracefully handle other styles of freeform links (double-bracket or double-parenthesis). A more thorough patch is in the works, this is here so there is a minimal working version to compare.

darcs patch: ZTinyMCE? integration and setup. --betabug.darcs, Thu, 12 Jun 2008 13:18:12 -0700 reply

Thu Jun 12 23:08:01 EEST 2008 betabug.darcs@betabug.ch
  • ZTinyMCE integration and setup.

When peterbe's ZTinyMCE product is installed and configured, pagetypes that "support Epoz" will pick up TinyMCE as their "Rich Text Editor" (which works rather well, even in Safari 3). There is also a AnyPage/setupTinyMCE method, which will set up the ZTinyMCE instances in the wiki folder, with a configuration that works (some configuration options have a problem with our standard error message).

Patch is currently in my repo.

**applied patch: make plone member email lookup more robust to fix
non-mail-out (#1400)** --ben jack, Sat, 21 Jun 2008 15:22:24 -0700 reply

...

Help displaying hierarchy --jmax, Thu, 03 Jul 2008 14:45:12 -0700 reply

I'm trying to insert the whole contents/hierarchy listing in a sidebar. And failing. The contentspage simply calls "options/hierarchy" but I'm unable to get this to work by calling it myself (I keep getting a keyerror for 'hierarchy'). What does "options" mean in this context, and where is the hierarchy rendering code anyway? Any help appreciated.

Help displaying hierarchy --Simon Michael, Thu, 03 Jul 2008 17:58:42 -0700 reply

John, I believe the contentspage method in View.py passes hierarchy as an argument to contentspage.pt, accessed via "options". Have a look there to see what it calls to render that. (I'm a bit off-net, getting a hard drive repaired.)

Help displaying hierarchy --betabug, Thu, 03 Jul 2008 22:17:19 -0700 reply

The relevant code is in OutlineSupport?.py, in the contents() method (which returns the contentspage() method sm mentioned). What later becomes "hierarchy" is set up as self.renderNesting(combos,here=here) there. But then, contents() goes some way to build up "combos", so you can't just leave it out I think. See if you can use context/contents in you Page Template.

**applied to unstable: add "make summary" rule to generate a code
overview** --unstable-repo, Thu, 10 Jul 2008 04:08:38 -0700 reply

add "make summary" rule to generate a code overview

applied to unstable: make summaryhtml --unstable-repo, Tue, 05 Aug 2008 17:06:07 -0700 reply

make summaryhtml

applied to unstable: update copyright date --unstable-repo, Tue, 05 Aug 2008 17:17:56 -0700 reply

update copyright date

po file not working --geon, Thu, 28 Aug 2008 10:07:49 -0700 reply

We put cs.po into directory i18n, restart zope, in conf there is lang cs, and still we do not see czech translations. What do we wrong? Thank you.

po file not working --geon, Mon, 01 Sep 2008 00:10:55 -0700 reply

Noone can help? Or this is not the best place where to ask such a questions? You know, we would like to make our web available even for those who can not speak english well enough .... I translated nearly all the terms and after we try it, it could append to official distribution of Zwiki.

po file not working --betabug, Tue, 02 Sep 2008 00:21:42 -0700 reply

Geon, sorry for the long delay. Do you get any error messages in the Zope error log or when you start Zope with ./zopectl fg? I'm myself not really familiar with the translation machinery (and sm seems to be busy right now), but I'll promise to have a look if you can put the traceback somewhere.

po file not working --geon, Tue, 02 Sep 2008 05:36:08 -0700 reply

http://geon.wz.cz/sharing/zwikilog1.log

site outage --simon, Fri, 05 Sep 2008 12:34:59 -0700 reply

I upgraded to ubuntu hardy this morning, and became so overconfident I forgot to check sites (!). All sites were down briefly, zwiki was down for longer since I had forgotten some config details. All should be back to normal now.

po file not working --Simon Michael, Fri, 05 Sep 2008 12:48:43 -0700 reply

Hi geon.. this is definitely the right place to ask (there's also #zwiki on irc.freenode.net). Your translation will be a welcome addition. Your log shows that PTS doesn't like the po file yet, you need to fix the things it's complaining about. Compare with one of the other templates to see what's needed.

site outage --Simon Michael, Fri, 05 Sep 2008 12:50:41 -0700 reply

PS, please report issues if you find them. I see darcsweb has broken.

bug in search? --Simon Michael, Fri, 05 Sep 2008 13:00:49 -0700 reply

This is probably the most frequent error we see, and it's a complex topic. I don't remember all the details but I will. Here are some tips:

0. search the release notes and i18n pages on zwiki.org for background info and how-tos

1. if you have a page containing non-UTF-8 characters, you should fix that. http://www.py.cz/FrontPage/fixEncoding or http://www.py.cz/FrontPage/upgradeAll

may take care of that for you. Watch the event log at BLATHER

priority if you want to know what it's doing.

2. the ZWiki?-unstable branch (http://zwiki.org/DarcsRepos) has native unicode support which may or work better for you. This is the way of the future, it's what zwiki.org uses so it's worth a try (on a copy of your wiki, in case it doesn't work out.) The release notes describe how to convert the wiki to unicode. You might need to reconfigure your zcatalog index as well.

Congratulations on your site by the way, it looks good. Nice to see some new Zwiki sites.

site outage --Simon Michael, Fri, 05 Sep 2008 13:01:19 -0700 reply

> PS, please report issues if you find them. I see darcsweb has broken.

Fixed.

tags for Python`s versions --geon, Wed, 17 Sep 2008 18:30:00 -0700 reply

Python 3000 is coming... On our web there are lots of code examples valid for 2.5. It is sure that new examples could be valid for either py25, py26 or py3000. You, with you wikis, might have the same trouble: how to nicely "tag" codes or even whole page that they are valid for relevant version of Python? As for me I would like to see something like: http://geon.wz.cz/sharing/tagsforwiki.png. Do you have any idea ho to make it? Do you have any other idea? Thank you

tags for Python`s versions --betabug, Thu, 18 Sep 2008 01:11:25 -0700 reply

Basically what you want to do is to put a "class" on the "literal block" (in !reStructuredText) or "pre" block (in html). Then you can use CSS to display the python version number accordingly. I don't know how to do this in RST though.

tags for Python`s versions --betabug, Thu, 18 Sep 2008 01:16:09 -0700 reply

The class attribute could likely do it. With something like:

.. class:: py25

::

  print "python example here"

Which would result in:

print "python example here"

tags for Python`s versions --geon, Thu, 18 Sep 2008 01:32:41 -0700 reply

Well I always thought that that css can only change colour, height, etc. and not add any text to source. If I am wrong, pls correct me. I have played around with Admonition and that could be the way.

tags for Python`s versions --betabug, Thu, 18 Sep 2008 01:53:20 -0700 reply

CSS can do much more than just change colour, height etc. for example it can display a background image - which probably is what you want to do to have things appear like in your example. In theory you could even add some text, but I think support in older browsers is a bit lacking.

tags for Python`s versions --geon, Thu, 18 Sep 2008 08:22:52 -0700 reply

Yes, that might be it, except for, that the image must be very transparent not to cover possible text. Anyway, all admonitions can all be one-liners except for admonition-and-by-the-way. Is it possible to make it one-liner too? It would perfectly fit to my case. I could just use .. admonition:: Python 3000, do a correct css, and that's all.

tags for Python`s versions --geon, Thu, 18 Sep 2008 11:55:34 -0700 reply

So finally there are two results, it might help someone:

1/ img on a background:

.. class:: py25

belonging css:

.py25 {
   background-image: url("py25.png");
   background-position: right top;
   background-repeat: no-repeat;}

disadvantage: sometimes there is a text over it

2/ admonition - div moved to the right

.. admonition:: Python

   3.0

belonging css:

div.admonition-python{
   background-color:#ffe8c4;
   margin-left: 1em;
   border: medium outset;
   text-align:center;
   padding: 1em;
   width:80px;
   float: right;
   clear: right;}

disadvantage: slightly more difficult, less intuitive. But the text perfectly floats around it.

**applied to unstable: expose renderText so I can format markups other
than stx from dtml** --unstable-repo, Fri, 17 Oct 2008 15:24:03 -0700 reply

expose renderText so I can format markups other than stx from dtml Ignore-this: 4b59ac88b550ae2651b291d9be6642cc

**applied to stable: expose renderText so I can format markups other
than stx from dtml** --stable-repo, Fri, 17 Oct 2008 15:26:08 -0700 reply

expose renderText so I can format markups other than stx from dtml Ignore-this: 4b59ac88b550ae2651b291d9be6642cc

applied to stable: release note --stable-repo, Fri, 24 Oct 2008 22:23:54 -0700 reply

release note Ignore-this: 8bb013316280cc661e6fcb36dd93a8e4

**applied to stable: update makefile checklists,
note new CHANGES.txt suffix** --stable-repo, Fri, 24 Oct 2008 22:24:28 -0700 reply

update makefile checklists, note new CHANGES.txt suffix Ignore-this: 4a383bf787ff099c4edc915c0af126a6

applied to stable: bump version to 0.61.0 --stable-repo, Fri, 24 Oct 2008 22:24:33 -0700 reply

bump version to 0.61.0 Ignore-this: b2f5a904942137847f157d7d1fc4a198

applied to stable: TAG release-0-61-0 --stable-repo, Fri, 24 Oct 2008 22:24:40 -0700 reply

TAG release-0-61-0 Ignore-this: 4c4198a23b7360760a16d8a9e43e2540

applied to stable: updating the pot file.. fingers crossed --stable-repo, Fri, 24 Oct 2008 22:25:33 -0700 reply

updating the pot file.. fingers crossed Ignore-this: c88a224320f8c16016e4170c35531f4b

applied to unstable: release note --unstable-repo, Fri, 24 Oct 2008 22:37:51 -0700 reply

release note Ignore-this: 8bb013316280cc661e6fcb36dd93a8e4

**applied to unstable: update makefile checklists,
note new CHANGES.txt suffix** --unstable-repo, Fri, 24 Oct 2008 22:37:55 -0700 reply

update makefile checklists, note new CHANGES.txt suffix Ignore-this: 4a383bf787ff099c4edc915c0af126a6

applied to unstable: updating the pot file.. fingers crossed --unstable-repo, Fri, 24 Oct 2008 22:37:59 -0700 reply

updating the pot file.. fingers crossed Ignore-this: c88a224320f8c16016e4170c35531f4b

applied to unstable: bump version to 0.61.0 --unstable-repo, Fri, 24 Oct 2008 22:38:02 -0700 reply

bump version to 0.61.0 Ignore-this: b2f5a904942137847f157d7d1fc4a198

0.61 released, new repos --Simon Michael, Fri, 24 Oct 2008 23:38:00 -0700 reply

Good morning all,

I have just released the stable branch as Zwiki 0.61, as part of catch- up and cleanup. You can see the release notes at http://zwiki.org/docs/CHANGES.html . This gets the Plone 3.x layout fix into the released version.

Also I have converted both stable and unstable repos to darcs-2 format. This means you now need darcs 2.x to talk to the zwiki.org repos. Also your local zwiki repos are now out of date and you must get a fresh copy from zwiki.org. Sorry about that, but it had to be done. See http://zwiki.org/DarcsRepos for darcs download link and the zwiki repo info.

Best, -Simon

ZWiki? 0.61 tarball fixed --Simon Michael, Tue, 28 Oct 2008 15:17:38 -0700 reply

tessier alerted me that http://zwiki.org/releases/ZWiki-0.61.0.tgz had bad paths in it - now fixed. I have finally acted on an old makefile todo and tarballs now contain exactly what you get by doing darcs get. Thanks!

FrontPage? cleaned up --simon, Thu, 11 Dec 2008 17:11:37 -0800 reply

A cleanup burst after a zwiki-related chat on irc.

I'll be in Ireland for two weeks. Happy holidays all!

FrontPage? cleaned up --FrankLaurijssens?, Fri, 12 Dec 2008 04:18:12 -0800 reply

Happy holidays, Simon! I noticed that on IE6, the sidebar is not really a sidebar, the main content starts below the sidebar.

FrontPage? cleaned up --FrankLaurijssens?, Fri, 12 Dec 2008 04:23:33 -0800 reply

Fixed by decreasing the main width from 80% to 77%. Does this have any unwanted side effects in other browsers?

sites back --Simon Michael, Fri, 02 Jan 2009 11:27:59 -0800 reply

On Jan 2, 2009, at 5:27 AM, Kent Tenney wrote: > IRC tells me you are on vacation, hope you're chillin' hard.

> Hate to bring you problems, but I'm curious about the status > of zwiki.org, is there an ETA for it's return?

Thanks Kent. All sites should be back now. I fixed an outage over christmas (apache consuming all memory), but maybe forgot to test zope sites ???! That's pretty poor sysadmin from me, my apologies all.

Vacation was terrific. I'm just back from San Francisco, Ireland and a meditation retreat here in California. Happy new year to all of us.

Test topic --Adriano Santoni, Sun, 25 Jan 2009 23:10:54 -0800 reply

Molto interessante...

Test topic --Adriano Santoni, Sun, 25 Jan 2009 23:11:44 -0800 reply

Non è vero, secondo me è noioso...

darcs send --vejeta, Wed, 28 Jan 2009 10:30:34 -0800 reply

Followed the steps in http://zwiki.org/DarcsRepos

I tried to do a darcs send:

darcs send
Creating patch to "http://zwiki.org/repos/ZWiki"...
Wed Jan 28 17:45:24 CET 2009  Myself <edited@edited.com>
  * rating_plone3_1_7.patch
  See open issue for a detailed report.
  http://zwiki.org/1425ErrorWhenRatingAWikiPageInPlone317
Shall I send this patch? (1/1)  [ynWsfvpxdaqjk], or ? for help: y
What is the target email address? zwiki@zwiki.org
Successfully sent patch bundle to: zwiki@zwiki.org.

Was this the right way? I didnt see it posted in GeneralDiscussion? page, after doing it.

darcs send --Simon Michael, Wed, 28 Jan 2009 14:26:53 -0800 reply

I think you did everything right, I don't know why the patch didn't appear on GD; nor why darcs won't accept the patch (which you re-sent directly to me). I'll fix these things and report back. Thanks for the patch!

some testimonials for home page ? --Simon Michael, Wed, 28 Jan 2009 14:59:54 -0800 reply

Marketing.. sure, why not. New Zwiki users are still showing up and a little more marketing wouldn't hurt.

I think some of us enjoy using Zwiki and I've thought about collecting some testimonials/quotes. I know when I see a project that has realistic testimonials from happy users, that really helps motivate me to try it out.

I don't have much sense of how large/active/plugged in to this page the Zwiki-using community is, but if you are reading this, are happy with the software and can write a short testimonial, please send it. Don't wait, just hit reply now! :)

Testimonials are like a micro-review, typically a short quote. (Longer reviews are of course welcome too!) They should come from your real experience with Zwiki, and be honest (negative reviews are also useful.) If I can collect enough positive ones, I'll start rotating them on the zwiki.org home page.

some testimonials for home page ? --Simon Michael, Wed, 28 Jan 2009 15:03:49 -0800 reply

On Jan 28, 2009, at 3:00 PM, Simon Michael wrote: > Testimonials are like a micro-review, typically a short quote. (Longer

PS include the name you'd like to appear with the quote; the strongest testimonials include a real full name and organization.

some testimonials for home page ? --jmax, Wed, 28 Jan 2009 15:18:51 -0800 reply

We've been using ZWiki? as our general purpose web platform for five years now; its brilliant blend of simplicity and malleability means we've been able to extend it in a whole bunch of directions: reference library, blogging platform, discussion forum, classroom support, writing environment, project tracker, and all-around web content management tool. We have redesigned our ZWiki?-based site from top-to-bottom four times in five years, and I remain convinced that ZWiki? is the most flexible and capable tool around. - John Maxwell, Canadian Centre for Studies in Publishing, SFU. http://thinkubator.ccsp.sfu.ca/AboutThinkubator

darcs send --Simon Michael, Wed, 28 Jan 2009 20:29:31 -0800 reply

Hi vejeta/zoperman, an update on this:

> I don't know why the patch didn't appear on GD

I haven't looked into this, but I know it wasn't working well (darcs patches made a mess of the wiki page) so I have changed the repo so darcs send forwards patches to me. I'll still use GeneralDiscussion? for discussing patches. http://zwiki.org/DarcsRepos has been updated.

> ; nor why darcs won't accept the patch

This seems to be a darcs bug, reported as http://bugs.darcs.net/issue1335

I was able to work around the above, but the patch still does not apply in the stable repo; it says there are conflicts, and if I try to darcs apply --mark-conflicts darcs gives different error. Looks like another darcs bug or something wrong with the repo. Could you try doing a darcs pull in your repo to make sure you have the latest, and then do "darcs send" again.

Next, a little patch review: I see you've added the uid keyword argument to the catalog_object call in rating.py. I expect this was needed for your version of Plone (what version do you have ?) Do you know if this will work with other Plone versions ? Zwiki 0.61 is supposed to work with all versions of Plone 3, and I think Plone 2.5. It would be good to hear the code was tested with these versions, or that you researched a bit and think the risk is low.

This is a lot of work for a one-line fix, so if it's too much hassle don't worry about it. Your patch may also be highlighting some changes we need to make in the process, which is also valuable.

some testimonials for home page ? --betabug, Wed, 28 Jan 2009 22:00:32 -0800 reply

One of my cool experiences with Zwiki: I created a site for my father and I almost never have support questions from him - he's just updating that site all on his own. He'll be 65 now - not stone old, but still no web hip youngster any more.

darcs send --Juan M. Mendez, Thu, 29 Jan 2009 05:30:07 -0800 reply

2009/1/29 Simon Michael <zwiki@zwiki.org>: > Hi vejeta/zoperman, an update on this: > >> I don't know why the patch didn't appear on GD > Could you try > doing a darcs pull in your repo to make sure you have the latest, and > then do "darcs send" again.

I did

$ darcs pull

Pulling from "http://zwiki.org/repos/ZWiki"... Thu Jan 29 04:08:55 CET 2009 Simon Michael <simon@joyful.com>

tagged release-0-61-0

Shall I pull this patch? (1/1) [ynWvpxdaqjk]?, or ? for help: y Finished pulling and applying.

$ darcs send --to=simon@joyful.com"

Creating patch to "http://zwiki.org/repos/ZWiki"... Wed Jan 28 17:45:24 CET 2009 Juan M. Méndez <vejeta@gmail.com>

  • rating_plone3_1_7.patch

See open issue for a detailed report. http://zwiki.org/1425ErrorWhenRatingAWikiPageInPlone317

Shall I send this patch? (1/1) [ynWsfvpxdaqjk]?, or ? for help: y Successfully sent patch bundle to: simon@joyful.com.

> Zwiki 0.61 is > supposed to work with all versions of Plone 3, and I think Plone 2.5. > It would be good to hear the code was tested with these versions, or > that you researched a bit and think the risk is low.

I have tested it with Zope2.10 and Plone 3.1.7. I've created an instance in my dev machine and downloaded Plone 2.5.3. As soon as I finish the setup, I'll report what I got.

> This is a lot of work for a one-line fix, so if it's too much hassle > don't worry about it. Your patch may also be highlighting some changes > we need to make in the process, which is also valuable.

I'm glad to collaborate, the least I could do for having Zwiki, Zope and Plone.

darcs send --Simon Michael, Thu, 29 Jan 2009 10:04:46 -0800 reply

FYI, that one was better - no conflicts. I recorded the 0-61-0 tag yesterday since the old tag had a problem, I guess you needed that.

announcing new repos, Zwiki 1 and 2 --simon, Fri, 30 Jan 2009 01:33:38 -0800 reply

I have repurposed the Zwiki stable and unstable repos and updated FrontPage? and DarcsRepos?. We now have

  • http://zwiki.org/repos/ZWiki1 <- the classic 0.x branch, formerly stable branch, which I dub "Zwiki 1". This is hereby mothballed unless there is some strong reason for another release in this line.
  • http://zwiki.org/repos/ZWiki <- the new main line of Zwiki development, formerly unstable branch, to be known henceforth as "Zwiki 2". This is the unicode-inside, cleaned-up-skins code, and this is where we will focus our effort going forward. Developers, please get this repo (or use your existing unstable repo, but use this new url).

I hope this will simplify things and help us create some more cool stuff!

drop some page types from Zwiki 2 ? --Simon Michael, Tue, 03 Feb 2009 16:29:15 -0800 reply

How about dropping the moin page type from Zwiki 2 ?

I ask because I've just partially fixed unicode-related bugs in the old moin code we ship with, but I know there are more in there.

The moin support was sponsored by Canonical in the days when they were switching from moin to zwiki, I think. However I don't think it's used by anyone nowadays. Also I don't think it helps people migrating between the two wiki engines all that much. It does allow you to merge moin content into a zwiki and convert the pages gradually by hand. But it doesn't help with the actual markup conversion. And our moin markup is probably not a desirable everyday markup, as it's not 100% like MoinMoin? (no macros), it lags behind rst/stx in terms of Zwiki support, and it's less intuitive for users than those two imho. So I suggest we drop it from Zwiki 2 to free up time for other parts of the code.

Ditto for the wwml page type - I suggest we drop this one too, simply because no zwiki users use it.

Comments ? If you really need either of these page types, this is your chance to make your case.

drop some page types from Zwiki 2 ? --Simon Michael, Tue, 03 Feb 2009 16:40:00 -0800 reply

Continuing down this path, I guess I would propose to drop the LaTeX?- and MathAction?-supporting page types also, because they are not used enough to justify spending maintenance cycles on them, and LaTeX? at least is better served by other wiki engines now.

..well, I guess there is one big user still, the Axiom project (http://axiom-wiki.newsynthesis.org ). But they can still run Zwiki 1, and if interested can maintain MathAction? as a contributed plugin again for Zwiki 2.

So where previously I bundled some plugins, to maintain them better and provide those features for all, I now seem to be advocating unbundling them, to focus core developers' efforts on things which serve the most users.

posted on slashdot --Simon Michael, Thu, 19 Feb 2009 15:49:40 -0800 reply

FYI, I've just posted to How Do You Document Technical Procedures ? (http://ask.slashdot.org/article.pl?sid=09/02/19/1631231 ) on Slashdot, pushing Zwiki and FreeHosting?. Surprisingly few wiki advocates have appeared there, at least in the high-rated replies I read.

My comment is http://ask.slashdot.org/comments.pl?sid=1133925&cid=26923577 , feel free to add your thoughts or mod up!

frontpage --frank, Sat, 28 Feb 2009 13:53:48 -0800 reply

Hi Simon, you've been quite active lately... keep up the good work!

With all the changes I wanted to make one remark, FrontPage? doesn't show correctly in any version of Internet Explorer I've tried, not IE6, IE7, or IE8 (with or without compatibility mode. I tried http://browsershots.org to find out the differences between browsers but it chokes on zwiki.org's robots.txt.

frontpage --Simon Michael, Sun, 01 Mar 2009 09:58:31 -0800 reply

Thanks for the encouragement Frank! Good to know it's apparent.

> With all the changes I wanted to make one remark, FrontPage? doesn't > show correctly in any version of Internet Explorer I've tried, not > IE6, IE7, or IE8 (with or without compatibility mode. I tried http://browsershots.org > to find out the differences between browsers but it chokes on > zwiki.org's robots.txt.

Hmm, very good to be aware of. The list of fix and polish issues is growing long! All help welcome. browsershots.org looks really handy.

robots.txt was permitting only google and internet archive for a long time - a clumsy solution to load problems caused by rude bots. Microsoft has been periodically asking me to open up robots.txt for them. I've gone ahead and opened it up to all, we'll see what happens.

Re: zope/plone article --Simon Michael, Sun, 01 Mar 2009 10:25:16 -0800 reply

Hi Niall.. thanks for the feedback, it is useful. I'll take this to zwiki.org if you don't mind.

> I'd personally absolutely love if the page URL showed the ZWiki? page > hierarchy. Much more SEO friendly in particular.

Ah, that's how most sites do it but I really dislike it (overall). It becomes much less attractive to rearrange your hierarchy, because your links break. And it's much harder to remember and guess urls for pages. Why are deep urls more SEO friendly ?

> No way ZWiki? could tag which bits are comments and automatically > separate comments from content when asked?

It knows internally - try SomePage?/documentPart and SomePage?/ discussionPart. What's the problem you're having ? If you'd like to have a skin or skin option that displays the comments part differently, eg makes them collapsible, I agree. They do have their own css style class/id I believe. Note you can also disable commenting (deny Zwiki: add comments permission). Or with some skin tweaks you can enable commenting only on *Talk pages, and provide a standard link to those (mediawiki-style).

>>> in particular in my case my restructured
>>> text won't let me insert raw html for some odd reason.
>>
>> http://zwiki.org/1342 discusses this. Summary: get the latest Zwiki 2
>> from darcs and set the rst_raw_enabled folder property to true to get
>> it working.
>
> You solved my problem there - thank you. I had thought I was going
> mad.
>
> I'll tell you why I wanted the dtml ... I am trying to create a master
> include page which defines a long list of external links to sites
> all over
> the internet. I then want to include that master include page into
> each and
> every Zwiki page such that they can then refer to the links without
> having
> to define them in each and every page. My intent is that updating
> masterinclude therefore updates all Zwiki links at once.
>
> This is effectively http://zwiki.org/IncludeOrTransclude. I had
> originally
> hoped that restructured text's include:: directive would work but
> unfortunately it has been disabled. I then got the dtml working via
> <dtml-
> var "include('Masterinclude')">, but unfortunately this appears to
> run the
> REST processor per included file and therefore the links don't
> transfer.
>
> Is there any way for me to accomplish what I want?

For sure. You can call any of Zwiki's public methods, so eg dtml-var "pageWithName('Masterinclude').read()" would get just the text without any formatting or wiki-linking. But maybe http://zwiki.org/RemoteWikiLinks will do what you want ?

store revisions with each page ? --Simon Michael, Sun, 01 Mar 2009 12:17:44 -0800 reply

Willi Langenberger wrote: > I'm thinking about versioning. Making a ZWikiPage? folderish and store > the versions in it. BTW, Silva does it that way and i like it ;-)

Anyone else got arguments for or against this ? Currently all revisions are stored in the revisions/ subfolder. Advantages of this: you can easily see how many have built up, and clean out, in one place. Advantages of storing within the (folderish) pages: moving a page to another wiki would preserve its history, deleting a page would automatically delete the history, maybe saving page renames in the history would be easier to implement..

ZWikiPage? Folderish +1 --jmax, Sun, 01 Mar 2009 13:41:53 -0800 reply

YES PLEASE! This would make ZWiki? hugely more valuable as a general purpose CMS -- imagine storing attachments, revisions, etc locally to a page object, rather than out in the open namespace. This is my #1 feature request for ZWiki?. BTW, my #2 request, making comments more OO-like, could be solved by this same thing: make comments children of (or contained by) the page. Two birds, one stone.

ZWikiPage? Folderish +1 --Simon Michael, Mon, 02 Mar 2009 08:12:39 -0800 reply

jmax - thanks, strong approval noted!

> CMS -- imagine storing attachments, revisions, etc locally to a page > object, rather than out in the open namespace.

  • revisions aren't in the open namespace

  • I did imagine storing attachments/uploads inside the page object. I asked myself, how often do you need to upload two attachments with the same name ? Conversely, how often might you want to link to the same attachment from two or more pages ? Would you want to have to remember the "owner" page to make such a link ? Would you want those file/image links to break when the owner page is renamed or deleted ? (or require adding more special logic to fix up that case ?) Wouldn't you want to be able to quickly see all files/images in your wiki by going to folder contents and sorting by type ? Or if you chose, organise them into logical folders ("images/", "css/") ? Or be able to upload your static website's file tree into zwiki and have it just work ?

    Don't think I'm ruling it out, not at all, but I would like to see some convincing arguments.

ZWikiPage? Folderish +2 --FrankLaurijssens?, Mon, 02 Mar 2009 12:49:51 -0800 reply

But you already knew that, didn't you?

  • It would be ideal to create subpages, like the tabs you have on a MediaWiki? wiki.
  • If you have lots of images referenced throughout the wiki you'd still have the choice to put them in an images folder (or even an images page, although that would take a loooong time to load) or leave it the way it is now.
  • having special subpages/subfolders like css could be quite powerful, especially if they can be inherited from somewhere

ZWikiPage? Folderish +2 --Simon Michael, Mon, 02 Mar 2009 13:14:41 -0800 reply

On Mar 2, 2009, at 12:50 PM, FrankLaurijssens? wrote: > +2 But you already knew that, didn't you?

No, I have forgotten who likes what. It's like starting over. :)

> * It would be ideal to create subpages, like the tabs you have on a > MediaWiki? wiki.

Why ? (If I'm being dense, don't hesitate to spell it out as if for a child. :)

> * If you have lots of images referenced throughout the wiki you'd > still have the choice to put them in an images folder (or even an > images page, although that would take a loooong time to load) or > leave it the way it is now.

You're right that storing files per-page doesn't mean we can't still allow storing them in the folder. This is not an argument for doing it though.

> * having special subpages/subfolders like images or could be quite > powerful, especially if they can be inherited from somewhere

Perhaps, perhaps, but we need an example or two otherwise I invoke http://c2.com/cgi/wiki?YouArentGonnaNeedIt .

For clarity let me just note this thread (about storing file attachments under pages, which I'm not convinced about yet) is orthogonal to the original post (about storing revisions under pages, which I am leaning towards though Willi hasn't argued it yet).

ZWikiPage? Folderish +2 --jmax, Mon, 02 Mar 2009 14:27:19 -0800 reply

I would like to see revision tracking on attachments... not necessarily revisions themseves, but a history of attachment changes. Does that help tie the two issues together?

Here's the scenario: Say a particular page talks about a particular image. It makes sense for the image to have a strong tie to the page (that is, not like a site-wide logo). Furthermore, if the image (which is a constituent piece of the page content) changes -- it gets updated or re-uploaded -- it would be great if the page were aware of that.

You asked:

how often do you need to upload two attachments with the same name ? Conversely, how often might you want to link to the same attachment from two or more pages ?

Same image on two pages? Never, in my experience.

But the naming issue is to my mind part of the whole global-namespace issue (the wiki double-edged sword). Having attachments, sub-pages, etc. in a local context would be great. We often run lots of sub-projects within a wiki; namespace collisions do occur.

Would you want those file/image links to break when the owner page is renamed or deleted ?

I think the advantages of locality outweigh this. I'm more interested in having the image local to the page, not just for referencing, but for tracking, etc.

Wouldn't you want to be able to quickly see all files/images in your wiki by going to folder contents and sorting by type ? Or if you chose, organise them into logical folders ("images/", "css/") ? Or be able to upload your static website's file tree into zwiki and have it just work ?

Personally, I haven't wanted to do any of these things in 5 years of using ZWiki?.

Your appeal to WikiWikiWeb:YouArentGonnaNeedIt is a good one. I'm always thinking of ways to stretch ZWiki? into heavier CMS duties. Folderish objects are definitely on the right path there. But at the expense of simplicity.

ZWikiPage? Folderish +2 --betabug, Tue, 03 Mar 2009 00:42:12 -0800 reply

jmax wrote:

> Same image on two pages? Never, in my experience

Click on any image in the wikipedia, scroll down to the bottom of the page, look at the list under "File links" (e.g. on http://en.wikipedia.org/wiki/File:Vithoba_Gutenberg.jpg - random example from the wikipedia start page). Even when we exclude all the links from user pages, there are quite often multiple uses of the same image.

ZWikiPage? Folderish --betabug, Tue, 03 Mar 2009 00:54:17 -0800 reply

That "multiple uses of images" issue aside, I do think folderish ZWikiPages? would be useful. Same as Simon I had thought about storing revisions in there. It would probably make pruning of old revisions more complicated, but apart from that, revision handling would become cleaner and more logical.

Storing "page attachments" or images could be handled inside the folderish page or centrally - the downside is as already mentioned the added complexity.

I think storing sub-pages in there is only a good idea if those are strictly limited uses - I'm not even sure if I'd want discussion pages handled that way. Having the page hierarchy reflected in folderish parent pages and "child pages stored inside" - I think that one is an idea that clearly breaks the clean wiki approach.

Personally for image storing in my wikis, I use a simple image uploader / management object that I wrote myself. Those images are stored centrally, they can be commented on and they offer the ReST? image links ready for copy and pasting. Hmm, I really should publish that code.

So, summarizing my oppinion: I'm in favor of folderish ZWikiPage? for revision storing, maybe for image storing in some cases, but clearly not for using it to build page hierarchies.

Re: zope/plone article --Niall Douglas, Tue, 03 Mar 2009 01:44:58 -0800 reply

It would appear that it ignores replies unless subscribed ...

------- Forwarded message follows ------- From: Niall Douglas <s_sourceforge@nedprod.com> To: zwiki@zwiki.org Subject: Re: [GeneralDiscussion]? Re: zope/plone article Date sent: Mon, 02 Mar 2009 14:07:07 -0000

On 1 Mar 2009 at 10:25, Simon Michael wrote:

> Hi Niall.. thanks for the feedback, it is useful. I'll take this to > zwiki.org if you don't mind.

If you could use the s_sourceforge@ email when on public discussions that would be great. The niall@ is for non public use only (to avoid spam).

> > I'd personally absolutely love if the page URL showed the ZWiki? page > > hierarchy. Much more SEO friendly in particular. > > Ah, that's how most sites do it but I really dislike it (overall). It > becomes much less attractive to rearrange your hierarchy, because your > links break. And it's much harder to remember and guess urls for > pages. Why are deep urls more SEO friendly ?

One of the big reasons that I like Plone is that it displays a reasonable full page URL rather than a "?Content=1964" or whatever. I know it's a matter of personal taste, but when you move content within a hierarchy you want the link to break to indicate the new hierarchy. That's what 301 response codes are for - to indicate permanently moved content.

My preference isn't so much of an issue on a Zwiki-only site but rather when running from within Plone - one has a clearly obvious Plone hierarchy in the navigation pane and Plone follows a hierarchy so one is used to it. There is a lot going on in the default Plone view and I find that the Zwiki hierarchy information gets "lost" within all the detail. Therefore, I find myself glancing at the URL hoping for some clues and not a lot is to be found.

> > I'll tell you why I wanted the dtml ... I am trying to create a master > > include page which defines a long list of external links to sites > > all over > > the internet. I then want to include that master include page into > > each and > > every Zwiki page such that they can then refer to the links without > > having > > to define them in each and every page. My intent is that updating > > masterinclude therefore updates all Zwiki links at once. > > > > This is effectively http://zwiki.org/IncludeOrTransclude. I had > > originally > > hoped that restructured text's include:: directive would work but > > unfortunately it has been disabled. I then got the dtml working via > > <dtml- > > var "include('Masterinclude')">, but unfortunately this appears to > > run the > > REST processor per included file and therefore the links don't > > transfer. > > > > Is there any way for me to accomplish what I want? > > For sure. You can call any of Zwiki's public methods, so eg dtml-var > "pageWithName('Masterinclude').read()" would get just the text without > any formatting or wiki-linking. But maybe http://zwiki.org/RemoteWikiLinks > will do what you want ?

No, I find RemoteWikiLinks? ugly because they require a prefix before every remote wiki link. I tried embedding the remotewikilink into a RST link but they aren't parsed.

I have been ploughing through the Zwiki source and page rendition certainly looks convoluted (mostly due to Plone from what I gather). /portal_skins/zwiki/content.pt seems to invoke <div tal:replace="structure python:here.talsafe(options['body']?)"> which as far as I can tell instructs Plone to go fetch the body of the page via main_template.

This eventually ends back up in ZWikiPage?.__call__() which calls self.preRender() which does:

def preRender(self, page, text=None):
t = text or (page.document()+'n'+MIDSECTIONMARKER+
self.preRenderMessages(page))

t = page.applyWikiLinkLineEscapesIn(t) t = self.format(t) t = page.markLinksIn(t,urls=0) t = self.protectEmailAddresses(page,t) return t

AFAICS, dtml is passed through untouched into the prerender output and is then executed separately i.e. AFTER the PageTypeRst? processing stage. Therefore, if I include one RST file into another via dtml, they are processed separately and therefore links in one cannot be used by the

other.

Given this, the only way I can see round the problem is to have every page have no content except for a dtml directive which then glues together the RST text from another two separate pages and spits out its rendition. This obviously isn't ideal, yet I can't see much option without modifying the source code?

Is there any way to hook oneself into the prerender stage e.g. overload the

PageTypeRst?.format() method?

One simple and easy solution is to hack in a RST options file_insertion_enabled=True somehow. I think though that RST inclusions would then use the filesystem rather than the ZODB yes? That actually

doesn't bother me - how would I insert this change from the ZMI/DTML rather

than modifying source?

Thanks in advance, Niall

------- End of forwarded message -------

Re: zope/plone article --Simon Michael, Tue, 03 Mar 2009 07:55:36 -0800 reply

Morning..

> It would appear that it ignores replies unless subscribed ...

Correct! Sorry, it should return a bounce in this case. That's been on the todo list forever. (On the other hand, zwiki.org now handles many incoming spams per minute, so maybe silently dropping unknown mailins is best in the long run, like qmail..)

>>> I'd personally absolutely love if the page URL showed the ZWiki page
>>> hierarchy. Much more SEO friendly in particular.

I still don't get the SEO argument, but I see you are finding Zwiki's page hierarchy mixed with plone's to be awkward, and I quite agree with that. Two different models jammed together, and each one alone already has enough to deal with; it's bound to be somewhat confusing. I believe this is in the issue tracker, new ideas would be useful there. The simplest thing is to hide and not use zwiki page hierarchy when in plone, ie just be a classic flat wiki by default. A lot of zwiki in plone users do seem to use zwiki page hierarchy though.

> I have been ploughing through the Zwiki source and page rendition > certainly looks convoluted

You're right! Most folks don't trace through the whole process. The skins are a little contorted to achieve goals like: automatically using the plone skin when in plone; providing a simple consistent namespace for skin scripters; being able to customise anything with zodb or filesystem or built-in templates; and being as "live" as possible, ie reacting to template changes immediately at least in debug mode. These three goals were reached but the templates and styles need more cleanup and clarification. I'm working on that slowly.

> AFAICS, dtml is passed through untouched into the prerender output > and is then executed separately i.e. AFTER the PageTypeRst? > processing > stage.

Correct. There are two rendering stages for a zwiki page. Pre- rendering is done when saving an edit. We do as much of the work here as possible. Final rendering is done on each page view; the most dynamic things (resolving wiki links, evaluating DTML) are done here.

Sorry, I ran out of time here. I'll try answer the rest later. I'm sure whatever it is can be done, it's just a matter of finding the right methods in ZWikiPage?.py or rst.py.

Re: zope/plone article --Simon Michael, Tue, 03 Mar 2009 08:51:07 -0800 reply

Well I'm not clear on what you're doing, but I'll make a guess: dtml-var "wikilink(ThePage?.read())" ?

Re: zope/plone article --Niall Douglas, Thu, 05 Mar 2009 06:27:52 -0800 reply

On 3 Mar 2009 at 8:51, Simon Michael wrote:

> Well I'm not clear on what you're doing, but I'll make a guess: dtml-var > "wikilink(ThePage?.read())" ?

Do you mean by this that I replace portal_skins/zwiki/content.pt like this:

<div metal:define-macro="content" class="content">
<div tal:content="structure python:here.talsafe(
here.wikilink(pageWithName('Masterinclude').read()+here.read()))">

content goes here..

</div> <!-- <div tal:replace="structure

python:here.talsafe(options['body']?)">
main text, subtopics links, comments

</div> --> <a name="bottom"></a> <br /> <div metal:use-macro="here/macros/commentform" />

</div>

I'll try giving this a go when I next get access to my website for a while.

Niall

Re: zope/plone article --Niall Douglas, Thu, 05 Mar 2009 06:58:40 -0800 reply

This is actually working code for content.pt, but it seems awfully brute force (i.e. slow, CPU intensive and inefficient):

<div metal:define-macro="content" class="content">
<div tal:replace="structure

python:here.talsafe(here.renderText(here.pageWithName('Masterinclude') .read()+'nn'+here.read(),

here.pageTypeId(),REQUEST=request,RESPONSE=request.RESPONSE))">
content goes here..

</div> <!-- <div tal:replace="structure

python:here.talsafe(options['body']?)">
main text, subtopics links, comments

</div> --> <a name="bottom"></a> <br /> <div metal:use-macro="here/macros/commentform" />

</div>

Is there not surely a much better way of implementing this?

Cheers, Niall

On 5 Mar 2009 at 6:28, Niall Douglas wrote:

> On 3 Mar 2009 at 8:51, Simon Michael wrote: > > > Well I'm not clear on what you're doing, but I'll make a guess: dtml-var > > "wikilink(ThePage?.read())" ? > > Do you mean by this that I replace portal_skins/zwiki/content.pt like > this: > > <div metal:define-macro="content" class="content"> > <div tal:content="structure python:here.talsafe( > here.wikilink(pageWithName('Masterinclude').read()+here.read()))"> > content goes here.. > </div> > <!-- <div tal:replace="structure > python:here.talsafe(options['body']?)"> > main text, subtopics links, comments > </div> --> > <a name="bottom"></a> > <br /> > <div metal:use-macro="here/macros/commentform" /> > </div> > > I'll try giving this a go when I next get access to my website for a > while. > > Niall > > > -- > forwarded from http://zwiki.org/GeneralDiscussion#msg49AFE165.25316.46AFDC0@s_sourceforge.nedprod.com

Re: zope/plone article --Simon Michael, Thu, 05 Mar 2009 09:26:42 -0800 reply

Yow.. well if it works, great. :)

Can you describe briefly the end goal again ?

Re: zope/plone article --Niall Douglas, Fri, 06 Mar 2009 06:24:30 -0800 reply

On 5 Mar 2009 at 9:27, Simon Michael wrote:

> Yow.. well if it works, great. :) > > Can you describe briefly the end goal again ?

Yes. The masterinclude file defines a set of links in RST format. All other files in the wiki then use those links without having to define them individually. Now to update the links one simply changes masterinclude and the rest of the wiki updates itself.

I'm kinda surprised this isn't standard functionality in wikis but no matter.

I've been doing some performance and speed tests with my brute force master inclusion system which of course completely bypasses the zwiki prerendering system. I thought I should report my results ...

I am running zwiki on plone but behind a CacheFu? controlled "varnish" reverse proxy - varnish is very seriously impressive and as I mentioned in my "Setting up Plone on a low end VPS" guide, my piddling 256Mb RAM VPS can handle being slashdotted (>1000 concurrent requests) with varnish running despite it using around 400Mb of RAM (192Mb of swap!)

To make use of varnish, you need a minimum of conditional HTTP working. I turned on conditional HTTP gets - the zwiki code reports the datestamp for the page which is to be expected, but this ignores the masterinclude. I can't see any way of overriding this date in the zwiki source - would adding this facility be a good idea as who knows what templates may do with rendering zwiki pages? If they had a publicly available method to call it would be useful.

BTW, you say that conditional GET doesn't work with Firefox so you're getting stale content during edits - but you're not sending "Cache- Control: must-revalidate" like you must if you want Firefox to always ask if cached items have been updated. Firefox is standards correct here, IE and others are broken: if you return a Last-Modified, the browser can not bother requesting anything at all ever again until its own cache expires.

In fact, if you want to be really sure you have the conditional GET correct, this is the fairly standard form:

Cache-Control: max-age=86400, s-maxage=86400, public, must- revalidate, proxy-revalidate

This sets a maximum age of one day in the cache plus forces a 304 check for the item each and every time. This will solve your "edits in Firefox" problem and you can probably turn on conditional GET by default now.

It also solves my masterinclude problem because when I update masterinclude, the page cache will always be refreshed once a day.

Cheers, Niall

Re: zope/plone article --Simon Michael, Fri, 06 Mar 2009 08:07:23 -0800 reply

Morning Niall,

I'm glad you're digging into this. First, fyi generally Zwiki's philosophy is to "just work" for the mainstream 80% of uses, and not prevent further customisation but not fill up the codebase and development time with it either. Now -

The caching investigation is very much appreciated, I assume you're referring to some issue page or other. It's over my head just now and not causing me problems in daily zwiki usage so I'll have to say "patches welcome".

> Yes. The masterinclude file defines a set of links in RST format. All > other files in the wiki then use those links without having to define > them individually. Now to update the links one simply changes > masterinclude and the rest of the wiki updates itself.

I see, thanks. I guess this might be important if your wiki has a lot of outgoing links to the same site(s). This is exactly what RemoteWikiLinks? are for. I think you don't like those because the definitions are not gathered on page, and because you don't like the linking syntax (you must have come up with something equivalent though ?)

FWIW, in the past I found RemoteWikiLinks? weren't worth the bother, because it was one more non-standard linking scheme for people to learn and it obscured where the link really went - ordinary bare urls or manual hyperlinks were clearer.

If you're into RST, maybe another option is to have the format method in rst.py append the contents of the masterinclude page before RST rendering. And on that page, define the link targets, RST footnote- style. This forces you to define each individual url though, not just a base url like RemoteWikiLinks?. So probably not worth it.

> I am running zwiki on plone but behind a CacheFu? controlled "varnish" > reverse proxy - varnish is very seriously impressive and as I > mentioned in my "Setting up Plone on a low end VPS" guide, my > piddling 256Mb RAM VPS can handle being slashdotted (>1000 concurrent > requests) with varnish running despite it using around 400Mb of RAM > (192Mb of swap!)

Yes it was good to see your detailed numbers in your write-up.

> To make use of varnish, you need a minimum of conditional HTTP > working. I turned on conditional HTTP gets - the zwiki code reports > the datestamp for the page which is to be expected, but this ignores > the masterinclude. I can't see any way of overriding this date in the > zwiki source - would adding this facility be a good idea as who knows > what templates may do with rendering zwiki pages? If they had a > publicly available method to call it would be useful.

Yes that might be worthwhile. Though it's a bit of a small niche right now.

Re: zope/plone article --Niall Douglas, Fri, 06 Mar 2009 11:13:26 -0800 reply

On 6 Mar 2009 at 8:07, Simon Michael wrote:

> The caching investigation is very much appreciated, I assume you're > referring to some issue page or other. It's over my head just now and > not causing me problems in daily zwiki usage so I'll have to say > "patches welcome".

Ah sorry - it's issue number #1316 (http://zwiki.org/1316FireFoxDoesntLoadChangesAfterEditingWith304Enabl ed) which I found from http://zwiki.org/HowToEnableConditionalHTTPGET304.

I didn't post a patch because the fix is ridiculously easy: in ZWikiPage?.py:handle_modified_headers every time where it does:

RESPONSE.setHeader('Last-Modified', rfc1123_date(last_mod))

... simply do:

RESPONSE.setHeader('Last-Modified', rfc1123_date(last_mod)) RESPONSE.setHeader('Cache-Control', 'max-age=86400, s-

maxage=86400, public, must-revalidate, proxy-revalidate')

I'd do a find for 'Last-Modified' and add the Cache-Control as required.

> FWIW, in the past I found RemoteWikiLinks? weren't worth the bother, > because it was one more non-standard linking scheme for people to > learn and it obscured where the link really went - ordinary bare urls > or manual hyperlinks were clearer.

It's an issue of maintainability, then appearance yes.

> If you're into RST, maybe another option is to have the format method > in rst.py append the contents of the masterinclude page before RST > rendering. And on that page, define the link targets, RST footnote- > style. This forces you to define each individual url though, not just > a base url like RemoteWikiLinks?. So probably not worth it.

It also means altering the source which isn't available to me. Similarly I'm stuck on 0.60 of zwiki because that's the latest in Ubuntu.

> > To make use of varnish, you need a minimum of conditional HTTP > > working. I turned on conditional HTTP gets - the zwiki code reports > > the datestamp for the page which is to be expected, but this ignores > > the masterinclude. I can't see any way of overriding this date in the > > zwiki source - would adding this facility be a good idea as who knows > > what templates may do with rendering zwiki pages? If they had a > > publicly available method to call it would be useful. > > Yes that might be worthwhile. Though it's a bit of a small niche right > now.

True.

I have another bug - this time in Preview mode where it isn't previewing correctly because the temporary page object isn't copying its attributes from its master page (e.g. "allow_dtml=1"). In common.py:renderText():

# make a new page object, like in create p = page.__class__(__name__=page.getId()) p.title = page.pageName() p = p.__of__(page.aq_parent) p.setPageType(self.id()) p.setText(text) return p.render(

Here it sets up the temporary page object and it doesn't copy over attributes. Therefore, previewing a page with DTML enabled just for that page doesn't work.

Fraid I have no idea how to copy across attributes in Zope. p.setattr('allow_dtml', page.getattr('allow_dtml',0)) is fairly obvious but I couldn't figure out how to iterate all attributes.

Cheers, Niall

Re: zope/plone article --betabug, Fri, 06 Mar 2009 11:28:49 -0800 reply

> ... simply do: > > RESPONSE.setHeader('Last-Modified', rfc1123_date(last_mod)) > RESPONSE.setHeader('Cache-Control', 'max-age=86400, s-

Sorry, that is just not the proper way to do these things. For setting the Cache-Control header you use an "Accelerated HTTP Cache Manager" object. Hardcoding something like that in the code is not good style.

Re: zope/plone article --Simon Michael, Fri, 06 Mar 2009 11:55:56 -0800 reply

> I have another bug - this time in Preview mode where it isn't > previewing correctly because the temporary page object isn't copying > its attributes from its master page (e.g. "allow_dtml=1"). In > common.py:renderText(): > > # make a new page object, like in create > p = page.__class__(__name__=page.getId()) > p.title = page.pageName() > p = p.__of__(page.aq_parent) > p.setPageType(self.id()) > p.setText(text) > return p.render( > > Here it sets up the temporary page object and it doesn't copy over > attributes. Therefore, previewing a page with DTML enabled just for > that page doesn't work. > > Fraid I have no idea how to copy across attributes in Zope. > p.setattr('allow_dtml', page.getattr('allow_dtml',0)) is fairly > obvious but I couldn't figure out how to iterate all attributes.

True, thank you, forwarding to the issue tracker.

Re: zope/plone article --Simon Michael, Fri, 06 Mar 2009 12:32:38 -0800 reply

> For setting the Cache-Control header you use an "Accelerated HTTP > Cache Manager" object. Hardcoding something like that in the code is > not good style.

So if someone wants to make his zwiki-behind-varnish screamingly fast, what should he do ? Is it possible today without product code changes ?

Because, y'know, I'm starting to think it should be done for zwiki.org. If it doesn't screw anything up.

Re: zope/plone article --Niall Douglas, Fri, 06 Mar 2009 16:47:22 -0800 reply

On 6 Mar 2009 at 11:28, betabug wrote:

> > ... simply do: > > > > RESPONSE.setHeader('Last-Modified', rfc1123_date(last_mod)) > > RESPONSE.setHeader('Cache-Control', 'max-age=86400, s- > > Sorry, that is just not the proper way to do these things. For setting > the Cache-Control header you use an "Accelerated HTTP Cache Manager" > object. Hardcoding something like that in the code is not good style.

Umm, the Last-Modified (conditional get) feature is ALREADY hardcoded. Adding Cache-Control is a bug fix i.e. making it work as it was thought Last-Modified should work.

IMHO adding Accelerated HTTP Cache Manager support is a feature request and a totally separate issue.

Cheers, Niall

tweaking caching headers --simon, Fri, 06 Mar 2009 23:19:18 -0800 reply

I am tweaking the caching setup on zwiki.org, so if you notice any bugs (stale content when viewing or editing) please let me know. I installed Varnish for testing (not yet on port 80). I installed an accelerated http cache manager, but I don't think it's associated with anything (tried to search for cacheable content, gave up). Then I played around with the http headers in ZWikiPage?.py. No great speedup yet. I haven't gone and studied up on the latest caching techniques, but it looks like I'll need to. Unless.. Patches Welcome!

tweaking caching headers --simon, Fri, 06 Mar 2009 23:23:08 -0800 reply

To be more specific: I also set conditional_http_get=True, condition_http_get_ignore=[] on the folder, and I changed the code to always set a Cache-Control header.

Re: zope/plone article --betabug, Sat, 07 Mar 2009 01:16:46 -0800 reply

> Umm, the Last-Modified (conditional get) feature is ALREADY hardcoded.

Sorry, no, it isn't hardcoded at all. First of all it's an optional setting. Second, even if activated, Last-Modified uses, well, the "last modified" time, which by definition isn't a hard set value, like "max-age=86400" is. Someone might want to use another number for 86400, but "last time modified" isn't something that can be changed to another number.

> Adding Cache-Control is a bug fix i.e. making it work as it was thought Last-Modified should work.

No, the two can be combined, but do not have to be combined. Cache-Control is very much an admin defined setting.

> IMHO adding Accelerated HTTP Cache Manager support is a feature request and a totally separate issue.

It's something that already works, set one up, associate wiki pages with it, done.

I think the confusion arises because of your suggestion to use must-revalidate in the cache-control header. That is a good suggestion, but first, it would have to be optional (maybe combined with the Last-Modified setting) and second, no way am I going to agree to a hardcoded value for max-age just because we want to set must-revalidate. Different sites may have vastly different notions of what is an acceptable value for max-age - if they want it set at all.

As I said before, the proper Zope way for the cache-control settings is to have these controls in an object where they can be set on a site-by-site basis. That's the way Plone does it (with their cache-fu tools), that's the way "Accelerated HTTP Cache Manager" is meant to be used.

tweaking caching headers --Niall Douglas, Sat, 07 Mar 2009 02:13:11 -0800 reply

On 6 Mar 2009 at 23:19, simon wrote:

> I am tweaking the caching setup on zwiki.org, so if you notice any bugs > (stale content when viewing or editing) please let me know. I installed > Varnish for testing (not yet on port 80). I installed an accelerated > http cache manager, but I don't think it's associated with anything > (tried to search for cacheable content, gave up). Then I played around > with the http headers in ZWikiPage?.py. No great speedup yet. I haven't > gone and studied up on the latest caching techniques, but it looks like > I'll need to. Unless.. Patches Welcome! > > To be more specific: I also set conditional_http_get=True, > condition_http_get_ignore=[] on the folder, and I changed the code to > always set a Cache-Control header.

Firstly make sure you're using v2 of varnish rather than v1. v1 works, but it has idiosyncracies ...

Secondly, you definitely want the "Live HTTP headers" plugin for Firefox. You also want to enable the telnet based "control" port for varnish which is very useful for finding out what's going on while it runs. I'd use Firefox to inspect the headers coming out of Zope directly (before going into varnish) as well as coming out of varnish.

Other than that, make sure Zope isn't adding a "Vary" header to zwiki output which is preventing caching. The Last-Modified should be enough otherwise. As I noted on my "low end Plone VPS" page, the speedup is extremely significant once working.

Oh and make sure Advanced HTTP Cache Manager isn't sending purges to the control interface for every page. You can check that using the control telnet interface.

Good luck!

Niall

Re: zope/plone article --Niall Douglas, Sat, 07 Mar 2009 02:14:12 -0800 reply

On 7 Mar 2009 at 1:17, betabug wrote:

> I think the confusion arises because of your suggestion to use > must-revalidate in the cache-control header. That is a good > suggestion, but first, it would have to be optional (maybe combined with > the Last-Modified setting) and second, no way am I going to agree to a > hardcoded value for max-age just because we want to set > must-revalidate. Different sites may have vastly different notions > of what is an acceptable value for max-age - if they want it set at all.

That's definitely where the confusion was arising - I had taken it from your original email that you didn't want conditional GET fixing because you felt adding Accelerated HTTP Cache Manager support was a superior solution.

Now I have no idea whether adding support for it or not is hard. I was merely concerned with conditional GET working as intended.

> As I said before, the proper Zope way for the cache-control settings is > to have these controls in an object where they can be set on a > site-by-site basis. That's the way Plone does it (with their cache-fu > tools), that's the way "Accelerated HTTP Cache Manager" is meant to be > used.

I do absolutely agree that the CacheFu? approach is superior. It appears to use per-user unique cookie values in the HTTP headers to operate a per-user cache which persists across days (or even weeks) - very clever. It even seems to know when a page has been updated and which bits to expunge from the cache.

I don't even pretend to know how it works - I turned it on and watched the HTTP headers and it's outstanding. TBH before CacheFu? I wasn't even aware HTTP 1.1 had such abilities.

Cheers, Niall

Plone with membrane --Michael Ang, Thu, 19 Mar 2009 00:38:17 -0700 reply

ZWiki? does not support Products.membrane and Products.remember, add subscription doesn't work. Like like I have to get my hand dirty.

Plone with membrane --Simon Michael, Thu, 19 Mar 2009 07:44:57 -0700 reply

Welcome Michael. It sounds like you know more/are going to work on this, please keep us posted.

still here --Simon Michael, Wed, 01 Apr 2009 14:23:44 -0700 reply

Hey all.. I've been quiet for a while, this is because of looming tax deadlines. Also, I would have sent some kind of april fool's joke, but there's just too much to do, in particular I'm excited about the Zope 4 announcement today and have been digging around to see how quickly Zwiki can be brought up to speed for deployment on that platform. Exciting times!

Advice Needed: Migrating from ZWiki? to MediaWiki? --morrisryanc, Thu, 06 Aug 2009 09:06:02 -0700 reply

Has anyone successfully transferred all of their content from ZWiki? to MediaWiki?? We're currently trying to do that here at my work.

Re: --Dirk WESSEL, Thu, 06 Aug 2009 09:08:18 -0700 reply

Sorry, but I'am not in the office. I'll be back on the 15.08.2009.

In case you need CMB support please address your message to cm@nacma.nato.int.

Thanks Dirk Wessel

How to unsuscribe? --Patricia Goldweic, Mon, 31 Aug 2009 11:24:07 -0700 reply

Could somebody please remind me how to unsuscribe from this mailing list? Thanks in advance, -Patricia

<mailto:pgoldweic@northwestern.edu> pgoldweic@northwestern.edu

How to unsuscribe? --Simon Michael, Mon, 31 Aug 2009 11:56:40 -0700 reply

Hi Patricia. Generally: click the page link at the bottom, then click "subscribe" at top right, then click one or both unsubscribe buttons you may see. I'll unsubscribe you after sending this, so this should be the last you see.

Zwiki 2.0b1 released --Simon Michael, Fri, 23 Oct 2009 17:49:47 -0700 reply

I'm pleased to announce the first beta of Zwiki 2, formerly the unstable/unicode/skingeddon branch. This makes that work available in a release for the first time, and clarifies the status of Zwiki 2 as "the trunk".

In addition, this version supports the Zope 2.12, python 2.6 and setuptools. It should be possible to "easy_install Zwiki" and get Zwiki and Zope 2.12 installed; I'm especially interested in having people try this so the kinks can be worked out. The traditional tarball and darcs methods are also available.

For more details, see

Thanks to Vladimír Linek for his 2.12 patch which got the ball rolling. Zope 2.12 is quite an exciting release in my humble opinion.

I welcome your testing, patches and collaboration! Best to all, -Simon

Zwiki 2.0b1 released --jmax, Sat, 24 Oct 2009 01:17:39 -0700 reply

Big congrats on this release, Simon. I'll be watching carefully, plotting a course for upgrades here. Thanks!