Blogs

New server

If you are reading this, you are on the new server. Hopefully this will be more stable than my previous server.

WikklyText 1.6.0

WikklyText 1.6.0 has been released. Major changes:

  • Python 2.4 is now the minimum version for running the wiki. If you just use the rendering library, Python 2.3 is fine.
  • Stop sending Content-Type="application/xhtml+xml" - causes strange browser behavior. Use just text/html on all browsers.
  • Plugins can now attach arbitrary WSGI applications to wiki by exporting them via __wsgi_apps__
  • New WSGI macro type receives a WSGI-like environment (among other things, this lets macros access the wiki directly). These are exported via __wsgi_macros__.
  • Browsing to $SITE/api/plugins shows information about loaded plugins.
  • Ensure request data saved on a per-thread basis
  • Allow port numbers in parsed URLs

Downloads and more information at the WikklyText home page
Written in WikklyText.

WikklyText 1.5.0 released

WikklyText 1.5.0 is released. This is somewhat of a cleanup release with a reorganization of the caching architecture, parsing cleanups and XHTML compliance fixes.

Major changes
  • Caching is now done at the wikitext->XML layer, instead of wikitext->HTML. This has several benefits including:
    • Macros are now evaluated every time, instead of just the first time the wikitext is parsed (no more need for the -cache tag; you can safely remove it).
    • Auto-links to unknown CamelWords or links like [[My new word]] now work with caching turned on.
    • Bottom line: You can safely turn caching back on for all cases now.
  • API Change: Keyword parameter plugin_dir changed to plugin_dirs in several places to reflect the lower level semantics. Old keyword still accepted for now.
  • Can specify extra paths to look for plugins on wiki admin page. This is convenient when you want to have several wikis yet keep your plugins in a single location.
  • Fix macro parsing for nested calls like <<aaa<<bbb
  • Cleanups for XHTML conformance — now passes tests @ http://validator.w3.org/ in strict mode
  • Links (both [[..]] and [img[..]]) can no longer have inner markup. Allowing inner markup was occasionally useful but caused too many problems with TiddlyWiki compatibility. Although this is a markup change, it is compatible with TiddlyWiki so hopefully won't cause too many problems. Please double-check your links after updating.
  • Fixed CamelWord parsing so that abcDefGhi is not seen as abc[[DefGhi]]
  • rendercache entries now expire to keep cache from growing indefinitely (parameters set through wiki admin page)
  • Turn off browser caching of command responses
  • [[/my/path]] will now make a file:/// link if /my/path is a valid path
  • Rendering time limit now configurable on admin page. Fixed bug in time limit handling.
  • Speedups in rendering for all store types; text stores benefit the most from these changes.

Downloads and more information at the WikklyText home page
Written in WikklyText.

Updated: Building Python extensions for Windows with free tools

Updated for breakage caused by recent binutils under Cygwin.

Building Python extensions for Windows with free tools

WikklyText 1.4.0 released

This is a major feature release with many new features and enhancements:

User-visible changes
  • Now creates autolinks to unknown CamelWords and links, just like TiddlyWiki does. Turned off by default to avoid surprising existing users. You can enable this behavior from the admin page.
  • Metadata updates are now automatically applied. No longer have to shutdown wiki and run wik updatemeta from the command line.
  • Added user-defined log filters on admin page.
  • Added StyleSheet link on admin page for convenience.
  • Added button on admin page to clear rendercache.
  • Stricter parsing of CamelWords — now accepts alphabetical only.
  • Fixed cache handling in SiteTitle()/~SiteSubtitle()
  • Tags nocache and norss changed to -cache and -rss.
  • Added <<div>> and <<span>> macros.
  • Fixed <<nowiki>> handling.

