there's no reason this should still be hanging aroudn the tree
[freeside.git] / sql-ledger / doc / faq.html
diff --git a/sql-ledger/doc/faq.html b/sql-ledger/doc/faq.html
deleted file mode 100644 (file)
index 5a26f64..0000000
+++ /dev/null
@@ -1,556 +0,0 @@
-<ul>
-<p><li><h4>lineitems not printing</h4>
-Templates designed on a *NIX platform don't work on a DOS platform.
-To make them work load the template either with the builtin template editor
-or a text editor and save. Templates designed on a Windows platform have the
-same problem and won't work on a *NIX platform. Once you strip the ^M's
-the'll work just fine.
-
-<p>Everybody now, "Who do we thank for this schlamassl".
-
-<p><li><h4>UTF-8 character encoding</h4>
-Most of the translations are in ISO format. To convert the translations
-change directory to locale/cc and convert the files with iconv to UTF-8.
-You should also convert the COAs too and make sure you select UTF-8
-encoding when you setup a new dataset.
-
-
-<p><li><h4>characterset problems</h4>
-If you have problems displaying the correct characterset try adding
-<pre>
-  AddDefaultCharset On</pre>
-in your httpd.conf file.
-
-<p><li><h4>About installation</h4>
-The easiest is to use the setup.pl script as root.
-You don't need to know very much about your system, just login as root,
-run 'perl setup.pl' and follow the prompts.
-<p>setup.pl does not check for missing software packages and it is your
-responsibilite to make sure you have the required software
-installed either from source or from a package supplied with your distro.
-
-<p>Requirements are clearly indicated in the README file and on the
-download page.
-
-
-<p><li><h4>cannot create function</h4>
-<ol>
-<li>either run createlang and install the plpgsql language handler or
-install yourself. For more information how to do that, visit
-<a href=http://www.postgresql.org/docs/>PostgreSQL</a> and
-read the interactive documentation for procedural languages.
-
-<li>load admin.pl
-<li>unlock the system
-<li>login
-</ol>
-
-
-<p><li><h4>The requested URL /sql-ledger/admin.pl was not found</h4>
-Your webserver doesn't know where to find the script. Most commonly this
-is from distributions hiding webserver configuration files in different
-locations or files and setup.pl wasn't able to configure the location for
-you. Find out which file (httpd.conf, httpdcommon.conf, ...)
-controls your webserver configuration and add
-<pre>
-  # SQL-Ledger
-  Include /etc/httpd/sql-ledger-httpd.conf</pre>
-
-Create a file 'sql-ledger-httpd.conf' in /etc/httpd and copy the next part
-into the file.
-
-<pre>
-  AddHandler cgi-script .pl
-  Alias /sql-ledger/ /var/www/sql-ledger/
-  &lt;Directory /var/www/sql-ledger&gt;
-    Options ExecCGI Includes FollowSymlinks
-  &lt;/Directory&gt;
-
-  &lt;Directory /var/www/sql-ledger/users&gt;
-    Order Deny,Allow
-    Deny from All
-  &lt;/Directory&gt;</pre>
-replace '/etc/httpd' and '/var/www' with the appropriate directories.
-
-
-<p><li><h4>users/members : Permission denied</h4>
-Your webserver must have write access to the users directory.
-If your server runs as user/group 'apache:apache' then set the
-users directory to owner/group apache:apache.
-<pre>
-  # chown -R apache:apache users</pre>
-
-
-<p><li><h4>Dataset newer than version</h4>
-You are trying to use an older version with a dataset which was
-created with a newer version.
-
-
-<p><li><h4>PDF option not working</h4>
-Check if you have latex and pdflatex installed.
-
-
-<p><li><h4>Apache 2.0 "error 500"</h4>
-Some of the early versions of Apache 2.0 (< patchlevel 44) had a rewrite engine
-which decoded escaped strings. This created a lot of problems and I worked
-around it by escaping strings twice.
-If you get a server 500 error 'filename too long' or if collapsed menus
-don't expand you may have to adjusted the following code in
-SL/Form.pm and change the number (44) on line 84.
-<pre>
-  # for Apache 2 we escape strings twice
-  if (($ENV{SERVER_SIGNATURE} =~ /Apache\/2\.(\d+)\.(\d+)/) && !$beenthere) {
-    $str = $self->escape($str, 1) if $2 < 44;
-  }</pre>
-
-
-<p><li><h4>IDENT Authentication failed for user "sql-ledger"</h4>
-Edit pg_hba.conf and change authentication to
-
-<pre>
-  local           all              trust</pre>
-
-The file is in the 'data' directory of your postgresql installation.
-This is different with every distribution so look for it.
-<pre>
-  # find / -name 'pg_hba.conf'</pre>
-
-
-<p><li><h4>DBD-Pg for Mandrake 9.0</h4>
-Mandrake did not package a compiled DBD-Pg package again, so install DBD-Pg
-from the source package.
-Install perl-DBD-Pg-1.01-4mdk.i586.rpm from the 'contrib' area.
-(Mandrake / 9.0 / contrib / RPMS)
-
-
-<p><li><h4>LaTeX error</h4>
-If for some reason LaTeX produces an error message check for strange
-characters in your account description and parts description
-and use \usepackage[latin1]{inputenc} in the preamble.
-
-
-<p><li><h4>LaTeX templates</h4>
-If you don't want to edit tex code by hand,
-you could use Lyx, Abiword, or any WYSIWYG editor capable of exporting
-latex code.
-To do that you must change the tokens for the variables <% and %> to something
-like << and >>. % is the comment character in tex. There is also a
-pagebreak block which must be commented out.
-When you are done with the changes
-replace << and >> with <% and %> and uncomment the pagebreak block.
-
-<p>LaTeX is difficult but it also offers a much superior environment
-to produce professionally looking forms in postscript and PDF format.
-Unfortunately with all that power there is also a steep learning curve.
-
-
-<p><li><h4>W3M</h4>
-pass terminal=mozilla when you start w3m
-<pre>
-  $ w3m -F http://localhost/sql-ledger/login.pl?terminal=mozilla</pre>
-
-To use without frames
-<pre>
-  $ w3m http://localhost/sql-ledger/login.pl?terminal=lynx</pre>
-
-<p><li><h4>PDF option disappeared</h4>
-Edit sql-ledger.conf and set $latex = 1;
-<br>sql-ledger.conf is perl code, check if it compiles, if it does not,
-the internal defaults are used which turn off $latex, hence no PDF option.
-
-<p><li><h4>SQL-Ledger installation Mac Os X 10.3 (Panther)</h4>
-Paul J. Teeter put together
-<a href="http://paulteeter.net/writing/technical/howto-sql-ledger-osx.htm">
-installation instructions</a> to run SL on a Mac.
-<br>The instructions are for SL 2.2 but the will work for any of the later
-releases too.
-
-<p><li><h4>Installation on Windows (WIN32)</h4>
-<ul>
-<li>install Apache, perl,
-<a href=http://techdocs.postgresql.org/guides/InstallingOnWindows>Postgres</a>
-or Oracle, DBI and the appropriate DBD
-module
-<br>if you can't compile DBD-Pg here is a precompiled
-<a href=http://www.edmund-mergl.de/export/>DBD-Pg module</a>
-<li>download the latest version of <a href=/cgi-bin/nav.pl?page=source/index.html&title=Download>SQL-Ledger</a>
-<li>extract the files to c:\apache\sql-ledger
-<li>run 'perl shebang' to change the first line of the scripts. If perl
-is not in c:\perl\bin' change '#!c:\\perl\\bin\\perl' to the location where
-your perl binary is.
-<li>edit c:\apache\conf\httpd.conf and add
-<pre>
-Alias /sql-ledger/ "c:/apache/sql-ledger/"
-&lt;Directory "c:/apache/sql-ledger"&gt;
-  AllowOverride All
-  AddHandler cgi-script .pl
-  Options +ExecCGI
-  Order Allow,Deny
-  Allow from All
-&lt;/Directory&gt;
-
-&lt;Directory "c:/apache/sql-ledger/users"&gt;
-  Order Deny,Allow
-  Deny from All
-&lt;/Directory&gt;
-</pre>
-
-<li>start Apache
-<li>start Postgres|Oracle|DB2
-<li>connect to http://localhost/sql-ledger/admin.pl and setup users
-and datasets
-<li>connect to http://localhost/sql-ledger/login.pl and login
-
-</ul>
-
-<p><li><h4>Installation on Windows /w cygwin</h4>
-<ul>
-<li>install <a href=http://sources.redhat.com/cygwin/>cygwin</a>
-Apache, perl, postgres, gcc and lynx
-<li>install <a href=http://search.cpan.org/search?module=DBI>DBI</a>
-<li>tar zxvf DBI-1.30.tar.gz
-<li>cd DBI-1.30
-<li>perl Makefile.PL
-<li>make install
-<li>install <a href=http://search.cpan.org/search?dist=DBD-Pg>DBD-Pg</a>
-<li>tar -zxvf DBD-Pg-1.13.tar.gz
-<li>export POSTGRES_INCLUDE=/usr/include/postgresql
-<li>export POSTGRES_LIB=/usr/lib/postgresql
-<li>cd DBD-Pg-1.13
-<li>perl Makefile.PL
-<li>make install
-<li>edit /etc/apache/httpd.conf and add
-<pre>
-AddHandler cgi-script .pl
-Alias /sql-ledger/ /var/www/sql-ledger/
-&lt;Directory /var/www/sql-ledger&gt;
-  Options +ExecCGI
-&lt;/Directory&gt;
-
-&lt;Directory /var/www/sql-ledger/users&gt;
-  Order Deny,Allow
-  Deny from All
-&lt/Directory&gt;
-</pre>
-<li>install SQL-Ledger
-<li>cd /var/www
-<li>mkdir sql-ledger
-<li>download <a href=/cgi-bin/download.pl?setup.pl>setup.pl</a> and save the file
-in /var/www/sql-ledger
-<li>cd /var/www/sql-ledger
-<li>perl setup.pl
-</ul>
-
-<p><li><h4>What do I enter for the language</h4>
-If you use English, nothing, if you want to use a foreign language for
-the login screen and admin stuff enter the language code, this is the
-directory in the locale directory.
-
-
-<p><li><h4>printing to a printer</h4>
-Printers are defined in sql-ledger.conf
-
-<pre>
-%printers = ( 'Default' => 'lpr', 'Color' => 'lpr -PEpson' );</pre>
-
-Check in your /etc/printcap file for the names of available printers.
-
-<p>If you have LaTeX installed set
-<pre>
-  $latex = 1</pre> in sql-ledger.conf
-
-<p>To send the document to the printer check the "Postscript" or "PDF" format,
-enter the number of copies and click on the "Print" button.
-
-<p>The printer you enter in your preferences is the default printer.
-You can choose any other available printer. This makes it possible
-to print from anywhere on the network to any printer.
-
-<p>Note: html format is for screen preview. Use the "Print" option from your
-browser to print to a printer.
-
-
-<p><li><h4>Using samba to send printjobs to a printer attached to a Windows XP workstation</h4>
-The next part applies to roll your own printfilters only. If you use CUPS or
-LPRng your milage may vary but you can still use this as a guide how it works.
-I use the printer 'Epson' as an example which is
-attached to a XP workstation called Raven, no password to log on.
-
-<pre>
-/etc/printcap entry on the server which runs lpd
-epson:Epson\
-  :sh:\
-  :lp=/dev/null:\
-  :sd=/var/spool/output/epson:\
-  :if=/usr/libexec/lpr/epson/prnfilter:\
-
-# end of entry in /etc/printcap
-
-
-# pnrfilter shell script
-#!/bin/sh
-# Filter for Epson Stylus
-
-PATH="$PATH:/usr/local/bin"
-
-#read first_line
-read tmp
-first_line=`echo $tmp | cut -b1-2 | sed -n '1p'`
-
-first_chr=`expr "$first_line" : '\(.\)'`
-first_two=`expr "$first_line" : '\(..\)'`
-rewindstdin
-
-if [ "$first_two" = "%!" ]; then # Postscript file
-  gs @st640p.upp -dSAFER -dNOPAUSE -q -sOutputFile=/tmp/$$ -
-else
-  # text file
-  cat &gt; /tmp/$$
-  echo -n "^L" &gt;&gt; /tmp/$$
-  smbclient '\\Raven\Epson' "" -c 'printmode text'
-fi
-
-smbclient '\\Raven\Epson' "" -P -c "print /tmp/$$"
-rm /tmp/$$
-
-# EOF
-
-
-rewindstdin is a small program to rewind the filehandle for STDIN
-save the next part up to EOF to a file rewindstdin.c and compile
-
-#include &lt;sys/types.h&gt;
-#include &lt;unistd.h&gt;
-extern int errno;
-main()
-{
-  if( lseek(0,0,0) == 0 ){
-    errno = 0;
-  }
-  return( errno );
-}
-
-# EOF
-
-compile to an executable
-
-gcc -o /usr/local/bin/rewindstdin rewindstdin.c
-</pre>
-
-
-<p><li><h4>beginning balances</h4>
-Add a GL Journal entry and enter the beginning balance for your accounts.
-Beginning balances are the balances from your last balance sheet. If you also
-add open invoices to account for COGS for inventory, add the invoices
-and make the appropriate adjustments.
-
-
-<p><li><h4>establish a beginning inventory</h4>
-add the parts with a vendor invoice. Use the <b>real cost</b> for the items,
-not zero. If you use zero cost then the cost of goods will be zero when you
-sell the item.
-
-
-<p><li><h4>Assemblies</h4>
-Assemblies are manufactured goods assembled from parts, services and
-assemblies.  Because you do not buy assemblies you 'stock assemblies' by
-adding assembled units to your inventory. The quantity for individual parts 
-is reduced and the quantity for the assembly increased. To disassemble an
-assembly you simply return the parts to inventory by entering a negative
-quantity for the number of assemblies to stock.
-
-
-<p><li><h4>customizing SQL-Ledger</h4>
-The <a href=/cgi-bin/nav.pl?page=feature/api.html&title=Application%20Interface>application interface</a>
-consists of a global and private interface.
-
-
-<p><li><h4>DBD-Pg not installed</h4>
-
-Most modern distributions now package DBD-Pg. If it is
-not packaged follow this recipe to get it working.
-
-<ul>
-  <li>check if you have the header files for PostgreSQL
-  <br>$ find / -name 'libpq-fe.h'
-  <br>if nothing shows up install the development package for PostgreSQL
-  <li>download and untar DBD-Pg
-  <li>set the environment variables POSTGRES_LIB and POSTGRES_INCLUDE
-  <li>cd to DBD-Pg directory
-  <br>as ordinary user
-  <br>$ perl Makefile.PL
-  <br>$ make
-  <br>$ make test
-  <br>if all went well su to root
-  <br># make install
-  <li>remove DBD-Pg
-</ul>
-
-
-<p><li><h4>login.pl has compilation error</h4>
-
-This could be because of a missing configuration file in the users directory
-
-<p>check the permission for the users directory. The directory must be
-set writeable for the webserver. If your webserver runs ias user/group
-nobody.nogroup set the directory to
-<pre>
-drwx--x--x   2 nobody   nogroup    1024 May 26 16:49 users
-
-or
-
-drwxrwx--x   2 johndoe  nogroup    1024 May 26 16:49 users</pre>
-
-
-<p><li><h4>script not executing, shows in browser instead</h4>
-
-Add
-<pre>
-  AddHandler cgi-script .pl</pre>
-in your httpd.conf file.
-
-
-<p><li><h4>unknown terminal!</h4>
-the frontend script couldn't figure out which browser you are using
-<p>include the terminal variable on the URL
-<pre>
-  http://localhost/sql-ledger/login.pl?terminal=lynx</pre>
-Valid terminal variables are lynx and mozilla
-
-
-<p><li><h4>permission denied</h4>
-
-Check if your web server has write permission to write to the following
-files and directories:
-<pre>
-  users/
-  templates/
-  users/members
-
-  # chown nobody:nogroup users templates users/members
-</pre>
-
-
-<p><li><h4>permission denied to access tables</h4>
-The user you entered in the "Database section" must be a valid
-database user who has rights to access the tables.
-
-<p>If the tables are owned by 'joe' and you enter 'mary' as the dba
-you might run into this problem if mary doesn't have the rights to
-access tables owned by joe.
-
-
-<p><li><h4>html and graphics files don't show up on screen</h4>
-
-Enable Includes and FollowSymlinks Options in your httpd.conf file
-<pre>
-  &lt;Directory /usr/local/sql-ledger&gt;
-    Options ExecCGI Includes FollowSymlinks
-  &lt;/Directory&gt;
-</pre>
-
-
-<p><li><h4>Can I use mySQL</h4>
-
-mySQL lacks certain features required by SQL-Ledger.
-
-
-<p><li><h4>switch display to a foreign language</h4>
-
-Load your preferences and select the language.
-<br>Language selection is in accordance to 
-<a href=http://www.unece.org/cefact/locode/service/main.htm>
-ISO 3166-1</a> standards.
-
-
-<p><li><h4>Text shows in English when I use a foreign language</h4>
-
-This is because the corresponding hash entry is missing.
-Add the missing text in the locale/cc/all or locale/cc/missing
-file and run 'perl locales.pl' from the command line to rebuild
-the individual files.
-
-<br>cc refers to the country code.
-
-
-<p><li><h4>switch to a foreign language for the login and admin screen</h4>
-
-Edit sql-ledger.conf and enter the code for the $language variable
-<pre>
-  $language = "de";</pre>
-
-<p>This is a global change and applies to all logins, individual settings
-may be changed by setting the language in your Preferences.
-
-
-</ul>
-
-<p>
-<hr>
-<a name=security>
-<h1>SQL-Ledger security</h1>
-</a>
-
-<ul>
-<li>The security features built into SQL-Ledger provide encrypted passwords
-and access control which makes it fairly safe out of the box to run even in
-front of a firewall.
-Some precautions which are out of our control must be taken though.
-It matters where you install SL and how you configure your web server and
-SQL server.
-
-<pre>
-  Typical setups:
-  
-  /usr/local/vh/www                   <- DocumentRoot for virtual host
-  /usr/local/vh/sql-ledger            <- Alias for sql-ledger
-  /usr/local/vh/users                 <- users directory out of reach
-
-<hr width=60% align=left>
-  /usr/local/vh/www                   <- DocumentRoot for virtual host
-  /usr/local/vh/www/sql-ledger        <- Alias for sql-ledger
-  /usr/local/vh/www/sql-ledger/users  <- users configuration files and tmp space
-
-  &lt;Directory /usr/local/vh/www/sql-ledger/users&gt;  <- disable webserver access
-    Order Deny,Allow                                 for users directory
-    Deny from All
-  &lt;/Directory&gt;
-
-</pre>
-
-The location for the users directory can be specified in sql-ledger.conf
-
-<p><li>Set permission for the users and templates directory to 711
-
-<p><li>If you do not want anyone to change the templates with the built-in
-editor set the files in templates/directory/ to read only or disable
-the menu item to edit the templates.
-
-<p><li>You may setup a read-only environment if you disable the menu items
-to add data. i.e 'Add Transaction' if unchecked you will not be able to add
-a transaction or repost a transaction. You may look at it but nothing else.
-
-<p><li>There are various settings for audit control and you may disable
-reposting entirely or up to a certain date.
-
-<p><li>For PostgreSQL you may also set who has access to the server in the file
-pg_hba.conf
-<br>Authentication crypt does not work because not all SQL servers
-accept encrypted passwords.
-
-<p><li>in addition you can secure the tables from unauthorized access by
-setting up a different database user and GRANT rights. For instance,
-users without DELETE rights will still be able to use the program, change
-customers and vendors, add transactions but will not be able to delete or
-repost transactions.
-<br>To lock all the tables to create a RO system GRANT SELECT rights only.
-
-<p><li>Other security options include a secure shell, your webserver's
-authentication system, SSL, encrypted tunnels, ...
-
-</ul>
-
-</BODY>
-</HTML>
-