The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
note 1.3.13 by Thomas Linden, 14/11/2012
=======================================

Introduction
============

This is a small console program written in
perl, which allows you to manage notes similar
to programs like "knotes" from commandline.

There are currently three different database backends,
which you can use with note:
	o NOTEDB::binary - this is the default backend
	  and uses a binary file to store your notes.
	o NOTEDB::mysql  - this backend uses a mysql
	  database to store your notes. You can switch
	  easily to another DBMS since this module uses
	  the Perl standard module "DBI" for database-
	  access. See below for more info on this topic!
	o NOTEDB::dbm - this module uses two DBM files
	  for data storage and requires the module DB_FILE,
	  which is part of the perl standard distribution.
	  See below for more details about the DBM module.
	o NOTEDB::general - uses the module Config::General
	  for storage, which makes the data file portable,
	  since it is a plain ascii file (binary content
	  will be base64 encoded).
	o NOTEDB::text - uses the Storable module for data
	  storage (a serializer). Storable is included with
	  perl, and since it's written in C, it's very fast.
	  But the resulting data files are not that portable
	  as the once of NOTEDB::general are.


Where to get?
=============

By now you can download it at http://www.daemon.de/NOTE.
If you are using debian, you can apt-get it. If you are
using gentoo, you can emerge it.

You may also try your nearest tucows or freshmeat mirror.




Features
========

o Several different database backends, mysql(DBI), dbm,
  binary(bin file), general and text (text files).
o Commandline interface using the standard perl module
  Getopt::Long, which allows you to use short or long
  command-line options.
o Interactive interface(pure ascii), the following functions
  are available in interactive mode: list, display, topic,
  delete, edit, help.
o Highly confiurable using a perlish configfile ~/.noterc.
  although it is configurable it is not required, note can
  run without a configfile using useful default presets.
o Colourized output is supported using ASCII Escape-Sequences.
o The user can customize the color for each item.
o Data can be stored in various different database backends,
  since all database access is excluded from the program itself
  in perl modules.
o Notes can be deleted, edited and you can search trough your notes.
o Notes can be categorized. Each category(topic) can contain multiple
  notes and even more sup-topics. There is no limitation about
  sub topics.
o You can view all notes in a list and it is possible only to view
  notes under a certain topic.
o There is a tree-view, which allows you to get an overview of your
  topic-hierarchy.
o Notes can be encrypted using DES or IDEA algorythms and Crypt::CBC.
o You can dump the contents of your note database into a plain text
  file, which can later be imported. Imports can be appended or it can
  overwrite an existing database (-o).
o Note has scripting capabilities, you can create a new note by piping
  another commands output to note, you can also import a notedump from
  stdin as well es duming to stdout instead a file. Additional, there 
  is an option --raw available, which prints everything out completely
  without formatting.
o for better performance, note can cache the database for listings
  or searching.
o It can be installed without root-privileges.
o if Term::ReadLine (and Term::ReadLine::Gnu) is installed, history
  and auto-completion are supported in interactive mode.
o Last, a while ago a user stated: "... it simply does, what it
  says ..."





Requirements
============

You need the following things:
	o perl installed (5.004x)
	o The module IO::Seekable and Fcntl, which should be 
	  already installed with your perl distributuion if
	  you want to use the binary database backend.
	o DBI module and DBI::mysql if you want to use the 
	  mysql database backend.
	o The module DB_FILE if you want to use the DBM module.
	o Getopt::Long (part of perl std ditribution)
	o Term::ReadLine and optionally Term::ReadLine::Gnu if
	  you want to use the auto-completion and history functionality.
	o Config::General if you want to use the NOTEDB::general
	  backend.


Installation
============

Unpack the tar-ball and issue the following command:

   $ perl Makefile.PL

This creates the Makefile neccessary for installing.
You may add some additional variables to the commandline, the
most important one is PREFIX.

Then enter the following command to prepare the installation
process:

   $ make

After that, you are ready to install. Become root and issue:

   # make install

The installation process installs all modules for every available
data backends. The default note configuration does not require
additional perl modules.
If you want to use the mysql backend refer to the installation
instructions for the mysql database installation in mysql/README.

If you want to use encryption support, you will need at least
Crypt:CBC and Crypt::Blowfish (or Crypt::DES or whatever).



Configuration
=============

This version of note doesn't neccessarily need
a configuration file. But you can have one and change
some default values. Take a look to the file config/noterc
provided with this tarball. There are detailed instructions
about every available parameter.
Simply copy this file into your home-directory and name it
.noterc
If you decide not to use the default database backend (a binary
file), you will *need* a configuration!



Usage
=====

Refer to the note(1) manpage for usage instructions.



Comments
========

You can send any comments to Thomas Linden <tom at linden dot at>.
If you find a bug or if you have a suggestion for improvement of the
script feel free to send me a patch ;-)



License
=======

This program comes with absolutely NO WARRANTY. It is distributed under
the terms of the GNU General Public License. Use it at your own risk :-)
You can read the complete GPL at: http://www.gnu.org/copyleft/gpl.html



Recources
=========

The command-line options and all commands of the interactive mode are
described in the supplied note(1) manpage.
You may also refer to the note website http://www.daemon.de/note/.



Author and Copyright
====================

The author is Thomas Linden.
note is Copyright of Thomas Linden.


Contributors / Credits
======================

Shouts to all those guys who helped me to enhance note: THANKS A LOT!

Jens Heunemann <jens.heunemann@consol.de>	- sub tree.
Peter Palmreuther				- various additions.

And many other people who sent bug reports, feature requests. If you
feel that I forgot your name in this list, then please send me an email
and I'll add you.



Last changed
============

14/11/2012