Internal changes
  • New plugin API make it easy to add user-defined macros. (see WritingPlugins)
  • API Changes
    • URL resolvers now return linktype as string ('internal', 'external', or 'newitem') instead of True/False to allow more types of links. (For backwards compatibility, True/False are still accepted.)
    • wikStore_tw_re can no longer be used directly. wikStore_tw has always been marked as the official interface; if you are using wikStore_tw_re just change to wikStore_tw, it has the same API.
  • var_get_* and var_set_* functions moved into WikContext. Old functions left in place for now to avoid breaking API, but marked as deprecated.
  • Added file locking to wikStore_tw
  • Updated wikStore_sqlite for multiprocess use.
  • Added locking to wikStore_files
  • More comprehensive time handling in wikStore_tw to account for many variations in TiddlyWiki formats.
  • Fixes for CherryPy 3.1-final

Links:
Written in WikklyText.

boodebr library 1.3.0 released

This is a major feature release:
  • Added multithread/multiprocess locking semantics, boodebr.util.locking
  • Updated boodebr.config to use file locking.
  • makeGUID() can be called with no args
  • New module boodebr.util.modules
  • Fixes in boodebr.sql to enhance stability under high load
  • New module boodebr.sql2 (considered beta quality for now; will eventually replace boodebr.sql)
  • New module boodebr.util.threadQ provides serialization of method calls across threads.

More information and downloads at the boodebr library wiki

Written in WikklyText.

Exploring Google AppEngine, Part 2

In my first experiment with Google's AppEngine, I dove straight in and started using CherryPy for development. This worked pretty well at first, but I eventually hit some issues due to lack of threading within AppEngine.

At that point, I decided to step back a bit and take a fresh look with a pure-WSGI approach. I had never used WSGI directly, so this was an interesting experiment. I definitely like the simplicity of pure-WSGI, but the question will be how much custom code I have to write versus using a prebuilt framework. (Don't get me wrong, I expect to return to CherryPy later, but I want to experiment at the lower level for now.)

You can follow the work in progress at boodebr.appspot.com
Written in WikklyText.

WikklyText 1.3.0 released

The major new feature in this release is the addition of a GUI "control center" for managing local wikis. Not only does this make WikklyText easier for new users, but it removes the tedium of starting/stopping wikis by hand. Especially useful when you run multiple local wikis. This should make WikklyText easier to integrate into environments such as PortableApps and U3.

This release also adds some new options for more "USB-friendly" usage. These options (on the admin page) allow you to turn off most disk writes, to help preserve USB life.

Changes:
  • New GUI "control center" for managing wikis. It is particularly useful if you are running several local wikis and don't want to keep starting/stopping them by hand. This is now the default command if you simply run wik.exe or wikgui.exe.
  • SiteTitle and SiteSubtitle are now rendered correctly.
  • Fixed handling of embedded Python code (<?py) so that globals are visible.
  • Added CherryPy to auto dependencies.
  • Allow turning on/off metadb usage in wiki admin page (will enable/disable logging.)
  • Allow turning on/off caching in wiki admin page.
  • Added --no-respawn command-line option to prevent wiki from doing an auto-restart on exit. (Primarily for use by wik and wikgui.)
  • Create rss.xml when running "wik render"
  • RSS feed now validates with no warnings at http://feedvalidator.org/

More information and downloads at wikklytext.com
Written in WikklyText.

boodebr library 1.2.0 released

This is a minor feature release with a few bugfixes as well.
  • boodebr.gui
    • Redid stock images as SVG.
    • Embed stock images via img2py for easier use with py2exe.
    • Synced fixed_colsorter.py with wxPython 2.8.7.1
  • boodebr.ion: Added support for pickling of complex numbers.
  • boodebr.config: Added file_exits() to fileconfig objects.
  • Moved test suite down one level in tree.

More information and downloads at the boodebr library wiki

WikklyText 1.2.2 released

This release of WikklyText updates the parser to handle wikis created with TiddlyWiki 2.4.0.

Read more and download at the WikklyText homepage


Syndicate content