Upcoming 0.9.50 release and tiddlywebwiki

6 views
Skip to first unread message

Chris Dent

unread,
Jul 8, 2009, 8:32:49 AM7/8/09
to tidd...@googlegroups.com

As part of the process of moving towards a 1.0 release[1] a 0.9.50
release is being prepared. Versions 0.9.45-49 have been skipped
because the changes are fairly substantial and it seems good to
indicate some bigness.

This release will happen in the next couple of days. I'm pre-
announcing it because amongst other changes it has one very large
change that will impact every TiddlyWeb installation that uses the
wiki serialization (that is, generates TiddlyWikis from TiddlyWeb) or
relies on serverside rendering of wikitext to HTML.

That functionality is being _removed_ from the core TiddlyWeb and put
into a new plugin package: tiddlywebwiki. When you upgrade to
TiddlyWeb 0.9.50 and beyond if you use the wikitext and TiddlyWiki
features you will need to:

1. install tiddlywebwiki[2]
2. install the wikklytextrender plugin[3]
3. update your configuration to use tiddlywebwiki.plugin for
system_plugins and twanager_plugins

It is quite likely that steps 2 and 3 will be automated in more mature
versions of tiddlywebwiki, but the downside of TiddlyWeb going into
release candidate status is that TiddlyWebWiki becomes alpha, so it
will be a bit rough around the edges for the first few releases.

To be more explicit about functionality that is being migrated
elsewhere:

* To wikklytextrenderplugin:
** Serverside rendering of tiddlywiki style wikitext to HTML.

* To tiddlywebwiki package:
** wiki serialization: generation of TiddlyWikis from TiddlyWeb content.
** twanager instance, update, from_svn, imwiki commands

Where some of those twanager commands should live is still up in the
air, but they are out of the core for now.

Note that 0.9.50 has not yet been released, but should be out soon. If
you have any questions please post.

Thanks.

[1] http://groups.google.com/group/tiddlyweb/browse_frm/thread/5f0f3cf8a57dc5d3?tvc=1
[2] code: http://github.com/tiddlyweb/tiddlywebwiki/tree/master
python package: http://pypi.python.org/pypi/tiddlywebwiki
[3] http://github.com/tiddlyweb/tiddlyweb-plugins/tree/master/wikklytextrender

chris...@gmail.com

unread,
Jul 9, 2009, 8:46:27 AM7/9/09
to TiddlyWeb
On Jul 8, 1:32 pm, Chris Dent <chris.d...@gmail.com> wrote:
> Note that 0.9.50 has not yet been released, but should be out soon. If  
> you have any questions please post.

0.9.50 of TiddlyWeb has been release along with 0.3 of TiddlyWebWiki:

http://pypi.python.org/pypi/tiddlyweb
http://pypi.python.org/pypi/tiddlywebwiki
http://tiddlyweb.peermore.com/dist/

Please note that rendering of TiddlyWiki wiki syntax to HTML is not
included with either of these distributions. It is needed separately,
via its new status as a plugin:

http://github.com/tiddlyweb/tiddlyweb-plugins/tree/master/wikklytextrender

Eventually tiddlywebwiki will mature enough to include the
wikklytextrender plugin within itself.[1]

It will be some days yet before http://tiddlyweb.peermore.com/ is
update to be running the latest code. I'll post again when it is. In
the meantime I'll be updating the documentation there.

[1] There's a thread to be started, someday, on TiddlyWeb plugin
dependency management.

chris...@gmail.com

unread,
Jul 12, 2009, 5:45:52 AM7/12/09
to TiddlyWeb
> It will be some days yet beforehttp://tiddlyweb.peermore.com/is
> update to be running the latest code. I'll post again when it is. In
> the meantime I'll be updating the documentation there.

http://tiddlyweb.peermore.com/ has now been updated and seems to be
happily running 0.9.50.

tony

