Pimki

About

Pimki is a PIM (Personal Information Manager) loosely based on Instiki's Wiki technology. This is the place to dump your brain, organise your thoughts and Get Things Done. The ease of use and immediacy of a wiki combined with extended view to slice and dice the data give you a unique power to store, manage and retrieve all loose bit of information in your life.

There are a lot of features added over a regular Wiki, features that only make sense when you view it as a personal application and not so much as a group oriented application. See below for a full list of goodies.

Please feel free to try it to organize your thoughts. Email me if you have any problems (assaph at gmail) or submit bugs / feature requests on the RubyForge project page.

Coming Right Up!

Current versions (1.x) are based very closely on Instiki, building on the same code base. Future versions (Pimki2) are more independant, and are under active development. From a user's perspective, as well as enhancing all the existing features (like making Todo items work with AJAX - instantaneous checking off!), there will be some more enhanced features such as snipets, page templates, autolinking, multiple stylesheet choices and much more!

An early implementation of Pimki2 is now ready for alpha testing by brave souls. It is still directly based on older Instiki and uses Madeleine, but is more feature full than the "stable" version. If you're interested, you'll need to checkout the latest version from Subversion, or use this snapshot (last updated on July 11th, 2008).

Pimki2 does not accept snapshot files from previous versions, as the binary format has changed slightly, but you can export and import data into it (Look on the Web Setup page). There's also a help system with explanation of most of the new changes. Full installation instructions are here.

Notes

Pimki versions:
See the full revision history.

As a rule I plan to integrate features from Instiki releases as they become available, and add new Pimki features when I think of them or get patches I like. However, Pimki2 is a reimplementation of the underlying engine. This is needed as Pimki has far greater demands on the data model to appropriately manage things like todo items, templates etc. Pimki2 has an import facility that lets you import a previously exported web from Pimki/Instiki, instead of reusing the same binary format (.snapshot files). I am also a bit more relaxed about applying patches - as long as they are accompanied by unit-tests.

Please note also that RedCloth is back to using version 3.0.3 by default. 3.0.4 prooved buggy, but alternate version support is still available via the commandline. You can select which version of redcloth to load via the --redcloth command line argument (see pimki --help for details).

Installation

To install Pimki2 read the dedicated installation instructions. The following is relevant for Pimki 1.x only

First make sure you have Ruby installed (duh!) - *nix or Windows. Then download it from the RubyForge project page or go the gem way and simply run:

gem install --include-dependencies pimki

Please note that Pimki, like Instiki, relies on several external libraries (most noteably RedCloth and Madeleine). These are included in the zip release for easy install, or will be installed as gem-dependencies.

To enable the Mind Map feature, GraphViz must be installed and the bin directory on the system path.

Note about (Instiki's) existing storage:
There should not be a problem using an existing Instiki storage from versions up to 0.9.2 - but as always, back it up before you do! (Just stop Instiki and zip the storage directory and keep it safe). Or better yet, create a new directory for Pimki and just copy the storage directory under there.

Direct upgrade of storage from Instiki versions 0.10 and newer is not currently supported. If you wish to move it to pimki, you will have to use the Pimki2 pre-release (see above). You will need to Export your data in markup format and then import it into a Pimki2 instance.

See also below the note about storage path changes due to the gems support.

Usage

While you can Pimki everytime by issuing the 'pimki' command from a command line, I find it easier to run it as a service. On linux/*nix there is a daemon facility within Pimki. Use that, or install as per your arch.

On windows, you can follow the instructions here or, if you have Cygwin, simply install via:

cygrunsrv --instal Pimki --path c:/ruby/bin/ruby.exe --args 'c:/pimki/pimki.rb --storage=c:/pimki/storage'
(Just change the paths acording to your system).

To install as a service on Mac OSX (tiger or leopard) use launchctl to create a new service. E.g. Save the following as a text file under ~/Library/LaunchAgents/pimki.plist:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>Label</key>
  <string>pimki</string>
  <key>Program</key>
  <string>/path/to/ruby</string>
  <key>ProgramArguments</key>
  <array>
    <string>--</string>
    <string>/path/to/pimki_2_zombie/pimki</string>
    <string>-t</string>
    <string>/Users/assaph/.pimki-storage</string>
  </array>
  <key>OnDemand</key>
 <false/>
 <key>RunAtLoad</key>
 <true/>
 <key>WorkingDirectory</key>
 <string>/path/to/pimki_2_zombie</string>
</dict>
</plist>

Change the paths above to match you system. Install as a service with launchctl load ~/Library/LaunchAgents/pimki.plist.

Please note the storage directory option: in order to support gems, the storage path cannot be relatve to the application directory (which will change between gem versions). Therefore the default has been set to the working directory when invoked from the command-line. To install as a service specify the storage path explicitly as in the example above.

Features

Besides all the regular Instiki features, Pimki adds:

See here the full version history.

Known Bugs

None :-)