<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE appendix SYSTEM "gnc-docbookx.dtd">

<!--
      (Do not remove this comment block.)
  Version: 2.0.0
  Last modified: July 9th 2006
  Converted to qandaset 2019-09-09 by Frank H. Ellenberger
  
  Maintainers:
               Chris Lyttle <chris@wilddev.net>
  Author:
  		Jon Lapham <lapham@extracta.com.br>
  Originally designed by Carol Champagne.
  Translators:
               (translators put your name and email here)
-->
<appendix id="appendixb">
  <title>Frequently Asked Questions</title>
    <abstract><para>This is a list of questions asked on the mailing lists for which there really is no section in the documentation covering the subject.</para></abstract>
  <qandaset defaultlabel='qanda'>
    <qandadiv id="appendixb_info">
      <title>Sources of Information</title>

      <qandaentry id="appendixb_info_where">
        <question><para>Where is the FAQ?</para></question>
        <answer><para>You&rsquo;re looking at an very old copy of it. The most up-to-date copy can be found within the <ulink url="&url-wiki-faq;">&app; Wiki</ulink>.</para></answer>
      </qandaentry>

      <qandaentry id="appendixb_info_mail">
        <question><para>Are there mailing lists for &app;?</para></question>
        <answer><para>Yes. Go to <ulink url="&url-mail-li;gnucash-user" /> and <ulink url="&url-mail-li;gnucash-devel" /> to subscibe.</para></answer>
      </qandaentry>

      <qandaentry id="appendixb_info_mailarchive">
        <question><para>Is there a searchable archive for the mailing lists?</para></question>
        <answer><para>Yes, you can search the mail list archives at <ulink url="http://news.gmane.org/gmane.comp.gnome.apps.gnucash.devel" /> and <ulink url="http://news.gmane.org/gmane.comp.gnome.apps.gnucash.user" /> (and <ulink url="http://news.gmane.org/gmane.comp.gnome.apps.gnucash.german" /> if you speak German).</para></answer>
      </qandaentry>

      <qandaentry id="appendixb_info_other">
        <question><para>Are there other means of obtaining support for &app;?</para></question>
        <answer><para>Yes. Many of the developers hang out on icq in the #gnucash discussion on <ulink url="&url-irc;" />. Also, there is a <ulink url="&url-wiki;">wiki</ulink> online.</para></answer>
      </qandaentry>
    </qandadiv>

    <qandadiv id="appendixb_general">
      <title>General Information</title>

      <qandaentry id="appendixb_software_windows">
        <question><para>Can I run &app; on Windows?</para></question>
        <answer><para>Yes. Starting with release 2.2.0, &app; is also available on Windows.</para></answer>
        <answer><para>Other related options would be colinux, VMWare and a windows-based X-server hosting a remote &app; session.</para></answer>
      </qandaentry>

      <qandaentry id="appendixb_general_hard2compile">
        <question><para>I heard it is too hard to compile &app;!</para></question>
        <answer><para>This was probably true at the time when 1.6.0 was released. It is no longer true today, as almost every distribution ships with all the necessary libraries. However, by default, distributions won&rsquo;t install the development packages of the required libraries, so you might need to start your distribution&rsquo;s installer program and tell it to install not only the library packages but also the -devel packages. In general, it was noted that this problem concerns many applications in the gnome domain, and this also boils down to the fact that there is no such thing as <quote>one monolithic gnome package</quote>.</para></answer>
      </qandaentry>

      <qandaentry id="appendixb_general_batchmode">
        <question><para>Is there a batch mode (non-interactive) available for &app;, for building reports, etc?</para></question>
        <answer><para>No, for now &app; must be run interactively.</para></answer>
      </qandaentry>

      <qandaentry id="appendixb_general_multuser">
        <question><para>Can multiple people access the same datafile in &app;?</para></question>
        <answer><para>You can have multiple people with access to the same datafile, but they cannot use the data file simultaneously.</para>
        <para>To setup multi-person access, all the people must have read/write access to the directory containing the file (to read the other&rsquo;s created files, and to create new files).  One way to do this is by creating a user group and setting the data directory to be owned by the shared group and set to mode 2775. The <quote>2</quote> makes the directory setgid which copies the permissions to all files.</para></answer>
      </qandaentry>

      <qandaentry id="appendixb_general_WhyC">
        <question><para id="appendixb_general_WhyC.q">Why is &app; written in C?</para></question>
        <answer><para>The core functionality of &app; is written in C, but do not forget that much of this can be accessed through Guile (scheme).  There are a number of reasons for why &app; is written in C.  The first is historical, &app; was started in 1996 (or maybe even earlier!) and many of the OOP (C++, Java, Python) compilers were not yet mature and standarized enough on the variety of platforms considered at that time, so C was the only option at that time.  A second reason is because the standard GUI &app; uses is GTK, which is written in C.</para></answer>
      </qandaentry>

      <qandaentry id="appendixb_general_rewrite">
        <question><para>Why don&rsquo;t you rewrite &app; in programming language xyz so that I can contribute easily?</para></question>
        <answer><para>The quick answer is <quote>We won&rsquo;t</quote>.</para></answer>
        <answer><para>The longer answer is complex but still amounts to <quote>We won&rsquo;t</quote>. &app; is a large body of code maintained by a small group of developers who are comfortable in C and Scheme (Guile). Actually, 80% of it is in C and approx. 13% is in Scheme/Lisp. There is no valid reason that would justify rewriting this amount of existing code in a newer language. Also, creating language bindings to recent languages such as Python or Ruby or (insert your favourite language here) is labor intensive, and we&rsquo;re already stretched pretty thin maintaining and developing the existing code.</para></answer>
        <answer><para>Having said that, this is an open source project and you&rsquo;re free to do with it or contribute what you want. Just don&rsquo;t expect much support if the reason for your changes is that you&rsquo;re not willing to learn C or Scheme. Also, &app; used to have SWIG bindings (<ulink url="http://www.swig.org" />) which have been used for some perl programming code. According to a list discussion, these SWIG bindings might still be a way to include other languages into &app;, but currently they are unused and unmaintained.</para></answer>
      </qandaentry>

      <qandaentry id="appendixb_general_newFeatures">
        <question><para>I really want feature XYZ but &app; doesn&rsquo;t have it. How do I get it added?</para></question>
        <answer><para>Ask nicely. :-) You can file an enhancement request at <ulink url="&url-bug-start;" />. Please bear in mind to describe your proposed enhancement as verbosely as possible. The trick here is to learn how to give the best information to the programmers about what your proposed new feature should do. If you want to speed up development significantly, consider donating some money as described on &app;Development.</para></answer>
      </qandaentry>

      <qandaentry id="appendixb_software_web">
        <question><para>Is there a web interface available for &app;?</para></question>
        <answer><para>No</para></answer>
      </qandaentry>

      <qandaentry id="appendixb_software_security">
        <question><para>How can I provide security for &app; data using CFS, etc.)</para></question>
        <answer><para>Unanswered</para></answer>
      </qandaentry>

      <qandaentry id="appendixb_software_contribute">
        <question><para>How can I contribute to the &app; project?</para></question>
        <answer><para>We&rsquo;re working on a more formal process, but for now you should subscribe to the mailing list at <ulink url="&url-mail-li;gnucash-user" /> and <ulink url="&url-mail-li;gnucash-devel" /> and discuss what you can contribute with the participants on the lists. Please be aware that &app; is a large body of code written in C and Scheme (see <quote><link linkend="appendixb_general_WhyC" endterm="appendixb_general_WhyC.q"></link></quote> above, if you want to know why). If these are languages that you are not willing to work with, consider contributing in other ways.</para></answer>
      </qandaentry>

      <qandaentry id="appendixb_software_bugs">
        <question><para>I think I found a bug. How do I report it?</para></question>
        <answer><para>First of all, try to verify that it is indeed a bug and that it has not been reported before. Search the mail list archives (see FAQ above). Then search the <ulink url="&url-bug-start;">&appname; Bugzilla</ulink> database.</para>
        <para>If you feel you have indeed found a bug, you can then report it at <ulink url="&url-bug-start;" />. Please bear in mind to report your bug as verbosely as possible. The trick here is to learn how to give the best information to the programmers about how to reproduce bugs. A Programmer will usually only be able to fix a bug they can see, if you can&rsquo;t make the programmer see your bug, it won&rsquo;t get fixed!</para></answer>
      </qandaentry>

    </qandadiv>
    <qandadiv id="appendixb_using">
      <title>Using &app;</title>

      <qandaentry id="appendixb_using_moveAtoB">
        <question><para>How can I move the transactions from account <quote>A</quote> into account <quote>B</quote>, thus combining them?</para></question>
        <answer><para>At present, &app; does not offer a way to move groups of splits from one account to another. You will need to move them one at a time. Open the register for account <quote>A</quote> and select the pulldown menu item <menuchoice><guimenu>View</guimenu><guimenuitem>Transaction Journal</guimenuitem></menuchoice> to expose all the splits.  For every split where the <quote>Account</quote> field shows account <quote>A</quote> reset it to account <quote>B</quote>. To do this quickly and safely, first use <keycombo><keycap>Ctrl</keycap><keycap>C</keycap></keycombo> to copy the destination account name (<quote>account B</quote>) to the clipboard.  Then highlight each reference to account <quote>A</quote> by double clicking on it and use <keycombo><keycap>Ctrl</keycap><keycap>V</keycap></keycombo> to paste the destination account name.  Pressing <keycap function="enter">Enter</keycap> after each paste, silently moves the transaction out of the register.</para>
        <caution><para>If you inadvertently set the <quote>Account</quote> field to an unintended location, you will need to search through all your accounts to find the lost transaction to correct your mistake.</para></caution></answer>
      </qandaentry>

      <qandaentry id="appendixb_using_merge2files">
        <question><para>Is it possible to merge two &app; files?</para></question>
        <answer><para>At present this is not possible.</para></answer>
      </qandaentry>

      <qandaentry id="appendixb_using_SaveAcctTemplate">
        <question><para>How can I save a template of my account structure?</para></question>
        <answer><para>This is available from the menu: <menuchoice><guimenu>File</guimenu><guisubmenu>Export</guisubmenu><guimenuitem>Export Accounts</guimenuitem></menuchoice></para></answer>
      </qandaentry>
      <qandaentry id="appendixb_using_ListAll">
        <question><para>When I search for customers (or anything else for that matter), how can I return a list of everything?</para></question>
        <answer><para>Enter a search criteria of <guilabel>matches regex</guilabel>, and place a single dot <quote>.</quote> in the text field area. Then, click <guibutton>Find</guibutton>. The regular expression <quote>.</quote> means to match anything.</para></answer>
      </qandaentry>
      <qandaentry id="appendixb_using_Dates">
        <question><para>How can I record a transaction on different dates (actual date and bank date)?</para></question>
        <answer><para>You record the transaction on the date you write the check or initiate the transaction.  When it <quote>clears</quote> the bank, you can click in the <quote>Reconciled</quote> field to <quote>clear</quote> the transaction (change the <quote>n</quote>on-reconciled to <quote>c</quote>leared).</para></answer>
      </qandaentry>
    </qandadiv>
    <qandadiv id="appendixb_accounting">
      <title>Accounting</title>
      <qandaentry id="appendixb_accounting_Taxes">
        <question><para>How do I treat taxes?  As an account payable or as an expense?</para></question>
        <answer><para>This is a loaded question, and you should really talk to your accountant.  How you treat taxes really depends on what kind of taxes they are, and how you WANT to treat them..  In some cases they are expenses, in some cases they are liabilities.</para></answer>
      </qandaentry>
    </qandadiv>
  </qandaset>
</appendix>
