Piggydb Supporters Edition Launched

The Piggydb project is going to celebrate its 4th anniversary at the end of this month. On this occasion, I would like to thank you for your support. It’s because of you, Piggydb users, that I can keep developing this small project.

In the hope of continuing the project for many years to come, I decided to try one of the ideas I thought about. That is ‘Piggydb Supporters Edition’.

Piggydb Supporters Edition is a special edition, which you can buy for \$10 from here. And it provides the following features in addition to the standard features:

– User CSS (Cascading Style Sheets)
— You can override the default user interface style by writing your own CSS.
— Your CSS will be saved with your knowledge fragments in the database.
— You can apply your style to part of fragment’s text.
— You can apply your style to a specific fragment by an ID.

Of course, all minor version upgrades and bug fixes will be for free.

If you are interested in this project and want to see what it will turn into in the future, please consider supporting it by buying this edition 😉

In Piggydb Supporters Edition, the “CSS” menu is added to the user menu and you can edit your own style sheets from it:

User CSS will be in effect immediately after you click on the Save button. The followings are the examples of customizing the color scheme. You can try these simply by copy and paste:

Blue:

.bgcolor-base {
background-color: #4082BB;
}

color: #F1F6F8;
background-color: #24518A;
}

.fragment-header span.tags a.tag {
color: #F1F6F8;
}

table.fragment td,
.content-box,
.content-box li.leafLastNode {
background-color: #F1F6F8;
}

#title-banner table td {
background-color: #143C78;
}

color: #F1F6F8;
background-color: #24518A;
}

color: #F1F6F8;
border: 1px solid #24518A;
}

table.fragment td.subfragments,
table.fragment td.subfragments #children-control td {
background-color: #4082BB;
}

table.fragment,
table.fragment th,
table.fragment td,
.content-box {
border: 1px solid #143C78;
}

.section-title {
border-bottom: 2px solid #24518A;
}

Brown:

.bgcolor-base {
background-color: #9F7269;
}

color: #F2F2F2;
background-color: #94524A;
}

.fragment-header span.tags a.tag {
color: #F2F2F2;
}

table.fragment td,
.content-box,
.content-box li.leafLastNode {
background-color: #F2F2F2;
}

#title-banner table td {
background-color: #653832;
}

color: #F2F2F2;
background-color: #94524A;
}

color: #F2F2F2;
border: 1px solid #94524A;
}

table.fragment td.subfragments,
table.fragment td.subfragments #children-control td {
background-color: #9F7269;
}

table.fragment,
table.fragment th,
table.fragment td,
.content-box {
border: 1px solid #998D8C;
}

.section-title {
border-bottom: 2px solid #998D8C;
}

Green:

.bgcolor-base {
background-color: #CEF892;
}

color: #000;
background-color: #A9D66F;
}

.fragment-header span.tags a.tag {
color: #000;
}

table.fragment td,
.content-box,
.content-box li.leafLastNode {
background-color: #fff;
}

#title-banner table td {
background-color: #385909;
}

color: #000;
background-color: #A9D66F;
}

color: #000;
border: 1px solid #A9D66F;
}

table.fragment td.subfragments,
table.fragment td.subfragments #children-control td {
background-color: #CEF892;
}

table.fragment,
table.fragment th,
table.fragment td,
.content-box {
border: 1px solid #9FC029;
}

.section-title {
border-bottom: 2px solid #E9CA46;
}

Soft:

.bgcolor-base {
background-color: #ECE5CE;
}

color: #000;
background-color: #F1D4AF;
}

.fragment-header span.tags a.tag {
color: #000;
}

table.fragment td,
.content-box,
.content-box li.leafLastNode {
background-color: #fff;
}

#title-banner table td {
background-color: #774F38;
}

color: #000;
background-color: #E08E79;
}

color: #000;
border: 1px solid #E08E79;
}

table.fragment td.subfragments,
table.fragment td.subfragments #children-control td {
background-color: #ECE5CE;
}

table.fragment,
table.fragment th,
table.fragment td,
.content-box {
border: 1px solid #E9CA46;
}

.section-title {
border-bottom: 2px solid #E9CA46;
}

You can also apply your style to part of fragment’s text. For example, write user css like below:

And specify part of text with the special markup when editing a fragment and the style will be applied to the text like below:

The text style will also be in effect in the document view.

The markup rule is:

  {{[class-name] Here goes the content.}}

You specify a style you want to apply to the text by “class-name”. Multiple class names can be specified by separating them with spaces.

You can apply your style to a specific fragment by an ID. For example, write user css like below:

table.fragment-17 {
border: 2px solid red;
}

Then, the style will be applied only to the fragment number 17:

There are many other usage of this feature. I will share other tips on this blog, so please keep your eye on it.

23 Comments on “Piggydb Supporters Edition Launched”

1. Hey its me again lol Just wanted to ask if the Supporters Edition is also Free Software? (meaning Freedom, not price or zero money) I would be very willing to give my support for that cause. 😀

• Hi Daniel, how have you been?

As of the current version, I don’t put any restrictions on the Supporters Edition package (no license key whatsoever) except that it does not contain the source code of the additional features.

