Files
note/README

206 lines
5.9 KiB
Plaintext
Raw Normal View History

note 1.2.2 by Thomas Linden, 04/03/2003
=======================================
2012-02-10 19:58:52 +01:00
Introduction
============
This is a small console program written in
perl, which allows you to manage notes similar
to programs like "knotes" from commandline.
2012-02-10 19:58:52 +01:00
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.
Where to get?
=============
By now at
http://www.daemon.de/note/
You may also try your nearest tucows mirror.
Features
========
o Three different database backends, mysql(DBI), dbm, binary(bin file).
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 Last, a while ago a user stated: "... it simply does, what it
says ..."
2012-02-10 19:58:52 +01:00
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)
2012-02-10 19:58:52 +01:00
2012-02-10 19:58:52 +01:00
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
2012-02-10 19:58:52 +01:00
After that, you are ready to install. Become root and issue:
2012-02-10 19:58:52 +01:00
# make install
2012-02-10 19:58:52 +01:00
The installation process installs all modules for every available
data backend (binary, dbm and mysql). 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.
2012-02-10 19:58:52 +01:00
The DBM backend(NOTEDB::dbm) requires the existence of a directory,
which you must specify in your config using the option "DbName".
2012-02-10 19:58:52 +01:00
If you want to use encryption support, you will need at least
Crypt:CBC and Crypt::Blowfish (or Crypt::DES or whatever).
2012-02-10 19:58:52 +01:00
CHANGED: does no more use the external touch command to create a new file, use perls open() instead. CHANGED: excluded some of the help texts from the usage message and the interactive help command to a manpage. ADDED: new commandline flag "--encrypt" which one can use to encrypt the mysql database password. This will be decrypted before connecting to the db. There is also a new config file option "encrypt_passwd" which indicates an encrypted db-password. ADDED: another new config option "ShortCd", which can be set to "yes" or 1 and if set, then a command like "cd 13" would jump directly to the topic of the note with the number 13. ADDED: now you can at any time cd back to the "root" of the topic-structure using the command "cd /". CHANGED: mysql.pm does now only do a table-lock on single write accesses, no more on the whole session. This allows one to access the same db twice or more. FIXED: Changed README and Changelog for readability on 80 by 25 displays. And changed indentation of the note script itself. ADDED: NOTEDB.pm - a generic module, which holds some methods, which are used by binary.pm, mysql.pm and dbm.pm. ADDED: NOTEDB.pm generate_search(), which allows one to use AND, OR and various combinations of them using ( and ). ADDED: a search does now return the 2nd line of a note if a matching note's first line is a topic. CHANGED: use "unshift" instead of push to add $libpath to @INC. ADDED: a new feature, Caching of notes. supported by binary.pm and mysql.pm. To turn it on, one need to set "Cache" in the config to a true value.
2012-02-10 20:22:49 +01:00
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.
CHANGED: using Makemaker instead of self-written code in Makefile.PL for installation. No more dependency checks built-in because note runs out-of-the-box without additional modules, as a matter fact. ADDED: if a search matches exactly on one note it will be displayed directly, which avoids typing. CHANGED: the main if-else contruct for calling the several subs has been replaced by a simple closure call. CHANGED: notes will now displayed in a slightly simpler fashion in interactive mode, without the separator line between the title and the note. ADDED: note can now determine automatically the width and height of the terminal window it runs in (in interactive mode only) and sets the width/height of what it prints accordingly. the config variable "MaxLen" must be set to "auto" (which is the default from now on) to get this to work. ADDED: any interactive command will now clear the screen before it does anything. this look much more uncluttered. ADDED: if multiple notes are printed at once (i.e. note 1,2) then the separator line between them will no more being printed because every notes title is preceded by a line anyway. CHANGED: by default the default operation mode is now interactive mode, which is somewhat kindlier to new users. CHANGED: changed to order which editor note tries to find. vi got now higher precedence, because it is likely installed on almost any unix system. CHANGED: cosmetics. NOTE: increased minor version number from 1 to 2 to indicate that development begun after 2 1/2 years pause again :-)
2012-02-10 20:27:05 +01:00
2012-02-10 19:58:52 +01:00
Comments
========
You can send any comments to Thomas Linden <tom@daemon.de>.
If you find a bug or if you have a suggestion for improvement of the
script feel free to send me a patch ;-)
2012-02-10 19:58:52 +01:00
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
2012-02-10 19:58:52 +01:00
CHANGED: does no more use the external touch command to create a new file, use perls open() instead. CHANGED: excluded some of the help texts from the usage message and the interactive help command to a manpage. ADDED: new commandline flag "--encrypt" which one can use to encrypt the mysql database password. This will be decrypted before connecting to the db. There is also a new config file option "encrypt_passwd" which indicates an encrypted db-password. ADDED: another new config option "ShortCd", which can be set to "yes" or 1 and if set, then a command like "cd 13" would jump directly to the topic of the note with the number 13. ADDED: now you can at any time cd back to the "root" of the topic-structure using the command "cd /". CHANGED: mysql.pm does now only do a table-lock on single write accesses, no more on the whole session. This allows one to access the same db twice or more. FIXED: Changed README and Changelog for readability on 80 by 25 displays. And changed indentation of the note script itself. ADDED: NOTEDB.pm - a generic module, which holds some methods, which are used by binary.pm, mysql.pm and dbm.pm. ADDED: NOTEDB.pm generate_search(), which allows one to use AND, OR and various combinations of them using ( and ). ADDED: a search does now return the 2nd line of a note if a matching note's first line is a topic. CHANGED: use "unshift" instead of push to add $libpath to @INC. ADDED: a new feature, Caching of notes. supported by binary.pm and mysql.pm. To turn it on, one need to set "Cache" in the config to a true value.
2012-02-10 20:22:49 +01:00
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/.
CHANGED: does no more use the external touch command to create a new file, use perls open() instead. CHANGED: excluded some of the help texts from the usage message and the interactive help command to a manpage. ADDED: new commandline flag "--encrypt" which one can use to encrypt the mysql database password. This will be decrypted before connecting to the db. There is also a new config file option "encrypt_passwd" which indicates an encrypted db-password. ADDED: another new config option "ShortCd", which can be set to "yes" or 1 and if set, then a command like "cd 13" would jump directly to the topic of the note with the number 13. ADDED: now you can at any time cd back to the "root" of the topic-structure using the command "cd /". CHANGED: mysql.pm does now only do a table-lock on single write accesses, no more on the whole session. This allows one to access the same db twice or more. FIXED: Changed README and Changelog for readability on 80 by 25 displays. And changed indentation of the note script itself. ADDED: NOTEDB.pm - a generic module, which holds some methods, which are used by binary.pm, mysql.pm and dbm.pm. ADDED: NOTEDB.pm generate_search(), which allows one to use AND, OR and various combinations of them using ( and ). ADDED: a search does now return the 2nd line of a note if a matching note's first line is a topic. CHANGED: use "unshift" instead of push to add $libpath to @INC. ADDED: a new feature, Caching of notes. supported by binary.pm and mysql.pm. To turn it on, one need to set "Cache" in the config to a true value.
2012-02-10 20:22:49 +01:00
Author and Copyright
====================
2012-02-10 19:58:52 +01:00
The author is Thomas Linden.
note is Copyright of Thomas Linden.
2012-02-10 19:58:52 +01:00
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.
2012-02-10 19:58:52 +01:00
Last changed
============
04/03/2003