unread,
Jul 14, 2009, 11:43:08 PM7/14/09
to TiddlyWeb
On Jul 12, 2:45 am, "cd...@peermore.com" <chris.d...@gmail.com> wrote:
> > the meantime I'll be updating the documentation there.
>
> http://tiddlyweb.peermore.com/has now been updated and seems to be
> happily running 0.9.50.

updated
twb 0951, twbw 03 and sqlite too!

0.9.44 was working just splendid for me even without revisions plugin.

twanager instance and from_svn were oh so handy.

When 0.9.50 was decoupled from its Tiddlywikiness, panic ensued.

Ugh, i hate change, but I finally smashed some 0.9.50 legos together
and feel the better for it.

What follows are notes to my future self or anyone on installation
help for less savvy 'lego' builders.

I tested this on cygwin WinXP and Mac Leopard.

prerequisite: [1] have a pre-0.950 instance ready, ie cheat and use an
old instance much like a sourdough starter for your new Tiddlywebwiki.
At first I tried recreating an old instance manually from the 0.2 days
but i didn't want to bother searching the old cookbook.

1. sudo easy_install -U tiddlyweb #upgrade tiddlyweb

2. download and install tiddlywebwiki 0.3 tarball into your instance
- http://pypi.python.org/pypi/tiddlywebwiki #download the tarball
into your instance
- tar -xvf tiddlywebwiki-0.3.tar.gz #uncompress
- cd tiddlywebwiki-0.3 #go in there
- sudo python setup.py install #install tiddlywebwiki
#I tried easy_install tiddlywebwiki and it worked but I couldn't
get the nice extra twanager commands

3. download a copy of wikklytextrender.py into your instance from
http://github.com/tiddlyweb/tiddlyweb-plugins/tree/master/wikklytextrender
4. edit tiddlywebconfig.py here's mine (i keep the commented lines in
case I need to remember these configs!):

config = {
'secret': '<your long secret string>',
#'twanager_plugins': ['migrate'],
#'server_store': ['text', {'store_root': 'store'}],
#'target_store': ['sql', {'db_config': 'sqlite:///wiki.db'}],

# using sqlite
'system_plugins': ['tiddlywebwiki.plugin'],
'twanager_plugins': ['tiddlywebwiki.plugin'],
'wikitext_renderer': 'wikklytextrender',
'wikitext_render_map': {
'text/x-tiddlywiki': 'wikklytextrender',
},
'server_store': ['sql', {'db_config': 'sqlite:///wiki.db'}],
# using mysql
#'server_store': ['sql',
# {'db_config': 'mysql://localhost/tw?charset=utf8'}],
}

5. check your new tiddlywebwiki

$ twanager info
This is TiddlyWeb version 0.9.51.
The current store is: sql.

6. twanager server 0.0.0.0 8080 #start up the server

7. enjoy good ol tiddlyweb just like you knew it

Really neat is there are a few flavors of tiddlers:
This list of tiddlers as: wiki json txt html

Best,
tony, looking forward to more legos

[1] my sample instance
$ ls -1
wiki.db
migrate.py
migrate.pyc
sql.py
sql.pyc
store
tiddlyweb.log
tiddlywebconfig.py
tiddlywebconfig.pyc
tiddlywebwiki-0.3
tiddlywebwiki-0.3.tar.gz
wikklytextrender.py
wikklytextrender.pyc

Chris Dent

unread,
Jul 15, 2009, 6:19:54 AM7/15/09
to tidd...@googlegroups.com

On Jul 15, 2009, at 4:43 AM, tony wrote:

> #I tried easy_install tiddlywebwiki and it worked but I couldn't
> get the nice extra twanager commands

Once tiddlywebwiki is installed with easy_install, if you want to use
it in an existing instance you need to:

'system_plugins': ['tiddlywebwiki.plugin'],
'twanager_plugins': ['tiddlywebwiki.plugin'],

In your tiddlywebconfig.py in that instance.

You _don't_ need to copy tiddlywebwiki itself into the instance
directory. It will be on Python's path, and tiddlyweb will find it, as
long as you make the additions to the config file.

For new instances the situation is different. In fact there is a bit
of a bootstrapping problem there which will need to be resolved.

