gnucash maint: Multiple changes pushed
John Ralls
jralls at code.gnucash.org
Mon May 25 20:20:24 EDT 2020
Updated via https://github.com/Gnucash/gnucash/commit/58354c78 (commit)
via https://github.com/Gnucash/gnucash/commit/1433792a (commit)
from https://github.com/Gnucash/gnucash/commit/40b504ec (commit)
commit 58354c78543a0d55d3e7efe5f2f2837fc5abea92
Author: John Ralls <jralls at ceridwen.us>
Date: Mon May 25 17:10:45 2020 -0700
Remove obsolete documentation files.
guile-hackers.txt has been copied into https://wiki.gnucash.org/wiki/Scheme.
diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt
index 233dd64d8..65430fc87 100644
--- a/doc/CMakeLists.txt
+++ b/doc/CMakeLists.txt
@@ -1,27 +1,12 @@
add_subdirectory(examples)
set(doc_DATA
- README.francais
- README.german
- README-ca.win32-bin.txt
- README-de.win32-bin.txt
- README-fr.win32-bin.txt
- README-hr.win32-bin.txt
- README-it.win32-bin.txt
- README-lv.win32-bin.txt
- README-nl.win32-bin.txt
- README-zh_CN.win32-bin.txt
- README-zh_TW.win32-bin.txt
- README.win32-bin.txt
- guile-hackers.txt
- projects.html
gtk-3.0.css
)
set(doc_noinst_DATA
CMakeLists.txt gnc-fq-dump.1 gnc-fq-helper.1 gnucash.1.in
- README.HBCI README.OFX README.translator.txt tip_of_the_day.list.c
- TRANSLATION_HOWTO)
+ tip_of_the_day.list.c README.txt)
install(FILES ${doc_DATA} DESTINATION ${CMAKE_INSTALL_DOCDIR})
diff --git a/doc/README.HBCI b/doc/README.HBCI
deleted file mode 100644
index 21c25ce00..000000000
--- a/doc/README.HBCI
+++ /dev/null
@@ -1,206 +0,0 @@
-README.HBCI
------------
-
-1. Introduction
-2. Requirements
-3. Quick Tour
-4. Known Banks
-5. Call for Feedback
-6. Known Problems
-7. Credits
-
-1. Introduction
------------
-
-Since the beta release 1.7.2, GnuCash features HBCI online banking
-support. This makes it the world's first *free* HBCI-enabled personal
-finance manager.
-
-Many additional information about GnuCash and HBCI can be found in
-German language on https://linuxwiki.de/GnuCash,
-https://linuxwiki.de/AqBanking, and https://linuxwiki.de/OpenHBCI.
-
-HBCI (Home Banking Computer Interface) is a standard used by German
-banks for offering online banking service. Through this standard,
-business actions like statement retrieval, initiate bank transfer, or
-direct debits can be invoked by any HBCI-compliant client application,
-i.e. now also from GnuCash. Authentication and encryption is done
-through a bank-issued chip card or a self-generated file-based RSA key
-pair. (In the latter case, the user prints out his public key finger
-print on paper, signs it, and sends it to his bank.)
-
-Please note that the programmers of GnuCash cannot give warranties for
-anything. In particular, some banks are running a poorly implemented
-HBCI on their servers, which does not give you any proper feedback
-when a transfer order has been rejected and will not be
-executed. Please do not rely on time-critical money transfers through
-HBCI for now.
-
-2. Requirements
-------------
-
-See also https://linuxwiki.de/AqBanking
-
-Required packages:
-
-AqBanking 1.3.0, or any later version: Get aqbanking from
-https://sourceforge.net/projects/aqbanking . (Historical note:
-Until gnucash-1.8.9, the library "openhbci" had been used, but
-with gnucash-1.8.10, gnucash switched to the successor of openhbci
-which is aqbanking/aqhbci.) (Second historical note: The library
-versions aqbanking-1.2.x or older were split into multiple
-packages named "aqbanking" and "aqhbci", but with aqbanking-1.3.0
-and newer all of this is now packaged in the single aqbanking
-package.)
-
-which in turn requires:
-
-Gwenhywfar 1.16.0, or any later version,
-https://sourceforge.net/projects/gwenhywfar, which in turn requires
-OpenSSL any 0.9.x, https://www.openssl.org .
-
-If you want chipcard support, you also need libchipcard version
-2.0.0 or later, https://sourceforge.net/projects/libchipcard
-
-(Note: Not all arbitrary version combinations between aqbanking
-and gwenhywfar will work! Only those versions that have been
-released on approximately the same date will work together without
-problems.)
-
-After aqbanking has been installed successfully, you can build
-GnuCash with:
-
- ./configure --enable-hbci --with-aqbanking-prefix=/your/aqbanking/prefix
-
-And you need to apply at your Bank to get HBCI access. The bank will
-provide you with some paper work which is needed during HBCI setup in
-GnuCash. (For problems during compile see 6. Known Problems below.)
-
-3. Quick Tour
-----------
-
-HBCI support is accessible through a few new menu items:
-
-* Setup: In the main window with the account hierarchy, the "Tools" menu
-(German: "Werkzeuge") now contains the item "HBCI Setup" ("HBCI
-Einrichtung"). This menu item opens the HBCI Setup druid which
-will guide you through the setup. (Note: With the new
-aqbanking/aqhbci, the Setup druid is an external program provided
-by the aqhbci authors, but this will be explaning during the HBCI
-Setup druid.)
-
- - Chip card users and PIN/TAN users will need to run this only
- once. (see 6. Known Problems below if this doesn't work)
-
- - Users with self-generated file-based keys need to run this
- twice. First they will be guided to generate their keys and
- have their Ini-Letter printed on paper, which they need to
- send to their bank. After some days when the bank has
- processed that letter, they need to run the HBCI Setup druid
- a second time.
-
- - Either way, eventually you are presented with a list of
- HBCI-accessible accounts, and can choose which of your gnucash
- account should be matched with each HBCI account.
-
-* Account functions: In the register window of your GnuCash accounts,
-you now find the submenu item "Online Actions" ("Online Aktionen") in
-the menu "Actions" ("Aktionen"). Each item in this submenu invokes a
-particular HBCI action: "Get Balance", "Get Transactions", "New
-Transfer", "New Direct Debit" ("Saldenabfrage", "Abfrage
-Kontoumsätze", "Überweisung", "Lastschrift"). Of course those menu
-items will only do anything if that particular GnuCash account was
-matched to a HBCI account in the setup druid; otherwise, simply
-nothing will happen. How to perform each action will be explained
-in the respective dialog windows.
-
-* Preference: By default, the user has to enter his password/PIN each
-time a HBCI action is performed. If you prefer to have your password
-cached in memory during your gnucash session, you can enable this by
-activating the appropriate button in the Edit->Preference dialog
-("Bearbeiten->Einstellungen") in the tab "Online Banking &
-Importing". Of course the password/PIN is *never ever* stored on
-disk anywhere due to security reasons.
-
-* HBCI Connection window preference: The HBCI Connection window can
-either disappear once the connection is closed, or it can still be
-left open so that you can read the bank's feedback messages about the
-order. The setting of this respective checkbox in the Connection
-window is remembered from session to session.
-
-* Debug Preference: If HBCI connectivity does not work the way you
-expected it to work, you can enable a whole lot of HBCI debugging
-output. First, on the "General" page of the preferences, activate the
-checkbox for "Show Advanced Setting". Then, on the newly appearing
-"Advanced" page, or on the "Online Banking & Importing" page,
-activate "HBCI Verbose Debug Messages" to get much more debugging
-output.
-
-4. Known Banks
------------
-
-Gnucash/AqBanking (or OpenHBCI) is successfully being used with:
-- Deutsche Bank
-- Kreissparkasse Hannover
-- Hamburger Sparkasse
-- Sparkasse Wilhelmshaven
-
-5. Call for Feedback
------------------
-
-If you encounter an error, you can report it in German language on
-gnucash-de at gnucash.org (Subscriber-only list; please subscribe on
-https://www.gnucash.org/cgi-bin/mailman/listinfo/gnucash-de ) and on on
-openhbci-general at lists.sf.net. Please remember to include the version
-numbers of gnucash and aqbanking as well as any console output and/or
-HBCI connection log (can be obtained through the HBCI Verbose Debug
-Messages preference mentioned above).
-
-Also, if you managed to successfully setup a bank that we don't have in
-our list yet, please let us know as well. We appreciate any feedback on
-this new functionality.
-
-6. Known Problems
---------------
-
-* If the compilation of GnuCash fails with 'cc1: changing search order
- for system directory ...' as one of the last message lines, then
- call ./configure with the additional option
- --enable-error-on-warning=no and recompile.
-
-* If you don't see the menu items mentioned above, then GnuCash was
- not built/compiled with --enable-hbci. Please try to compile GnuCash
- by yourself or contact the place where you got your pre-compiled
- version of GnuCash from.
-
-* If you cannot select "Chip Card" as security medium, it means that
- your installed version of the AqBanking library has been compiled
- without chipcard support. You will need to recompile AqBanking while
- libchipcard is installed, and then you (probably) need to recompile
- GnuCash.
-
-* Currently each HBCI action can only be executed while you are
- online; support for off-line preparation and queueing is not yet
- implemented.
-
-If you think you can do better on any of these issues -- why not give it
-a try and start coding on yet more HBCI features? Gnucash only requires
-some C and Gtk/Gnome knowledge, and other developers in the IRC channel
-#gnucash, irc.gnome.org, will always assist you with problems arising
-during coding. You don't need to know anything about HBCI since OpenHBCI
-will do everything for you. Also, I (Christian Stimming) will withdraw
-from HBCI/Gnucash development due to personal/time constraints in the
-medium term. So if you want more features, why don't *you* start coding
-today? We definitely welcome any new developer who contributes even the
-smallest improvements.
-
-7. Credits
--------
-
-The excellent AqBanking/AqHBCI library is written by Martin Preuss
-<openhbci at aquamaniac.de> and Christian Stimming
-<stimming at tuhh.de>. Libchipcard is written by Martin Preuss
-<openhbci at aquamaniac.de>.
-
-By Christian Stimming <stimming at tuhh.de>
-May 10th, 2006
diff --git a/doc/README.OFX b/doc/README.OFX
deleted file mode 100644
index 1cff0f91a..000000000
--- a/doc/README.OFX
+++ /dev/null
@@ -1,277 +0,0 @@
-README.OFX
------------
-
-1. Introduction
-2. Requirements
-3. Implemented features
-4. The import process and transaction matching
-5. When it goes wrong...
-6. FAQ
-7. Credits
-
-
-1. Introduction
------------
-
-Since the first 1.7.x beta releases, GnuCash features OFX online banking
-support. This makes it the world's first *free* OFX-enabled personal
-finance manager. The development of OFX and HBCI support also spawned the
- a new generic import infrastructure, including a much improved transaction
-matcher.
-OFX (Open Financial eXchange) is an open standard increasingly popular
- for offering bank, credit card and investment statement download, as well
-as other services, such as bill payment. Features requiring direct access
- to a bank's OFX server are not yet supported.
-
-
-2. Requirements
-------------
-
-LibOFX 0.7.0 or later
-https://libofx.sourceforge.net/
-
-which in turn requires:
-OpenSP 1.3.x or later, https://openjade.sourceforge.net/
-
-Then you enable OFX support by building GnuCash with:
-
---enable-ofx added to ./autogen.sh (for CVS) or ./configure (for tarballs)
-make
-If successful, an item will appear in Gnucash's File/Import sub menu.
-
-If you installed libofx in a non-standard location, you may also have to use:
- --with-libofx-prefix=/your/libofx/prefix
-
-
-3. Implemented features
-------------
-
-Implemented features (some of these are from the generic import module):
--OFX/QFX response file import
--Account matching, using unique OFX account ID
--Full OFX bank and credit card transaction support.
--Explicit support for investment transactions, including stock reinvest and
- dividends.
--Commodity import and matching, for investment transactions.
--Transaction duplicate detection, using the unique OFX transaction ID. Even if
- downloaded twice, transactions are only imported once.
--Transaction duplicate detection, using amount, date, check number,
- full or partial memo, full or partial description.
--"Destination" account matching, using exact string match on either
- memo or description.
--Saves ALL transaction data currently supported by LibOFX.
- When no gnucash equivalent, it is put in the Transaction's Note field. You must
- have double-line mode enabled to view the notes field.
--Files containing multiple statements are supported, and transactions can
- be matched at the same time.
-
-
-4.The import process and transaction matching
-----------
-
-First, you must successfully download an OFX response file from your bank.
-
-If you successfully built GnuCash with ofx support, you will be able to select
-the file from the File / Import / Import OFX/QFX menu item.
-
-Note that Ofx files can contain information for multiple accounts, depending on
-the number of accounts in your file, and the presence of absence of investment
-transactions, the following two windows will popup one or multiple times:
-
-A) Account matching window.
-
--Look carefully at the information in the top part of the
-window. From that info you should be able to determine which of your accounts
-this is.
--Select the matching GnuCash account from the list if there is one, or
-create a new one with the button at the bottom. If you choose to create a new
-one, currency, account type and name will be filled in for you. Feel free to
-change the name to whatever you like.
-
-NOTE:
--investment accounts will
-cause more than one account to be matched/created in GnuCash. Most will cause a
-cash and a stock account to be created. In addition, if there are dividends in
-the transaction, you will be asked to choose an Income account.
--All account matches are remembered, and you will not be asked on subsequent imports.
-
-B) Commodity matching window
-
-If your statement contains information like stock
-transactions, you will be asked to match the stock to a GnuCash commodity. The
-process is similar to account matching above. The match is remembered by the
-Commodity CUISP.
-
-
-Once the process of account and commodity matching is done, you
-will be presented with the transaction matcher window. Let's learn how to use
-it by an example.
-
-Let's assume you import Credit Card/Savings/Checking accounts
-in that order (3 separate imports), and your accounts start with no
-transactions: You will first have all new transactions in Credit Card, some of
-which are transfers going into checking. You then import you savings Savings
-account, which will also have misc transactions, and presumably some going into
-Checking. You then import your Checking account. The matcher will see
-duplicate transactions in checking (Those who have a split in Credit Card and
-Savings), and will only clear the split in Checking for those. The other
-transactions in savings will be imported as new.
-
-What most people don't
-understand about this process is that there are two different types of matches
-that can be done by the importer on a single transaction.
-
-The first kind of
-match will determine if a duplicate of this transaction exists in GnuCash. If
-that match determines that there isn't (or if the user overrides), a second
-match will be done to try and find the appropriate account to add a split to the
-transaction (only if the transaction isn't already balanced).
-
-Now, for the specifics, there are two possibilities:
-
-A- You are a "Do everything daily" kind of guy.
-
-You write a GnuCash transactions every time you write a check, spend money, etc.
-
-Suppose you
-spend 40$ on your credit card at "Overpriced Restaurant". When you come back or
-at the end of the week when you get rid of all the receipt in your wallet, you
-enter a 40$ transaction from "Credit Card" to "Expenses->Restaurant". At the
-end of the week, month, year or whenever, you download your
-credit card statement. The importer will spot duplicates (with a certain
-confidence level represented by the red, yellow and green bars) and by default
-mark them as cleared.
-
-If you forgot to enter some transactions, the matcher will have an inconclusive
- match or will consider them as new and treat them like in the next scenario.
-
-
-B- You are an "Do everything at once kind of guy".
-
-You don't write your transactions as they occur, instead you download
-your statement at the end of the month.
-
-Now the importer should find that all transactions in your credit
-card are new (except maybe payments, if you imported your checking account
-prior to your credit card account). The first time you import from that
-account, all transactions will say "Need an account to Auto-Balance xxx$".
-You will then pick an account for each one. In the case of the 40$ we talked
-about, you select "Expenses->Restaurant" (the importer already knows it's coming
-from "Credit Card"). Now the next month (since you never learn) you go to
-"Overpriced Restaurant" AGAIN. Assuming your bank gives you a minimum of info
-electronically, the importer will remember that a transaction at "Overpriced
-Restaurant" from account "Credit Card", goes to "Expenses->Restaurant". All
-transactions are already cleared at this stage.
-
-In both scenarios, all transactions are balanced at creation time, and are in
-the exact same accounts.
-
-
-5. When it goes wrong...
------------------
-
-Tough much effort has been put in implementing relevant parts of the OFX
-standardas well as possible, and gracefully treating parts that are not
-supported, OFX is not implemented in a consistent manner across banks. If you do
-encounter a problem, please report it to the developers (ideally with a sample
-file)
-
-If you encounter an error, you can report it in one of the following ways (in
-order of effectiveness for you, but ANY report is apreciated):
-
-* Open a bug at https://bugs.gnucash.org/
-* gnucash-devel at gnucash.org or gnucash-user at gnucash.org (Subscriber-only list;
-please subscribe on https://lists.gnucash.org/mailman/listinfo/ )
-* https://lists.sourceforge.net/lists/listinfo/libofx-devel/ if ofxdump doesn't
-give you the expected data.
-* many developers hang on the IRC channel #gnucash on irc.gnome.org
-
-Please remember to include the following information in your report: The version
-numbers of gnucash, libofx and OpenSP as well as any console output and/or
-output of the ofxdump utility on your file.
-
-
-6. FAQ
-----------
-
-(1) GnuCash simply hangs when importing an OFX file
-
-This is probably bug https://bugs.gnucash.org/show_bug.cgi?id=101738
-Unfortunately the main developers are unable to reproduce. So far, this bug
-only occurs with OpenSP 1.5. It does not occur for anyone with OpenSP 1.3.x,
-which is shipped on most Linux distro as part of openjade, so you may want to
-downgrade. (Please note that OpenSP 1.3.x has several other issues however)
-
-This bug is believed to be a threading issue, and may be a problem in GnuCash,
-LibOFX, OpenSP, or some versions of the Linux kernel. If you have any useful
-info,please add a comment to the bug above (even if only to say you encountered
-the bug,and your version of the previously mentioned packages).
-
-
-(2) Why doesn't GnuCash support direct connections to bank like Quicken/Money
-
-I am striving to get this working, but banks are simply not cooperative in
-general, and my bank doesn't support it at all, so it will not be easy to
-debug once implemented.
-
-All I can say is "We're working on it...". But there are many steps left to
-be taken.
-
-
-(3) I don't see the File / Import / Import OFX/QFX menu item!
-
-If you don't see the menu mentioned above, then GnuCash was
-not built/compiled with --enable-ofx. Please try to compile GnuCash
-by yourself or contact the place where you got your pre-compiled
-version of GnuCash from.
-
-
-(4) When I import in OFX/HBCI, and change the destination account in the
-matcher, why doesn't other transaction with the same memo/description change?
-
-The matcher already "learns" where transactions are assigned. The only problem
-is thatcurrently, it only uses what it has learned on the next import.
-Re-processing the list during the import process is a feature you can hopefor
-early in the 1.8 series.
-
-(5) Can GnuCash support QFX files (Quicken Financial eXchange?)
-
-As far as GnuCash is concerned, QFX and OFX files are identical.
-
-(6) What about OFC support (Open Financial Connectivity, a Microsoft standard)
-
-OFC is a SGML based format still very commonly used in Brazil, and less
-frequently by banks all over the world.
-
-The main author of LibOFX managed to find
-specs, but needs the OFC DTD (Data Type Definition) to add support. That file
-is supposed to be available from a link an this page:
-https://support.microsoft.com/default.aspx?scid=kb%3Ben-us%3B162872
-
-However, despite numerous requests to Microsoft to either fix the broken link or
-send him a copy of the file, they still haven't done so. That file is probably
-free to redistribute, and was part of their OFC development toolkit. If you still
-have a copy or know where to get one, please send the information to
-bock at step.polymtl.ca
-
-(7) Where do I find/How do I download OFX files for bank XYZ?
-
-Somewhere on one of the banks website. We can't say anymore than this, the
-address, interface, and origin of the info used as user id and password changes
-from bank to bank.
-
-(8) Can I export my Gnucash data in QIF, OFX, CSV, etc. ?
-
-Export capability is currently being built into LibOfx.
-
-
-7. Credits-------
-
-The LibOFX library is written by Benoit Gr�goire <bock at step.polymtl.ca>
-The Generic Import Infrastructure was written by Benoit Gr�goire
-<bock at step.polymtl.ca>, Christian Stimming <stimming at tuhh.de> and Derek Atkins
-<warlord at mit.edu>.
-
-By Benoit Gr�goire <bock at step.polymtl.ca>
-Sunday, Feb 2, 2003
-
diff --git a/doc/README.francais b/doc/README.francais
deleted file mode 100644
index fb01b5c53..000000000
--- a/doc/README.francais
+++ /dev/null
@@ -1,345 +0,0 @@
-###########################################
- GnuCash version 2.0.x
--------------------------------------------
-
-#########
-Sommaire:
----------
-
- - Vue d'ensemble
- - Mise � jour depuis la version 1.8.x
- - D�pendances
- - Mise en route
- - Internationalisation
- - Compilation et installation
- - plates-formes support�es
- - Sites de t�l�chargement miroirs
- - R�cup�rer les sources avec SVN
- - D�veloppement de GnuCash
-
-
-##############
-Vue d'ensemble
---------------
-
-GnuCash est un gestionnaire de finances personnelles. Une interface graphique
-d'enregistrement ressemblant au talon de votre ch�quier vous permet d'entrer et
-de suivre vos comptes bancaires, actions, revenus et m�me vos op�rations
-boursi�res. L'interface est con�ue pour �tre simple et facile � utiliser, mais
-elle est adoss�e aux principes de comptabilit� de la partie double pour assurer
-l'�quilibre des comptes.
-
-Quelques une de ces caract�ristiques sont:
-
-* Une interface facile � utiliser. Si vous savez utiliser le talon de votre
-ch�quier, vous savez utiliser GnuCash. Tapez directement dans le registre,
-d�placez vous entre les champs, et utilisez quick-fill (saisie rapide) pour
-compl�ter automatiquement la transaction. L'interface est personnalisable depuis
-l'application elle-m�me (pas de fichiers de config � modifier :) ).
-* Transactions r�currentes : GnuCash a la possibilit� de g�n�rer automatiquement
-des transactions, de rappeler leur �ch�ance, de proposer de la valider ou de la
-retarder et �galement de les supprimer apr�s un certain temps.
-* Importation de fichiers OFX : GnuCash est le premier logiciel libre �
-supporter le protocole � Open Financial Exchange � qui est de plus en plus
-utilis� par les banques. Le d�veloppement du support OFX et HBCI a permis une
-am�lioration du m�canisme permettant de retrouver des transactions homologues
-et les doublons.
-* Support de l'HBCI : GnuCash est le premier logiciel libre � supporter le
-protocole allemand d'op�rations bancaires en ligne
-* Importation de fichiers Quicken: Importation de fichiers au format QIF de
-Quicken. Les fichiers QIF sont automatiquement fusionn�s pour �liminer les
-transactions dupliqu�es.
-* La fen�tre de rapprochement avec les soldes actuels rapproch�s et point�s rend
-le rapprochement facile.
-* Portefeuille d'actions/fonds de placements (SICAV et FCP en France): suivi
-d'actions individuellement (une par compte) ou dans un portefeuille de comptes
-(un groupe de comptes qui peuvent �tre affich�s ensemble).
-* R�cup�ration des cours des actions et fonds communs (FCP et SICAV) depuis
-diff�rents sites Web, mise � jour automatique du portefeuille.
-* Rapports : affichent le bilan , les pertes et profits, �valuation du
-portefeuille, rapports de transactions, ou suivi du solde du compte, ou
-exportation de ceux-ci en HTML. Vous pouvez �crire votre propre rapport
-personnalis� si vous connaissez un peu le langage Scheme. Les rapports peuvent
-maintenant �tre r�alis�s sur une p�riode comptable.
-* Monnaies/devises multiples et March� des changes : de multiple monnaies sont
-support�es et peuvent �tre achet�es et vendues (faire du commerce avec elles).
-Les mouvements mon�taires entre comptes sont totalement �quilibr�s quand la
-partie double est activ�e. Les transferts en devises multiples sont support�s.
-* Tableau de comptes : un compte ma�tre/principal peut avoir une arborescence
-de comptes d�taill�s en dessous de lui. Cela permet d'avoir des types de
-comptes similaires (par exemple Liquidit�s, Banque, Actions) group�s dans un
-compte ma�tre (par exemple Avoirs).
-* Transactions r�parties : une simple transaction peut �tre r�partie en
-plusieurs morceaux pour enregistrer les imp�ts, paiements, et autres entr�es
-compos�es.
-* Partie double: Quand elle est activ�e, chaque transaction doit d�biter un
-compte et cr�diter un autre d'un montant �quivalent. Cela permet de s'assurer
-que les "livres sont �quilibr�s" : c'est � dire que la diff�rence entre les
-revenus et les sorties est exactement �gale � la somme de tous les avoirs,
-qu'ils soient bancaire, liquidit�s, actions ou autre.
-* Types de comptes Revenus/D�penses (Cat�gories) : ils ne servent pas uniquement
-� cat�goriser votre flux de liquidit�s/argent, mais quand ils sont utilis�s avec
-la fonction de la partie double, ceux-ci peuvent fournir un �tat exact des
-pertes et profits et donc du r�sultat de la p�riode.
-* Extrait de compte/grand livre : de multiples comptes peuvent �tre affich�s
-dans une fen�tre registre/d'enregistrement au m�me moment. Cela peut faciliter
-l'ennui de la recherche/v�rification des erreurs de frappe/d'entr�e. Il fournit
-aussi une mani�re agr�able de visualiser un portefeuille de beaucoup d'actions,
-en montrant toutes les transactions dans ce portefeuille.
-* �crit en C avec un support �tendu de Scheme via Guile.
-* L'acc�s au fichier est verrouill� par un drapeau de s�curit� r�seau, pr�venant
-des dommages accidentels si plusieurs utilisateurs essaient d'acc�der au m�me
-fichier, m�me si le fichier est mont� par NFS.
-* Fournit un format de flux de donn�es (byte-stream format), qui permet aux
-comptes et groupes de comptes d'�tre transmis par d'autres processus via pipes
-ou sockets.
-* Chargement de la date au format europ�en, traductions diverses.
-* Nouveau manuel utilisateur : une toute nouvelle aide en ligne a �t� �crite :
-elle se focalise sur comment faire les actions en relation avec un tutoriel et
-un guide des concepts.
-* De nouveaux menus : les menus de GnuCash ont �t� revus pour se conformer aux
-principes d'interface de Gnome.
-
-
-Home Page:
-
-https://www.gnucash.org/ (site officiel - version anglaise)
-
-Binaires pr�compil�s / ex�cutables:
-https://www.gnucash.org/pub/gnucash/
-
-Versions de d�veloppement:
-https://www.gnucash.org/en/hacking.phtml
-
-###################################
-Mise � jour depuis la version 1.8.x
------------------------------------
-
-Il y a beaucoup, beaucoup de changements depuis la s�rie 1.8 -
-Jetez un coup d'oeil au fichier NEWS si vous voulez plus de d�tails.
-
-- GnuCash n�cessite g-wrap version 1.3.4 ou sup�rieur. Consultez la section �
-D�pendances � pour plus de d�tails.
-
-- Les donn�es ne sont plus accessibles � partir de la version 1.6 une fois de
-nouvelles fonctionnalit�s utilis�es : il n'y a pas de compatibilit�
-descendante. Sauvegardez vos donn�es!!
-
-- La documentation de GnuCash est d�sormais d�plac�e dans un package s�par�
-(gnucash-docs). si vous voyez un message du type � URL non trouv�e �, en
-cliquant un item du menu Aide, vous devrez installer la package gnucash-docs.
-
-Nous esp�rons que vous vous appr�cierez toutes les nouvelles fonctionnalit�s!
-
-############
-D�pendances
-------------
-
-Les packages suivants sont requis et doivent �tre install�s pour faire
-fonctionner GnuCash:
-
-[Consultez le fichier README.dependencies]
-
-
-#############
-Mise en route
--------------
-
-Pour les d�tails d'invocation/de lancement de GnuCash, regardez les pages de
-man dans doc/gnucash.1.
-Vous pouvez �galement taper gnucash --help sur la ligne de commande.
-
-Vous pouvez d�marrer GnuCash en ligne de commande, avec � gnucash � ou � gnucash
-<nom du fichier> �, o� <nom du fichier> est un fichier de donn�es de GnuCash.
-
-Des exemples de comptes peuvent �tre trouv�s dans le sous-r�pertoire "data".
-Les fichiers *.xac sont les comptes de GnuCash qui peuvent �tre ouverts avec
-le menu � Fichier/Ouvrir �.
-Les fichiers *.qif sont des fichiers au format Quicken qui peuvent �tre ouverts
-par le menu � Fichier/Importer QIF �.
-
-GnuCash r�pond aux variables d'environnement suivantes :
-
- GNC_BOOTSTRAP_SCM - l'emplacement du code scheme initial de bootstrapping.
-
- GUILE_LOAD_PATH - Pour surpasser le chemin de GnuCash utilis� pour le
- chargement de fichiers Scheme. C'est une variable de la m�me forme que les
- variables d'environnement PATH ou LIBRARY_PATH.
-
- GNC_MODULE_PATH - Pour surpasser le chemin de GnuCash utilis� pour le
- chargement de modules GnuCash. C'est une variable de la m�me forme que les
- variables d'environnement PATH ou LIBRARY_PATH.
-
- GNC_DEBUG - active la sortie de d�bogage. Cela vous permet d'activer
- le d�bogage dans le processus de d�marrageplus rapidement qu'avec l'option
- --debug.
-
-
-###########################
-Internationalisation (i18n)
----------------------------
-
-Des traductions (fichiers .po) existent pour diff�rentes langues. Ceux-ci
-sont activ�s avec les variables d'environnement. Par exemple,
-
-En fran�ais, avec bash:
- export LANG=fr_FR
-
-En fran�ais, avec tcsh:
- setenv LANG fr_FR
-
-Pour la version allemande:
- export LANG=de_DE
-
-
-###########################
-Compilation et installation
----------------------------
-
-[Pour plus de d�tails sur la compilation, lisez doc/README.build-system]
-
-GnuCash utilise GNU Automake pour traiter le processus de compilation, donc
-pour plus de d�tails, regardez les instructions g�n�rales dans INSTALL.
-
-Ci-dessous nous d�taillons les parties sp�cifiques de GnuCash.
-
-
-Avant de compiler GnuCash, vous devrez obtenir et installer les packages
-suivants:
-
-libtool : Disponible � ftp://ftp.gnu.org/gnu.
- Les RPMs et debs sont largement disponibles avec la plupart des
- distributions.
-
-syst�me de d�veloppement gnome: en-t�tes (headers), librairies, etc.
-
-libxml: disponible sur ftp.gnome.org
-
-g-wrap : Les RPM's, debs, et sources sont disponibles �
- https://www.gnucash.org/pub/g-wrap.
- vous devrez utilisez g-wrap 1.3.4 ou sup�rieur
-
-texinfo: Si vous compilez depuis svn, vous avez besoin du package GNU texinfo,
- version 4.0 ou ult�rieure.
-
-
-Ce que vous aurez besoin de r�cup�rer et d'installer pour �tre s�r d'avoir
-tous ces �l�ments correctement install�s d�pendra de votre syst�me
-d'exploitation , mais ici se trouve une liste partielle de ce que vous aurez
-besoin pour les syst�mes que nous connaissons:
-
- Debian/GNU/Linux: (cf README.dependencies)
- actuel:
- libgnome-dev
- libgtkhtml-dev
- guile1.4
- libguile9-dev
- libguile9-slib
-
-
-GnuCash comprend quelques options non-standard de ./configure . Vous
-devriez lancer � ./configure --help � pour la liste la plus � jour des options
-support�es.
-
-Si vous voulez seulement qu'une langue en particulier soit install�e, vous
-pouvez d�finir la variable d'environnement LINGUAS avant de lancer ./configure.
-Par exemple, pour installer seulement les traductions fran�aise, lancez
-
- $ export LINGUAS=fr
- $ ./configure
-
-Si vous voulez �tre s�r que toutes les langues soit install�es, lancez
-
- $ unset LINGUAS
- $ ./configure
-
-Bien que vous ayez besoin des librairies Gnome install�es, vous n'avez pas
-besoin d'utiliser le bureau/interface Gnome.
-
-Les chemins de lancement et d'installations sont s�par�es. Le --prefix que vous
-sp�cifiez � ./configure d�termine le chemin o� les ex�cutables chercheront des
-fichiers � leur lancement. Normalement, cela d�termine o� � make install �
-installera les fichiers. Cependant, automake supporte �galement des variables.
-DESTDIR est utilis�e pendant le processus � make install � pour installer des
-objets dans un r�pertoire tampon. Chaque objet et chemin est pr�fix� avec la
-valeur de 'DESTDIR' avant d'�tre copi� dans les r�pertoires d'installation.
-
- make DESTDIR=/tmp/staging install
-
-Cela place les objets d'installation dans une arborescence de r�pertoire
-construit sous `/tmp/staging'.
-Si `/gnu/bin/foo' et /gnu/share/aclocal/foo.m4' doivent �tre install�s, la
-commande ci-dessus installera `/tmp/staging/gnu/bin/foo' et
-`/tmp/staging/gnu/share/aclocal/foo.m4'.
-
-DESTDIR peut �tre utile quand on essaie de construire des images d'installation
-et des packages.
-
-
-########################
-Plates-formes support�es
-------------------------
-
-La version 2.0.x de GnuCash est r�puter fonctionner sur les syst�mes
-d'exploitation suivants:
-
-GNU/Linux -- x86, Sparc, Alpha
-Solaris -- Sparc
-FreeBSD -- x86
-OpenBSD -- x86
-MacOS X -- PPC
-
-GnuCash peut probablement fonctionner avec la plupart des plateformes POSIX, si
-les librairies et les outils sont disponibles.
-
-
-###############################
-Sites de t�l�chargement miroirs
--------------------------------
-
-Vous pouvez aussi t�l�charger GnuCash � partir de:
-
- - https://download.sourceforge.net/gnucash
-
-Vous pouvez r�cup�rer les packages Mandriva de GnuCash sur les sites Cooker de
-Mandriva ou dans les derni�res versions de la distribution)
-
-
-#####################################
-R�cup�rer les sources avec git
--------------------------------------
-
-Une version en lecture seule de l'arborescence git est disponible �
-cette adresse :
-
- https://github.com/Gnucash/gnucash/
-
-
-########################
-D�veloppement de GnuCash
-------------------------
-Avant de d�marrer � d�velopper sur GnuCash, vous devriez faire les choses
-suivantes:
-
-1. lisez le fichier src/doc/coding-style.txt pour apprendre les styles
- de codage utilis�s dans le code source de GnuCash. Lisez �galement
- https://wiki.gnucash.org/wiki/Development
-
-2. Plusieurs des r�pertoires sous src contiennent des fichiers appell�s
- design.txt qui expliquent beaucoup des aspects de la conception de GnuCash.
- Lisez les.
-
-3. Allez sur le site web de GnuCash et survoler les archives de la liste de
- diffusion du d�veloppement de GnuCash (gnucash-devel).
-
- 4. Rejoignez la liste de diffusion de d�veloppement de GnuCash
- (gnucash-devel). Regardez le site web de GnuCash pour des d�tails sur la
- m�thode pour y parvenir.
-
-
-Soumettre un patch
-
-Lisez SVP le fichier README sur les m�thodes utilis�es pour transmettre un
-patch � l'�quipe de d�veloppement de GnuCash.
-
-Merci,
diff --git a/doc/README.german b/doc/README.german
deleted file mode 100644
index a04810ef7..000000000
--- a/doc/README.german
+++ /dev/null
@@ -1,181 +0,0 @@
-************ Unstabile Version ******************
-Alle Versionen der 2.1.x Serie von GnuCash sind experimentelle
-Entwicklungsversionen. Sie koennen normal funktionieren, muessen aber
-nicht. Benutzung auf eigene Gefahr!
-
-Die letzte stabile Version war gnucash-2.0.0.
-Die n�chste stabile Version wird gnucash-2.2.0 sein.
-
-##############################################
-
-GnuCash
--------
-
-GnuCash ist die freie OpenSource-Finanzverwaltung f�r GNU/Linux
-und Unix.
-
-Das Programm ist eine Komplettl�sung zur Verwaltung der Finanzen
-von Privatanwendern und Kleinbetrieben. Das aus dem Rechnungswesen
-bekannte Prinzip der doppelten Buchf�hrung wird in GnuCash
-konsequent umgesetzt, so dass GnuCash h�chste Anspr�che an die
-Kontenf�hrung erf�llen kann. Auch Homebanking �ber HBCI ist
-m�glich, wenn die Bibliothek AqBanking installiert ist. F�r den
-Gesch�ftsverkehr ist die Verwaltung von Kunden, Lieferanten und
-Rechnungen enthalten. Weitere Features sind terminierte Buchungen,
-Import von OFX-Dateien und QIF-Dateien, zahlreiche Berichte und
-Grafiken mit Torten- und Balkendiagrammen und eine
-benutzerdefinierbare Oberfl�che.
-
-F�r Neueinsteiger ist ein Assistent zur Kontenerstellung
-vorhanden. Bestehende Dateien mit Finanzdaten z.B. aus Quicken
-oder Microsoft Money k�nnen problemlos �ber den QIF-Import
-eingelesen werden.
-
-Bei Fragen zur Installation und zur Benutzung steht eine
-deutschsprachige Mailingliste gnucash-de zur Verf�gung.
-
-Homepage: https://www.gnucash.org
-
-Deutsche Wiki-Seite: https://linuxwiki.de/GnuCash
-
-�bersetzungen der englischen Stichworte siehe po/glossary/de.po.
-
-
-Ben�tigte Pakete:
------------------
-
-Siehe README.dependencies; im wesentlichen alle
-Gnome2-Entwickler-Pakete sowie guile, slib und swig. (g-wrap wurde
-mit gnucash-2.2.0 durch swig ersetzt und wird nicht mehr benutzt.)
-
-F�r die HBCI-Funktionen muss au�erdem das Paket aqbanking
-installiert sein, welches noch ein Paket namens gwenhywfar
-ben�tigt. Siehe auch doc/README.HBCI.
-
-
-Starten von GnuCash:
---------------------
-
-GnuCash kann von der Kommandozeile aus gestartet werden, und zwar einfach
-mit "gnucash" oder mit "gnucash <filename>", wobei filename der Name eines
-gespeicherten Gnucash-Daten-Files sein muss.
-
-
-
-�bersetzung und Installation
-----------------------------
-
-Diese Schritte sind nur f�r die Sourcedistribution erforderlich, nicht
-f�r die Bin�rdistribution.
-
-Siehe auch https://www.linuxwiki.de/GnuCash/SourceInstall
-
-Nur beim Uebersetzen von GnuCash braucht man zusaetzlich die folgenden
-Pakete:
-
-libtool -- Erhaeltlich bei ftp://ftp.gnu.org/gnu.
- RPM's und deb's sind in ihrer Betriebssystem-Distribution.
-
-Normalerweise wird GnuCash wie folgt �bersetzt und installiert:
-
- # ./configure
- # make
- # make install
-
-Um deutsche oder franzoesische Versionen zu uebersetzen, muss die
-Umgebungsvariable entsprechend gesetzt sein.
-
-
-An GnuCash mitentwickeln :
---------------------------
-
-Bevor Sie an GnuCash mitentickeln , sollten sie folgendes tun:
-
-1. Lesen von: https://wiki.gnucash.org/wiki/Development
-
-2. Viele der Verzeichnisse unter 'src' enthalten desing.txt-Dateien,
- die viele Aspekte des GnuCash-Designs erklaeren. Auch lesen.
-
-3. Die Gnucash development mailing Liste ueberfliegen, das Archiv ist
- auf der GnuCash-Website.
-
-4. Abonnieren der GnuCash development mailing Liste. Details dazu auf
- der Website.
-
-
-Einen Patch einsenden
----------------------
-
-Wenn sie etwas Arebit geleistet haben, wollen sie ihr Ergebnis
-anderen zur Verfuegung stellen. Dazu senden sie einen Patch ein.
-Es gibt ein Perl-Skript in Gnucash, das diesen Patch fuer sie
-erzeugen kann.
-'make-gnucash-patch' wird so benutzt:
-
-Als erstes die Entwicklungsverzeichnisse wie folgt aufsetzen :
-
-< GnuCash home development directory >
- |
- |---- < directory containing original GnuCash sources >
- |
- |---- < directory containing your modified GnuCash sources >
-
-Ein konkrete Beispiel koennte wie folgt aussehen :
-
-/home/me/gnucash
- |
- |---- /home/me/gnucash/gnucash.pristine (original sources)
- |
- |---- /home/me/gnucash/gnucash.mywork (original sources + my edits)
-
-Kopieren des 'make-gnucash-patch'-Skripts in das Haupt-Entwicklungsverzeichnis.
-Danach die folgenden Variablen veraendern, damit diese die Namen ihrer
-Verzeichnisse enthalten :(am obigen Beispiel orientiert)
-
-my $old = 'gnucash.pristine';
-my $new = 'gnucash.mywork';
-my $gnc_home = '/home/me/gnucash';
-
-Jetzt das Skript in Gang setzen. Hinweis: Das Skript benoetigt die
-Programme 'makepatch', 'gzip', 'diff', und 'uuencode'
-(und natuerlich 'perl') um zu funktionieren.
-
-Drei Dateien werden erzeugt, wenn man das Skript laufen laesst :
-
- gnc.diff - Eine Ascii Text-DAtei, die die Unterschiede zwischen
- den Original Sourcen und den von ihnen bearbeiteten enthaelt.
- Am Schluss ist eine Liste, die die Files enthaelt, die
- hinzugefuegt, veraendert oder geloescht wurden.
-
- Bitte untersuchen sie dieses File!(insbesondere die Liste
- am Schluss) um sicherzustellen, dass alle Aenderungen in der
- Datei vorhanden sind.
-
- Diese Datei nicht einschicken!
-
- gnucash.diff.gz - Die gzipp'te Version der obigen Datei.
-
- Nicht einschicken!
-
- gnucash.diff.gz.uue - Die uuencoded (ascii-encoded) Version
- der obigen Datei.
-
- Dies ist die Datei, die eingeschickt werden muss.
-
-gnucash.diff.gz.uue an gnucash-devel at gnucash.org per E-Mail schicken.
-
-
-Vielen Dank schon mal im Voraus!
-
-
------------------
-
-Entwickler: siehe AUTHORS
-
-Stand : 01.05.2006, Christian Stimming
-
-P.S.: Dieses README ist nur eine teilweise Uebersetzung der
-englischen Version, und ist damit eher selten auf aktuellem Stand,
-da diese den aktuellen Entwicklungen angepasst wird. Im Zweifel
-also bitte die englische Original-Version zu Rate ziehen.
-
diff --git a/doc/README.translator.txt b/doc/README.translator.txt
deleted file mode 100644
index 4fe4ff7af..000000000
--- a/doc/README.translator.txt
+++ /dev/null
@@ -1,222 +0,0 @@
-This document describes some loosely related notes about the different
-things needed to translate GnuCash for a particular locale.
-
-NOTE: A much more up to date and exhaustive HOWTO for translators can
-be found in the file TRANSLATION_HOWTO.
-
-
-Table Of Contents
-
-1. How to create a GnuCash translation file for use with gettext
-
-2. Remarks about the keyword 'fuzzy' in the po file
-
-3. How to translate the GnuCash manual
-
-4. How to translate the files containing the new account hierarchies
-
-----------------------------------------------------------------------
-
-
- 1. How to create a GnuCash translation file for use with gettext
-
-This section explains how to create a GnuCash translation file for
-use with GNU gettext.
-
- by Yannick LE NY <y-le-ny at ifrance.com>, the French translator
- V1.1 - 20000813
-
-
-1) Take the file gnucash.pot, edit it with any text editor and save it
- as 'CODE-COUNTRY.po' (it must be a plain text file only not formatted text)
- where the CODE-COUNTRY is two or more letters which denote the language
- and country for the translation.
-
- For example: 'it' for Italy, 'fr' for France, 'de' for Germany,
- and fr_BE.po for people in Belgium who speak French.
-
- For france, the file is 'fr.po'.
-
-
-2) Now at the top of the file, you have this:
-
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR Free Software Foundation, Inc.
-# FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
-
-You need to update this with the current information.
-
-For example in the de.po file, we have this:
-
-# Messages in Deutsch für GnuCash
-# Copyright (C) 1999 Free Software Foundation, Inc.
-# Jan-Uwe Finck <Jan-Uwe.Finck at bigfoot.de>, 1999.
-
-
-3) Next, you need to translate each English string into the target
- language, for example:
-
-Before:
-
-#: messages-i18n.c:11
-msgid ""
-"The GnuCash personal finance manager.\n"
-"The GNU way to manage your money!"
-msgstr ""
-
-After, the translation in the de.po file:
-
-#: messages-i18n.c:11
-msgid ""
-"The GnuCash personal finance manager.\n"
-"The GNU way to manage your money!"
-msgstr ""
-"GnuCash: Ihr persönlicher Finanzmanager.\n"
-"Der GNU-Weg, ihr Geld zu verwalten !"
-
-
-4) When you are ready to test out the strings you have translated,
- save the file in the 'po' directory of the gnucash source tree.
- You can test if your file is good with this command line:
- msgfmt -c -v -o /dev/null FILE.po where FILE is the CODE-COUNTRY.
- If you have fuzzy errors, take a look at the end of this document.
-
-
-5) Now, if you have the gettext package installed, you can compile your
- po file with this command (run it in the gnucash/po directory):
-
-msgfmt fr.po --output=./gnucash.mo
-
- This will create the file 'gnucash.mo' which you can copy to the
- appropriate locale directory for your installation. On a RedHat 6.1
-
- installation, the directory is /usr/share/locale/fr/LC_MESSAGES.
- Alternatively, instead of creating and installing the gnucash.mo
- file by hand, you can edit the file 'configure.in' and the file
- 'configure' and add your language string ('it', 'fr', etc.) to
- the definition of the ALL_LINGUAS variable.
- If you add the be.po file, the old line is in the 2 files:
- ALL_LINGUAS = "de en_GB fr it ja ru sv"
- and the new line is in the 2 files:
- ALL_LINGUAS = "de en_GB fr it ja ru sv be"
- Now rerun 'make' and 'make install' to build and install the
- gnucash.mo file.
-
-When running GnuCash, you must set the appropriate locale environment
-variables:
-
-In French, with bash:
- export LANG=fr_FR
-
-In French, with tcsh:
- setenv LANG fr_FR
-
-6) Once you have a finished, working po file, need to compress your file
- with gzip. On command line, type 'gzip fr.po' (for the French file) and
- now you have a new compressed file named 'fr.po.gz'.
- Email this file to gnucash-patches at gnucash.org.
-
-
-------------------------------------------------------------------------------
-
-
- 2. Remarks about the keyword 'fuzzy' in the po file
-
-You can get more information about gettext and the po file format in
-the 'info' pages for GNU gettext. Type 'info gettext' at the command
-line.
-
-Dave Peticolas <dave at krondo.com>, the CVS maintainer for GnuCash,
-regularly updates the po files, and you may need to add some
-translations to the file or correct some strings.
-
-In the updated po files, you should not have the word 'fuzzy',
-otherwise GnuCash will not use the translated string.
-
-Two examples from the file de.po:
-
-1) You have this:
-
-#: messages-i18n.c:35
-#, fuzzy, c-format
-msgid ""
-"There was an error writing the file\n"
-" %s\n"
-"\n"
-"%s"
-msgstr ""
-"Es gab einen Fehler beim Ãffnen der Datei. \n"
-" %s."
-
-You need to correct the translated string and remove the 'fuzzy' keyword.
-For example:
-
-#: messages-i18n.c:35
-#, c-format
-msgid ""
-"There was an error writing the file\n"
-" %s\n"
-"\n"
-"%s"
-msgstr ""
-"Es gab einen Fehler beim Ãffnen der Datei. \n"
-" %s."
-
-2) You have this:
-
-#: messages-i18n.c:251
-#, fuzzy
-msgid "Show Income/Expense"
-msgstr "Einnahmen/Ausgaben anzeigen"
-
-You need to correct the translated string and remove the 'fuzzy' keyword.
-For example:
-
-#: messages-i18n.c:251
-msgid "Show Income/Expense"
-msgstr "Einnahmen/Ausgaben anzeigen"
-
-----------------------------------------------------------------------
-
-
- 3. How to translate the GnuCash manual
-
-This section describes the actions needed to translate the manual.
-
-1) Create a new directory doc/sgml/<locale> (where <locale> is
- something like es, en_GB, or pt_PT).
-2) Copy the files from doc/sgml/C into this directory.
-3) Recreate the image files in doc/sgml/C/gnucash so that they are
- appropriate to the locale.
-4) Edit all the sgml files and translate for the locale.
-
-----------------------------------------------------------------------
-
-
- 4. How to translate the files containing the new account hierarchies
-
-This section describes the actions needed to translate the files
-containing the new account hierarchies.
-
-1) Create a new directory accounts/<locale>.
-2) Copy the acctchrt_* files from accounts/C to accounts/<locale>
-3) Do not change any xml tags.
-For each file:
-4) Change the gnc-act:title, gnc-act:short-description, and
- gnc-act:long-description to contain appropriately translated text.
- Do not add any newlines in the long description except at the end
- and beginning of the string.
-5) For each gnc:account in the file translate the act:name, and
- act:description fields. Please do not translate any other fields.
-
-Note: You absolutely don't need to translate all of the files from
-accounts/C. A subset of those are fine as well. Probably several of
-them will not apply to your local legislative/economic system anyway.
-For a really customized account hierarchy you might better create a
-new account hierarchy file in GnuCash, and then, by hand-editing the
-xml code, split it up into several files and cut&paste the appropriate
-tags from the accounts/C/acctchrt_* files.
-----------------------------------------------------------------------
-
-Thanks so very much to all the translators for their hard effort and
-excellent work.
diff --git a/doc/README.txt b/doc/README.txt
new file mode 100644
index 000000000..63e3caf91
--- /dev/null
+++ b/doc/README.txt
@@ -0,0 +1,6 @@
+This directory contains manpages, the tip-of-the-day message
+source, and a sample gtk-3.0.css to demonstrate how to customize
+GnuCash's Graphical User Interface.
+
+The example directory contains some basic files for
+elementary testing and to illustrate the formats.
diff --git a/doc/TRANSLATION_HOWTO b/doc/TRANSLATION_HOWTO
deleted file mode 100644
index 11bea7ce2..000000000
--- a/doc/TRANSLATION_HOWTO
+++ /dev/null
@@ -1,395 +0,0 @@
-HOWTO: Translating GnuCash
-Last update: 2003-07-04
-
-The concept of this document is to give you step-by-step instructions on
-how to update (or create if non-existent) language translations for the
-gnucash project.
-
-Any additions or corrections to this file should be sent to either Jon
-Lapham <lapham at extracta.com.br>, Christain Stimming <stimming at tuhh.de>,
-or directly to the gnucash-devel mailing list.
-
-Sections:
-1) Mailing lists, IRC and web sites
-2) Get the source
-3) Contact the maintainer of your language
-4) Building, Installing and running GnuCash
-5) The glossary file
-6) Initial processing of the translation file
-7) Translating the .po file
-8) Testing and submitting your translations
-9) Problems
-10) How to translate the GnuCash guide and/or help files
-11) How to translate the files containing the new account hierarchies
-
-==============================================================================
-1) Mailing lists, IRC and web sites
-
-Translators will probably find 3 gnucash mailing lists of interest. General
-use questions and answers are found on the gnucash-users mailing list,
-specific development questions go to the gnucash-devel list and your finished
-translation file are sent to the gnucash-devel list.
-
-To subscribe or view archives of these lists, go the the gnucash web site,
-and follow the links to the mailing lists:
-https://lists.gnucash.org/mailman/listinfo
-
-Another excellent place to get help is on IRC, as many of the developers hang
-out there and are eager to help. Go to the #gnucash channel at
-"irc.gnome.org". If you don't know what that mean, fire up an IRC client
-(for example, xchat), connect to irc.gnome.org and then type "/join
-#gnucash".
-
-The main gnucash web site is loaded with information:
-https://www.gnucash.org/
-
-The GNU Translation Project is another way to submit translations:
-https://translationproject.org/html/welcome.html
-
-==============================================================================
-2) Get the source
-
-The first thing to do is to download the latest STABLE branch of gnucash.
-This could be easily done by visiting
-https://www.gnucash.org/pub/gnucash/sources/stable/
-and grab the latest stable source package.
-
-Please do not use the HEAD branch from SVN, since the text in the HEAD branch
-changes so much, it would be a waste of time to translate it. Do not worry,
-when the HEAD branch becomes stable, the existing translations in the STABLE
-branch will be merged. Your work will not be lost.
-
-==============================================================================
-3) Contact the maintainer of your language
-
-To find out who is the last person to work on your language, look near the
-top of the po/XXXX.po file which corresponds to your language. If your
-language does not have a .po file available, you can build one my issuing
-this command:
-
-FIXME: command to build a new .po file
-
-The beginning of your .po file should look something similar to this:
-
-# Localization for Portuguese-Brazil
-# Copyright (C) 2003 Free Software Foundation, Inc.
-# Jon Lapham <lapham at extracta.com.br>, 2003
-# Jose Carlos Nascimento - <joseca at psabs.com>, 2001.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: GnuCash 2.0.0\n"
-"POT-Creation-Date: 2003-05-16 16:42-0300\n"
-"PO-Revision-Date: 2003-06-02 12:00-0300\n"
-"Last-Translator: Jon Lapham <lapham at extracta.com.br>\n"
-"Language-Team: NONE \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=ISO-8859-1\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=n != 1;\n"
-
-Look to see who the "Last-translator" was, and send an email to that person
-and ask what you can do to help. This is important because if there already
-is an active maintainer of the translation file, you should interact directly
-with him or her. If there is not Last-translator, or that person is not
-maintaining the file actively (and tells you to take over), you will become
-the maintainer and you should change the "Last-translator" to your name and
-email address.
-
-==============================================================================
-4) Building, Installing and running GnuCash
-
-Before starting to work on your translations, it is suggested that you
-build the gnucash source code. This way you can get your system set up
-correctly with all the development packages you need. It is a good idea
-to actually run gnucash with your new translations because it is quite
-helpful to see the phrases in the context of the running program.
-
-For how to build and install, please refer to ../README
-
-After installation, insure that it works by running (as a normal user,
-no need to be root here):
-
-$ /usr/local/bin/gnucash
-
-It is a good idea to use absolute paths like this to insure you run
-the proper gnucash executable. To run your OS pre-installed version of
-gnucash, usually you can type:
-
-$ /usr/bin/gnucash
-
-Unless on some special systems, e.g. FreeBSD, where the OS installed
-version sits in /usr/local/bin/, in which case you need OS-specific knowledge.
-
-In either case, you can easily switch between the various languages the
-gnucash has available by setting the LANG env var before the call to the
-executable. In sh-like shell environment this could be done by:
-
-$ LANG=pt_BR /usr/local/bin/gnucash
-
-(other shell like tcsh may behave differently, please to refer to related
-manuals)
-
-==============================================================================
-5) The glossary file
-
-Inside the po/glossary/ directory should be a "glossary" file for your
-language. This file contains a bunch of commonly used terms found in gnucash.
-It is recommended that you get this file translated first, and use it as a
-guide when translating the real .po file.
-
-Go into the glossary directory and rebuild your language's glossary file:
-
-cd po/glossary/
-./txt-to-pot.sh gnc-glossary.txt > gnc-glossary.pot
-
-If your .po glossary file does not exist, use this gnc-glossary.pot file to
-create it:
-
-cp gnc-glossary.pot XXXX.po
-
-If your .po glossary file does exist, use the msgmerge program to update it:
-
-/usr/bin/msgmerge -o XXXX.po XXXX.po gnc-glossary.pot
-
-Now, open your language's glossary file and translate it completely.
-
-==============================================================================
-6) Initial processing of the translation file
-
-Before you begin actual translation work, you should update the gnucash.pot
-file and use this to update your .po file. This process will insure that
-you have the latest translatable strings.
-
-cd po/
-rm gnucash.pot
-make gnucash.pot
-
-If your language file does not exist, use the gnucash.pot file as a template
-for it:
-
-cp gnucash.pot XXXX.po
-
-If your language file does exist, update it using the msgmerge program:
-
-/usr/bin/msgmerge -o XXXX.po XXXX.po gnucash.pot
-
-The top of the .po file should be edited somewhat. The comments at the
-top of the file should be changed to be current:
-
-# Messages in Deutsch f�r GnuCash
-# Copyright (C) 1999 Free Software Foundation, Inc.
-# Jan-Uwe Finck <Jan-Uwe.Finck at bigfoot.de>, 1999.
-
-Make sure that the header of your .po file contains this line:
-"Plural-Forms: nplurals=2; plural=n != 1;\n"
-
-...and that you change the "Last-translator" string to your name.
-
-==============================================================================
-7) Translating the .po files
-
-Finally. You are ready to do some translating!
-
-There are many translation editors, KBabel, for example, works well for
-GnuCash. Some Editors are noted here:
-https://translationproject.org/html/software.html
-
-If you are familiar with a text editor, e.g. vim or emacs, you can also
-manually edit the .po files. Here is an example of translating some text
-into German:
-
-Before:
-#: messages-i18n.c:11
-msgid ""
-"The GnuCash personal finance manager.\n"
-"The GNU way to manage your money!"
-msgstr ""
-
-After, the translation in the de.po file:
-
-#: messages-i18n.c:11
-msgid ""
-"The GnuCash personal finance manager.\n"
-"The GNU way to manage your money!"
-msgstr ""
-"GnuCash: Ihr pers�nlicher Finanzmanager.\n"
-"Der GNU-Weg, ihr Geld zu verwalten !"
-
-You should read through every translation in the .po file at least once.
-If you translate a string that has the phrase "#, fuzzy" in the comments
-above it, remove the word fuzzy. A fuzzy translation means that the
-computer guessed what the translation should be. If you use a translation
-editor, the "fuzzy" translation are marked in different ways in different
-translation editor, please refer to their documents for how to work with them.
-
-After you finish translating, you should not have any "#, fuzzy" strings left.
-
-For example:
-
-#: messages-i18n.c:35
-#, fuzzy, c-format
-msgid ""
-"There was an error writing the file\n"
-" %s\n"
-"\n"
-"%s"
-msgstr ""
-"Es gab einen Fehler beim �ffnen der Datei. \n"
-" %s."
-
-You need to correct the translated string and remove the 'fuzzy' keyword.
-For example:
-
-#: messages-i18n.c:35
-#, c-format
-msgid ""
-"There was an error writing the file\n"
-" %s\n"
-"\n"
-"%s"
-msgstr ""
-"Es gab einen Fehler beim �ffnen der Datei. \n"
-" %s."
-
-Notice that the comment "c-format" was not removed. That is correct, you
-should leave that.
-
-When you see the comment "c-format", it means that the format codes in the
-translatable string are referring to C formatting codes. So, '%s' means text,
-'%d' means an integer, etc...
-
-==============================================================================
-8) Testing and submitting your translations
-
-You must check that your new translations are programmatically correct (ie:
-that there are no unclosed quotes, etc). To do this, use the msgfmt program
-
-/usr/bin/msgfmt -c --statistics XXXX.po
-
-This will report any errors in your .po file if it finds them.
-
-If you want to see your translations within a running version of gnucash,
-simply place your .po file in your SVN copy of the gnucash source code (which
-you have previously installed) and from within the po/ directory type (you
-may need to be root to do this):
-
-make install
-
-Now you can run gnucash with your new translations:
-
-$ LANG=XXXX /usr/local/bin/gnucash
-
-When you are happy with the new translation file, email a gzipped version
-of it to the gnucash-devel mailing list.
-
-gzip XXXX.po
-(email this file using your favorite mail client)
-
-Note that on this list we would kindly ask to send patches as attachments, not
-within email text.
-
-If you know how to make a patch, a patch is also welcome. Patches are more
-helpful if there are more than one people working on one translation file.
-
-==============================================================================
-9) Problems
-
-If you see any "Gtk-CRITICAL" messages while running gnucash, it is probably
-because you translated a string differently than how it exists in some other
-gnome library. You must discover which string you translated differently, and
-change the translation to exactly match that of the gnome libraries.
-
-To do this, you need to run gnucash under gdb:
-
-LANG=XXXX /usr/local/bin/gnucash-env gdb /usr/bin/guile
-
-Then, from within gdb, issue:
-run -e main -s /usr/local/libexec/gnucash/overrides/gnucash --g-fatal-warnings
-
-Eventually, gnucash should crash (because of the --g-fatal-warnings
-directive), when it does, issue from within gdb:
-
-backtrace
-
-You should see some output that looks like this:
-
-#0 0xffffe002 in ?? ()
-#1 0x42028a73 in abort () from /lib/tls/libc.so.6
-#2 0x4019d3d8 in g_logv () from /usr/lib/libglib-1.2.so.0
-#3 0x4019d414 in g_log () from /usr/lib/libglib-1.2.so.0
-#4 0x40500fdd in gtk_type_check_object_cast () from
-/usr/lib/libgtk-1.2.so.0
-#5 0x407292e5 in gnc_mdi_tweak_menus (mc=0x825adb0) at gnc-mdi-utils.c:574
-#6 0x40729d13 in gnc_mdi_child_changed_cb (mdi=0x8266fd8, prev_child=0x0,
- data=0x8265fd8) at gnc-mdi-utils.c:861
-
-Notice position #5 which has "gnc_mdi_tweak_menus at
-gnc-mdi-utils.c:574"? Open that source file and find line 574:
-
-573: widget = gnc_mdi_child_find_menu_item(mc, "_View/_Toolbar");
-574: gtk_signal_handler_block_by_data(GTK_OBJECT(widget), info);
-
-So, the problem is with the translation of "_View/_Toolbar". The "/" is a
-menu separator, so you now know that the problem is with either the
-translation of "_View" or "_Toolbar". By switching to an English gnucash
-and looking through your .po file, you should be able to find the problem.
-Change the offending translation to whatever you see in the gnucash app.
-Remember that the translations must contain the proper underscores.
-
-------------
-To follow gnucash as it access files,
-strace /usr/local/bin/gnucash
-
-==============================================================================
-10) How to translate the GnuCash guide and/or help files
-
-This section describes the actions needed to translate the manual.
-
-First, you must *have* the gnucash-doc package installed:
-
-1) Checkout the documentation
-cvs -z3 -d :pserver:cvs at cvs.gnucash.org:/home/cvs/cvsroot checkout \
- gnucash-docs
- FIXME: change the cvs command to svn here
-2) Create a new directory (if it doesn't already exist) in guide/<locale>
- where <locale> is something like es, en_GB, or pt_PT.
-3) Copy the files from guide/C into this directory.
-4) Recreate the image files in guide/C/figures so that they are
- appropriate to the locale.
-5) Edit all the xml files and translate for the locale.
-6) Test that your xml file has no syntax errors
- xmllint --valid --noout gnucash-guide.xml
-
-To translate the help files, repeat steps 2-5 but replace the "guide"
-directory with "help".
-
-==============================================================================
-11) How to translate the files containing the new account hierarchies
-
-This section describes the actions needed to translate the files
-containing the new account hierarchies.
-
-1) Create a new directory accounts/<locale>.
-2) Copy the acctchrt_* files from accounts/C to accounts/<locale>
-3) Do not change any xml tags.
-For each file:
-4) Change the gnc-act:title, gnc-act:short-description, and
- gnc-act:long-description to contain appropriately translated text.
- Do not add any newlines in the long description except at the end
- and beginning of the string.
-5) For each gnc:account in the file translate the act:name, and
- act:description fields. Please do not translate any other fields.
-
-Note: You absolutely don't need to translate all of the files from
-accounts/C. A subset of those are fine as well. Probably several of
-them will not apply to your local legislative/economic system anyway.
-For a really customized account hierarchy you might better create a
-new account hierarchy file in GnuCash, and then, by hand-editing the
-xml code, split it up into several files and cut&paste the appropriate
-tags from the accounts/C/acctchrt_* files.
-
-----------------------------------------------------------------------
-
-Thanks so very much to all the translators for their hard effort and
-excellent work.
diff --git a/doc/What_is_Euro_support b/doc/What_is_Euro_support
deleted file mode 100644
index ce5855e58..000000000
--- a/doc/What_is_Euro_support
+++ /dev/null
@@ -1,12 +0,0 @@
-The following changes occur in the Gnucash GUI when the "Euro support"
-preference is enabled:
-
-1) In any register denominated in a national currency that been
- replaced by the Euro (e.g. an account in DEM), the summarybar will
- show totals in both the old currency and in EUR.
-
-2) There is an additional line labeled "EUR, total" in the account
- tree summarybar. The totals in this line are a sum of all accounts
- denominated in currencies that have been replaced by the Euro.
- (E.G. The sum of all accounts in DEM, plus all accounts in FRF,
- etc., etc.)
diff --git a/doc/guile-hackers.txt b/doc/guile-hackers.txt
deleted file mode 100644
index 5fafed157..000000000
--- a/doc/guile-hackers.txt
+++ /dev/null
@@ -1,96 +0,0 @@
--*-text-*-
-
-This file is intended to contain information for those interested in
-working on the guile bits of GnuCash.
-
-I've recently added some GUI functions callable from scheme. This is
-generally pretty straightforward, and you can look in the code to see
-how I did it, but there are a few bits you have to be careful about.
-
-One of the main sources of useful information is "info guile-ref".
-This contains the documentation for all the guile C-side functions
-like SCM_CAR(), scm_append(), etc. that manipulate opaque SCM objects
-from the guile side.
-
-Given that and a reasonable understanding of GTK/GNOME, you should be
-able to follow what I've done.
-
-Introduction To Scheme and guile(rgmerk)
---------------------------------
-Please skip this if you already know what Scheme is and why it's
-so cool . . .
-
-Scheme is a dialect of LISP (List Programming), one of the earliest
-programming languages. It makes so many things easy it's just not
-funny. It can be a little confusing for people raised on C and Java,
-but any time taken to learn it is made up for with easier-to-write,
-easier-to-debug, more reusable, and more robust code.
-
-Guile is an implementation of standard Scheme which is easily
-embeddable in C, making multi-language development relatively
-straightforward. You can easily access data and procedures from
-either end. Guile supports a superset of R4RS (the Scheme standard).
-For initial experimentation, you can use Guile as an interactive Scheme
-shell to play around with the system.
-
-FIXME: Starting gnucash as a guile shell. ..
-
-While the Guile documentation (in info format) explains
-Guile specifics, it doesn't have much information about Scheme,
-the language. The Internet Scheme Repository:
-
-https://www.cs.indiana.edu/scheme-repository/home.html [DEAD LINK]
-
-has quite a useful collection of information, including
-FAQs, online copies of the Scheme standard (which is actually
-quite readable and useful), and pointers to web tutorials
-and other resources.
-
-Garbage collection:
--------------------
-
-One issue to keep in mind is that of garbage collection. You cannot
-pass a scheme side item to the C side (through a SCM) and then store
-that object off somewhere on the C side such that it lives longer than
-all of it's guile side references. If you do, you're likely to get a
-crash. The problem is that guile's garbage collector only knows to
-save guile items that still have guile side pointers, or that are
-found somewhere on the current C side stack. If you store a SCM item
-off in a C data structure (say a callback pointer), and then return to
-the guile side and drop the guile-side reference to the item, guile
-may garbage collect it before it's used by the C side.
-
-For example, this psudeo-code is a problem:
-
- void gnc_some_function(SCM scm_thunk) {
- gnc_set_push_button_callback(some_button, scm_thunk);
- }
-
- (define (unsafe-guile-function)
- (let ((my-callback (lambda () (display "Hello\n"))))
- (gnc:some-function my-callback)))
-
-The problem here is that if you call unsafe-guile-function, it
-registers the pointer to the anonymous lambda created in the let
-construct with the button on the C-side and then returns. As soon as
-it returns, guile has no more references to the anonymous lambda, and
-it's not on the C stack, so guile thinks it's OK to garbage collect
-the function even though the C side has a pointer to it and may still
-use it.
-
-The moral of this story is that if you need to have the C side ferret
-away a scheme item for later, you must also keep at least one
-reference to that item on the guile side until the C side is finished
-with it.
-
-You can protect an object using scm_gc_protect_object. When you're done
-with it you can release it using scm_gc_unprotect_object.
-
-Guile Interrupts:
------------------
-
-Another issue that I'm not quite sure of myself yet is that of
-interrupts. Guile has the ability to protect certain segments of code
-with SCM_DEFER_INTS/SCM_ALLOW_INTS, but at the moment I'm not sure
-when this is required. If anyone gets the chance to check this out
-before I do, then please edit this file and put your findings here.
diff --git a/doc/projects.html b/doc/projects.html
deleted file mode 100644
index 0528da406..000000000
--- a/doc/projects.html
+++ /dev/null
@@ -1,2845 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-
-<html>
- <head>
- <title>GnuCash Project Goals</title>
- <meta name="description" content= "The Linux GnuCash project
- aims at creating a world-class personal finance package.
- Goals include ease-of use, double entry, OFX support,
- charts, and reports, and multi-user support.">
- <meta name="keywords" content= "linux, OFX, accounting, finance,
- financial, ledger, double entry, GPL, gnu">
- </head>
-
- <body bgcolor="#d6dacb" fgcolor="#000000">
-
- <div align=center><a href="https://www.gnucash.org/" target="_top">
- <img border=0 width=470 height=62 alt="GnuCash Personal Finance Manager"
- src="GnuCash_Long.jpg"></a><br>
- </div>
-
- <h1>GnuCash Project Goals</h1>
-
- <p>
- The people behind <a href="https://www.gnucash.org">GnuCash</a>
- aim to create a world-class GPL'ed Open Source Personal
- Financial Application for GNU/Linux and other Unix's. This page
- reviews some of the technical issues and development status
- surrounding this project. It is a kind of an <b>FAQ</b> for
- developers and contributors, providing status, and suggesting
- directions and technologies for deploying new features. If you
- simply want to get a better idea of what <a href=
- "https://www.gnucash.org">GnuCash</a> is and what it does, visit its
- <a href="https://www.gnucash.org">home page</a>. The home page
- contains screen shots, news items, and mailing list
- archives.
- </p>
-
- <p>
- There are currently several different versions of GnuCash.
- We've adopted the kernel numbering scheme: even minor release
- numbers (1.4.x, 1.6.x) are considered to mark stable releases,
- while odd numbers (1.5.x, 1.7.x) mark development releases.
- </p>
-
- <ul>
- <li>The current stable, production release is gnucash-1.6.0 and
- is based on the <a href= "https://www.gnome.org">Gnome</a> /
- <a href= "https://www.gtk.org">GTK</a> libraries.
- </li>
-
- <li>The 1.7.x releases focus on adding new features and
- improving existing functionality.
- </li>
- </ul>
-
- <p>
- The latest version is available only via CVS. Occasionally,
- some of the more stable CVS versions are given a version number,
- and packaged as a precompiled deb or RPM install package. Naive or
- beginning users should probably stick to version gnucash-1.6.0.
- More adventurous users can try one of the 1.7.x releases, However,
- keep in mind that they are in a state of constant change and will
- often be unstable.
- </p>
-
- <p>This document is divided into several sections.</p>
-
- <ol>
- <li><a href="#arch">Architectural Goals</a></li>
-
- <li><a href="#reqs">Requirements</a></li>
-
- <li><a href="#size">Sizings</a></li>
-
- <li><a href="#feats">Features</a></li>
- </ol>
- <hr>
- <!--===================================================-->
- <a name="arch">
- <h1>Architectural Goals</h1>
- </a>
- There are some over-reaching design principles and philosophies
- that we intend to maintain. Some of these concepts and terms
- are introduced in this section.
-
- <h2>Separation of GUI and Data</h2>
- First, we must maintain a clean separation between the data
- structures and the GUI that manipulates them, along the lines
- of the <b>Model-View-Controller</b> paradigm.
-
- <ul>
- <li>Lists of accounts and the transactions in them can be
- thought of as a representation of financial data, a
- <b>Model</b>.
- </li>
-
- <li>The GUI that adds, modifies and deletes these should be
- thought of as a manipulator of the data, a <b>Controller</b>.
- Thus, the Motif or Gnome GUI's are merely two possible
- manipulators of the data; others, based on <i>e.g.</i>
- web/cgi-bin, Qt/KDE, emacs, Java applets or Java servlets
- ought to be possible.</li>
-
- <li>The <b>View</b> of the data is a subset or slice of the
- data described by the Model. The View may consist of only the
- transactions for the month of May, or only the account totals
- for certain accounts. The View is used in part to generate
- the reports and graphs, but it is also that which the
- Controller interacts with. Views are generated by queries to
- the data store.</li>
- </ul>
-
- <p>
- GnuCash also needs to deal with multiple distributed data
- sources: stock quotations from the net or transaction
- confirmations from online banks and brokerage houses, or from
- more mundane sources, such as file imports, or merger of data
- from several users. Amongst these terms, the concept of a
- global Model-View is dated, and somewhat inappropriate. Rather,
- we need to be concerned about how data is represented in the
- local address space of the GUI, how the GUI manipulates it, how
- data is brought in and merged from external sources, and how
- that data is again output, whether to a file or a local or
- remote database.</p>
-
- <p>
- Thus, the <b>View</b> essentially represents a local data
- cache of the data that is immediately present and being
- displayed, reported, and manipulated. The <b>Model</b> is the
- abstraction of that data that the GUI (the controller) can act
- on.</p>
-
- <h2>The Financial Engine</h2>
- In GnuCash, the Model is implemented via the <b>Engine</b> API,
- and the View is the data that is currently in the <b>
- Engine</b>. Thus, the Engine is a set of programming API's that
- the GUI (or a script, or even a clever command-line-addict) can
- use to manipulate the data.
-
- <p>
- Currently, the Engine provides basic accounting structures
- These include: </p>
-
- <ul>
- <li><b>Transactions</b>, which consist of a set of 'splits'
- or journal entries (JE's) whose values sum to zero.
- The transaction includes several date fields, a description,
- and a common-currency field, and a universal unique id
- (uuid/guid). It also provides hooks to store arbitrary data
- associated with the transaction (using a URL-based key-value tree).
- </li>
-
- <li><b>Journal Entries</b> (internally referred to as
- 'splits') which an amount and the account on which it is drawn.
- Splits also store reconcile status, dates, a memo field,
- and also a key-value based hook for arbitrary data.
- </li>
-
- <li><b>Accounts</b>, which include a nme, a type, a description
- field, and the type of commodity they store. Principlally,
- the account consists of a list of journal entries.</li>
-
- <li><b>Chart of Accounts</b>, which is a hierarchical tree of
- accounts.</li>
- </ul>
-
- The Engine has a basic two-phase commit model, and a
- query mechanism for finding the data needed for reports and
- views. The goal of the two-phase commit and query model is
- allow the creation of multi-user server based backends, such
- as an SQL backend, and RPC client-server backend, or an
- XML-based HTTP/web backend. This design seems to work
- for the above-named backends.
-
- <p>The Engine currently handles only a basic set of data
- sources:</p>
-
- <ul>
- <li>It can import and merge in QIF's (actually, this function
- has been moved into the GUI, and is no longer part of the
- engine);
- </li>
-
- <li>It can read and write its own XML byte stream;
- This ability has been used to provide a multi-user
- client-server demo (which is currently broken).
- </li>
-
- <li>It can use a Postgres SQL database as a datastore, thereby
- enabling multi-user and auditing functions.
- </li>
-
- <li>It can talk, via RPC, to a gnucash server. (This code is
- 'alpha' and incomplete/broken).
- </li>
-
- <li>It can get stock quotes from the net (actually, this
- function is provided by a separate module, the Finance::Quote
- perl module.)
- </li>
- </ul>
-
- <p>
- However, since the Engine is meant to be the interface
- between the GUI and the financial data, it is really intended
- to be able to do much more.
- In particular, it should be possible to create a peer-to-peer
- network model, where gnucash peers can synchronize data between
- themselves. The engine should also be expandable to handle other
- sources of data, such as OFX/IFX, the Open Trading Protocol, or
- the OMG CORBA General Ledger submission. In particular, it
- should be possible to use GnuCash not only to view data from
- these sources, but also to manipulate it and send it back.
- </p>
-
- <h2>Modularity, Extensibility and Customization</h2>
-
- <p>The above structure should lead us to view GnuCash not so
- much as a tightly integrated application, but rather as a loose
- confederation of component objects, libraries and interfaces.
- This has a number of advantages for both the deeloper and the
- user. For the developer, it allows parts to evolve semi-independently
- of one-another, and to be used in other, non-gnucash projects.
- For the user, a good extensibility allows the use of
- <a href="#arrangements">arrangements</a>: a way of broadly
- customizing the appearance and behaviour of gnucash, and then
- allowing users to very easily share these customizations with
- one another. Such arrangements might be collections of canned
- reports, e.g. for business or home user. Or they might be
- the menu contents: one menu arrangement is for gbeginners, another
- for 'power users', a third for business owners. Th goal is that
- broad areas should be not only customizable, but it should be
- possible, even easy, to trade these customizations between users.
- </p>
- <p>
- In order to facilitate the gluing together of these parts, as
- well as simplify the questions of customizability, change and
- rapid development, GnuCash makes use of the
- <a href= "https://www.swiss.ai.mit.edu/projects/scheme/index.html">
- Scheme</a> extension language (as implemented in the FSF
- <a href="https://www.gnu.org/software/guile/guile.html">Guile</a>
- interpreter), to glue the pieces together. (Note that the
- engine interface is also available with
- <a href="https://www.perl.org">Perl</a> interfaces, thanks to a
- <a href="http://starship.skyport.net/crew/beazley/swig.html">SWIG</a>
- wrapper.
- </p>
-
- <h2>A Web Browser for Financial Data</h2>
-
- <p>More and more financial data is moving onto the web.
- People shop on-line. They pay bills on-line. There are
- even some promising e-wallet systems (such as
- <a href="https://www.webfunds.org">WebFunds</a>). For GnuCash
- to be relevant in this on-line world, it must be able to interact
- with these systems. There are several steps that can be taken
- along this path. First, it must be possible to simply and
- transparently import financial data off the web. Click on a QIF
- file, mime-type "application/x-qif"? Gnucash sucks it in without
- burping. But, in a more distant future, can GnuCash originate
- transactions? It should be able to!
- </p>
- <p>
- GnuCash can be and should be "The Sophisticated Financial Web Browser".
- All GnuCash reports and the help system are HTML-based. In fact,
- GnuCash has a built-in web browser that can view ordinary web sites.
- Interactive gnucash components such as the bar and pie charts, or
- the graphs and reports, can all be served up by a remote web server,
- as well as locally through the GnuCash application. This allows
- GnuCash to blur the line between web browser and financial application,
- and offer the best of both worlds.
- </p>
- <p>
- Why is this a good thing? One can always have a pure web-based
- accounting solution (such as SQL-Ledger) that uses ordinary web
- browsers to view the financial data. But there are problems:
- dynamically-generated html and cgi-bins aren't as pretty or easy
- to use, or as fast, responsive or sophisticated, as what you can
- do with a custom client. That is, GnuCash can be more interactive,
- easier to user, slicker and more professional looking in style
- and presentation than a plain-old dynamic website. Financial
- ASP's simply cannot currently offer the kind of utility, flexibility,
- responsiveness and integration that GnuCash can offer.
- </p>
- <p>
- In theory, the 'Java revolution' was supposed to provide this
- function, with downloadable Java applets providing the 'fancier-
- than-plain-html' interface. But a Java applet that is this
- sophisticated would also be large and slow to download:
- it offers no inherent advantages over native code. Another
- problem with Java is the inherent propreitary fragmentation:
- no two Java applets are alike: every site has their own; there
- is no standardization.
- </p>
- <p>
- In order to solve the 'no gui standardization between websites'
- problem, there are a number of businesses that have arisen to
- provide "financial aggregation". You sign up with these sites,
- and let them get all of your credit-card, bank and investment info,
- and they can provide a unified interface for your bank statements,
- with graphs and reports (all for a monthly fee). The existence of
- these services highlights a problem: the inability to aggregate
- the same data on the users desktop, in a simple, coherent fashion.
- Let us posit that GnuCash, with the right on-line interfaces,
- would be a natural for this. For the paranoid,
- this has the added advantage that no one business has access to
- all of your financial records.
- </p>
-
- <p>
- To put it another way, GnuCash can provide a centralized, trusted
- store for financial data that no other application can provide.
- The convenience
- factor: if you have trading accounts at e*trade and charles schwab,
- then GnuCash can be the central place where you can oversee
- <b>all</b> of your investments. The trust factor:
- maybe you can trust your web bank. Maybe you can trust your web
- stock account. But can you trust a single web entity with *all*
- of your financial data? Someone who won't treat you as 'just
- another consumer' and sell your 'consumer profile' to anyone who
- cares to stalk (ahem, target) your financial activity (ahem,
- purchasing) patterns? Didn't think so. Of course, you
- *could* use some proprietary financial software. Assuming, of course,
- that you trust it not to have any built-in covert channels:
- nothing that might send back the make and model of your CPU and
- the last ten transactions 'home to mommy' for 'diagnostic purposes'.
- Because open source software, such as GnuCash, can be audited
- it can be trusted in ways that no proprietary software can be.
- In an increasingly net-connected world, the ability to build
- trust through audits will be increasingly important.
- </p>
-
- <h2>Looking Into the Future</h2>
- Things like support for OFX, and small-business features are
- hopefully in the near term future of gnucash. Lets take a look
- at some more far-out possibilities.
- </p>
- <dl>
- <dt><b>E-Wallet</b></dt>
- <dd>An e-wallet, just like a real wallet, stores cash. You
- can use that cash to pay friends or businesses. Just
- like a real wallet, an e-wallet should not charge you
- monthly fees. It should provide you with some measure
- of anonymity and privacy. An e-wallet should also do
- something no ordinary wallet can do: show you a monthly
- report of expenditures. GnuCash should get e-wallet
- features. </dd>
-
- <dt><b>Authentication, Authorization and Access Control</b></dt>
- <dd>How does an on-line merchant know that you are who you say
- you are? How can you use GnuCash to authorize a bill payment?
- Sooner or later, smart-cards will provide the sort of
- authentication and access control that is only groped for
- with PGP/GPG, keyrings, x.509 certificates, and Microsoft
- Passport/Hailstorm. Of all the electronic things in the
- electronic world where access control and authentication
- are important, real money is the most so.
- </dd>
-
- <dt><b>Bill Presentment, Bill Pay</b></dt>
- <dd>These magic keywords just mean that a merchant wants to
- send you a bill, and wants you to go to their website to
- pay that bill (they want your eyeballs). Of course, for
- the user, it would be more convenient to have the bill
- show up on the desktop, inside of gnucash, and get authenticated
- and paid out from the desktop (by gnucash), as you would
- do with all of your other bills.
- </dl>
-
- <hr>
- <!--===================================================-->
-
- <a name="reqs">
- <h1>Requirements</h1>
- </a>
- Lets take a look at who the current and potential future users
- of GnuCash are, and how they might use it. The classes:
-
- <ul>
- <li>Basic Household Accounting/Budgeting</li>
- <li>Personal Stock Portfolio Management</li>
- <li>Personal On-line Trading (Day-Trading)</li>
- <li>On-line shopping and bill-pay</li>
- <li>Small Business Users</li>
- </ul>
- These different applications may use some of the same
- financial terminology, and hopefully might share a fair
- bit of code, but have quite different goals and requirements.
-
- <h3>Basic Household Accounting and Budgeting</h3>
-
- <p>Important properties of a personal finance system
- include:</p>
-
- <ul>
- <li>Approachable and usable by occasional users
- who are not knowledgeable about accounting.</li>
-
- <li>Ease of use and simplicity is critical.</li>
-
- <li>A reasonable selection of reports, graphs, charts, and
- tools for personal finance, such as mortgage
- calculations.</li>
-
- <li>Budgeting support needs to be targeted at <em>naive</em>
- users.</li>
-
- <li>Interfaces to on-line banking, shopping, stock
- systems. Bank and credit-card statements should
- arrive 'automatically' and always be up-to-date.</li>
- </ul>
-
- <h3>Personal Portfolio Management</h3>
-
- <ul>
- <li>Support for management of stock portfolios that may
- involve considerable sophistication, since individuals
- commonly have retirement plans that hold mutual funds,
- stocks, options, bonds, and the like.</li>
- <li>Reporting infrastructure needs to simplify handling of
- tax issues (long-term vs. short-term capital gains/losses,
- cost-basis FIFO accounting, simplfied cost-basis
- spinoff/merger handling). Need on-line updates of
- prices, simple portfolio overview, ability to link
- to websites for additional research.
- <li>Integration with on-line trading systems. This could
- save time typing.
- <li>Basic Audit features. There's a problem with blindly
- allowing on-line data (prices, transactions) to enter
- GnuCash. It may not be clear where it came from,
- and even if the source is believed to be 'reputable',
- there still may be factual errors in the data. Thus,
- there must be a way of audting newly-arrived (or even old)
- on-line data, and mark it as 'reconciled', i.e.
- manually reviewed and checked for accuracy. That is,
- incoming on-line data must be auditable, and audit
- trails should mark the history of on-line data import.
- </ul>
-
- <h3>Small Business Needs</h3>
-
- <ul>
- <li>With a business system, it is likely that there will be
- users who use it eight hours a day, which puts the emphasis
- on <em>efficiency</em> of user interface rather than on its
- approachability to naive users.</li>
-
- <li>Business systems require network support, and the ability
- to support multiple simultaneous users.</li>
-
- <li>Some business users may want access to the system from an
- MS Windows 95/98/NT box. For these folks, a web-based
- interface could be just handy. Web interfaces are also nice
- a for ASP type deployment.</li>
-
- <li>
- Small businesses do not often have sophisticated investment
- portfolios; they instead need support for additional
- sophistication in such areas as:
-
- <ul>
- <li>Customer and Vendor Lists; Invoicing</li>
-
- <li>Payroll (Batch processed and individual)</li>
-
- <li>Inventory Control & Asset Management</li>
- <li>Amortization Schedules, Depreciation</li>
-
- <li>Shipping and Receiving</li>
-
- <li>Accounts Receivable, Accounts Payable (A/R, A/P)</li>
- <li>Credit Card Processing</li>
-
- </ul>
- </li>
-
- <li>Support for calculations associated with accrual
- accounting.</li>
-
- <li>Ambitions for the future might include interfaces to
- online shopping carts, credit card clearing interfaces, and
- ERP systems.</li>
- </ul>
-
- <h3>Reconciling Those Needs</h3>
-
- <p>A seemingly contradictory factor is that the kinds of
- sophistication that are required vary considerably.
- Consider:</p>
-
- <ul>
- <li>A home user does not generally require most of the
- sophistication of accrual accounting that is
- required by business enterprises. Thus, home users don't need
- <em>much</em> of the sophistication of an Accounts Receivable
- or Payable system, or the <em>bizarre</em> depreciation
- policies that crop up in Asset Management systems.<br>
- <br>
- </li>
-
- <li>
- On the other hand, home users are in increasing need of
- surprisingly sophisticated financial tools for managing
- stock portfolios, including:
-
- <ul>
- <li>Mutual funds</li>
-
- <li>Retirement savings plans, with such identifiers as
- 401(k), IRA, Roth IRA, RRSP, or Insurance Annuities</li>
-
- <li>Corporate stock purchase plans</li>
-
- <li>Corporate option plans</li>
- </ul>
- </li>
- </ul>
- Another set of contradictory requirements has to do with the
- back-end, and interfacing to other systems:
-
- <ul>
- <li>Home users need a simple-to-install, simple-to-maintain
- system. This essentially rules out the use of SQL for the
- storage medium/back-end for home users. (That is, the current
- state of the art for SQL on Linux does not offer any simple,
- fool-proof management for data).</li>
-
- <li>By contrast, non-SQL systems for business use are almost
- unimaginable. SQL provides a high degree of data integrity
- and storage robustness, and also simplifies tremendously the
- import and export of data. Powerful SQL tools exist that can
- work magic in the hands of a good DB admin.</li>
- </ul>
-
- <p>It may be that these will require <em>completely</em>
- different systems, and that GnuCash cannot be "all things to
- all people." This remains to be seen.</p>
- <hr>
- <!--===================================================-->
-
- <a name="size">
- <h1>Sizings</h1>
- </a>
- This section attempts to guess how hard it would be to
- implement certain features.
-
- <h2>Personal Financial Application</h2>
- Below are listed the technical work items needed to implement
- the features that home users might hope to have. They are
- listed in approximate order of priority.
-
- <p>The right hand column shows a sizing guesstimate. pm ==
- person-months. These sizings are meant to show 'effort needed
- to complete', rather than 'total effort required'. Thus,
- half-finished items have smaller sizings.</p>
-
- <ul>
- <li><b>Done</b> The work item is essentially completed</li>
- <li><b>Small</b> 0 to 4 pm</li>
-
- <li><b>Medium</b> 3 to 12 pm</li>
-
- <li><b>Large</b> More than 12 pm</li>
- </ul>
-
- <table border="1" summary= "Personal Finance Functionality Requirements">
- <tr>
- <th>Feature</th>
- <th>Sizing</th>
- <th>Responsible</th>
- </tr>
-
- <tr>
- <td></td>
- </tr>
-
- <tr>
- <td><a href="#i18n">Internationalization</a></td>
-
- <td>Done</td>
- <td>-</td>
- </tr>
-
- <tr>
- <td><a href="#reports">Reports</a></td>
-
- <td>Medium</td>
- <td>Stimming/Gribble</td>
- </tr>
-
- <tr>
- <td><a href="#graphs">Graphs</a></td>
-
- <td>Medium</td>
- <td>Guppi/Gribble</td>
- </tr>
-
- <tr>
- <td><a href="#query">Transaction Query</a></td>
-
- <td>Small</td>
- <td>Linas/LewisMoss</td>
- </tr>
-
- <tr>
- <td><a href="#ledger">Simplified Ledger</a></td>
-
- <td>Done</td>
- <td>-</td>
- </tr>
-
- <tr>
- <td><a href="#glitz">Themes, Icons, Glitz</a></td>
-
- <td>Small</td>
- <td>Various</td>
- </tr>
-
- <tr>
- <td><a href="#misc">Miscellaneous Small Tasks</a></td>
-
- <td>Done</td>
- <td>Various</td>
- </tr>
-
- <tr>
- <td><a href="#alerts">Alerts, Recurring & Scheduled Transactions</a></td>
-
- <td>Medium</td>
- <td>?</td>
- </tr>
-
- <tr>
- <td><a href="#budget">Budgeting</a></td>
-
- <td>Medium</td>
- <td>Dave</td>
- </tr>
-
- <tr>
- <td><a href="#classes">Classes/'Action' Field</a></td>
-
- <td>Small</td>
- <td>?</td>
- </tr>
-
- <tr>
- <td><a href="#book">Books, Accounting Periods</a></td>
-
- <td>Small</td>
- <td>Linas</td>
- </tr>
-
- <tr>
- <td><a href="#check">Check Printing</a></td>
-
- <td>Small</td>
- <td>Grib</td>
- </tr>
-
- <tr>
- <td><a href="#wizards">Wizards</a></td>
-
- <td>Small</td>
- <td>Dave, Bill-qif</td>
- </tr>
-
- <tr>
- <td><a href="#arrangements">Arrangements</a></td>
-
- <td>Small</td>
- <td>?</td>
- </tr>
-
- <tr>
- <td><a href="#userpref">User Preferences/Session Mgmt.</a></td>
-
- <td>Done</td>
- <td>?</td>
- </tr>
-
- <tr>
- <td><a href="#quickim">Quicken(TM) QIF Import</a></td>
-
- <td>Small</td>
- <td>Gribble</td>
- </tr>
-
- <tr>
- <td><a href="#iifim">IIF Import</a></td>
-
- <td>Small</td>
- <td>?</td>
- </tr>
-
- <tr>
- <td><a href="#quickex">IIF Export</a></td>
-
- <td>Small</td>
- <td>Grib</td>
- </tr>
-
- <tr>
- <td><a href="#currency">Multiple Currencies</a></td>
-
- <td>Medium</td>
- <td>Rethink Requirements-Linas</td>
- </tr>
-
- <tr>
- <td><a href="#architecture">Architecture Review</a></td>
-
- <td>Small</td>
- <td>RLB, Dave</td>
- </tr>
-
- <tr>
- <td><a href="#testing">Automated Test Suite</a></td>
-
- <td>Medium</td>
- <td>?</td>
- </tr>
-
- <tr>
- <td><a href="#quote">Stock Quotes, Price Quotes</a></td>
-
- <td>Small</td>
- <td>?</td>
- </tr>
-
- <tr>
- <td><a href="#install">Install</a></td>
-
- <td>Small ?</td>
- <td>?</td>
- </tr>
-
- <tr>
- <td><a href="#double">Forced Double Entry</a></td>
-
- <td>Small</td>
- <td>?</td>
- </tr>
-
- <tr>
- <td><a href="#401K">401K etc.</a></td>
-
- <td>Small</td>
- <td>?</td>
- </tr>
-
- <tr>
- <td><a href="#searchdocs">Searchable Documentation</a></td>
-
- <td>Done</td>
- <td>grib</td>
- </tr>
-
- <tr>
- <td><a href="#reconcile">Reconcile Auditing</a></td>
-
- <td>Small</td>
- <td>?</td>
- </tr>
-
- <tr>
- <td><a href="#note">Annotate with Investment News</a></td>
-
- <td>Small</td>
- <td>?</td>
- </tr>
-
- <tr>
- <td><a href="#loan">Loan and Mortgage Calculators</a></td>
-
- <td>Small</td>
- <td>Dave</td>
- </tr>
-
- <tr>
- <td><a href="#overdraft">Overdraft Alerts</a></td>
-
- <td>Small</td>
- <td>?</td>
- </tr>
-
- <tr>
- <td><a href="#tech">Technical Stock Analysis</a></td>
-
- <td>Medium</td>
- <td>?</td>
- </tr>
-
- <tr>
- <td><a href="#sink">Depreciation, Sinking Funds</a></td>
-
- <td>Medium</td>
- <td>?</td>
- </tr>
-
- <tr>
- <td><a href="#ofx">OFX, Online Banking, Trading,
- Bill-pay</a></td>
-
- <td>Large</td>
- <td>Dave</td>
- </tr>
-
- <tr>
- <td><a href="#tab">Tab-delimited ASCII export</a></td>
-
- <td>Small</td>
- <td>?</td>
- </tr>
-
- <tr>
- <td><a href="#tax">Tax Preparation</a></td>
-
- <td>Large</td>
- <td>?</td>
- </tr>
-
- <tr>
- <td><a href="#palm">Sync with Palm Pilot
- organizers</a></td>
-
- <td>Medium</td>
- <td>?</td>
- </tr>
-
- <tr>
- <td><a href="#emerg">Emergency Records Organizer</a></td>
-
- <td>Small</td>
- <td>?</td>
- </tr>
- </table>
-
- <h2>Small Business Features</h2>
- Features that small/medium businesses expect.
-
- <table border="1" summary=
- "Business Functionality Requirements">
- <tr>
- <th>Feature</th>
-
- <th>Sizing</th>
- <th>Responsible</th>
- </tr>
-
- <tr>
- <td>
- </td>
- </tr>
-
- <tr>
- <td><a href="#engine">Enriched Engine, Financial
- Objects</a></td>
-
- <td>Large</td>
- <td>?</td>
- </tr>
-
- <tr>
- <td><a href="#sql">SQL I/O</a></td>
-
- <td>Done</td>
- <td>Linas</td>
- </tr>
-
- <tr>
- <td><a href="#multiuser">Multi-User Support</a></td>
-
- <td>Small</td>
- <td>Linas</td>
- </tr>
-
- <tr>
- <td><a href="#addressbook">Address Book</a></td>
-
- <td>Small</td>
- <td>?</td>
- </tr>
-
- <tr>
- <td><a href="#arap">A/R, A/P Accounts Payable,
- Receivable</a></td>
-
- <td>Medium</td>
- <td>?</td>
- </tr>
-
- <tr>
- <td><a href="#payroll">Payroll</a></td>
-
- <td>Medium</td>
- <td>?</td>
- </tr>
-
- <tr>
- <td><a href="#invoice">Invoicing</a></td>
-
- <td>Medium</td>
- <td>?</td>
- </tr>
-
- <tr>
- <td><a href="#estimate">Job Costing</a></td>
-
- <td>Medium</td>
- <td>?</td>
- </tr>
-
- <tr>
- <td><a href="#expense">Expense Accounts</a></td>
-
- <td>Large</td>
- <td>?</td>
- </tr>
- </table>
- <hr>
- <!--===================================================-->
-
- <a name="feats">
- <h1>Features and Functions</h1>
- </a>
- This section reviews the current status of various features.
- Some of these are 'in process', some are 'almost done', some
- are 'completely done'. This section thus provides status on
- both where we've been, and where we're going.
-
- <dl>
-
- <dt><a name="i18n"><b>Internationalization</b></a></dt>
-
- <dd>
- All menus, markup and help-text should be
- internationalized, so that GnuCash may be usable in any
- country. This would include the printing of currency values
- in the local country conventions.
-
- <p><b>Current status:</b>
- Essentially Done (?)
- <ul>
- <li>All GUI messages currently use GNU <tt>gettext()</tt>
- for the message catalogs. Translations exist for English,
- British, French, Swedish, German, Japanese.</li>
-
- <li>Help pages available only in English and French.</li>
-
- <li>Monetary and string handling done through glibc. The
- latest glibc (2.2.3) is needed to get the correct
- functions.</li>
-
- <li>Yannick Le Ny <y-le-ny at ifrance.com> traduction
- en francais</li>
-
- <li>Most GUI input elements use the gtk text widget, and
- thus use the XIM input method in Asian locales. This
- allows <i>e.g.</i> Kanji, Katakana support. However, the
- register does <em>not</em> use XIM, and thus doesn't
- currently support the Asian languages. This needs
- fixing. (This may be done already??)</li>
- </ul>
- </p>
- </dd>
-
- <dt><a name="reports"><b>Reports</b></a></dt>
-
- <dd>
- A variety of reports, including Net Worth, Balance Sheets,
- and Profit and Loss statements. These should be printable:
- that is, exportable as HTML as well as print-ready
- postscript. These should be easy to customize. Ideally,
- even novice users should be able to create custom reports.
-
- <p>The Report Generator should be a separate but "dockable"
- subsystem of the whole. That is, it should be possible to
- run the report generator in a stand-alone, read-only
- fashion without having to start up the main application. It
- should be possible to run reports nightly from a
- command-line and/or cron job.
- The GUI should remember what reports were run last time, and
- these should be re-run/redisplayed whenever the report generator
- is used.
- </p>
-
- <p>One difficult aspect of reporting is designing a
- configurable interface, so that people can build custom
- reports. The <a href="xacc-reports.html#NEWREP">New
- Reporting Infrastructure</a> is seeking to build this up
- using Guile. Note there are several flavours of customization:
- <ul>
- <li>Allow user to specify a custom logo (e.g. company
- logo/address) on every page
- (generically, having a header and footer for every page).
- <li>Allowing user to modify report title/subtitle on the fly
- (and possibly add notes at the top or bottom of the report,
- e.g. to explain line items).
- <li>Allow user to use the <a href="#query">transaction query</a>
- interface to pick the set of transactions that will make up
- the report.
- <li>Memorize the report that was asked for, give that report
- a name, and in the future, allow that same exact report
- to be re-run. Allow user to edit this report properties
- at a later date. Note that the basic idea is similar to
- that of <a href="#query">memorized queries, discussed below.</a>
- </ul>
- Note that the customization info should be stored in a
- <a href="#arrangements">Arrangements File (see below)</a>.
- </p>
-
- <p>Generated reports should be exportable to other gnome
- systems (probably using bonobo).
- Reports should also be exportable to
- the Gnumeric spreadsheet (probably by writing out gnumeric
- file format). Export of CSV (comma separated values) and
- tab-delimited formats (for other spreadsheet import) would
- be good. Tables & etc. should be exportable to AbiWord,
- StarOffice, other word processors. (formats: docbook sgml?
- would then make convert to richtext, TeX easy.)
- Export should be as wysiwyg as possible.
- </p>
-
- <p>Must be possible to e-mail reports (for example,
- invoices) to users. Suggest an evolution addressbok
- /mailer bonobo plugin.
- </p>
-
- <p>
- Relationship to budgeting not clear ...
- </p>
-
- <p>Stock portfolio tools should include a Cost Averaging
- report, Market Index report, Stock Option values,
- Estimation of capital gains tax liabilities.</p>
-
- <p>Reports should be printable to printer (postscript/
- Adobe Acrobat).
-
- <p>
- <b>Status:</b>
-
- <ul>
- <li>A general reporting infrastructure was implemented in
- Perl, in the form of html-embedded perl (ePerl). However,
- this reporting mechanism was abandoned in part because
- ongoing build and install problems related to ePerl and
- swig. Also, since ePerl didn't participate in the
- interpreter even loop, the report generator had to run
- as a separate process, reading data via pipes. This was
- uglier than some folks liked.</li>
-
- <li>A general reporting infrastructure has been <a href=
- "xacc-reports.html#NEWREP">implemented in Scheme</a>.
- Currently, there are a variety of reports for Profit/Loss,
- Balance Sheet, and portfolio valuation; none are
- particularly sophisticated.</li>
-
- <li>Done: Reports are displayed with the gtk-html widget.
- This widget provides postscript printing and Acrobat
- output.
- </li>
-
- <li>There is currently no way (no longer any way??) to
- generate reports from the command line ...</li>
-
- <li>While many reports have been implemented, there is
- no master list of what we should have. We should have ....
- </li>
-
- <li>The following technologies were rejected/unused mostly
- because they were too complex, didn't hang together technologies:
- <a href= "http://www.oasis-open.org/cover/">SGML</a> and <a href=
- "http://www.oasis-open.org/cover/xml.html">Extensible
- Markup Language - XML.</a> In the long run, these are
- preferable to HTML, since <a href=
- "http://www.jclark.com/dsssl/">DSSSL</a> tools such as <a
- href="http://www.jclark.com/jade/">Jade (James DSSSL
- Engine)</a> can be used to convert to RTF, Postscript, etc.
- Add to this the consideration that XML is the basis for the
- <a href="https://www.w3.org/DOM/">Document Object Model</a>,
- which is being integrated into many web-based applications,
- and we can see that XML is an increasingly significant
- format as we look to the future.
- </li>
-
- </ul>
- </p>
- </dd>
-
- <dt><a name="graphs"><b>Graphs</b></a></dt>
-
- <dd>
- <p>Provide support for graphs, charts, etc., such as:
- Asset allocation pie chart, portfolio value vs. cost,
- ROI. Graphs should be printable to printer.
- Graph generation should be fully integrated with reporting,
- both for data collection via queries, and for displayed
- output.
- </p>
- <p>
- <b>Status:</b>
- <ul>
- <li>Different graphing packages were evaluated,
- <a href="https://www.gnome.org/guppi/">GUPPI</a>.
- Guppi was chosen. Considered & rejected were
- plotutils, gnumeric graphing code (Miguel says
- they'll replace gnumeric code with guppi.)
- Miguel's/Gnumeric requirements were:
- interactive plot editing -- each segment attributes
- totally settable/controllable -- drag/move callbacks
- when segments are click-dragged.
- </li>
- <li>Basic pie charts and bar charts are used in GnuCash
- reports. There are problems: dates along the bottom
- of a bar-chart are not well-spaced/autoscaled.
- The over look is a bit klunky.
- </ul>
- </p>
- </dd>
-
- <dt><a name="query"><b>Transaction Query</b></a></dt>
-
- <dd>
- Allow user to build (complex) queries to locate a
- set of transactions that match some criteria: e.g.
- a date range, or a matching payee, description, amount,
- etc. Once a user has created a complex query, it
- must be possible to memorize it (i.e. give it a name,
- and store it for future reuse).
-
- <p>
- <b>Status:</b></p>
- <ul>
- <li>The query engine has been implemented (as of 1.4.0,
- grib)
- </li>
- <li>The GUI for creating queries has been implemented
- (as of 1.4.0, grib)
- </li>
- <li>The queries are handled by the Postgres SQL backend.
- (as of 1.6.0, linas)
- </li>
- <li>Queries can be turned into XML and back, for file
- storage or network transmission. This used to work
- for XML version 1 but was broken in version 2.
- </li>
- <li>The ability to memorize queries has <b>not</b>
- been implemented and awaits further action (needed
- for reports, above).
- </li>
- </ul>
- </dd>
-
- <dt><a name="ledger"><b>Simplified Ledger</b></a></dt>
-
- <dd>
- Ledger should look clean, work easily.
-
- <p>
- <b>Status:</b></p>
- Essentially done.
- <ul>
- <li>Multi-line ledger confusion fixed by using correct
- left-right journal display style.
- Fixed in 1.6.0, Peticolas, Champaigne.
- </li>
- <li>
- Stocks and Mutual funds are handled by placing them each in
- their own account. Each account can be viewed individually.
- If all of the stock accounts are children of a master
- trading account, then the trading account can be viewed and
- modified in a General Ledger window.
- Layout problems fixed in 1.6.0.
- </li>
- <li>
- How to most simply allow the user to enter loads and fees?
- Through multi-line transactions. Seems to work well in
- 1.6.0.
- </li>
- </ul>
- </dd>
-
- <dt><a name="glitz"><b>Themes, Icons, Glitz</b></a></dt>
-
- <dd>
- A variety of finer touches need work:
-
- <ul>
- <li>
- <p><b>Hint-of-the-Day</b>. A collection of a some
- 50-100 hints-of-the-day: short (2-4 sentence)
- hints/tips on how to use gnucash. Every time the user
- starts gnucash, an new hint shows up ...
- <b>Status:</b> Hint infrastructure complete (RGMerkel,
- version 1.4.0). Need to add
- hints (only a dozen are currently available).
- </p>
- </li>
-
- <li>
- <p><b>Themes</b>. Some theme testing required. The
- effect of themes on the register window needs to be
- reviewed. Some themes look flaky in the main account
- window, might be a gtk bug ???</p>
- </li>
-
-
- <li>
- <p><b>Household Assets/House Inventory</b>
- Add wizard to walk user through a set of questions
- about household inventory & help user value them.
- (do you own a house? appraised value? mortgage?
- do you own jewelry? appraised value? etc.)
- In particular, show how appreciation
- and depreciation should be treated.
- See the section <a href="#arrangements">Arrangements</a> for
- a discussion of the customization issues.
- </p>
- </li>
-
- <li>
- <p><b>More account types</b> Introduce more
- 'fundamental' account types: (amortized) Loan,
- Mortgage, ESOP, House, Line of Credit.</p>
- </li>
-
- <li>
- <p><b>Register View</b> Allow user to view only
- non-reconciled transactions ...</p>
- </li>
-
- <li>
- <p><b>Configurable main-window Status Bar</b> Bottom of
- main window currently shows total asset, and total
- income-expense (profits). Make this configurable, so
- that user can show arbitrary sums of arbitrary
- accounts.
- This is mostly solved by having the MDI interface
- have reports, and the use of multi-paning. But the
- default display for gnucash should be changed to
- show a very small (1-4 line) networth and P&L report,
- and maybe a cash-flow report.
- See the section <a href="#arrangements">Arrangements</a> for
- a discussion of the customization issues.
- </p>
- </li>
-
- <li>
- <p><b>Dockable Registers/ aka "Browser Mode"</b>.
- Currently, when each new register opens, it opens in a
- new window. An alternate style would be to 'dock' the
- register window in a bigger frame, and just have
- 'backward/forward' buttons to navigate through
- different registers (the way that a browser navigates
- web pages.) This of course would be a user
- preference. Possibility for doing this exists with MDI.
- Maybe we shouldn't bother doing this ?? </p>
- </li>
-
- <li>
- <p><b>Context sensitive help</b>. When users
- create new accounts, need to suggest stuff if the user
- typed something unexpected ... (<em>e.g.</em>
- non-alphanumeric input) ...</p>
- </li>
-
- <li>
- <p><b>Folder Tabs</b> Currently, Income/Expense
- accounts can be shown or hidden by selecting from a
- menu. It would be nice to be able to examine different
- account types (Asset, Liability, Income, Expense,
- Payables, Receivables, Inventory) by selecting a tab
- folder. This is maybe a bs. request that shouldn't
- be implemented.</p>
- </li>
-
- </ul>
-
- The following have been completed, but possibly not fully
- documented:
- <ul>
- <li>
- <p><b>Pop-up Calendar</b> All date fields should pop up
- a calendar widget; selected date should get entered in
- field. (peticolas, version 1.4 ??)</p>
- </li>
-
- <li>
- <p><b>Pop-up Calculator</b> All price/amount fields
- should pop up a calculator widget; output of calculator
- gets entered in field. Instead of a popup calculator,
- this was implemented by allowing all fields to take
- algebraic expressions (plus, minus, times, divide).
- (rlb ?? version 1.6.0)
- </p>
- </li>
-
- <li>
- <p><b>Button Bar</b> A user-configurable button-bar.
- Solved in version 1.6.0 with tabs, not buttons, via
- gnome MDI (gribble, version 1.6.0)
- See also the section <a href="#arrangements">Arrangements</a>
- for a discussion of the customization issues.
- </p>
- </li>
- <li>
- <p><b>Currency Exchange Table</b>
- Keep a currency exchange-rate table. This is now
- automatically handled via the 'price database'
- (rlbrowning, version 1.6.0)
- (the finance::quote perl module handles currency
- exchange rate fetches)
- </p>
- </li>
-
- <li>
- <p><b>Currency Selection Pop-up</b> Currency field
- should get replaced by menu of long-hand currency
- names, three-letter ISO 4217 abbreviations, and symbols.
- User should be able to hand-enter non-IS4217 currencies.
- <b>Status:</b>
- Done in 1.4.0
- </p>
- </p>
- </li>
-
- <li>
- <p><b>Cut-n-paste</b> Cut-n-paste of whole transactions
- in the register window... <b>Status:</b> Done. (by Dave
- Peticolas, in 1.4.0)</p>
- </li>
-
- <li>
- <p><b>Auto-completion</b> Quick-fill should also
- auto-complete amount, memo fields.
- <b>Status:</b>
- Done in 1.4.0, Dave Peticolas
- </p>
- </li>
-
- <li>
- <p><b>Autoincrement</b> Check numbers should
- auto-increment. Hit + key in check number field
- (same keystroke as in quicken).
- <b>Status:</b>
- Done in 1.4.0, Dave Peticolas
- </p>
- </li>
-
- <li>
- <p><b>Navigation</b> Menu navigation using the keyboard
- should be possible. Hit the Alt-F to get file menu,
- hit Alt-FS to save.
-
- Similarly, tab-key navigation in the register
- should be possible.
- <b>Status:</b>
- Done (in 1.3.x ?, Dave & all, partly inherited via gtk
- widget set.).
- </p>
- </li>
-
- <li>
- <p><b>Fly-Over Help</b> When the user pauses the mouse
- over a button, "fly-over" pop-up help windows should
- appear.
- <b>Status:</b>
- Done (in 1.3.x, inherited via gnome/gtk widget set).
- </p>
- </li>
-
- <li>
- <p><b>Grayed-out Form Help</b> Create grayed out
- entries in the ledger, titled "Memo", "Description",
- etc, helping users understand what should be typed into
- each field. <b>Status:</b> Done (by Dave?), as of version
- 1.3.2(?)</p>
- </li>
-
- <li>
- <p><b>Key Bindings for Editing Text Fields</b>. The input fields
- use the gtk text widget, which provides key bindings that
- are similar to the Netscape/emacs key bindings.
- This allows <em>e.g.</em> emacs-style ctrl-a,
- ctrl-k to do the right thing.
- <b>Status:</b>
- Done (in 1.3.x, inherited via
- gnome/gtk text widget).</p>
- </li>
- </ul>
- </dd>
-
- <dt><a name="misc"><b>Miscellaneous Small Projects</b></a></dt>
-
- <dd>
- A variety of small internal projects. All have been
- completed as of 1.6.0
-
- <ul>
- <li>
- <p><b>File Format</b>. Rework to use text file format. Will be
- XML-based.
- <b>Status:</b> RLB, LewisMoss. Version 1.6.0 Done.
- </p>
- </li>
- <li>
- <p><b>Reconcile Window</b>.
- Auto-pay credit card when reconciling credit card
- accounts (Done, Dave).
- Auto-add bank fee when reconciling bank accounts.
- (Not done?, Dave).
- </p>
- </li>
- <li>
- <p><b>Print Register Window</b>. Output register window to
- printer.
- <b>Status:</b> Done: there is a register report which
- is printable, there is a button on register. Done in 1.6.0
- </p>
- </li>
- <li>
- <p><b># of decimal places in prices (penny stock)</b>.
- Part of the big numeric overhaul. Done, Gribble, others,
- version 1.6.0
- </p>
- </li>
- <li>
- <p><b>gtkhtml</b>. Move to gtkhtml from gtk-xmhtml.
- Done in 1.5, Grib.
- </p>
- </li>
- <li>
- <p><b>print</b>. Print reports, etc. Done in 1.5, Grib.
- This came 'for free' with gtkhtml.
- </p>
- </li>
- <li>
- <p><b>key-val pairs</b>. Add generic key-slot mechanism
- into accounts, transactions, journal-entries. Done in
- 1.5.0, Grib.
- </p>
- </li>
- <li>
- <p><b>guid in fileio</b>. No longer relevant with new file
- format. Dave.
- </p>
- </li>
- </ul>
- </dd>
-
-
- <dt><a name="book"><b>Books, Accounting Periods</b></a></dt>
-
- <dd>
- Ability to close the book at end of the fiscal year. This
- consists of several steps:
-
- <ul>
- <li>Permanently lock some transactions as non-editable.
- This should be straight-forward by using the <tt>
- reconciled</tt> field to indicate a <tt>locked</tt>
- value, and not allowing the GUI to edit locked
- records.
- </li>
- <li>Transfer the Income minus Expense for the book period
- to an equity account, so that each new period starts with
- zero income/expense balances.
- </li>
- <li>A mechanism to purge really old transactions from the
- database.
- </li>
- <li>Extensions to querying and reporting infrastructure ...
- The query changes might be painful ...
- </li>
- <li>
- A user should be allowed to 'delete' an account <em>
- only</em> if it has no transactions in the currently
- open book.
- Of course, it's not deleted from the old books.
- From this last, we conclude that every chart of
- accounts should have a beginning and ending date (that
- match the book period), and the file format needs to
- support multiple charts ...
- </li>
- <li>Memorized Transactions ... Currently, transaction
- auto-completion works by auto-completing with the last
- 'similar' transaction. This ability will get trashed
- when books for the old year get closed, because there
- won't be 'similar' transactions.
- </li>
- </ul>
-
- <p><b>Status:</b>
- <ul>
- <li>A mini-design Doc exists in <tt>src/engine/extensions.txt</tt>
- A far more extensive, four-part proposal is ??? somewhere
- in the mailing list archives (by Linas Vepstas, circa Feb-May
- 2001)
- </li>
- </ul>
- </p>
- </dd>
-
- <dt><a name="check"><b>Check Printing</b></a></dt>
-
- <dd>
- Create a check-printing ability. Include MICR (Magnetic Ink,
- Computer Readable) check printing abilities.
- <a href="http://dir.yahoo.com/business_and_economy/shopping_and_services/financial_services/banking/checks/">
- Yahoo Check Printing</a> provides a list of vendors & printers.
- <p>
- Print vendor/client/payee address on the check (so that check
- can be mailed with window envelopes.) This requires gnucash
- to integrate with addressbook.
-
- <p><b>Status:</b>
- <ul>
- <li>More check formats need to be supported.
- <li>Done, except for address part, in version 1.4.0.
- (gribble)
- </li>
- <li>Need a sample check/sample transaction to print out
- so that user can test printer.
- <li>MICR Fonts are available & brought to mailing list.
- </ul>
- </p>
-
- </dd>
-
- <dt><a name="wizards"><b>Wizards</b></a></dt>
-
- <dd>
- Create a set of wizards to walk through some of the more
- complex tasks, such as new user setup, account creation,
- QIF import, budget prep, obscure functional corners.
- <p>
- Wizards are great, but lets not throw away the denser GUI's.
- For 8-hour-a-day users, the wizards can be irritating.
- A single, dense screen can be more efficient and nicer.
- So when adding wizards, don't dump GUI's !! (instead,
- make them 'advanced' features).
-
- <p>
- <b>Status:</b>
- The following not done:
- <ul>
- <li><b>Account Creation</b>
- The account creation panel is somewhat busy. Maybe
- could use a wizard?
- </li>
- <li><b>Budget Setup</b>
- Setting up a budget.
- </li>
- <li><b>Obscure Corners</b>
- Various obscure corners of the application may be
- non-intuitive, and need wizard help. e.g. stock splits?
- e.g. using foreign currency on a business trip?
- </li>
- </ul>
- <b>Completed:</b>
- <ul>
- <li>
- <b>New User Setup</b> Provide
- a default Chart of Accounts, which will mostly consist
- of a default set of 'Categories' (Income/Expense
- Accounts). These are categories such as "Automobile
- Expense", "Bank Interest Income", and "Employment
- Income". The user should be able to select a default
- set of accounts, and have those created
- automatically. Profiles: home-owner vs. renter
- non-for-profit (some non-profits are very very simple,
- just a club). Done in version 1.6.0, C. Champagne,
- J LewisMoss
- </li>
- <li><b>QIF Import</b>
- QIF Import is just complicated enough that it needs
- a wizard walk-through of the steps. Grib,
- version 1.6.0, Done.
- </li>
- </ul>
- <p></p>
-
-
- <dt><a name="arrangements"><b>Arrangements</b></a></dt>
-
- <dd>
- An "application arrangement" is the defining look-n-feel of an application.
- The idea is similar to, but not the same as 'skins'/'themes'. Its similar
- to, but not the same as allowing a user to set 'preferences'. Its similar
- to, but not the same as, allowing a user to generate customized financial
- reports. In the context of GnuCash, a 'arrangement' should be a file
- (that can be traded by users, uploaded and shared) that controls important
- aspects of how the application is configured.
- <p>
- In particular, the GnuCash Arrangement should include the following:
- <ul>
- <li>A list of sample/initial accounts. These might be tailored for a
- home user (groceries, gas, electric), an apartment dweller
- (rent, laundry), or different kinds of business users.
- Because these sample accounts appear in the Arrangement file,
- it becomes easy to create & distribute customized arrangements.
- <li>A list of pre-defined reports and graphs. The kind that you'd find
- for a home user might be different than for a person managing a stock
- portfolio, which is in turn different from what a business might need.
- The Arrangement File should include install-specific customizations, such
- as the report headers, footers, etc.
- <li>Hint of the day. The types of 'hint of the day' would be different
- for new users, than it would be for advanced users. Thus, different
- arrangements would have different catalogues of 'hint of the day'.
- <li>Menu Contents & Navigation. New users might be presented with a simple set
- of menu contents. 'Power Users' might be presented with deep, nested
- sets of menus, with oodles of features.
- <li>Register Layout. The layout of the register might be customized for
- different countries: e.g. in Germany, a different type of electronic
- banking seems to require the display of account numbers in separate
- columns in the register.
- </ul>
- A good arrangement infrastructure will not only allow gnucash to be configured
- for different application domains, but also will allow users to fine-tune
- their own preferred arrangement. It can also simplify the code base:
- instead of having two products, a home-user application, and a small-business
- application, each with a different code base and #defines and what not, instead,
- we have one code base, and different arrangements for each.
- However, most importantly, the arrangements should be easy to share between users.
- They should be such that users are encouraged to trade and use arrangements,
- and to create new ones that suit their needs.
- </p>
- <p>
- The idea for arrangements was inspired by
- Adam Curry's commentary on
- <a href="http://adamcurry.editthispage.com/stories/storyReader$161">
- radio formats and Napster</a>.
- </p>
- <p>
- <b>Status:</b>
- Not started. Individually, all these cusomizable things exist
- here and there in gnucash, but they cannot be shared between
- users: a gnucash user cannot mail her favorite 'arrangement'
- to her friend.
- </p>
-
-
- <dt><a name="userpref"><b>User Preferences, Session Management</b></a></dt>
-
- <dd>
- A dialog system and file format for manipulating user
- preferences. Preferences include things like default
- currency, register layout and colors, etc.
-
- <p>What are some of the competitive preference-handling
- technologies? Lets get some URL's here ... Following the
- Unix tradition, there is no global preferences registry.
- Note that session management and preferences are related
- things ... sort-of. Right now, we don't treat them as such
- ...</p>
-
- <p><b>Status:</b></p>
- Done, more or less, version 1.6.0.
-
- <ul>
- <li>Works real good; lots of preferences in the GUI.
- Implemented in home-grown scheme. (version 1.4.0,
- rlb)</li>
-
- <li>These are saved in the '.gnucash/config.auto' file.
- The current file format is raw scheme code, rather
- delicate to tweak by hand ...</li>
-
- <li>Session management mostly works, but doesn't use the
- sawmill/gnome/X ICCCM system. GnuCash remembers MDI
- based reports, restart reopens in same state. Sizes
- and shapes and positions are remembered.
- Done in version 1.6.0
- </li>
-
- <li>Independently of session management, the register
- windows should remember how big they were last time they
- were popped up, and they should pop up the same size, again.
- The app should remember these sizes from invocation to
- invocation. Done in version 1.6.0, but seems a bit buggy.
- </li>
-
- </ul>
- <br>
- <br>
- </dd>
-
- <dt><a name="architecture"><b>Architecture Review</b></a></dt>
- <dd>
- The application is wired together partly with C, partly
- with Scheme. The architecture of the wiring and how scheme
- is fit in needs to be reviewed, with a general overview
- created so that additional extensions may be added in a
- straightforward manner.
-
- <p>The overall architecture is envisioned thus:
- All code, including the transaction engine, the file I/O
- routines, the menus, and the ledger, will be abstracted
- into compact modules that can function independently of
- each other. At the highest level, there will be a
- infrastructure with extension language interfaces that will
- "wire together" the various modules.</p>
-
- <p>Such "wiring together" will consist of a dispatch
- infrastructure that will allow arbitrary menu entries to be
- hooked to arbitrary modules. The configuration for menu
- entries, and their associated callbacks, will be specified
- in an extension-language configuration file. At the final
- stages, it is <em>highly</em> desirable to be able to, in
- some manner, import new modules <em>without</em> requiring
- that the application itself be recompiled and relinked.</p>
-
- <p><b>Status:</b></p>
-
- <ul>
- <li>
- Scheme/Guile is the central extension language. Guile
- interfaces auto-generated using g-wrap.
- </li>
- <li>
- Optional interfaces to the data engine (for, e.g.
- perl) can be generated using
- <a href= "http://starship.skyport.net/crew/beazley/swig.html">
- SWIG</a>.
- </li>
- <li>
- Dave to collate & edit architecture documents.
- RLB to provide diagrams.
- </li>
- </ul>
- <br>
- <br>
- </dd>
-
- <dt><a name="alerts"><b>Recurring Transactions, Calendar Alerts,
- Scheduled Transactions</b></a></dt>
-
- <dd>
- (1)Add support for automatic, recurring transactions, <em>
- e.g.</em> mortgage payments, fixed-interest bonds, regular
- salary checks, regular gas/phone/electric bills, <em>
- etc.</em>
-
- <p>(2) Recurring bills, salary income, etc. are simpler to
- handle, since they don't have interest rates, balloons,
- etc. They do/will have multiple splits (<em>e.g.</em>
- payroll gross, fica, futa, income taxes, payroll net).</p>
-
- <p>(3)Provide list of upcoming & recently paid
- bills/scheduled payments/scheduled deposits for the next
- 1,2,3,6,12 months. Historical view shows payments crossed
- out (!?)</p>
-
- <p>(4)Loans & mortgages are one of the more complicated
- recurring transactions. Typically, there might be a years
- worth of smaller payments, then a long string of larger
- payments, followed by a balloon.
- </p>
-
- <p>(5)Provide a calendar-display of upcoming & past
- scheduled payments. Clicking on a calendar day should raise
- up editable list of transactions. Calendaring should
- include generic red-lettering of important dates: taxes
- due, insurance renewal dates, domain registration renewal
- dates, ISP contract expiration date :-). These may or may
- not be associated with transactions. Memo's should be
- possible. Pop-ups should happen when dates get close.
- Technology: best bet is the Ximian Evolution Calendar
- component.</p>
-
- <p><b>Design Notes:</b> Most alerts & data storage
- should be driven out of the engine. This will enable
- multi-user, distributed use. <b>Note:</b> alerts should be
- piggy-backed on a general alert infrastructure within the
- engine, viz, registered callbacks when balances change, so
- that windows can be redrawn. Not clear on if/how calendar
- events might be server-ified. (On the other hand, a good
- calendar should be server-ified, and thus viewable by
- secretaries, co-workers, etc.)</p>
-
- <p>More complex financial instruments may need a
- guile-based extension mechanism to compute values ....
- simple interest/mortgage calculators should be done in C in
- the engine ... (<em>e.g.</em> depreciation schedules ...
- under us tax law, a variety of different schedules are
- allowed ... )</p>
-
- <p>May need interfaces to email for emailed alerts.</p>
-
- <p>Plot forecast graphs based on scheduled income &
- payments ... is this tied into budgeting ????</p>
-
- <p><b>Status:</b></p>
-
- <ul>
- <li>Need to create design doc, need to implement engine
- pieces, need to hunt down gnome-calendaring bonobo.</li>
- <li>Preliminary work started.
- </ul>
- <br>
- <br>
- </dd>
-
- <dt><a name="budget"><b>Budgeting</b></a></dt>
-
- <dd>
- Ability to create a budget (<em>i.e.</em> - estimates of
- future expenditures). Reconcile actual expenditures against
- future expenditures. Create simple, step-by-step 'financial
- plan' budgeting GUI's:
-
- <ul>
- <li>Home purchase planner</li>
-
- <li>Retirement planner</li>
-
- <li>College tuition planner</li>
-
- <li>Debt reduction planner</li>
-
- <li>Scrimp-n-Save planner</li>
-
- <li>Special purchase planner (big ticket items)</li>
- </ul>
- Create a summary budget/track-record budget report that a
- professional financial planner/advisor could use.
-
- <p>Note that the above 'step-by-step' budgeters will have a
- very very different GUI than what the budgeting system
- required for a small-business might look like.</p>
-
- <p>Note that the utility of budgets is greatly enhanced by using
- them with '<a href="#classes">classes</a>'.
-
- <p><b>Status:</b></p>
-
- <ul>
- <li>A design doc has been submitted by Bob Drzyzgula.
- Take a look at <tt>./src/budget.txt</tt> in the source
- directory.</li>
-
- <li>Bryan Larsen has begun work .. it's scheme based ...
- Dave Peticolas has some GUI roughed out ...</li>
-
- </ul>
- <br>
- <br>
- </dd>
-
- <dt><a name="classes"><b>Classes</b></a></dt>
-
- <dd>
- Ability to mark certain journal entries as belonging to
- a 'class', so that expenses (or income) can be categorized
- in more than one way. For example, the expense of a trip
- might include food, travel and lodging, and thus be spread over
- three different expense accounts. None-the-less, we want all
- of these entries to be marked as being in the same class.
- (Alternate names: 'job costing' is the report that's generated,
- 'cost center', 'cost pool', 'pooling')
- Note that classes can be particularly useful when used with
- budgets: viz. I set aside $10K in the budget for some activity,
- then deduct the actual costs. Note that it should be possible
- to roll the remainder over to somehere else (!)
- <p>
- Confusion: isn't this what the 'action' field is supposed to do?
- The 'action' field is under-utilized.
-
- <p>
- This requires the following:
- <ul>
- <li>Ability to report by class/action
- <li>Ability to query by class/action.
- </ul>
- </p>
-
- <br>
- <br>
- </dd>
-
- <dt><a name="testing"><b>Automated Test Suite</b></a></dt>
-
- <dd>
- Build automated test suite, including:
- <ul>
- <li>File IO consistency check. Done, 1.6.0, LewisMoss
- <li>Currency math correctness. Done ?? Grib.
- </ul>
- <br>
- <br>
- </dd>
-
- <dt><a name="quickim"><b>Quicken(TM) Import</b></a></dt>
-
- <dd>
- Ability to import Quicken QIF files. Both MSMoney and
- Quicken use QIF files to export data. Need both wholsesale
- data import, and incremental (staged) merge.
-
- <p><b>Status:</b></p>
-
- <ul>
- <li>
- Quicken import is implemented and mostly works.
- (Bill Gribble, Done, in version 1.4.0)
- </li>
- <li>
- Need a QIF Import wizard (there are several non-intuitive
- steps that need to be performed during import.
- A dialogue wizard seems like the best idea to carry
- through this process. (grib, done in 1.6.0)
- </li>
- <li>
- Work needs to be done for recurring transactions, etc.
- </li>
- <li>
- QIF processing, as used for on-line banking, is <em>
- in prototype form</em> (for 1.6.1 ??)
- Note that since banks use QIF, the <em>correct</em>
- way to updated 'cleared' reconcile state is through
- QIF on-line import.
- On one side, we have existing recorded transactions;
- on the other, the latest bank statement, in QIF
- format.
- </p>
- </li>
- </ul>
- <br>
- <br>
- </dd>
-
- <dt><a name="iifim"><b>IIF Import</b></a></dt>
-
- <dd>
- Ability to import IIF (Intuiut Interchange Format, used by Quickbooks)
- files, quickbooks, some upsacle accounting packages use this format.
-
- <p><b>Status:</b></p>
-
- <ul>
- <li>
- Sample files checked into sample directory.
- No formal documentation known.
- </li>
- </ul>
- <br>
- <br>
- </dd>
-
- <dt><a name="quickex"><b>IIF Export</b></a></dt>
-
- <dd>
- Ability to export Intuit IIF files.
- The IIF format is more rational than the QIF format,
- and other 'real' accounting apps support IIF.
- Several design alternatives are apparent:
-
- <ul>
- <li>
- A special 'report' that writes out qif could be
- created.
- This would use the 'reports' infrastructure to
- generate QIF's.
- </li>
-
- <li>It is fairly easy to traverse the data in the engine
- to write out qif files. This is not hard. Just do it.
- </li>
- </ul>
- <br>
- <br>
-
- <p><b>Status:</b> not started</p>
- </dd>
-
- <dt><a name="quote"><b>Stock Quotes, Price Quotes</b></a></dt>
-
- <dd>
- Add ability to obtain stock, mutual fund, and currency trading
- data from news agencies, web pages.
- Add ability to download historical prices as well.
- (<em>e.g.</em> get 5-year history of mutual fund
- performance vs. DJIA).
-
- <p>Right now, stock prices are stored in a separate, simple pricedb.
- </p>
-
- <ul>
- <li>Prices need to have several different status states.
- One state is 'critical/audited', i.e. reviewed by a human,
- and important for understanding a historical transaction.
- Less mportant may simply be 'audited': i.e. reviewed by a
- human, but not a critical price. Lowest level: 'live data'
- something that was gotten off the net, may be wrong, may
- be right, who knows, who cares.
- </li>
-
- <li>Add to this the idea that we should probably store other
- 'technical' stock data, such as share volume, high/low/close,
- daily volatility, etc.
- </li>
-
- <li>Need access to historical quotes, for graphing charting
- of historic portfolio perfformance.
- </li>
- </ul>
-
- <p><b>Status:</b></p>
-
- <ul>
- <li>
- <a href="https://sourceforge.net/project/?group_id=4232">
- Finance::Quote.pm</a> is now a separate development project at
- SourceForge. Its a perl module.
- It can obtain stock quotes from Yahoo
- (NYSE), Yahoo-Europe, Fidelity Investments, T.Rowe Price,
- TIAA-CREF, others. Also handles currency exchange rates.
- </li>
-
- <li>A scheme wrapper allows prices to be
- fetched from GUI. Done, version 1.6.0, rlbrowning.</li>
-
- <li>
- Commandline-flag replaces script file <tt>gnc-prices</tt>
- perl script). Suitable for use with cron jobs.
- (version 1.6.0)
- </li>
-
- <li>A separate, historical-quote module can be found at the
- <a href="https://sourceforge.net/project/?group_id=2403">QuoteHist</a>
- sourceforge site. It might be a good idea to fold this
- together with the Quote.pm module !?
- </li>
- </ul>
- <br>
- <br>
- </dd>
-
- <dt><a name="install"><b>Install</b></a></dt>
-
- <dd>
- Install on Redhat, Caldera, Corel, SuSE, FreeBSD, TurboLinux,
- etc. Possibly use a 'configure'-like way of dealing with
- install inconsistencies.
- <p></p>
- </dd>
-
- <dt><a name="currency"><b>Multiple Currencies</b></a></dt>
-
- <dd>
- Need to support multiple currencies.
- Work is needed in the GUI. The engine currently supports
- multiple currencies by treating them as securities, thus
- allowing currency trading. The currency-trading register
- needs a complete overhaul as it is obtuse and
- unintuitive. Weird stuff is in weird columns.
- </p>
- <p>
- A simplified way of dealing with one-shot currency
- exchanges needs to be implemented, essentially just a
- simple calculator pop-up. This might be handy for the
- occasional business traveler or tourist with some minor
- currency trades.
- </p>
- <p>
- Implement the 'correct' way of handling this when user
- is working in multiple currencies on a regular basis.
- </p>
- <p>
- <a href="https://www.cloanto.com/specs/seriff.html">SERIFF</a>
- Simple Exchange Rate Information File Format. Completely
- *.ini-centric in layout and design, but otherwise seemingly
- quite complete.
- </p>
-
- <p>
- <b>Status:</b>
- <ul>
- <li>Need to rethink whether the one-shot exchanges
- should in fact be recorded full-fledged in the engine.
- Also: Euro support is currently hacked in: the EURO is treated as
- a 'special' currency. Virtually all the Euro code can be fully
- generalized (and should be).
- <li>New split architecture should store quantity and value, and
- never the price. This will simplify currency movements
- between accounts, without requiring/forcing the use of a
- currency trading account. (this also solves problems with
- rounding that occur when a price is explicitly specified.)
- Grib & dave are working this for next release.
- </ul>
- </p>
-
- </dd>
-
- <dt><a name="double"><b>Forced Double-Entry</b></a></dt>
-
- <dd>
- The system supports double-entry: every transaction
- indicates a pair of accounts: one is debited, and one is
- credited.
-
- <p>Double-entry is a powerful way of ensuring the integrity
- of of the financial data. Currently, while double-entry is
- supported, its use is not enforced: the user <em>can</em>
- create dangling transactions, where only one account is
- indicated.</p>
-
- <p>Although this is acceptable for home use (arguably
- desirable, since it allows the casual user the simplicity
- they desire), it is not acceptable for business use. (The
- counterargument is that casual users that aren't
- accountants need all the help at getting things right that
- they can get.)</p>
-
- <p>It must be possible to enforce double entry, so that a
- transaction cannot be completed until two accounts have
- been specified.</p>
-
- <p><b>Restricted Double</b> Note that sometimes, the words
- 'single-entry' have a an alternate meaning: they can mean
- 'a double entry account which can only be credited, or
- debited, but not both'. We need to implement this.</p>
-
- <p><b>Current status:</b>
-
- <ul>
- <li>April 1998 -- The engine has a couple of flags in it
- that control double-entry behavior: it can be made lax or
- strict, however, they are compiled in, and there is no
- way to change them from the GUI.</li>
-
- <li>Dec 1998 -- Scrubber functions implemented to crawl
- through data, and find all unbalanced or orphaned
- transactions.</li>
-
- <li>May 2000 -- Default will be changed to double-entry
- always. It will not be possible to disable this and move
- to single-entry.</li>
- </ul>
- </p>
- </dd>
-
- <dt><a name="401K"><b>401(k), Retirement Savings Plans</b></a></dt>
-
- <dd>
- 401K, 403, IRA, Roth IRA, SEP, Keogh ...
- Retirement Savings Plans often do not put a high
- priority on tracking costs, as the tax implication is that
- amounts are taxable upon withdrawal, meaning that there is
- little necessity to track capital gains. (huh??)
- <p>
- </p>
- </dd>
-
- <dt><a name="note"><b>Annotate with News Stories</b></a></dt>
-
- <dd>
- Download, save, annotate investment news and research.
- Provide a way of storing news stories with accounts, and
- possibly annotating individual transactions in the same
- way.
- <p></p>
- </dd>
-
- <dt><a name="searchdocs"><b>Searchable Documentation</b></a></dt>
-
- <dd>Need to add a 'meta keyword' tag to the documentation
- pages, this will help the search engine (<em>e.g.</em>
- <a href="https://www.htdig.org/">htdig [DEAD LINK]</a>) better categorize the
- help. <a href="https://www.senga.org/mifluz/html/">Mifluz [DEAD LINK]</a>
- might be more embeddable ... I am told that htdig-API is in
- good solid condition for this, but undocumented.
- <p>
-
- <b>Status:</b>
- Done, using a simple keyword search, homegrown. The only
- problem is it doesn't support compound expressions.
- </p>
- </dd>
-
- <dt><a name="reconcile"><b>Reconcile Auditing</b></a></dt>
-
- <dd>When a collection of transactions get processed through the
- reconcile dialogue, user needs to be able to add a note to this,
- i.e. this set of JE's will be treated as a group. The note
- (and date) can be later called up as a part of an audit
- procedure. The act of reconciliation is treated as a
- historical event that needs to be logged.
- <p></p>
- </dd>
-
- <dt><a name="loan"><b>Loan and Mortgage Calculators</b></a></dt>
-
- <dd>
- Provide a variety of simple GUI utilities to allow user to
- calculate the future value of loans, mortgage payments,
- interest payments, etc.
-
- <p> Consider the following dialogue layout:</p>
-<pre>
-loan amount $_____________ currency _________ (pull-down menu)
-Remaining balance $___________
-Payment amount $___________
-balloon payment $_____________
-other payment $________ (e.g. escrow, tax)
-Payment frequency (weekly/monthly/bimonthly/quarterly/yearly)
-loan start date mm/dd/yy length -----(weeks/months/years/payments)
-loan time left (number of days/weeks/months, rounded)
-number of payments left
-interest rate %__________________
-payee ____________
-pay-from account __________________
-next due date mm/dd/yy
-</pre>
- Note that in the above, not all fields are independent:
- some can be calculated from others. The <tt>other
- payment</tt> should bring up a mini-register, allowing user
- to add any number of splits.<br>
- <br>
-
- <p><b>Status:</b></p>
-
- <ul>
- <li>There is an implementation of the calculation routines by
- Terry Boldt in the development branch. There is an initial
- GUI implementation of the calculator by Dave.
- </li>
- </ul>
- <br>
- <br>
- </dd>
-
- <dt><a name="overdraft"><b>Overdraft Alerts</b></a></dt>
-
- <dd>
- Overdraft alerts are pop-ups that pop up whenever the user
- enters a transaction that would move an account below some
- minimum balance, or above some max balance (for a bank
- account) or an expense/spending limit is reached (on an
- expense account). A similar but different alert can be
- implemented for price highs & lows. Note that these
- alerts do <em>not</em> require any sort of calendaring or
- recurring transaction support.
-
- <p>Design requirements: implement multiple (not just two)
- alerts for any account type. Alert should consist of</p>
-
- <ul>
- <li>value point or price point</li>
-
- <li>movement direction</li>
-
- <li>'is active' boolean flag (<em>i.e.</em> Should be
- possible to 'turn off alert' without deleting it)</li>
-
- <li>memo text</li>
- </ul>
-
- <p><b>Status:</b>
- <ul>
- <li>Not Started.</li>
- </ul>
- </p>
- </dd>
-
- <dt><a name="tech"><b>Technical Stock Analysis</b></a></dt>
-
- <dd>Provide technical stock analysis graphs, <em>e.g.</em>
- volume, 90 moving avg, beta, etc. See gstalker for example of
- how to do it ...
- <p></p>
- </dd>
-
- <dt><a name="sink"><b>Asset Depreciation, Sinking Funds,
- Amortization Schedules</b></a></dt>
-
- <dd>Need to
- support different depreciation schedules (see IRS books for
- that). Asset depreciation is complex; there are many
- different depreciation schedules, and these vary from
- country to country, and change when new tax laws are
- implemented. It might be hard for free software to provide
- a no-cost subscription to updated depreciation modules.
- <p></p>
- </dd>
-
- <dt><a name="ofx"><b>OFX support</b></a></dt>
-
- <dd>
- Provide the SGML DTD parsers to handle the OFX reports that
- many banking institutions are providing, or will soon be
- providing, to retail customers. See below for OFX
- references.
-
- <p>OFX is an open spec from Microsoft, Intuit, and
- Checkfree, and which will be supported by Integrion. The
- OFX DTD's are included in the 1.1 distributions. See <a
- href="http://www.ofx.net">OFX Home Page</a> for
- details.</p>
-
- <p>There are two ways to build an OFX parser. One way is to
- build a compile-time DTD parser that treats the DTD as if
- it were an IDL, and generates C language stubs for a
- parser. This approach was attempted and abandoned because
- it leads to fragile C code and a very large binary.</p>
-
- <ul>
- <li>The parser is fragile because minor DTD
- non-compliances are hard to parse, handle and recover
- from.</li>
-
- <li>The parser is huge because the DTD results in
- hundreds of (C++) objects being generated.</li>
- </ul>
- The other method would be to perform run-time DTD parsing.
- This is attractive particularly because it is a more
- commonly-used approach; there are a variety of XML tools
- available that provide this function.
-
- <p>Run-time parsing may be slower, but on the OFX client
- side, this should not be a bottleneck.</p>
-
- <p><b>Status:</b></p>
-
- <ul>
- <li>A compile-time parser was developed and
- abandoned.</li>
- </ul>
-
- <p>Note that the organizations developing OFX are looking
- to use XML as their "formats of the future;" this may
- encourage the use of one of the many XML parsers available
- for UNIX.</p>
- </dd>
-
- <dt><b>Other on-line support</b></dt>
-
- <dd>
-<pre>
->> the German T-Online
->> homebanking system BTX.
->>
->> I Germany we have a very popular online homebanking system,
->> based on the T-Online BTX (Datex-J) system. All of the
->> commercial homebanking software packages like MS-Money or
->> Quicken work with that online system. With that system,
->> you can retrieve account data from your bank, and also
->> send your transfers.
->>
->> I am using since more than 2 years a GPL software written
->> by a former colleague of mine, Niek Busscher, to work with
->> the T-Online homebanking system. That software package with
->> the name ZKA4BTX is very unknown, since Niek published it only
->> by email.
->>
->> Some words to the features of ZKA4BTX :
->>
->> - Completely written in Tcl
->> - Uses Xcept as a BTX browser
->> - Retrieve account data from multiple banks
->> - Send transfers, using TAN
->> - Export retrieved account data to CBB, Xfinans and QIF files
->> - Export retrieved account data to CBB, Xfinans and QIF files
->>
->> With a simple click to an icon on my desktop, ZKA4BTX logs into
->> T-Online, gets all my account data from several banks, and writes
->> (adds) it to my CBB, Xfinans or GnuCash (QIF) files.
->>
->> Another very important thing is that I can do all my transfers
->> offline, editing a transfer sheet, and ZKA4BTX sends these
->> transfers in one step to my bank.
->
->One thing we could do in the short-medium term is have gnucash
->launch ZKA4BTX to get the data, export it to QIF, and then load
->it in, all through one command.
-</pre>
- </dd>
-
- <dt><a name="tab"><b>Tab-delimited ASCII file format</b></a></dt>
-
- <dd>
- People <em>like</em> to be able to read file contents in
- ASCII; there are many Unix tools for manipulating ASCII. An
- ASCII equivalent of the current file format should be easy
- to develop ... just substitute the writes with <tt>
- printf()</tt>s.
-
- <p>The tab-delimited format should be compatible with that
- of <tt>/rdb</tt>, aka <a href=
- "ftp://ftp.rand.org/pub/RDB-hobbs/">RAND/Hobbs /rdb</a> or
- <a href=
- "ftp://ftp.linux.it/pub/database/RDB/nosql-0.8.tar.gz">
- NoSQL.</a> (NoSQL is available as part of the <a href=
- "https://www.debian.org">Debian GNU/Linux</a> distribution,
- for instance.)</p>
-
- <p>The <tt>/rdb</tt> format is thus:</p>
-<pre>
-field-name tab fieldname tab fieldname \n
------------------------------------------- \n
-value tab value tab value \n
-value tab value tab value \n
-etc ...
-</pre>
-
- <p>It is a very simple, very basic flat table format. The
- use of <tt>/rdb</tt> with GnuCash should try to match with
- SQL schemas as much as possible in order to minimize I/O
- complexity and incompatibility.</p>
- </dd>
-
- <dt><a name="tax"><b>Tax Preparation</b></a></dt>
-
- <dd>
- Gotta prepare those taxes.
- W-2, W-3, 941, 940 Processing.
-
- <ul>
- <li>
- TurboTax --
- categorize items according to different tax
- schedules
- </li>
-
- <li>VAT -- Value Added Tax. Varies from country to country.
- </li>
-
- <li>Estimate income taxes.
- Estimate itemized deductions, find potential
- deductions, categorize them</li>
- </ul>
- <p></p>
- </dd>
-
- <dt><a name="palm"><b>Sync with Palm Pilot organizers</b></a></dt>
-
- <dd>There are Quicken-workalikes that run on the
- PalmComputing platform; it would be good to inter-operate
- with this. See
- <a href="ftp://ryeham.ee.ryerson.ca/pub/PalmOS/">PalmLink</a>
- and <a href="http://www.orbits.com/Palm/">Palm & Linux</a>.
- <p></p>
- </dd>
-
- <dt><a name="emerg"><b>Emergency Records Organizer</b></a></dt>
-
- <dd>Put together a single-page report showing critical info
- about accounts, etc.
- <p></p>
- </dd>
-
- <dt><a name="logging"><b>Logging, Crash Recovery</b></a></dt>
-
- <dd>
- Logging serves two purposes: (1) return the system to the state
- it was in on some earlier date. (2) recover from a crash.
- Probably need two distinct mechanisms to support this. The
- mechanisms are (A) backup copies. These can be compactly handled
- via RCS (actually, deltax) for storage. (B) Logging. Write
- out to disk each & every change made.
- </p>
- <p><b>Status:</b>
- <ul>
- <li>Crude transaction logging/auditing in place; should
- be suitable for error/crash recovery but has not been
- "tried by fire."</li>
-
- <li>Backup files automatically created and
- time-stamped.</li>
- </ul>
- </p>
-
-
- </dd>
-
- <dt><a name="engine"><b>Enriched Engine, Financial Objects</b></a></dt>
-
- <dd>
- The current system makes a distinction between the data
- (account, transaction) and they GUI that displays it. The
- data is embedded within and controlled by the "Engine",
- which is a set of routines to access accounts,
- transactions, etc. The engine serves as a kind of a dynamic
- cache between the permanent data repository (file, sql db)
- and the GUI.
-
- <p>The current engine is rather simple: it provides support
- for accounts, account hierarchies and transactions
- consisting of multiple entries.</p>
-
- <p>Many of the features described elsewhere will require
- that the engine have a far richer, more sophisticated data
- model, including such things as:</p>
-
- <ul>
- <li>Linking to "Address Info" ( <em>e.g.</em> names,
- addresses)</li>
-
- <li>Transaction identifiers</li>
-
- <li>Part numbers, SKU IDs</li>
-
- <li>Interest rates</li>
-
- <li>Budget policy</li>
- </ul>
-
- <p>Note: it makes no sense at this point to make the engine
- API much richer than what the GUI can currently
- support.</p>
-
- <ul>
- <li><b>Locks</b> When splits are implemented, and the
- parent transaction has been marked as cleared/reconciled,
- the record
- should be locked, so that further modifications to the
- amount can't be performed (or at least, a warning is
- generated to prevent accidental garbaging up of old
- transactions).</li>
- </ul>
-
- <p><b>Current Status:</b></p>
-
- <ul>
- <li>
- <tt>BeginEdit()/RollbackEdit()/CommitEdit()</tt>
- routines mostly in place,
- these "Transaction processing constructs" should
- simplify creation of an SQL back end, or some other
- more sophisticated transactional server.
- </li>
-
- <li>Multiple currency support is present but still pretty
- "raw."</li>
-
- <li>Query engine has been broadly extended (Bill Gribble).
- Documentation for Query Engine??</li>
-
- </ul>
- <p></p>
- </dd>
-
- <dt><a name="sql"><b>SQL I/O</b></a></dt>
-
- <dd>
- A module is necessary to allow data to be fetched from an
- SQL database, and for that database to be updated.
- There has been <em>much</em> discussion about this on
- mailing lists both for GnuCash and
- <a href="http://www.menet.umn.edu/~curt/cbb/">CBB [DEAD LINK]</a>.
- Major points have included:
-
- <br>
- <br>
- <ul>
- <li>The use of a database allows only that data which
- is actually <em>in use</em> to be loaded into
- memory. This permits managing larger sets of
- transactions more efficiently.
- </li>
- <br><br>
-
- <li>It also allows data to be pushed out to the DBMS
- <em>immediately after entry,</em> rather than waiting
- for the user to "save the books."
- </li>
- <br><br>
-
- <li>Using a client/server SQL database might make it easier
- to turn GnuCash into a multi-user system.
- </li>
- <br><br>
-
- <li>By using a well-known DBMS, outside programs are
- provided a well-defined way of getting at, and
- perhaps even modifying, GnuCash data.
- (Actually, this is not true: GnuCash already provides
- a uniform, well-documented, preferred data access API.
- As long as this
- API is used, there is some guarantee that data is stored
- in a self-consistent fashion. Not using the GnuCash
- programming interfaces risks corrupting the data.
- Direct access to the data is dangerous and discouraged.
- Furthermore, The API is guaranteed to be backwards
- compatible with a variety of data storage formats.
- Due to enhancements, the actual form of the data stored in
- a flat file, or in the SQL database, may change without
- warning.)
- </li>
- <br><br>
- <li>
- Those SQL databases available on Linux tend to involve
- considerable <em>administrative</em> overhead in terms
- of getting them set up.
- This may be a minor cost to a business enterprise
- that routinely hires Database Administrators.
- It is <em>not</em> acceptable to require this of
- naive users that may find "simple" things like
-<pre>
-% su -
-Password:
-# cd /tmp
-# rpm -i gnucash-4.1.3.i386.rpm
-# exit
-</pre>
- to be challenging.
- </li>
- <br><br>
-
- <li>
- It might be useful to use an embedded database engine
- like unto <a href="https://www.sleepycat.com/">Sleepycat
- DB [DEAD LINK, now owned by Oracle]</a>,
- <a href="ftp://koobera.math/uic.edu/www.cdb.html">cdb</a>,
- or something like
- <a href="https://www.opengroup.org/public/prods/dmm4.htm">
- ISAM</a> (Note CQL++ supports ISAM access methods), or
- even an embedded SQL engine such as
- <a href="https://www.ispras.ru/~knizhnik/gigabase.html">
- GigaBASE [DEAD LINK]</a>.
- The reasons to do so include ... ???
- </li>
-
- <br><br>
- <li>
- GnuCash presently uses a document-oriented model, where
- the <em>entire</em> set of books are loaded in, and
- dumped out, all at one fell swoop.
- GnuCash needs to be modified to access the database
- in a transactional manner. This is at least partly
- implemented with the <tt>Begin()/End()</tt> constructs
- in the engine.
-
- <p>
- Some transactional thoughts: entire SQL
- tables/databases do not need to be locked while the
- user is editing a transaction via the GUI.
- Instead, an optimistic approach, similar to that
- employed by CVS (concurrent version system, a mechanism
- for storing versions of source code) could be used: if
- the edits conflict with changes made by others, edits
- are be rejected en-masse, allowing the user to merge
- and correct their changes.
- Important note: updating SQL does <em>not</em>
- require locks to be held for extended periods of
- time!
- </p>
- </li>
-
- <li>
- The SQL engine chosen should be fully transactional,
- passing the 'ACID' test (Atomicity, Consistency,
- Isolation, Durability).
- Note that
- <a href="http://openacs.org/why-not-mysql.html">MySQL
- does not satisfy the 'ACID' criteria</a>.
- </li>
- </ul>
- <p>
- <b>Status:</b>
- Done, more or less, gnucash version 1.6.0, Linas Vepstas.
- There's still a laundry list of things that need to be
- cleaned up, see the README file in src/engine/sql/README.
-
- </p>
- </dd>
-
- <dt><a name="multiuser"><b>Multi-user Support</b></a></dt>
-
- <dd>
- Multi-user support should be added with either an SQL
- backend to the engine, and/or through CORBA interfaces to
- the engine.
- Another possibility is to create a web application
- server, and have users do much/most of I/O via a web
- interface, possibly using the register object as a browser
- plugin.
- The following industrial-strength features are
- needed:
- <br><br>
-
- <ul>
- <li>transaction-oriented queuing of updates</li>
-
- <li>event subscription channel for updates</li>
-
- <li>user authentication</li>
-
- <li>user authorization</li>
-
- <li>non-repudiability (needed only for peer-to-peer??)</li>
-
- <li>encryption of network connections</li>
- </ul>
- <p>
- <b>Status:</b> Partly done. (gnucash 1.6.0, Linas)
- The postgres backend fully
- supports multiple simltaneous users. This includes
- events for automatic updates of all GUI displays.
- However, the GUI support is rough, no GUI dialog
- for user/password.
- </p>
- </dd>
-
- <dt><a name="addressbook"><b>Address Book</b></a></dt>
-
- <dd>
- Provide support for client/vendor/customer address books,
- including street address, eamil, phone. Also: to-do lists,
- a mini-contact manager (when is last time this person
- was paid? what did they say on phone the last time we
- sent them a check? Is there a dispute?)
- <p>
- Propose: use Ximian Evolution contact manager/to-do lists.
- </p>
- </dd>
-
- <dt><a name="arap"><b>Accounts Payable, Receivable</b></a></dt>
-
- <dd>Add features to track sales receipts and other pending
- sources of income, as well as owed sums.
- <ul>
- <li>Need new account type 'ar' and 'ap'. When this account type is
- selected, the register display, etc. is slightly different, as below:
- <li>Add field to register called 'date due'. The date could be
- entered as 'date of transaction +30days'. etc. The account
- could have a default: entries always default to +30 or +45 days
- or whatever.
- <li>Create a report to match 'date due' to current date, and report
- overdue balances ...
- <li>Create Account aging report: show (average) age of
- amount-due/amount-owed.
- <li>Create a projected cash flow report: showing projected
- future payments based on date due.
- <li>Somehow, automatically match invoices to payments.
- When an invoice has been paid off, then there should be a
- view mode where the invoice and its payment is no longer shown
- (i.e. so that only outstanding, unpaid entries are shown ...)
- <li>create report showing everything but the a/p:
- Here's an example. I buy a chair for a friend, and three
- days later he pays me back. What I've been doing is ...
-<pre>
-> 1/12/01 Credit -$100
-> A/R +$100
-> 1/15/01 Cash +$100
-> A/R -$100
-</pre>
- To make it less painful to read and understand, the
- report should look like:
-
-<pre>
-> 1/12/01 Credit -$100
-> 1/15/01 Cash +$100
-</pre>
- i.e. there would be a new kind of 'transaction report' that
- would pair up transactions in this way, showing things
- 'as if' the A/R didn't exist, and 'as if' a transaction
- was spread over a bunch of days.
-
- </ul>
- <p></p>
- </dd>
-
- <dt><a name="payroll"><b>Payroll</b></a></dt>
-
- <dd>
- Payroll introduces a <em>sizable</em> amount of complexity
- in terms of the need to comply with constantly-changing
- government regulations in whatever country one is in.
- While the GnuCash "engine" might remain free,
- maintenance of payroll functionality would require
- "subscribing" to an update scheme; it might be troublesome
- to try to provide such a "subscription" free of charge.
- <p></p>
- </dd>
-
- <dt><a name="invoice"><b>Invoicing</b></a></dt>
-
- <dd>Invoicing. Note that invoicing and order entry are
- closely related.
- Several components:
- <ul>
- <li>Record an invoice. Assign it a serial number. Be able
- to reprint/report based on invoice serial number.
- <li>Invoice associates customer name to set of transactions.
- Need to deal with PIM issue. I.e. need to integrate
- with high-function PIM or CRM interface.
- <li>Allow historical browsing of invoices customer by customer.
- <li>To visually design an invoice, need to have a
- mini-word-processor/simple drawing plug-in. Is
- Abisource/Abiword a candidate? Probably needs bonobo...
- </ul>
- </dd>
-
- <dt><a name="order"><b>Order Entry</b></a></dt>
-
- <dd>
- Mini-GUI allowing users to type in orders.
- <ul>
- <li>Should interface to parts/inventory database to confirm
- item availability, (maybe recommend additional production)?
- inventory should be updated after order placement.
- <li>Automatically update accounts receivable.
- <li>Allow order revision/update (esp. as partial orders are shipped).
- <li>Orders can be invoiced when entered (simple invoicing), or
- placed on account (double invoicing).
- <li>Allow back-orders to be printed customer-by-customer, or by
- product/item.
- <li>Allow printing of packing slip.
- </ul>
- <p></p>
- </dd>
-
- <dt><a name="estimate"><b>Job Costing</b></a></dt>
-
- <dd>Ability to prepare and track estimates.
- <ul>
- <li>Allow estimate/bid to be converted to a firm order & get invoiced.
- </ul>
- <p></p>
- </dd>
-
- <dt><a name="expense"><b>Expense Accounts</b></a></dt>
-
- <dd>Expense Account Automation, including air, car, hotel,
- dining. Receipts, reservations, cancellations.
- <p></p>
- </dd>
- </dl>
-
- <h1>References</h1>
- All software and technical standard references have been moved to
- <a href="https://www.gnucash.org/links.php3">
- https://www.gnucash.org/links.php3</a>
-
- <hr>
- Draft version 0.51 -- June 2001
- Linas Vepstas
- <a href="mailto:linas at linas.org">linas at linas.org</a>
- <br>
- </body>
-</html>
-
commit 1433792a829352374cc91402889528853e5cf13e
Author: John Ralls <jralls at ceridwen.us>
Date: Mon May 25 17:11:38 2020 -0700
Move the Windows README files to gnucash-on-windows where they belong.
diff --git a/doc/README-ca.win32-bin.txt b/doc/README-ca.win32-bin.txt
deleted file mode 100644
index cba6907bd..000000000
--- a/doc/README-ca.win32-bin.txt
+++ /dev/null
@@ -1,50 +0,0 @@
-GnuCash és un programa de comptabilitat lliure, de codi obert publicat sota la
-Llicència Pública General GNU (GPL) i disponible per a GNU / Linux, *BSD,
-Solaris, Mac OSX i Microsoft Windows.
-
-Dissenyat per ser fà cil d'usar, però potent i flexible, GnuCash permet
-realitzar un seguiment dels comptes bancaris, les existències, els ingressos i les despeses. Tan rà pid i
-intuïtiu d'utilitzar com una llista de verificació, es basa en
-principis comptables professionals per assegurar balanços de comptes i informes precisos.
-
--------------------
-
-Opcions d'assistència disponibles:
-
-Preguntes freqüents en lÃnia: https://wiki.gnucash.org/wiki/FAQ
-Llistes de correu: https://wiki.gnucash.org/wiki/Mailing_Lists
-IRC (Xat): canal #gnucash al servidor irc.gnome.org, vegeu també https://wiki.gnucash.org/wiki/IRC
-
-Si trobeu errors o problemes, no dubteu a informar-los
-a la nostra eina de seguiment d'errors "Bugzilla":
-https://bugs.gnucash.org/enter_bug.cgi?product=GnuCash
-
--------------------
-
-CaracterÃstiques principals:
-
- * Comptabilitat de doble entrada
- * Comptes d'accions / bons / fons d'inversió
- * Importació de fitxers QIF / OFX
- * OFX / HBCI Banca en lÃnia
- * Informes, grà fics
- * Comptabilitat de petites empreses
- * Clients, venedors, treballs, factures, comptes de deutes i cobraments
- * Transaccions programades
- * CÃ lculs financers
-
-Podeu trobar més informació i un tutorial sobre com començar
-al menú "Ajuda" quan feu clic a "Guia de conceptes i tutorials".
-
--------------------
-
-Sobre el programa:
-
-GnuCash és un programa de comptabilitat lliure, de codi obert publicat
-sota la Llicència pública general GNU (GPL). Està desenvolupat de
-manera col·laborativa per 200+ persones.
-
-La programació de GnuCash va començar el 1997, i la seva primera versió
-va ser l'any 1998.
-
--------------------
diff --git a/doc/README-de.win32-bin.txt b/doc/README-de.win32-bin.txt
deleted file mode 100644
index c20f8934b..000000000
--- a/doc/README-de.win32-bin.txt
+++ /dev/null
@@ -1,54 +0,0 @@
-GnuCash ist eine freie OpenSource-Finanzverwaltung, kostenlos
-erhältlich unter der GNU GPL Lizenz für GNU/Linux, Unix, BSD,
-Solaris, Mac OSX und Microsoft Windows.
-
-Das Programm ist eine Komplettlösung zur Verwaltung der Finanzen von
-Privatanwendern und Kleinbetrieben. Das aus dem Rechnungswesen
-bekannte Prinzip der doppelten Buchführung wird in GnuCash konsequent
-umgesetzt, so dass GnuCash höchste Ansprüche an die Kontenführung
-erfüllen kann. Auch Onlinebanking über HBCI wird unterstützt.
-
--------------------
-
-Verfügbarer Support
-
-Englische FAQ-Seite: https://wiki.gnucash.org/wiki/FAQ
-Deutsche Mailingliste: https://lists.gnucash.org/mailman/listinfo/gnucash-de
-IRC (Online-Chat): Channel #gnucash auf Server irc.gnome.org, auch
-beschrieben auf https://wiki.gnucash.org/wiki/IRC
-
-Sollten Probleme auftreten, bitten die Entwickler darum, diese als
-englischsprachigen Fehlerbericht in »Bugzilla« einzutragen:
-https://bugs.gnucash.org/enter_bug.cgi?product=GnuCash
-
--------------------
-
-Feature-Ãbersicht:
-
- * Doppelte Buchführung
- * Aktienkonten, Währungskonten
- * HBCI Online-Banking
- * QIF/OFX/MT940 Importieren
- * Berichte, Diagramme
- * Buchführung für Kleinbetriebe
- * Verwaltung von Kunden, Lieferanten, Aufträgen, Rechnungen
- * Terminierte Buchungen
- * Finanzrechner
-
-Weitere Informationen und eine (bisher nur englischsprachige)
-Einführung sind im Menü »Hilfe« zu finden unter dem Menüpunkt »GnuCash
-Kurs und Konzepte«.
-
--------------------
-
-Ãber GnuCash:
-
-GnuCash ist eine freie OpenSource-Finanzverwaltung, kostenlos
-erhältlich unter der GNU GPL Lizenz. Das Programm wird von 200+
-Programmierern aus mehr als 6 Ländern gemeinsam weiterentwickelt.
-
-Die Anfänge von GnuCash reichen ins Jahr 1997 zurück. Die erste
-Veröffentlichung war im Jahr 1998.
-
--------------------
-
diff --git a/doc/README-fr.win32-bin.txt b/doc/README-fr.win32-bin.txt
deleted file mode 100644
index e78cdc5ac..000000000
--- a/doc/README-fr.win32-bin.txt
+++ /dev/null
@@ -1,55 +0,0 @@
-GnuCash est un logiciel de comptabilité gratuit et de source
-libre, émis sous licence GNU Public Licence (GPL) et disponible
-sous GNU/Linux, *BSD, Solaris, Mac OSX et Microsoft Windows.
-
-Conçu pour une utilisation aisée, tout en étant puissant et flexible,
-GnuCash permet le suivi des comptes bancaires, des titres, des
-revenus et des dépenses. D'utilisation aussi rapide et intuitive
-qu'un registre de chèques, il est basé sur des principes comptables
-professionnels afin d'assurer des comptes en balance et des rapports
-précis.
-
--------------------
-
-Sources disponibles d'assistance :
-
-FAQ en ligne: https://wiki.gnucash.org/wiki/FAQ
-Listes de diffusions: https://wiki.gnucash.org/wiki/Mailing_Lists
-IRC (Chat): Canal #gnucash sur le serveur irc.gnome.org,
-Aussi à consulter: https://wiki.gnucash.org/wiki/IRC
-
-N'hésitez pas à rapporter toute erreur ou tout problème rencontré
-sur notre outil de suivi des bogues "Bugzilla":
-https://bugs.gnucash.org/enter_bug.cgi?product=GnuCash
-
--------------------
-
-Survol des fonctionnalités::
-
- * Comptabilité à partie double
- * Comptes de titres en Actions/Obligations/Fonds d'investissement
- * Importation de fichiers QIF/OFX
- * Transactions bancaires en ligne OFX/HBCI
- * Rapports et graphiques
- * Comptabilité des petites entreprises
- * Listes des clients, fournisseurs et prestations
- * Facturation, Comptes clients et comptes fournisseurs
- * Transactions récurrentes
- * Calculs financiers
-
-Vous trouverez des informations additionnelles et un tutoriel sur la
-mise en route (en anglais, pour l'instant) en cliquant sur "Tutoriel
-et guide des concepts" dans le menu d'aide.
-
--------------------
-
-Ã propos du logiciel:
-
-GnuCash est un logiciel de comptabilité gratuit et de source
-libre, émis sous licence GNU Public Licence (GPL). Il est développé
-en collaboration par plus de 200 personnes.
-
-La programmation de GnuCash a commencé en 1997, sa première version
-a été lancée en 1998.
-
--------------------
diff --git a/doc/README-hr.win32-bin.txt b/doc/README-hr.win32-bin.txt
deleted file mode 100644
index cd135be1b..000000000
--- a/doc/README-hr.win32-bin.txt
+++ /dev/null
@@ -1,51 +0,0 @@
-GnuCash je slobodan softver za raÄunovodstvo otvorenog koda, izdan pod
-GNU opÄom javnom licencom (GPL). Dostupan za sustave GNU/Linux, *BSD,
-Solaris, Mac OSX i Microsoft Windows.
-
-OsmiÅ¡ljen da bude jednostavan u upotrebi, istovremeno moÄan i prilagodljiv,
-GnuCash ti omoguÄava praÄenje bankovnih raÄuna, dionica, prihoda i rashoda.
-GnuCash se zasniva na profesionalnim raÄunovodstvenim naÄelima kao Å¡to je
-dvojno knjigovodstvo, te osigurava bilancirane knjige i toÄne izvjeÅ¡taje.
-
--------------------
-
-Dostupna pomoÄ
-
-Mrežne FAQ stranice: https://wiki.gnucash.org/wiki/FAQ
-PretplatniÄke liste: https://wiki.gnucash.org/wiki/Mailing_Lists
-IRC (Chat): Kanal #gnucash na serveru irc.gnome.org, vidi takoÄer
-https://wiki.gnucash.org/wiki/IRC
-
-Ako primijetiÅ¡ greÅ¡ke ili naiÄeÅ¡ na probleme, slobodno ih prijavi na naÅ¡u
-âBugzillaâ-stranicu za praÄenje greÅ¡aka:
-http://bugs.gnucash.org/enter_bug.cgi?product=GnuCash
-
--------------------
-
-Istaknute karakteristike:
-
- * dvojno knjigovodstvo
- * konti dionica, obveznica i uzajamnih fondova
- * QIF/OFX uvoz
- * OFX/HBCI internet bankarstvo
- * izvještaji, dijagrami
- * raÄunovodstvo za mala poduzeÄa
- * kupci, dobavljaÄi, poslovi, IRA/URA raÄuni, konti dugovanja i potraživanja
- * terminirane transakcije
- * financijske kalkulacije
-
-Detaljne informacije i upute za rad s GnuCashom možeÅ¡ naÄi u izborniku
-âPomoÄ â Upute i koncepti za GnuCashâ.
-
--------------------
-
-O programu:
-
-GnuCash je slobodan softver za raÄunovodstvo otvorenog koda, izdan pod
-GNU opÄom javnom licencom (GPL). Razvijen je zajedniÄkim radom
-dvanaestero ljudi iz više od šest zemalja.
-
-PoÄetak programiranja GnuCasha, 1997. Prvo izdanje, 1998.
-
--------------------
-
diff --git a/doc/README-it.win32-bin.txt b/doc/README-it.win32-bin.txt
deleted file mode 100644
index 77514136a..000000000
--- a/doc/README-it.win32-bin.txt
+++ /dev/null
@@ -1,50 +0,0 @@
-GnuCash è un programma di contabilità  libero e a codice aperto rilasciato con
-licenza GNU Public Licence (GPL) e disponibile per i sistemi GNU/Linux, *BSD,
-Solaris, Mac OSX e Microsoft Windows.
-
-Progettato per essere di facile utilizzo, ma allo stesso tempo potente e flessibile,
-GnuCash permette di tenere traccia dei propri conti bancari, delle azioni, dei costi e dei ricavi.
-Veloce e intuitivo come il registro degli assegni, GnuCash si basa su concetti fondamentali della
-contabilità  assicurando il bilancio dei conti e l'accurattezza dei resoconti.
-
--------------------
-
-Disponibilità  di supporto
-
-FAQ online (in inglese): https://wiki.gnucash.org/wiki/FAQ
-Mailing List: https://wiki.gnucash.org/wiki/Mailing_Lists
-IRC (Chat): canale #gnucash sul server irc.gnome.org; vedere anche https://wiki.gnucash.org/wiki/IRC
-
-Se si riscontrassero dei problemi o dei bug utilizzando il programma, è possibile comunicarli nel sistema
-di tracciamento dei bug di GnuCash denominato "Bugzilla":
-https://bugs.gnucash.org/enter_bug.cgi?product=GnuCash
-
--------------------
-
-Caratteristiche principali:
-
- * Contabilità a partita doppia
- * Conti per azioni, obbligazioni(bond) e fondi comuni
- * Importazione di file QIF/OFX
- * OFX/HBCI Online Banking
- * Resoconti e grafici
- * Contabilità  di piccole imprese
- * Clienti, venditori, lavori, fatture, conti per debiti e crediti correnti
- * Transazioni pianificate
- * Calcolatrice finanziaria
-
-Maggiori informazioni e una guida su come iniziare a utilizzare il programma, sono
-raggiungibili tramite il menu "Aiuto" selezionando la voce "Guida ai concetti e manuale".
-
--------------------
-
-Informazioni sul programma:
-
-GnuCash è un programma di contabilità  libero e a codice aperto rilasciato con
-licenza GNU Public Licence (GPL). E' sviluppato con la collaborazione di
-200+ programmatori.
-
-La programmazione di GnuCash è iniziata nel 1997 e il primo rilascio risale al 1998.
-
--------------------
-
diff --git a/doc/README-lv.win32-bin.txt b/doc/README-lv.win32-bin.txt
deleted file mode 100644
index 9029be065..000000000
--- a/doc/README-lv.win32-bin.txt
+++ /dev/null
@@ -1,51 +0,0 @@
-GnuCash ir bezmaksas grÄmatvedÄ«bas programma, ko izplata saskaÅÄ ar
-GNU General Public License (GPL) licenci. To var izmantot uz GNU/Linux,
-*BSD, Solaris, Mac OSX un Microsoft Windows datoriem.
-
-GnuCash ir veidots tÄ, lai to bÅ«tu vienkÄrÅ¡i lietot, tajÄ pat laikÄ tas
-ir pietiekami jaudīgs un ļauj uzskaitīt skaidru naudu, banku kontus,
-akcijas, ieÅÄmumus un izdevumus.
-TajÄ var Ätri un Ärti reÄ£istrÄt darÄ«jumu, un tÄ ir balstÄ«ta uz
-profesionÄlÄs grÄmatvedÄ«bas principiem, nodroÅ¡inot bilanci un
-precÄ«zus pÄrskatus.
-
--------------------
-
-TehniskÄ palÄ«dzÄ«ba
-
-Tiešsaistes palīdzība: https://wiki.gnucash.org/wiki/FAQ
-VÄstkopas: https://wiki.gnucash.org/wiki/Mailing_Lists
-IRC (sazÅa): #gnucash on server irc.gnome.org, skatÄ«t arÄ« https://wiki.gnucash.org/wiki/IRC
-
-Ja atklÄjat kļūdas vai problÄmas, nekautrÄjieties tÄs reÄ£istrÄt "Bugzilla" kļūdu apstrÄdes
-sistÄmÄ https://bugs.gnucash.org/enter_bug.cgi?product=GnuCash
-
--------------------
-
-GalvenÄs iespÄjas:
-
- * DivkÄrÅ¡Ä ieraksta grÄmatvedÄ«ba
- * Akciju/VÄrtspapÄ«ru/KapitÄla daļu konti
- * QIF/OFX datu imports
- * OFX/HBCI tiešsaistes banka
- * PÄrskati, grafiki
- * Mazo uzÅÄmumu biznesa atbalsts
- * Klienti, PiegÄdÄtÄji, Darbi, SaÅemtie un izsniegtie rÄÄ·ini
- * IeplÄnoti grÄmatojumi
- * FinanÅ¡u aprÄÄ·ini
-
-VairÄk informÄcijas un sÄkotnÄjÄ apmÄcÄ«ba pieejama aktivizÄjot izvÄlni
-"PalÄ«dzÄ«ba" un "PamÄcÄ«ba un jÄdzienu ceļvedis".
-
--------------------
-
-Par šo programmu:
-
-GnuCash ir bezmaksas grÄmatvedÄ«bas programma, ko izplata saskaÅÄ ar
-GNU General Public License (GPL) licenci. TÄs galvenie izstrÄdÄtÄji ir
-200+ cilvÄki.
-
-GnuCash izstrÄde sÄkÄs 1997. gadÄ un tÄs pirmais laidiens bija 1998. gadÄ.
-
--------------------
-
diff --git a/doc/README-nl.win32-bin.txt b/doc/README-nl.win32-bin.txt
deleted file mode 100644
index bb2f3b053..000000000
--- a/doc/README-nl.win32-bin.txt
+++ /dev/null
@@ -1,50 +0,0 @@
-GnuCash is een vrij, open source boekhoudprogramma, uitgegeven
-onder de GNU General Public License (GPL) en is beschikbaar voor
-GNU/Linux, *BSD, Solaris, Mac OSX, en Microsoft Windows.
-
-Het is een eenvoudig te gebruiken, en tegelijkertijd krachtig en flexibel
-programma dat je helpt om je bankrekeningen, aandelen, inkomsten en uitgaven
-te beheren. Zo vlot en intuïtief te gebruiken als een dagboek enerzijds, en
-anderzijds gebaseerd op professionele boekhoudkundige principes om boeken in
-balans en nauwkeurige rapporten te verzekeren.
-
--------------------
-
-Beschikbare bronnen voor ondersteuning
-
-Online veel gestelde vragen (FAQ): https://wiki.gnucash.org/wiki/FAQ
-Mailing Lijsten: https://wiki.gnucash.org/wiki/Mailing_Lists
-IRC (Chat): Channel #gnucash on server irc.gnome.org, see also https://wiki.gnucash.org/wiki/IRC
-
-Als je programmafouten (bugs) of problemen ervaart, aarzel niet om deze te melden in ons
-bug opvolgsysteem "Bugzilla":
-https://bugs.gnucash.org/enter_bug.cgi?product=GnuCash
-
--------------------
-
-Interessante functies:
-
- * Dubbel boekhouden
- * Aandelen-/belegginsrekeningen
- * QIF/OFX/HBCI import met dubbele transactie herkenning
- * Rapporten, grafieken
- * Klein-ondernemingsboekhouding
- * Klanten, verkopers, opdrachten, Facturen, Lopende rekening
- * Periodieke Transacties
- * Financiële berekeningen
-
-Meer informatie en een handleiding om je op weg te helpen vind je
-in het "Hulp" menu onder het "Tutorial en concepten gids".
-
--------------------
-
-Over het programma:
-
-GnuCash is a vrij, open source boekhoudprogramma uitgegeven onder de
-GNU General Public License (GPL). Meer dan 200 programmeurs en 40
-documentie schrijvers hebben gedurende 20+ jaar bijgedragen aan de ontwikkeling
-ervan. Voor meer info, zie de AUTHORS en DOCUMENTORS bestanden.
-
-De ontwikkeling van GnuCash begon in 1997, de de eerste uitgave was in 1998.
-
--------------------
diff --git a/doc/README-zh_CN.win32-bin.txt b/doc/README-zh_CN.win32-bin.txt
deleted file mode 100644
index ca311c33f..000000000
--- a/doc/README-zh_CN.win32-bin.txt
+++ /dev/null
@@ -1,39 +0,0 @@
-GnuCash æ¯ä¸ä¸ªå
è´¹çã弿¾æºä»£ç çç财软件ï¼å®ä½¿ç¨ GNU éç¨å
Œ
±è®¸å¯è¯(GPL)ï¼å¯è¿è¡äº GNU/Linuxã*BSDãSolarisãMac OSX以å微软 Windowsã
-
-è´åäºæäºä½¿ç¨ï¼ä½åè½å¼ºå¤§èä¸çµæ´»ãGnuCash å
许æ¨è·è¸ªé¶è¡è´¦æ·ãè¡ç¥¨ãæ¶å
¥åæ¯åºãå°±åè´¦ç°¿ä¸æ ·å¿«æ·èä¸ç´è§ï¼å®æ¯åºäºä¸ä¸çä¼è®¡ç念æ¥ç¡®ä¿å¹³è¡¡ç账簿ååç¡®çæ¥åã
-
--------------------
-
-æ¨å¯ä»¥è·å¾æ¯æçéå¾
-
-å¨çº¿å¸¸è§é®é¢è§£ç: https://wiki.gnucash.org/wiki/FAQ
-é®ä»¶å表: https://wiki.gnucash.org/wiki/Mailing_Lists
-IRC (è天): irc.gnome.org æå¡å¨ç #gnucash é¢éï¼å¦è§ https://wiki.gnucash.org/wiki/IRC
-
-妿æ¨éå°äºä»»ä½ bug æè
é®é¢ï¼è¯·ä¸è¦ç¹è±«ï¼å°å®ä»¬æ¥å尿们ç bug è·è¸ªå·¥å
·âBugzillaâï¼https://bugs.gnucash.org/enter_bug.cgi?product=GnuCash
-
--------------------
-
-åè½äº®ç¹ï¼
-
- * å¤å¼è®°è´¦ä¼è®¡
- * è¡ç¥¨/åºå¸/åºéç§ç®
- * QIF/OFX 导å
¥
- * OFX/HBCI ç½ä¸é¶è¡
- * æ¥åãå¾è¡¨
- * å°åä¼ä¸è´¢ä¼
- * 客æ·ãååãä»»å¡ãå票ãåºä»è´¦æ¬¾ååºæ¶è´¦æ¬¾
- * 计åç交æ
- * éè计ç®å·¥å
·
-
-å½ç¹å»âæç¨åç念æåâæ¶ï¼å¯ä»¥å¨â帮å©âèå䏿¾å°æ´å¤çä¿¡æ¯ä»¥åå¦ä½å¼å§çæç¨ã
-
--------------------
-
-å
³äºç¨åºï¼
-
-GnuCash æ¯ä¸ä¸ªå
è´¹çã弿¾æºä»£ç çç财软件ï¼å®ä½¿ç¨ GNU éç¨å
Œ
±è®¸å¯è¯(GPL)ã宿¯ç±æ¨ªè·¨6个å½å®¶å
±200+个å¼å人åå
±ååä½å¼åèæã
-
-ç¨åºæ°åå¼å§äº1997å¹´ï¼å¹¶ä¸äº1998å¹´ç¬¬ä¸æ¬¡åå¸ã
-
--------------------
diff --git a/doc/README-zh_TW.win32-bin.txt b/doc/README-zh_TW.win32-bin.txt
deleted file mode 100644
index 1e44f30c1..000000000
--- a/doc/README-zh_TW.win32-bin.txt
+++ /dev/null
@@ -1,41 +0,0 @@
-GnuCash æ¯ä¸åèªç±ãéæ¾åå§ç¢¼ç帳åè»é«ï¼å®ä½¿ç¨ GNU éç¨å
Œ
±è¨±å¯è(GPL)ï¼æ¯æ´ GNU/Linux, *BSD, Solaris, Mac OSX åå¾®è» Windowsã
-
-GnuCash ä¸å
è¨è¨æææ¼ä½¿ç¨ï¼èä¸åè½å¼·å¤§åæå½æ§ãå®å¯ä»¥è¿½è¹¤éè¡å¸³æ¶ãè¡ç¥¨ãæ¶å
¥èæ¯åºï¼å°±åç¨å¸³ç°¿ä¸æ¨£å¿«æ·ãç´è¦ºãåºæ¼å°æ¥çæè¨åå確ä¿å¸³ç®å¹³è¡¡ä¸¦æä¾æºç¢ºçå ±è¡¨ã
-
--------------------
-
-å¯ç²å¾æ¯æ´ç管é
-
-常è¦åé¡è§£ç: https://wiki.gnucash.org/wiki/FAQ
-éä¿¡è«å£: https://wiki.gnucash.org/wiki/Mailing_Lists
-IRC (è天): irc.gnome.org 伺æå¨ç #gnucash é »éï¼è¦ https://wiki.gnucash.org/wiki/IRC
-
-妿æ¨éå°äºä»»ä½ bug æåé¡ï¼è«ä¸è¦é²çï¼å°åé¡å ±åå°æåç bug 追蹤系統 "Bugzilla": (è«ç¨è±æ)
-https://bugs.gnucash.org/enter_bug.cgi?product=GnuCash
-
--------------------
-
-åè½ç¹é»:
-
- * è¤å¼ç°¿è¨
- * è¡ç¥¨/åµå¸/åºé帳è
- * å¯å
¥ QIF/OFX
- * OFX/HBCI 網路éè¡
- * åå¼å ±åãå表
- * å°ä¼æ¥è²¡å管ç
- * 客æ¶ãå» åãå·¥ä½ãæ¶æãæä»å¸³æ¬¾ãææ¶å¸³æ¬¾
- * 交ææç¨
- * éèè¨ç®å·¥å
·
-
-æ´å¤è³è¨åå
¥éæå¸å¯ä»¥å¨åè½è¡¨ "說æ" 裡ç "æå¸èè§å¿µæå" æ¾å°ã
-
--------------------
-
-éæ¼ç¨å¼:
-
-GnuCash æ¯ä¸åèªç±ãéæ¾åå§ç¢¼ç帳åè»é«ï¼å®ä½¿ç¨ GNU éç¨å
Œ
±è¨±å¯è(GPL)ç¼å¸ã宿¯ç±æ©«è·¨ 6 åå
± 200+ åéç¼äººå¡å
±ååä½éç¼èæã
-
-GnuCash çç¨å¼æ°å¯«å§æ¼ 1997 å¹´ï¼ç¬¬ä¸çç¼å¸æ¼ 1998 å¹´ã
-
--------------------
-
diff --git a/doc/README.win32-bin.txt b/doc/README.win32-bin.txt
deleted file mode 100644
index 518557a42..000000000
--- a/doc/README.win32-bin.txt
+++ /dev/null
@@ -1,51 +0,0 @@
-GnuCash is a free, open source accounting program released under the
-GNU General Public License (GPL) and available for GNU/Linux, *BSD,
-Solaris, Mac OSX, and Microsoft Windows.
-
-Designed to be easy to use, yet powerful and flexible, GnuCash allows
-you to track bank accounts, stocks, income and expenses. As quick and
-intuitive to use as a checkbook register, it is based on professional
-accounting principles to ensure balanced books and accurate reports.
-
--------------------
-
-Available Support Options
-
-Online FAQ: https://wiki.gnucash.org/wiki/FAQ
-Mailing Lists: https://wiki.gnucash.org/wiki/Mailing_Lists
-IRC (Chat): Channel #gnucash on server irc.gnome.org, see also https://wiki.gnucash.org/wiki/IRC
-
-If you encounter any bugs or problems, do not hesitate to report them
-into our bug tracking tool "Bugzilla":
-https://bugs.gnucash.org/enter_bug.cgi?product=GnuCash
-
--------------------
-
-Feature Highlights:
-
- * Double-Entry Accounting
- * Stock/Bond/Mutual Fund Accounts
- * QIF/OFX Import
- * OFX/HBCI Online Banking
- * Reports, Graphs
- * Small-Business Accounting
- * Customers, Vendors, Jobs, Invoices, Accounts/Payables and /Receivables
- * Scheduled Transactions
- * Financial Calculations
-
-More information and a Tutorial on how to get started can be found in
-the "Help" menu when clicking on "Tutorial and Concepts Guide".
-
--------------------
-
-About the Program:
-
-GnuCash is a free, open source accounting program released under the
-GNU General Public License (GPL). More than 200 programmers and 40
-documentors have contributed to its development over 20+ years, please
-see the AUTHORS and DOCUMENTORS files.
-
-Programming on GnuCash began in 1997, and its first release was in
-1998.
-
--------------------
Summary of changes:
doc/CMakeLists.txt | 17 +-
doc/README-ca.win32-bin.txt | 50 -
doc/README-de.win32-bin.txt | 54 -
doc/README-fr.win32-bin.txt | 55 -
doc/README-hr.win32-bin.txt | 51 -
doc/README-it.win32-bin.txt | 50 -
doc/README-lv.win32-bin.txt | 51 -
doc/README-nl.win32-bin.txt | 50 -
doc/README-zh_CN.win32-bin.txt | 39 -
doc/README-zh_TW.win32-bin.txt | 41 -
doc/README.HBCI | 206 ---
doc/README.OFX | 277 ----
doc/README.francais | 345 -----
doc/README.german | 181 ---
doc/README.translator.txt | 222 ----
doc/README.txt | 6 +
doc/README.win32-bin.txt | 51 -
doc/TRANSLATION_HOWTO | 395 ------
doc/What_is_Euro_support | 12 -
doc/guile-hackers.txt | 96 --
doc/projects.html | 2845 ----------------------------------------
21 files changed, 7 insertions(+), 5087 deletions(-)
delete mode 100644 doc/README-ca.win32-bin.txt
delete mode 100644 doc/README-de.win32-bin.txt
delete mode 100644 doc/README-fr.win32-bin.txt
delete mode 100644 doc/README-hr.win32-bin.txt
delete mode 100644 doc/README-it.win32-bin.txt
delete mode 100644 doc/README-lv.win32-bin.txt
delete mode 100644 doc/README-nl.win32-bin.txt
delete mode 100644 doc/README-zh_CN.win32-bin.txt
delete mode 100644 doc/README-zh_TW.win32-bin.txt
delete mode 100644 doc/README.HBCI
delete mode 100644 doc/README.OFX
delete mode 100644 doc/README.francais
delete mode 100644 doc/README.german
delete mode 100644 doc/README.translator.txt
create mode 100644 doc/README.txt
delete mode 100644 doc/README.win32-bin.txt
delete mode 100644 doc/TRANSLATION_HOWTO
delete mode 100644 doc/What_is_Euro_support
delete mode 100644 doc/guile-hackers.txt
delete mode 100644 doc/projects.html
More information about the gnucash-changes
mailing list