A whole new web service ‘Oinker’ coming soon!

Hi there,

It’s been another break in developing Piggydb for almost a year. It was probably the longest but I believe the most important pause ever in this project.

I’ve been working on a new web service that shares many concepts with Piggydb, and finally, it’s about to enter the phase of inviting beta testers.

I’m going to start with invitations for Piggydb Supporters to join the first group of beta testers.

Stay tuned!



Another thoughtful comment on filters

Another thoughtful comment on filters from Igor:

I am tinkering a bit with Piggydb, as I am looking for a replacement for BasKet which stalled at KDE3, and my favorite Wiki on a Stick that is on its way to discontinuation of development for some years now (unfortunately, pretty common in one-man-developement FOSS). So far, Piggydb looks extremely promising. To get to know it, I wrote a little knowledge base of its user interface, parts of which are undocumented, and that made me read the documentation base thoroughly.

Concerning redundancy of filtering, I can only confirm it from the standpoint of purity of concept. However, Piggydb is just a tool, so the true concept is its projected usage. I see filters as saved searches, and when the base is growing huge, one needs every help in finding fragments. Using tags, that is, concepts for this purpose makes tags themselves impure, or rather misused. Besides, no matter how do we approach tagging, possibility of tagging overflow is luring all the time, the more so as one pays more attention to structuring one’s knowledge base. We learn about it from almost any science, particularly from humanities, as the extent of conceptual superstructure might seriously challenge any basic influx of data, and the literary criticism is a very good example.

So, the only thing I feel is wrong with filters is impossibility of filtering by keywords. In other words, I’d like to see the filtering tool as another search tool with additional naming and saving. This, of course, can be an option added to the main search tool.

As for the third, the left frame or column, in the beginning it seemed to me as wasting of precious page space, once there is this very fine quick preview available. But I very soon learned to appreciate the possibility of viewing simultaneously entire single fragment and the list of other ones. Particularly in the initial phase of looking for regularities it is good to have as few limitations as necessary. So I’d prefer not having the list (or the tree) in the central frame automatically filtered by the chosen fragment tags, because instead of sparing few clicks it is often forcing few extra. I am regularly comparing the fragment to various sets of other fragments, so I am doing some searching in the central frame, having the focused fragment exposed in the left one. Of course, when one already knows one’s base hierarchy and has it built, then present behavior is perfectly OK, but as I got it, Piggydb is about finding a structure rather than documenting it, and about relation network rather than hierarchical tree.

Actually, the only thing I believe Piggydb is missing at this moment is graphical, vectorial presentation of relations network on demand, with fragments represented by their names (possibly links) interconnected by arrowed lines, maybe some sort of SVG. It would make a huge help in examining (and possibly even editing?) already established relationships. But again, bearing in mind probable number of fragments of any serious base, I am fully aware this might be too much to ask for. Pity, because this one feature would make Piggydb a killer app.

Piggydb V6.18 – All/Any Switch for Tag Search and Related Fragments

This release adds yet another update to the search feature by adding an All/Any switch to the tag search:


In the previous versions, searching by tags results in the fragments tagged with ‘all’ of the specified tags. From this version, you can switch between ‘all’ and ‘any’. ‘Any’ displays the fragments tagged with ‘any’ of the specified tags.

The ‘Any’ tag search produces another feature called “related fragments”. In the fragment page, the list view displays all the fragments tagged with any of the tags of the focused fragment:


You can download the latest version from: https://sourceforge.net/projects/piggydb/files/latest/download

How to install PiggyDB on a Raspberry PI

I’ve stumbled upon an interesting article about Piggydb with the title above:

How to install PiggyDB on a Raspberry PI


The description of Piggydb in the article is concise and to the point.

If you don’t know PiggyDB yet, go have a look. To make it short, it’s your personal wikipedia. You can tag fragments (= an article), upload pictures or files, use its search engine to find what you stored in here. The smaller your fragments are, the better I think. Main features I forgot to speak about : Zero setup and it’s web application (Nothing to install anywhere else!).

Get Supporters Edition at CeBIT!

We decided to give all of CeBIT talk attendees free copies of the Piggydb Supporters Edition which provides premium features in addition to the standard features.

We hope you’ll come to Piggydb’s talk in Hanover next week!



Piggydb at CeBIT 2014 in Hanover

“Grow Your Knowledge with Piggydb” by Dmitri Popov
– 10 Mar. 2014, 01:00 PM – 01:45 PM

Don’t miss it if you will be at CeBIT! It’s a very rare opportunity to hear about Piggydb.


Piggydb V6.17 – Incremental Search by Tag and MathJax Support

Firstly, this release extends the fragment incremental search to support tags in addition to keywords. You can add tags for the list to include or exclude the fragments with the specified tags as follows:


The list will be automatically refreshed as you edit the criteria (keywords, tags). This incremental search is going to replace the filter feature which will be removed in coming versions.

Secondly, the release adds MathJax support that allows you to embed mathematics notation by writing LaTeX expressions in the content:



And lastly, the global search box has been cleaned up a little bit, removing the redundant buttons.


You can download the latest version from: https://sourceforge.net/projects/piggydb/files/latest/download

Linux Magazine: Organize and access data with Piggydb

Linux Magazine

Dmitri Popov, a technical writer covering Linux and open source software, wrote an extensive article on Piggydb for Linux Magazine. It covers various topics: what Piggydb is all about, detailed instructions on how to set up and use it, etc.

