TapirWiki is now a couchapp - new and improved

I'm happy to announce the latest update to TapirWiki. The headline change, is that the project has become a Couchapp. This provides a common and streamlined way to install and update applications running in/on CouchDB. It also helps in the development of TapirWiki - maintaining a huge, single HTML file containing all the markup, scripts and styles was becoming painful.

So, what does this mean?

To install TapirWiki, you must first install couchapp. 
  1. Install couchapp - Instructions are here (section 3). 
  2. Download the wiki.zip file from the project site
  3. Extract the zip and fire up a terminal, cd into the wiki folder
  4. Enter the following command: couchapp init
  5. Enter the following command: couchapp push http://127.0.0.1:5984/wiki
  6. Open your new wiki at http://127.0.0.1:5984/wiki/_design/tapir/wiki.html
And that's it! Once you have couchapp installed, you can repeat steps 2 - 6 to update your wiki as updates are rolled out.

If you wish to update an existing install of TapirWiki, you can carry out the above to get the latest version. Just remember to go to the new URL. If you have a lot of important data, I'd strongly suggest testing out the upgrade on a copy of your wiki first (use the replication in futon to get a copy of you wiki in another database). You may notice a few formatting changes, due to the new parser (see below!).

What else is new?

Over and above the switch to become a couchapp, there are a few improvements in this new version:
  • Re-written and improved textile parser - thanks to Jeroen Vet for his excellent work here! See the HelpOnFormatting and HelpOnFormmatingNotes pages in TapirWiki for details of the supported markup.
  • Breadcrumb navigation provides a list of recent pages as you move through your wiki. 
  • Page edit comments - the comments show up in page history.
  • Back/Forward buttons should now behave
As always, I'm interested to know how you are using TapirWiki and for any feedback. If you find any issues or have feature requests, please log them at the project site.

It may take me a couple of days to update the info on the google code site, let me know (@EvilTapir) if you need any more help.

Thanks

Posted

TapirWiki v0.3.1 now up for download. More lovely CouchDB wiki for you!

Just a quick note, I've updated TapirWiki to v0.3.1. Nothing new really, just a bug fix so that CamlCase links work in lists. Many thanks to jeroen.vet for raising the bug and providing a fix.

Oh, and I've swapped out the horrible popup alerts for the lovely jGrowl plugin.

As always, new download is available here. To update, use Futon to update the wiki.html file in your CouchDB.

Posted

TapirWiki (couchDB & javascript wiki) now supports attachments

After a few final bug fixes, I've just uploaded v0.3 of TapirWiki to google code. The new version supports attachments with a nice new button up in the top right. This now enables you to store files in the wiki alongside your pages and notes. You can, of course, then link to any pictures or files within the body of your wiki! 

Attachments

Look! A Tapir!

And even better than that, they will get replicated along with the rest of your wiki - thanks CouchDB!

Grab the new version here.

New users can just download wiki.html and use futon to attach it to a document inside a database. The first time it is run it will generate a few default pages to get you going. Existing users can just pop the new wiki.html over the top of the old one and get the new good stuff without any problems.

So, with TapirWiki now supporting page templates, replication and attachments (along with all the wiki stuff you would expect, obv) I'm wondering what to do next! It's basically useful for me now to do what I want to do. Any feature requests? Drop me a tweet @EvilTapir...

Posted

Sneek peek at TapirWiki 0.3 - Attachments coming soon...

So TapirWiki 0.3 is almost ready - just a few little bugs to iron out before it goes out. Version 0.3 will introduce attachments - the ability to upload any file to the wiki. For example, it will be possible to upload images to the wiki - useful if you are using your wiki offline as any linked files will come down when you replicate.

I've also put a bit more time into the look of the wiki - it looks best in Safari or Chrome, but still looks good in Firefox! 

Screen_shot_2009-12-07_at_20

Hopefully, version 0.3 will be ready tomorrow! I need to buy some christmas presents now...

Posted

TapirWiki v0.2 JS wiki for CouchDB -replication, page history & bug fixes

Well, TapirWiki v0.2 is now on google code for download and testing. Grab it here.

What's new:

  • Replication is supported through TapirWiki - although it is disabled by default (to keep things simple). More info in the updated help pages which ship with v0.2. More to follow.
  • Page history shows previous revisions of the current page. You can then view and edit from a historical version to fix any messy edits!
  • A few bugs have been fixed with wiki links. Still think it needs a bit of work, but it's usable.
  • Improved the installation script a little - it shows which pages are being loaded.
  • A recent changes macro lists the last 5 pages which were edited.
