I'm terrible when it comes to writing down notes. I write notes on any bits of scrap paper and I can find, and then of course they got lost and I lose important information. I've decided that enough is enough, and I now want to make a program that offers the flexibility of writing notes on paper, but with more advantages and none of the disadvantages. I find existing note taking programs too restrictive, so I've decided to make my own.

My main problem is finding a suitable data storage system. Before I mention my criteria/requirements, I should mention that one of the main design goals of the program is that it should be built in a 'core' with multiple interfaces on top (e.g. wxPerl, web-based or terminal). Data will be stored locally but it must be possible to sync to an external source (probably just an FTP server somewhere, but maybe WebDAV if I can figure it out).

As the data will be mostly unstructured (as users will type in the note, a few words to describe it, optionally a title, optionally a category and optionally a date associated with the note), I'm having trouble thinking of a suitable means of data storage. Each of the 'usual suspects' doesn't quite seem suitable:

Any advice would be appreciated.


In reply to Data storage for a flexible note-taking program? by SuperCruncher

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.