Organize and access data with Piggydb
Personal Knowledge
Struggling to keep your data organized and easily accessible? Piggydb can help you turn a collection of data morsels into a flexible knowledgebase.
Knowledge is power, but only if you have the ability to organize and access it. For that, you need a dedicated tool like Piggydb [1], which can transform an amorphous body of notes, code snippets, images, documents, links, and so forth into a properly organized and easily accessible knowledgebase.
Unlike traditional outliners and note-taking applications, Piggydb lets you structure content by classifying and connecting individual items called knowledge fragments. Pouring and organizing content in Piggydb should help you not only manage your knowledge more efficiently but also generate new concepts and ideas.
Better still, you can put Piggydb to a variety of other practical uses: from drafting articles and jotting notes to organizing research material. In other words, Piggydb has the potential to become an indispensable tool in your productivity and creativity toolbox.
Deploying Piggydb
Piggydb is written in Java, so before you can run the application on your machine, you have to install a Java Runtime Environment (JRE) on it. On Ubuntu and Debian-based Linux distributions, you can install the OpenJDK JRE by executing
apt-get install openjdk-7-jre
as root. Installing OpenJDK on openSUSE is also a matter of running
zypper install java-1_7_0-openjdk
as root. Once the JRE has been installed, you can deploy Piggydb.
The application is available in two versions: a standalone desktop application and an all-in-one server package. To install the standalone version of Piggydb, grab the latest release of the application from the project's website and unpack the downloaded archive. In the terminal, switch to the resulting directory and launch the application with:
java -jar piggydb-standalone.jar
This step should add the Piggydb item to the System Tray and open the application in the default browser. Then, use the default username and password (owner
/owner
) to log in to Piggydb.
By default, Piggydb runs on port 8080, but you can easily change this by editing the port=8080
line in the launcher.properties
file. Piggydb automatically creates a database for storing data in the user home directory. However, you can change the destination directory by modifying the default path in the line piggydb.database.prefix=file:~/piggydb
in the application.properties
file.
Instead of running Piggydb on a desktop machine, you can deploy the application on a server, so you can access and use Piggydb from anywhere. Deploying the application on a server is a rather simple affair. Install the OpenJDK package, download the all-in-one version of Piggydb, and unpack the downloaded archive. Move the resulting piggydb
directory to the root of your server. Make the run.sh
script in the piggydb
directory executable using the chmod +x run.sh
command. Then, run the script, point your browser to http://127.0.0.1:8080 (replace 127.0.0.1 with the IP address or domain name of your server), and log in using the default credentials.
Similar to the standalone version, you can change the default port and database directory, if needed. To do the former, edit the port=8080
line in the winstone.properties
file. To change the default directory, open the run.sh
file and edit the -Dpiggydb.database.prefix=file:~/piggydb
parameter.
Populating Piggydb with Knowledge Fragments
To make the most of Piggydb's functionality, it's important to understand its basic terminology and functionality. The key element in Piggydb is the knowledge fragment, which could be anything from a text snippet to a file attachment. Knowledge fragments are the main building blocks of a knowledgebase and can be connected in an infinite number of ways. Tags and relations are the agents that glue knowledge fragments together. You can assign multiple tags to each knowledge fragment and use relations to network fragments.
Populating Piggydb with knowledge fragments is rather straightforward. Press the Create a new fragment button, specify the title, and assign tags to classify the new knowledge fragment. You can enter text then format using the available text formatting tools. Piggydb uses its own Wiki-like markup, which supports all the basic formatting options. This includes bold, italic, and strike-through styles; numbered and unnumbered lists; preformatted text; block quotes; and hyperlinks. If the inserted hyperlink points to an image or a YouTube video, Piggydb automatically embeds the image and the video.
The markup also supports more advanced formatting options, such as definition lists and tables. Piggydb offers two features that make it easier to master the markup. The main toolbar contains buttons that give you quick access to frequently used formatting options. The Help button displays a detailed description of markup usage complete with examples. You can preview the formatted text of the fragment at any time using the Preview button. When you are done editing the knowledge fragment, press Register to add it to Piggydb. Using the described procedure, you can add as many knowledge fragments as necessary (Figure 1).
Piggydb also makes it possible to populate the knowledgebase with files. To add a file, press the Add a file button, attach the desired file using the Browse button, fill out the Title and Tags fields, and press Register. The created fragment is treated as a regular knowledge fragment.
Piggydb Interface Overview
Piggydb features an unobtrusive and functional interface that provides direct access to all essential tools for managing knowledge fragments (Figure 2). The search bar in the upper left corner can be used to find fragments containing the specified search term quickly. The slider below the search bar lets you shrink and expand the knowledge fragments as needed. By default, each knowledge fragment is shown in its full length, but if you need to get a bird's eye view of all fragments in the knowledgebase, move the slider to the left to minimize the size of each fragment gradually. Using the drop-down list opposite the slider, you can sort knowledge fragments by different criteria, including update and creation date, title, and creator. The buttons next to the drop-down list lets you switch between the ascending and descending sort order.
The right sidebar contains several palettes: Bookmarks (available only if you have bookmarked fragments), Tag Palette, Filter, and Recently Viewed. The Tag Palette displays all the tags used in the knowledgebase, and it features three viewing modes: hierarchical tree, cloud, and list. The Filter palette shows the list of existing filters. Using the New Filter button in the palette, you can define filters that can be used to display only a specific subset of knowledge fragments (Figure 3). Defining a filter in Piggydb is a matter of including and excluding specific tags. For example, you can create a filter that shows all knowledge fragments containing the language, japanese, and grammar tags, but not the vocabulary tag.
Depending on the usage context, Piggydb switches between list and column views (Figure 4). The former is the default view, which displays all knowledge fragments as a list. When you perform searches, view an individual fragment, or assign the #home tag to a fragment, Piggydb switches to column view.
Each knowledge fragment has its own floating toolbar that pops up when you hover over the fragment. This so-called fragment toolbar contains buttons that let you create a relationship, view the fragment as a document, edit the fragment, bookmark it, add it to the home page, and select the fragment. Additionally, when you hover over the ID number of a knowledge fragment, its content is displayed in a pop-up window. This feature can be useful for quickly previewing a certain fragment, especially when fragments are displayed in an abridged form.
Buy this article as PDF
(incl. VAT)
Buy Linux Magazine
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.
News
-
Systemd Fixes Bug While Facing New Challenger in GNU Shepherd
The systemd developers have fixed a really nasty bug amid the release of the new GNU Shepherd init system.
-
AlmaLinux 10.0 Beta Released
The AlmaLinux OS Foundation has announced the availability of AlmaLinux 10.0 Beta ("Purple Lion") for all supported devices with significant changes.
-
Gnome 47.2 Now Available
Gnome 47.2 is now available for general use but don't expect much in the way of newness, as this is all about improvements and bug fixes.
-
Latest Cinnamon Desktop Releases with a Bold New Look
Just in time for the holidays, the developer of the Cinnamon desktop has shipped a new release to help spice up your eggnog with new features and a new look.
-
Armbian 24.11 Released with Expanded Hardware Support
If you've been waiting for Armbian to support OrangePi 5 Max and Radxa ROCK 5B+, the wait is over.
-
SUSE Renames Several Products for Better Name Recognition
SUSE has been a very powerful player in the European market, but it knows it must branch out to gain serious traction. Will a name change do the trick?
-
ESET Discovers New Linux Malware
WolfsBane is an all-in-one malware that has hit the Linux operating system and includes a dropper, a launcher, and a backdoor.
-
New Linux Kernel Patch Allows Forcing a CPU Mitigation
Even when CPU mitigations can consume precious CPU cycles, it might not be a bad idea to allow users to enable them, even if your machine isn't vulnerable.
-
Red Hat Enterprise Linux 9.5 Released
Notify your friends, loved ones, and colleagues that the latest version of RHEL is available with plenty of enhancements.
-
Linux Sees Massive Performance Increase from a Single Line of Code
With one line of code, Intel was able to increase the performance of the Linux kernel by 4,000 percent.