Organize Your Knowledge with Piggydb

Dmitri Popov

Productivity Sauce

Apr 25, 2009 GMT
Dmitri Popov

We all have our area of expertise, but how can you actually convert your knowledge into an accessible and searchable form? To do this, you need software that allows you to create and maintain knowledgebases -- something like Piggydb.


Piggydb comes as a single .zip archive which contains everything you need to get started. Unpack the archive, switch to the resulting directory in the terminal, execute the sh command, and Piggydb is ready to go. Point your browser to http://localhost:8080 and log in using "owner" as both the user name and password. You can then start populating the database with entries (called fragments in Piggydb) by clicking on the Create a new fragment link. Piggydb supports two types of fragments: text and file. As you might have guessed, the latter allows you to attach a file to the knowledgebase entry. Creating a text fragment is as easy as specifying a title and entering the actual content in the appropriate fields. Piggydb supports a subset of wiki markup, including different text styles, lists, preformatted text, tables, and links. You can view a full list of the supported formatting options with brief descriptions and examples by clicking on the Wiki Markup link at the bottom-right corner of the Content field. You can also specify tags in the Tags field. Once the fragment is ready, hit the Preview button to preview it and Register to add the fragment to the database. The Create a new fragment link lets you create a top-level knowledgebase article, but you can also add a sub-article to any of the existing fragments by clicking on the fragment's hyperlinked number in the title and clicking on the Create a new related fragment link. You can also establish a relation between the currently viewed fragment and any other fragment in the database. To do this, enter the number of the target fragment in the Create a new relation to field and press OK.

Piggydb makes extensive use of tags when it comes to finding the fragments you need. To view all fragments containing a specific tag, simply press on the tag you want. This displays all relevant fragments along with a list of related tags in the Related Tags section. Click on any tag on the list to include it in the current search. If you often need to view fragments containing a certain tag or tags, you can use the Filter feature, so you don't have to specify the same search query every single time. Choose Filter -> New filter, pick the tags you want to include and exclude from the search, give the filter a name, and press Save. Next time you press on the Filter button in the navigation menu, you will see a list of fragments that match the filter's criteria. The Tag tree feature (Tags -> Tag Tree) lets you specify a filter on the fly by simply picking the tags you want.

Finally, Piggydb makes it rather easy to back up and restore your knowledgebase. Choose System -> Export, press the Export the current database button, and the system saves fragments and attached files as a single .pig archive (a zip archive containing an XML file of all the fragments and a folder with the attached files). Restoring the knowledge base is equally easy: choose System -> Restore, select the .pig file, and press the Restore the database button.


  • Comment

    I would agree that Piggydb offers many Evernote features, including tags, search, and a similar interface. The only problem is that it's difficult to install and run. As far as I know from a tutorial downloaded from free files search engine for installation instructions, you should download and extract the Piggydb zip file, and check out readme.txt. If Piggydb developers made it simple to install, this would be a killer app.
  • ?

    I'm not sure why this is being hailed as a wonderful piece of innovative software. I have nothing against it, but I was unable to see the utility beyond what I use for PIM, like wikidpad.
  • PiggyDB example??

    For some reason, I'm having trouble visualizing exactly how PiggyDB is to be used. Could you give a brief example of how to used this software? Let's say, using the automobile industry - make, model etc etc. Something that I can relate to. TIA...
comments powered by Disqus
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters

Support Our Work

Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.

Learn More