To be honest, I think it is the best article on Piggydb I’ve ever read. So if you are looking for a definitive guide to enter the Piggydb world, it is definitely worth checking out.


Feature request: Fragment-based filtering

Piggydb user Novbert posted his thought on the problems of Piggydb’s filters on the issue tracker. I think his feedback is to the point and am beginning to think about removing or overhauling the current filter feature in the coming versions of Piggydb.

I’d love to hear from you on this topic, so please post a comment on this article if you have any opinions.

I don’t particularly like the way filters are integrated into the piggydb concept. Actually I think they are part unnecessary and part redundant. One could argue, that they are there as shorthands for any meaningful set of concepts, but we have tags for the very same purpose, rigth? Even if we argue, that there are useful sets of tags we want to leave untagged, that set should probably also be a concept in itself, thus filters should be fragments themselves, shouldn’t they?

Actually this way of thinking also works in the opposite direction. Fragments could be used as filters for the sum of tags assigned to them. Would that be the case, having filters as a separate entity would be totally unnecessary.

Let me tell an example. I’m building a DB on all types of fiction, movies, books, comics, etc. I categorize them based on genre, media, author, etc. Naturally I have tags like Movies, Books, and also Sci-fi, Fantasy. Though having a category for “Sci-fi movies” sounds rather intuitive, how would I do that in piggydb? I don’t want to set it up as a tag, as I already have a set of tags for this, so it would make my tag system redundant by assigning both “Sci-fi” “Movies” and “Sci-fi Movies” tags to all the relevant fragmens. But if I set it up as a filter, I lose the ability to make general notes on the subject. Of course I could solve the problem by creating a fragment called “Sci-fi movies” and assign all the specific movies as child fragments, but that would result an organized list of movies, while I’d like to see these as a set, while making general notes on them (e.g. : the history of Sci-fi movies, notable directors, etc.) I’d like to look at this summary fragment, and edit it, while browsing through all the specific movies.

Which brings me to my next point: the uselessness of the middle and right pane when focusing (clicking) on a non-tag fragment. If I do that, the fragment content appears on the left, leaving a useless view of all my fragments in the middle (which can be filtered by keyword, but not by tags), and a similarly useless right pane, without tag-based filtering ability.

I think it would make much more sense if it would work like this:
– Clicking on any non-tag fragment wouldn’t only show the contents on the left, but it would also make the middle and right pane behave as if I’d have set up a filter with all the tags assigned to that segment. Changing filter parameters would only affect the middle and right pane, the chosen segment would remain active on the left as long as I don’t click on another one.

In the above scenario it would result this:

I could set up a non-tag fragment called “Sci-fi movies” and assign tags “Sci-fi” and “Movies” to it. If I click on that fragment, it would appear with all the details on the left, while all the actual sci-fi movies with tags “Sci-fi” and “Movies” assigned would appear on the right, with ability for further filtering based on both keywords, and tags. I could overview all of them, while looking at my summary fragment, and I could even try to find relevant fragments in other categories e.g. by removing Sci-fi from the filter criteria and add another related tag like “James Cameron”. All this, while still looking at my summary fragment called “Sci-fi movies”

Similarly if I’d click on any actual sci-fi movie (e.g. Avatar, with tags “Sci-fi”, “Movies” and “James Cameron” assigned), in the middle pane there would appear all the movies falling in exactly the same category (e.g. Alines, The Abyss and Terminator 2), and I could even try to find related concepts e.g. by removing Cameron from the tag filter criteria and inserting another director.)

As I see this way of working might as well make Filters as separate entities entirely unnecessary for piggydb, as users would have the ability to filter fragments based on tags (as it is right now), and fragments themselves would behave just like filters, thus if the user finds any important pattern/set in the database, he could create a fragment with the relevant tags assigned, making himself able to query that set later on at any time. That later step would even be unnecessary as any set of fragments with the same tags applied would behave like a filter for itself.

What do you think?

Piggydb Use Case: Relationships(Links) for Quick Reference

Piggydb user David Shrader kindly shared his experience of using Piggydb for his study. He utilizes piggydb’s relationships(links) to allow him to quickly access basic information to learn via Fragment Quick View.


I was in class training to earn my Oracle OCA certification, and I was having a lot of trouble studying for the 1z0-151. I had my notes in a notebook, and I found that if I read over the “key facts” I was reading a lot more than necessary about certain elements, and not enough about others. I passed my test, but only by 4 points.

Fast forward to studying for my 1z0-152, and I knew that I had to do something different to learn the material. In addition to staying up many late nights studying, I also began using piggydb to take notes and link pieces of knowledge together. The most beneficial thing for me was being able to create links (example syntax [fragment:99 BASIC INFO]) to knowledge fragments, allowing me to hover over the links to glance at information I already knew, and if I realized I didn’t understand something well enough I was able to open the link and read over the entire concept in depth. This may not sound very helpful, but for my learning style it was perfect. I was able to include charts and tables in the fragments for each key term, and I wasn’t forced to have them in the same (illogical) order as the books. I displayed storage charts from the largest to smallest element, etc. Then I was able to link the knowledge fragments together when they were related, which also helped cement the information in my mind.

So what was the final outcome you might ask? I scored a 93 on the 1z0-152. My instructor was shocked. Just for the sake of comparison, I scored a 64 on the first exam. That’s a 29% improvement thanks to piggydb, lol.


Thanks, David!