• Been Great! Working on some automotive projects and gearing up for a business trip soon. That’ll be fun and gonna learn alot. lol

Would you be open to releasing the full source later on once you have all your features decided? I love that there isn’t any DRM. But I’ve been working really hard for the past year or so to only use software with fully released source code. I still havn’t been able to really get the hang of programming yet, So I can’t do anything with source. But I am mainly doing it to show free software is just as high quality, and to help drive the software industry towards fully open and free business models (as in Freedom, cause developers have to eat lol ).

God Bless ya Daisuke, Makes me feel awesome that you remembered me 🙂

• Hi Daniel,

Of course I remember you.

> Working on some automotive projects and gearing up for a business trip soon. That’ll be fun and gonna learn alot. lol

Cool. I wish you good luck on your business trip!

I totally agree with your idea about free software. Come to think of it, since the supporters edition is DRM-free, I feel it is meaningless to hide the source code. So, I decided to attach the full source to the next release of the supporters edition.

Thank you very much for your feedback 😉

2. Garth says:

I’ve purchased the supporter’s edition, but the zip you sent me contains only an .exe. I have a mac and no other option. Is the supporter’s edition WIndows-only?

• Hi Garth,

Thank you very much for supporting the project 😉

The supporters edition can run on any OS as long as it has Java 1.6 or later installed. Please double click piggydb-standalone.jar in a non-Windows environment and then a Piggydb server should be started.

• Garth says:

ah! Thanks! I hadn’t installed it in ages.

3. Hi there, I’ve been watching the development of Piggydb off and on since reading about it in http://www.outlinersoftware.com . I’ll be happy to buy the supporters edition and contribute towards your innovative work. I have just a suggestion: provide a way to load .css files directly from a location (local or internet) from within the program. I don’t mind copy and paste but it would be more convenient to load the files directly; there could be an Edit button if someone wants to tamper with the styles (I don’t 🙂

• Hi Alexander,

Thank you for your suggestion.

One of the merits of the current implementation is that the customized style is portable because the user css is stored in the database. When you restore your database in another environment, your customized style will also be restored. On the other hand, referring to local files is not portable, so I think it should be considered carefully. As for css files from internet, it is portable as long as you have an internet connection, so I will consider implementing this case.

• Thanks; actually what I had in mind was to only load the .css once, when selecting the style, and then keep it integrated in the database as you do now. Sorry this wasn’t clear.

• Okay, I see. Btw, thank you for the info about outlinersoftware.com. I just posted a blog entry about it 😉

• I just found a way to load .css files from specified URLs. You can use @import rule. For example, try to save the following line at the CSS menu:

@import "http://piggydb.sourceforge.net/theme/blue.css";
• Interesting, thanks again 🙂

4. Ioannis Papapantelis says:

Hi Daisuke,
I just downloaded piggydb and I consider to buy the supporter’s edition in order to support your work. But I miss a feature that I need: searching in fragments with wild cards or searching without the need to write the whole word, e.g. with “cat” it also finds “cats”. Do you plan to implement such a feature?

• Hi Ioannis,

Thank you for your feedback and considering to buy the supporter’s edition.

As you pointed out, the current version supports only simple keyword search. It would be possible to extend the search feature as you wrote, but I don’t have a concrete plan yet. I will add this to the consideration list for future versions.

5. Pablo says:

Question: Can you setup the standalone version and wanted to see if there is a way to setup SSL with piggydb so I can use the HTTPS protocol?

• Basically, the standalone package is not for that purpose. If you want to use SSL, you should launch a web server, such as Tomcat, and setup SSL in it. After that, deploy the war package to the server.

6. Rio says:

This can already be changed in the webapp/style/piggydb-base.css file.

Haven’t you learned that if you charge a programmer for a feature, they will just rewrite your software themselves?

Does anyone know if there’s a way to apply a style to multiple fragments based on their tags? It would really be nice if so, because as of now I have edited the settings of one of the pre-made CSS configurations above to change colors and such, but I have to add this at the end to change fragments with tags manually:

color: #23ff1a;
background-color: #32004b;
}

table.fragment-330 td.subfragments,
table.fragment-330 td.subfragments #children-control td {
background-color: #23ff1a;
}

color: #23ff1a;
background-color: #32004b;
}

color: #23ff1a;
background-color: #32004b;
}

…and so on. I’ve done this for about 20, which only covers two of my many tags. I have about 350 fragments so far, and I’d prefer not to have to do this for 200-300 fragments, so any help would be greatly appreciated. 🙂

• As of the current version (6.16), it does not provide a feature to set a style of multiple fragments according to their tags. I will consider it for future versions. Thanks!

8. paul says:

look in the webapp/style/piggydb-base.css file.
You dont need to buy a supporters eddition to edit your css. you can change your css in the above file FOR FREE.

9. Dan The Man says:

Daisuke, have you considered making it easy (off the shelve) installable on NAS-devices and their operating systems, like Synology DM 5 for example ??? This could give the project quite a boost I think…..

• I don’t know much about the field and have never heard of Synology DM 5 before. Does it support Java?