Warning, /office/kmymoney/doc/details-formats.docbook is written in an unsupported language. File is not indexed.
0001 <?xml version="1.0" encoding="UTF-8"?> 0002 <chapter id="details.formats"> 0003 <chapterinfo> 0004 <authorgroup> 0005 <author> &Thomas.Baumgart; &Thomas.Baumgart.mail; </author> 0006 </authorgroup> 0007 <date>2014-08-30</date> 0008 <releaseinfo>4.7.01</releaseinfo> 0009 </chapterinfo> 0010 0011 <title>File Formats</title> 0012 0013 <para> 0014 Unless you choose to use a <link linkend="details.database">relational 0015 database</link>, &kmymoney; will store all your financial information in a 0016 file ending in <filename class="extension">.kmy</filename>. Also, unless you use a <link 0017 linkend="firsttime.launch">command line option</link> that tells it not to do 0018 so, when you launch &kmymoney;, it will open the last file it had open. 0019 However, it is important to know that there is more than one type of file 0020 &kmymoney; can use to hold your financial data. 0021 </para> 0022 0023 <para> 0024 This chapter describes the formats in which &kmymoney; stores its data in 0025 permanent form on the user's storage device. In general, &kmymoney; stores its 0026 information in form of an &XML; document. Depending on the actual format, this 0027 &XML; document will be written: 0028 0029 <itemizedlist> 0030 <listitem><para>as a <link linkend="details.formats.plain">plain text 0031 file</link> encoded in UTF-8,</para></listitem> 0032 0033 <listitem><para>as a <link linkend="details.formats.compressed">compressed 0034 file</link> using GZIP compression,</para></listitem> 0035 0036 <listitem><para>as an <link linkend="details.formats.encrypted">encrypted 0037 file</link> using GPG encryption, or</para></listitem> 0038 0039 <listitem><para>as an <link linkend="details.formats.anonymous">anonymous 0040 plain text file</link> encoded in UTF-8 but with all your personal data 0041 scrambled.</para></listitem> 0042 </itemizedlist> 0043 </para> 0044 0045 <sect1 id="details.formats.plain"> 0046 <title>Plain text file</title> 0047 <para> 0048 This is the most space consuming format supported, as no compression is 0049 performed. It is not intended for normal use, and is provided to support 0050 debugging purposes and the capability to modify the file manually. If you end 0051 a filename in <filename class="extension">.xml</filename>, the file will be 0052 stored in this format. 0053 0054 <caution> 0055 <para> 0056 Manual modification of the file is not recommended to the normal user, and 0057 should only be performed if the internal working of &kmymoney; is fully 0058 understood or if instructions from the developers tell you what to do. Don't 0059 blame the &kmymoney; developers if you screw up your data: You have been 0060 warned! 0061 </para> 0062 </caution> 0063 </para> 0064 </sect1> 0065 0066 <sect1 id="details.formats.compressed"> 0067 <title>GZIP-compressed file</title> 0068 <para> 0069 This is the normal format used by &kmymoney; when you store a file with the 0070 extension <filename class="extension">.kmy</filename>. 0071 </para> 0072 0073 <note> 0074 <para> 0075 If <link linkend="details.formats.encrypted">encryption</link> has been 0076 selected, the file will be stored encrypted. 0077 </para> 0078 </note> 0079 0080 <para> 0081 If you want to look at the contents of a GZIP compressed file, rename it to a 0082 filename ending in <filename class="extension">.gz</filename> (⪚, 0083 rename <filename>myfinances.kmy</filename> 0084 to <filename>myfinances.kmy.gz</filename>), then use <command>gunzip</command> 0085 to uncompress the file and look at it. You don't have to compress it before 0086 loading it into &kmymoney; the next time, because &kmymoney; can read the 0087 uncompressed data as well. Nevertheless, if you save it thereafter, it will be 0088 saved compressed again. Use the <link linkend="details.formats.plain"><filename 0089 class="extension">.xml</filename></link> extension to write it in uncompressed 0090 format. 0091 </para> 0092 </sect1> 0093 0094 <sect1 id="details.formats.encrypted"> 0095 <title>GPG-encrypted file</title> 0096 <para> 0097 Using the GPG-encrypted file format is a very secure method of storing your 0098 personal finance data on your storage device. When &kmymoney; has been 0099 instructed through the settings dialog to store your data encrypted, it will 0100 cipher the data using GPG and the key you provided before actually storing 0101 it. When opening an encrypted file, you have to provide the passphrase 0102 necessary to open your keyring. The encrypted file itself will be stored in 0103 GPG's <emphasis>&ASCII; armored</emphasis> format. 0104 <note> 0105 <para> 0106 When using GPG encryption, GPG also compresses the file, so no extra 0107 compression is necessary. 0108 </para> 0109 </note> 0110 </para> 0111 0112 <sect2 id="details.formats.encrypted.gpgkeys"> 0113 <title>GPG-Keys</title> 0114 <para> 0115 If you have not done so already for mail encryption, you need to generate a 0116 key-pair in order to use the GPG encryption feature of 0117 &kmymoney;. Also, <application>GPG</application> must be installed on your 0118 system. 0119 </para> 0120 0121 <para> 0122 The details about how to generate a key-pair and how to take care of it are 0123 beyond the scope of this document. A Mini Howto on this subject can be found 0124 at <ulink url="https://www.gnupg.org/documentation/howtos.en.html">https://www.gnupg.org/documentation/howtos.en.html</ulink>. 0125 </para> 0126 </sect2> 0127 0128 <sect2 id="details.formats.encrypted.keysettings"> 0129 <title>Setting the keys in &kmymoney;</title> 0130 <para> 0131 On the encryption page of the settings dialog, there is a drop down 0132 list where you can select the key that should be used for encryption and 0133 decryption. Additionally you can find a field where you can enter the 0134 key-id of a key not in the listbox. You can use either the key-id, the 0135 email address associated with this key, or any other valid GPG key 0136 identification as the value for this field. When you enter the key-id, 0137 &kmymoney; will check its validity and display a green LED icon in the 0138 dialog if a key is found. 0139 <caution> 0140 <para> 0141 Make sure you have both the public and the private key for this id. If you 0142 do not own the private key for the id entered, you will not be able to 0143 open the file again. 0144 </para> 0145 </caution> 0146 </para> 0147 </sect2> 0148 0149 <sect2 id="details.formats.encrypted.recoverkey"> 0150 <title>The &kmymoney; recover key</title> 0151 <para> 0152 Also on this page of the settings dialog you have the choice of selecting 0153 supplemental encryption with the &kmymoney; recover key. This option is 0154 available to you if that key is stored in your <application>GPG</application> 0155 keyring. Selecting this option will allow you to recover your data even in the 0156 case you lose your own private key. This is possible because the data is not 0157 only encrypted for your own key, but also for the &kmymoney; recover key. This 0158 key is only available to selected &kmymoney; developers (at the time of 0159 writing only to the author). As of the release of &kmymoney; version 4.7, the 0160 recover key is set to expire on 3 January 2015. 0161 </para> 0162 0163 <para> 0164 Under normal circumstances, you will open/save/close your file as usual. In 0165 the abnormal case of loss of your key, you have the chance to contact one of 0166 the developers who has access to the &kmymoney; recover key and request help 0167 to recover your data. You may contact the developers via email to the 0168 &kmymoney; developer mailing list at &devlist;. 0169 </para> 0170 </sect2> 0171 </sect1> 0172 0173 <sect1 id="details.formats.anonymous"> 0174 <title>Anonymous file</title> 0175 <para> 0176 This format is not intended to be used for normal data storage. It is 0177 supported so that in case of a problem, you can supply the &kmymoney; 0178 development team with your file without disclosing any of the confidential 0179 details in your financial data. For example, it changes institution, account, 0180 payee, and category names to strings such as "I000001" and "A000001", it makes 0181 similar changes to all data such as account numbers, and it also randomly 0182 changes the amounts of transactions. 0183 </para> 0184 0185 <para> 0186 If instructed by the developers, use the <guimenuitem>Save as...</guimenuitem> 0187 menu item to store your data in anonymous format by selecting <literal 0188 role="filter">Anonymous files</literal> as the filter. This also changes the 0189 file extension to <filename class="extension">.anon.xml</filename>. 0190 </para> 0191 0192 <para> 0193 To verify that your problem still exists, reload this anonymized 0194 file and try to duplicate your problem. If the problem is still 0195 present, send the file to the developer mailing list at &devlist; 0196 for further investigation. If the problem does not show ... well, I 0197 don't want to think about this scenario right now. 0198 </para> 0199 </sect1> 0200 </chapter> 0201