WikklyText A wikitext server and rendering library


files/feed-icon-14x14.png Recently Edited Valid XHTML 1.0 Strict
RecentChanges edit
frank, 28 September 2008 (created 05 June 2008)

Version 1.5.0

Upgrade notes ...
  1. This is a major update with many underlying architectural changes and a few user visible changes.
  2. You only need to install the Python library to get this upgrade. There is no need to update your Drupal plugin or update your Apache setup. (If you are using the standalone .exe then just download the new version(s).)
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.

Version 1.4.0

Upgrade notes ...
  1. This is a major feature release with the addition of the many features listed below.
  2. You only need to install the Python library to get this upgrade. There is no need to update your Drupal plugin or update your Apache setup. (If you are using the standalone .exe then just download the new version(s).)
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

Version 1.3.0

Upgrade notes ...
  1. This is a major feature release with the addition of the GUI 'control center' application.
  2. You only need to install the Python library to get this upgrade. There is no need to update your Drupal plugin or update your Apache setup. (If you are using the standalone .exe then just download the new version(s).)
  • 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/

Version 1.2.2

Upgrade notes ...
  1. This is a minor bugfix update. There is no need to update unless you need the fix (see below).
  2. You only need to install the Python library to get this upgrade. There is no need to update your Drupal plugin or update your Apache setup. (If you are using the standalone .exe then just download the new version.)
  • Updated to handle wikis created with TiddlyWiki 2.4.0. (Works will all versions of TiddlyWiki from 2.0-2.4)

Version 1.2.0


Upgrade notes ...
  1. This upgrade is highly recommended for all users. Version 1.1 had a showstopper bug in its XSS filter.
  2. You only need to install the Python library to get this upgrade. There is no need to update your Drupal plugin or update your Apache setup. (If you are using the standalone .exe then just download the new version.)
  3. You should run wik clean on your wiki(s) after this upgrade to clear the cache of any badly generated files from version 1.1.
Changes:
  • Added compatibility with CherryPy 3.1beta (version 3.0.x still supported).
  • Redirect requests for "PageName" to "PageName.html" (assuming "PageName" is a valid item).
  • XSS filter was too aggressive in filtering URLs based on server names, breaking wiki links when running locally. Thanks to Doug Gephardt for the report.
  • Eliminated potential information leak in server.
  • Allow uppercase letters in CSS classnames.
  • Log more information on failed logins.
  • Show CherryPy version on admin page.

Version 1.1.0


Upgrading ...
  1. You only need to install the Python library to get this upgrade. There is no need to update your Drupal plugin or update your Apache setup. (If you are using the standalone .exe then just download the new version.)
  2. A metadata update is needed after installing this upgrade. You will see instructions in your wiki on what to do.
Changes:
  • Added RSS (2.0) feed to wiki. Feed is formatted to allow autodiscovery so you don't need to do anything. You can exclude items from the RSS feed by tagging them with norss.
  • Wiki will now serve any files found in folder files/ under your wiki root folder. See ServingFiles for more information.
  • API Change wikStore.py: Moved tag_add(), tag_del() and tag_toggle() into WikklyItem.
  • Always place absolute URLs in generated HTML. This was added to allow page links in the RSS feed to point to the correct location.
  • Stop putting domain names in parens next to links when rendering in safe mode. This was causing some aesthetic issues; it may be reenabled in a future release.
  • Stop performing reverse DNS lookups when showing logs. Far too slow.
  • Serve robots.txt (no restrictions currently; was added to prevent errors when crawlers request it).
  • Added more log reporting links on admin page.
  • Watch for buggy browsers that request favicon.ico instead of favicon.png as specified in <HEAD>

Version 1.0.0


  • The major new feature is addition of wiki metatool "wik". With this tool, WikklyText now provides a full-blown wiki server. Using "wik", you can create, render, and serve editable multiuser wikis over HTTP. It is equally suitable for use as a WikiOnAStick as well as serving BehindApache

  • Hundreds of fixes, improvements, and stabilization for version 1.0

Version 0.99.50


  • Minimum requirement is now Python 2.3.5. Python 2.2 has a number of issues and setuptools does not support < 2.3.5 anyways.

  • New abstract storage layer (wikStore) that allows reading & writing wikitexts from Tiddlywikis, a flat set of text files, and SQLite databases.

  • No longer requires lxml package.

  • Rewrote twextract to use new storage layer.

  • Sources reorganized into a setuptools package with a standard setup.py.

  • Scripts installed to PYTHONDIR/Scripts (directly runnable, no more user-created wrappers needed).

  • wikkly2html.py now does a chdir() to sourcefile path so included files, etc. can always be found in a predictable location.

  • Some refactoring, renaming and other cleanups.

  • Version info now in version.py instead of wikkly_fmt.info