JCards 6.4
----------

Copyright (C) 2002-2009 Nicholas Sydenham <nsydenham@yahoo.co.uk>

    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

DESCRIPTION
------------
JCards is a free Java application designed to store and manage data in any
format that the user defines. Instead of having multiple applications to manage
passwords, music databases, shopping lists, etc, JCards allows the user to
define a database that contains the fields they want and to customise it in many
ways. This is all accomplished via an easy to use interface that requires no
understanding of SQL or any other database jargon; in effect JCards is a
front-end on to a flat-file database.

More information is available on the website at:

	http://www.nsydenham.net/java/JCards/


KNOWN ISSUES
------------
- There is a known bug in Java printing (http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6633656)
  which in theory I've worked around by setting the page layout.

HOW IT WORKS
------------
The user first starts by defining the fields which are relevant for
the type of information to be stored. For instance, if you wished to store
address details you would perhaps define the following fields:

- Name
- Address
- Phone
- Email
- etc.

If you wanted to store passwords you would create another database
with the following fields:

- System
- URL
- Account
- Password

The user can then enter one or more cards which contain the data defined
by the previously entered fields.

More help is available within the application and some example databases can be
found online.

FEATURES
--------
+ String, Number, Boolean, Memo (multi-line text), Date, Image, Counter and
  Category field types
+ Add, edit, delete, undelete cards
+ View and edit any field in the table
+ Display or edit cards when accessed
+ Mandatory and optional fields
+ Default date fields to today's date
+ Date format displayed in date fields
+ Add, delete, rename and rearrange fields
+ Categories
+ Counters
+ Calculated fields
+ Default values
+ View by category
+ Store images
+ Import/export CSV files
+ Sort on any field ascending/descending
+ Encrypt sensitive data using Blowfish
+ Internationalised

INSTALLATION
------------
JCards can be run by executing the jcards batch/shell script jcards.bat or
jcards respectively. Alternatively, if you have configured your environment to
associate jar files with the java/javaw executable you can just double click the
jcards6.jar file in the lib directory. An icon suitable for menus or shortcuts
is in the pics directory.

EXAMPLES
--------
Example databases are no longer included in the download but can be found on
the JCards website at http://www.nsydenham.net/java/JCards/examples/

HOW YOU CAN HELP
----------------
+ Report bugs
+ Request features
+ Produce internationalisation bundles

BUG REPORTS
-----------
You can start JCards with the -debug command-line option which will output
debugging statements to the console. Include these in any bug reports you
send to enable me to understand the problem easier.

INTERNATIONALISATION
--------------------
Starting from version 5.0 JCards has been internationalised (or I18N for short).
If you wish to provide translated values for JCards please unzip the jcards.jar
file and look at the properties files in the nrs/jcards/props directory.
To create a German and French version of the files rename them as follows:

    menu.properties -> menu_de.properties
    menu.properties -> menu_fr.properties

then just update the values on the right side of the equals sign. If you send me
the translated files I will include them in the next build. If you translate into
a non-Western character encoding (e.g. cyrillic, arabic, hebrew, chinese, etc) then
instead start from the menu_ru.java file. Whichever file you create please save
it using the UTF-8 character encoding.

To test the files without changing your PCs locale you can edit the jcards
shell script so the following entries appear after the java statement:

    java -Duser.language=de

TO DO
-----
Some ideas for future versions:

+ Timer field type
+ Align table columns
+ User stylesheet for export
+ Multi-select items in categories
+ Highlight table rows when values match/greater than/less than/etc a rule
+ Scripting

ACKNOWLEDGEMENTS
----------------
- JCards contains encryption software provided by the Legion of the Bouncy
  Castle (http://www.bouncycastle.org/). The license can be found at
  docs/LBC-License.html.
- Icons were appropriated from the Crystal theme used in KDE
  (http://www.kde-look.org/)
- SwingLabs SwingX (http://www.swinglabs.org/)
- NetBeans (http://www.netbeans.org)
- Alexei Bratuhin, Richard Carpenter, Sergei Chekanov, Dr Oliver Corff, Bill Curr,
  Aaron Digulla, Daniel Durand, Mathis Heydtmann, Roy van der Kuil, Tibi Molnar,
  Johann N. Loefflmann, Chad Smith for suggesting improvements, translations
  and helping to resolve bugs.