Installing:
To use TapirWiki you need admin access to a couchDB installation. Installing TapirWiki only takes 4 steps. The wiki.html file needs to be uploaded as an attachement to a couch document:
  1. Download http://tapirwiki.googlecode.com/files/wiki.html from the Downloads page
  2. In Futon, create a database, e.g. "wiki"
  3. Create a document to hold the html file, e.g. "files"
  4. Upload wiki.html as an attachment to the document

Now, navigate to http://yourcouchdb:5984/wiki/files/wiki.html and you should see a notice that everything is OK. TapirWiki will set up a few default pages for you, refresh the page and you should be in to your new wiki!

Have a look at the TapirWikiFeatures to see what you can do with your wiki!


If you previously installed TapirWiki and want to upgrade rather than a fresh install, you should be able to use Futon to replace wiki.html - the recent changes macro may have issues if you have pages without a proper edited date (e.g. "never"), just edit and save the page to get a date in. Everything else should just work...

As ever, TapirWiki is release to see if anyone finds it useful. Let me know (twitter @EvilTapir) if you like it (or hate it). If you find any bugs, be sure to list them on the google code site.

Posted

See CouchDB work. Pretty printing JSON on the command line:

Whilst working on TapirWiki I've been looking for a quick and dirty way of viewing the output CouchDB's HTTP API. This is the best I have found yet.

This bit of command-line magic simply pipes the output from one command into pythons simplejson module, which pretty prints the JSON for us.

echo '{"json":"obj"}' | python -m simplejson.tool

You can use curl to get a response from CouchDB. For example:

 

curl http://localhost:5984/wiki/FrontPage?open_revs=all | python -m simplejson.tool

 

That should show you all revisions of the FrontPage for a TapirWiki install! Sweet. As. A. Nut.

If you're on a mac, you may need to install the simplejson module. Thats easy:

sudo easy_install simplejson

Cool!

Let me know if you have any similar useful tricks.

Original idea from here: http://bit.ly/2dxpMV

Posted

Coming soon to TapirWiki - Replication, history & recent changes

Work on the next update to TapirWiki is coming along nicely! Here is a teaser for some of the new feature coming in the next version.

Part of the appeal of a wiki with CouchDB as a backend is Couch's support for replication. This is a feature which TapirWiki will support soon, hopefully in the next release. This will enable a new style of working with your wiki. Offline. More on this when the work is done!

I've also made it possible to view previous versions of pages, so if you (or someone else) messes up a page, you can look back and recover a previous version. Again, should be out in the next release in a couple of days.

The final new feature is a recent changes macro so that your front page can show which pages have been edited recently.

Posted

TapirWiki blog now up

This is a quick blog for TapirWiki stuff.  

The first version of TapirWiki has been put out on Google Code. Get it here! Initial reaction seem positive, so I'm pleased! I'm going to try and add a few more features over the next few days, read on for more info.

What is TapirWiki?
TapirWiki is a single HTML/Javascript file which is hosted inside CouchDB to provide a quick and easy wiki. At the moment, it supports a few basic wiki features:
  • Create / edit / delete pages (...I know, wow...)
  • Wiki markup (textile)
  • Wiki links SoThingsLikeThis get converted into links to new / existing pages
  • Simple macros - include page content in another page, list all pages, list all pages with common names
  • Page templates - create a page with a name starting TEMPLATE_ and it will be listed as a template when you create another new page. If you want a common structure to your wiki pages, that should help.
It's pretty basic, but also low impact and easy to use. 

As it's built on CouchDB, all edits are versioned and it's theoretically possible to replicate / synchronise the wiki with other installations. This means you can have a central wiki (say at work) which you can replicate to your laptop, go offline and make changes and hook up later to update the central version. It's not exposed through the TapirWiki UI yet, but is possible through Futon, the CouchDB admin interface.

What's next?
I've got a few ideas for the features to include next, hinted at above!
  • Page history (and diff)
  • Replication through the TapirWiki UI
  • Page comments / discussions
  • Attachments (struggling to work out how to do this!)
But it's on google code now, so if anyone else has any ideas, let me know or download it get implementing! If you find any issues, please do report them.

Credits
It's worth pointing out that TapirWiki is built on top of some awesome stuff:
Thanks!

Posted