tony

unread,
Jul 15, 2009, 7:45:05 PM7/15/09
to TiddlyWeb
On Jul 15, 3:19 am, Chris Dent <chris.d...@gmail.com> wrote:
> For new instances the situation is different. In fact there is a bit  
> of a bootstrapping problem there which will need to be resolved.

Yes, the bootstrapping problem is bit of a chicken and egg.

I was finally able create a Tiddlywebwiki instance from groundzero,
but not sure of the workflow.

I know you need to focus on Tiddlyweb, but is this method correct in
sum?

It works fine so far, but maybe I missed the memo on creating an
instance with twanager the easy way!

Summary: to make an instance, just have tiddlywebconfig.py and
wikklytextrender.py in an empty instance directory, create system and
common bags, run an update, make a default recipe = system + common

In detail:
prereqs: tiddlyweb and tiddlywebwiki 0.3 installed

forget twanager instance <your instance>
as it brings an error:
File "build/bdist.cygwin-1.5.25-i686/egg/tiddlywebwiki/twanager.py",
line 25, in instance
RuntimeError: maximum recursion depth exceeded

try
Making a new instance

$mkdir 'your instance' && cd 'your instance'

Get the config and renderer (already had preinstalled in foo instance
(see Chris' config in thread))

cp ../foo/tiddlywebconfig.py .
cp ../foo/wikklytextrender.py .

make bags

$twanager bag common
$twanager bag system

Automagically a store is created in <name of your instance>

Run an update to get plugins

$ twanager update

Make the default recipe

twanager recipe default
/bags/system/tiddlers
/bags/common/tiddlers
^d

it works!

Thanks for the 0.9.53 update, catching the hiccup with that link URI
in 'Tiddlers in ...'

I was just about to report that ;-)

Best,
tony

FND

unread,
Jul 16, 2009, 6:01:43 PM7/16/09
to tidd...@googlegroups.com
> Yes, the bootstrapping problem is bit of a chicken and egg.

Chris and I had a few exchanges on IRC about this.
Among the options presented were using an environment variable (e.g.
$TWCONFIG) or a user-specific configuration file (e.g. ~/.tiddlyweb).
However, neither of those seemed very appealing, so we might end up with
a supplemental script in /usr/bin.

> Summary: to make an instance, just have tiddlywebconfig.py and
> wikklytextrender.py in an empty instance directory, create system and
> common bags, run an update, make a default recipe = system + common

That sounds about right for TWW 0.3.
I've been working on automating this process:
http://github.com/tiddlyweb/tiddlywebwiki/commits/WIP/

Right now, that branch makes twanager instance create an extended
tiddlywebconfig.py and assign policies to the default bags.

I'd love for it to also install the relevant TiddlyWeb plugins
(wikklytextrenderer and status), but haven't gotten to that yet.

There's also the question of whether plugins (whether server- or
client-side) should be downloadedfrom the respective repository or
packaged with the distribution (similar to the empty TiddlyWiki document)...


-- F.

tony

unread,
Jul 17, 2009, 2:35:05 AM7/17/09
to TiddlyWeb
On Jul 16, 3:01 pm, FND <F...@gmx.net> wrote:
> There's also the question of whether plugins (whether server- or
> client-side) should be downloadedfrom the respective repository or
> packaged with the distribution (similar to the empty TiddlyWiki document)...

Thank you, FND for confirming instance making in tiddlywebwiki 0.3 and
working out these changes.

I keep getting tripped up building a default recipe, using migrate to
make a sqlite store then starting CherryPy only to find a 404 for no
tiddlers. :-\ I forget to run twanager update. But luckily today I
noticed twanager update correctly adds the system plugin tiddlers into
the sql store. Maybe it did that before, but that is neat!

I agree it would be great for user adoption to reduce the number of
steps to generate a tiddlywebwiki vertical in the flavor of
downloading an empty TiddlyWiki document and it just works. Thankfully
to you and Chris much has changed since 0.2!

Best,
tony
Reply all
Reply to author
Forward
0 new messages