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:
- Mind Map: a graph of wiki connections (made with GraphViz). All graphs can be laid-out with the 4 GraphViz engines. There are several options for what pages to include in the map. Graph contents can be arranged as:
- Page → linked pages
- Authors → pages
- Categories → pages
Requires that GraphViz be installed and thebinon the systemPATHenvironment to be enabled. - Bliki: a blog integrated with the wiki. Blog entries are simply wiki-pages in a special space, organised in a reverse-chronological order. You can link from an entry to wiki pages normally via PageName or [[page name]] and from page to Bliki entries via [bliki[page name]].
- c2 Wiki links, via [c2[PageName]]. If you run multiple webs within Pimki, you can now link between them using [web_address[PageName]].
- Todo Items & List:
- ‘todo:’ items are highlighted on each page
- A main todo list, pulling items from all pages so you can better prioritise your time
- Added extra symbols that can be displayed on a page:
<:cbx>and<:cbxc>will display a checkbox and a checked checkbox respectively. - Added capacity to Delete & Rename pages through the ‘All Pages’ list.
- Customisable Left-Side Menu. Content options are:
- Only pages that reference other pages (default)
- Only pages that belong to a specific category
- All pages: by name
- All pages: recently revised
- All pages: recently visited
- All pages: most often visited
- User definable wiki-text
- Expanded Search:
- Search also tries to match the page names (not just contents).
- Now showing part of sentence around match in search-results page.
- Advanced Search - An advanced search form with many options:
- Case sensitivity
- Search as regex, phrase or words
- Search pages and bliki entries
- Search in page names / contents
- Limit search to selected categories
- Limit search to selected authors
- A Glossary page, collecting all acronyms from the web.
- Changed the nav-bar: added links to the Mind Map, Bliki and ToDo. Moved less relevant links to the bottom of Home Page: RSS, authors and export.
- There is also a FavIcon (that works in Firefox)
- Pimki is available as a RubyGem. Note that to support the Gem version, the storage path is set relative to the current directory. Either run it from the parent of the storage directory or use the '--storage' command-line option.
- Lots of web customization and administration options through the edit_web template.
See here the full version history.
Known Bugs
None :-)