summaryrefslogtreecommitdiff
path: root/httemplate/docs
diff options
context:
space:
mode:
Diffstat (limited to 'httemplate/docs')
-rw-r--r--httemplate/docs/ach.html4
-rwxr-xr-xhttemplate/docs/admin.html3
-rw-r--r--httemplate/docs/billing.html11
-rw-r--r--httemplate/docs/cvv2.html1
-rw-r--r--httemplate/docs/index.html3
-rw-r--r--httemplate/docs/install-rt.html78
-rw-r--r--httemplate/docs/install.html135
-rw-r--r--httemplate/docs/schema.diabin16364 -> 14438 bytes
-rw-r--r--httemplate/docs/schema.html39
-rw-r--r--httemplate/docs/selfservice.html38
-rw-r--r--httemplate/docs/upgrade10.html307
-rw-r--r--httemplate/docs/upgrade8.html4
12 files changed, 339 insertions, 284 deletions
diff --git a/httemplate/docs/ach.html b/httemplate/docs/ach.html
index b8a17c87d..b79df78fe 100644
--- a/httemplate/docs/ach.html
+++ b/httemplate/docs/ach.html
@@ -4,7 +4,9 @@
Electronic check (ACH) information
</TITLE>
</HEAD>
- <BODY BGCOLOR="#ffffff">
+ <BODY BGCOLOR="#e8e8e8">
<IMG BORDER=0 SRC="../images/ach.png">
+ <BR>
+ <CENTER><A HREF="javascript:close()">(close window)</A></CENTER>
</BODY>
</HTML>
diff --git a/httemplate/docs/admin.html b/httemplate/docs/admin.html
index 9ce259c2b..50beafe78 100755
--- a/httemplate/docs/admin.html
+++ b/httemplate/docs/admin.html
@@ -42,8 +42,7 @@
sources</u> and <u>Add a new advertising source</u>.
<li>Click on <u>New Customer</u> and create a new customer for your system
- accounts with billing type <b>Complimentary</b>. Leave the <i>First
- package</i> dropdown set to <b>(none)</b>.
+ accounts with billing type <b>Complimentary</b>.
<li>From the Customer View screen of the newly created customer, order the
package you defined above.
diff --git a/httemplate/docs/billing.html b/httemplate/docs/billing.html
index adaac17dc..a9d7508fc 100644
--- a/httemplate/docs/billing.html
+++ b/httemplate/docs/billing.html
@@ -13,8 +13,8 @@
<li>Typeset (LaTeX) invoice templates
<ul>
<li>Install teTeX and Ghostscript (included with most distributions).
- <li>Place your logo in EPS (Encapsulated PostScript) format with size 90pt X 36pt (<code>epsffit -c 0 0 90 33 yourlogo.eps &gt;logo.eps</code>) at <code>/usr/local/etc/freeside/conf.<i>your_datasrc</i>/logo.eps</code>.
- <li>Edit the <b>invoice_latexreturnaddress</b>, <b>invoice_latexfooter</b>, <b>invoice_latexnotes</b>, and <b>invoice_latexsmallfooter</b> configuration options. If you are adventurous, edit <b>invoice_latex</b> as well.
+ <li>Place your logo in EPS (Encapsulated PostScript) format at <code>/usr/local/etc/freeside/conf.<i>your_datasrc</i>/logo.eps</code>.
+ <li>Edit the <b>invoice_latexfooter</b>, <b>invoice_latexnotes</b>, and <b>invoice_latexsmallfooter</b> configuration files. If you are adventurous, edit <b>invoice_latex</b> as well.
</ul>
<li>Plaintext invoice templates
<ul>
@@ -30,13 +30,6 @@
<!-- <li>$overdue - true if this invoice is overdue -->
</ul>
</ul>
- <li>HTML invoice templates
- <ul>
- <li>Place your logo in PNG format at <code>/usr/local/etc/freeside/conf.<i>your_datasrc</i>/logo.png</code>.
- <li>HTML invoices also use <a href="http://search.cpan.org/~mjd/Text-Template/lib/Text/Template.pm">Text::Template</a>.
- <li>Edit the <b>invoice_html</b> configuration option.
- <li>The following configuration options can be set to override the default behaviour of using the invoice_latex* data: <b>invoice_htmlreturnaddress</b>, and <b>invoice_htmlfooter</b>, <b>invoice_htmlnotes</b>.
- </ul>
<!-- <li>Batch credit card processing
<ul>
<li>After <a href="man/bin/freeside-daily.html"><b>freeside-daily</b></a> is run, a credit card batch will be in the <a href="schema.html#cust_pay_batch">cust_pay_batch</a> table. Export this table to your credit card batching.
diff --git a/httemplate/docs/cvv2.html b/httemplate/docs/cvv2.html
index 767098537..fe8a17f6f 100644
--- a/httemplate/docs/cvv2.html
+++ b/httemplate/docs/cvv2.html
@@ -20,5 +20,6 @@
<IMG BORDER=0 ALT="American Express" SRC="../images/cvv2_amex.png">
</TD>
</TABLE>
+ <CENTER><A HREF="javascript:close()">(close window)</A></CENTER>
</BODY>
</HTML>
diff --git a/httemplate/docs/index.html b/httemplate/docs/index.html
index 7254d76f3..d0151edeb 100644
--- a/httemplate/docs/index.html
+++ b/httemplate/docs/index.html
@@ -7,12 +7,11 @@
<h3>Installation and upgrades</h3>
<ul>
<li><a href="install.html">New Installation</a>
- <li><a href="install-rt.html">Installing integrated RT ticketing</a>
<li><a href="upgrade7.html">Upgrading from 1.3.0 to 1.3.1</a>
<li><a href="upgrade8.html">Upgrading from 1.3.1 to 1.4.0</a>
<li><a href="upgrade9.html">Upgrading from 1.4.0 to 1.4.1</a>
<li><a href="upgrade-1.4.2.html">Upgrading from 1.4.1 to 1.4.2</a>
- <li><a href="upgrade10.html">Upgrading from 1.4.1 (or 1.4.2) to 1.5.7</a>
+ <li><a href="upgrade10.html">Upgrading from 1.4.1 (or 1.4.2?) to 1.5.0</a>
</ul>
<h3>Configuration and setup</h3>
<ul>
diff --git a/httemplate/docs/install-rt.html b/httemplate/docs/install-rt.html
deleted file mode 100644
index da0941a09..000000000
--- a/httemplate/docs/install-rt.html
+++ /dev/null
@@ -1,78 +0,0 @@
-<head>
- <title>Installing integrated RT ticketing</title>
-</head>
-<body>
-<h1>Installing integrated RT ticketing</h1>
-
-<p><i>Integrated ticketing is an new feature and these instructions are preliminary. Documentation contributions are welcome.</i>
-
-<p><i>There is also support for running this integration against an external RT installation, but it is not (yet) documented.</i>
-
-<p>Perl minimum version 5.8.3 is required. HTML::Mason is required.
-
-<p>Install the following perl modules:
- <ul>
- <li><a href="http://search.cpan.org/search?dist=Apache-Session">Apache::Session</a>
- <li><a href="http://search.cpan.org/search?dist=HTML-Tree">HTML::TreeBuilder (HTML-Tree)</a>
- <li><a href="http://search.cpan.org/search?dist=HTML-Format">HTML::FormatText (HTML-Format)</a>
- <li><a href="http://search.cpan.org/search?dist=Test-Inline">Test::Inline</a>
- <li><a href="http://search.cpan.org/search?dist=Class-ReturnValue">Class::ReturnValue</a>
- <li><a href="http://search.cpan.org/search?dist=DBIx-SearchBuilder">DBIx::SearchBuilder</a>
- <li><a href="http://search.cpan.org/search?dist=Log-Dispatch">Log::Dispatch</a>
- <li><a href="http://search.cpan.org/search?dist=Locale-Maketext-Lexicon">Locale::Maketext::Lexicon</a>
- <li><a href="http://search.cpan.org/search?dist=Locale-Maketext-Fuzzy">Locale::Maketext::Fuzzy</a>
- <li><a href="http://search.cpan.org/search?dist=Text-Wrapper">Text::Wrapper</a>
- <li><a href="http://search.cpan.org/search?dist=Time-modules">Time::ParseDate (Time-modules)</a>
- <li><a href="http://search.cpan.org/search?dist=TermReadKey">Term::ReadKey (TermReadKey)</a>
- <li><a href="http://search.cpan.org/search?dist=Text-Autoformat">Text::Autoformat</a>
- <li><a href="http://search.cpan.org/search?dist=Text-Quoted">Text::Quoted</a>
- <li><a href="http://search.cpan.org/search?dist=Regexp-Common">Regexp::Common</a>
- <li><a href="http://search.cpan.org/search?dist=HTML-Scrubber">HTML::Scrubber</a>
- <li><a href="http://search.cpan.org/search?dist=Tree-Simple">Tree::Simple</a>
- </ul>
-
-<p>Create a new Unix group called 'rt'
-
-<p>Edit the top-level Makefile, set RT_ENABLED to 1 and set the RT_DOMAIN, RT_TIMEZONE, and FREESIDE_URL variables.
-
-<p><pre>make configure-rt
-make create-rt
-make install-rt
-</pre>
-
-<p>Add the following to your httpd.conf:
-<pre>
-# replace /var/www/freeside with your freeside document root
-&lt;DirectoryMatch "^/var/www/freeside/rt/.*NoAuth"&gt;
-&lt;Limit GET POST&gt;
-allow from all
-Satisfy any
-SetHandler perl-script
-PerlHandler HTML::Mason
-&lt;/Limit&gt;
-&lt;/DirectoryMatch&gt;
-# replace /var/www/freeside with your freeside document root
-&lt;DirectoryMatch "^/var/www/freeside/rt/.*NoAuth/images"&gt;
-SetHandler None
-&lt;/DirectoryMatch&gt;
-# replace /var/www/freeside with your freeside document root
-&lt;Directory /var/www/freeside/rt/Ticket/Attachment&gt;
-SetHandler perl-script
-PerlHandler HTML::Mason
-&lt;/Directory&gt;
-</pre>
-
-<p>Set the <b>ticket_system</b> configuration value to <b>RT_Internal</b>. You may also wish to set <b>ticket_system-default_queueid</b> once you have RT configured.
-
-<p>Bootstrap RT's permissions:
- <ul>
- <li>Click on "Ticketing Main" on the Freeside main menu to auto-create an RT login for your username
- <li>Run <code>freeside-adduser -h /usr/local/etc/freeside/htpasswd root</code> and set a (temporary) password
- <li>Log into your Freeside installation as the "root" user you just created, by closing your browser or using <code>https://root@yourmachone/freeside/</code> syntax.
- <li>Click on "Ticketing Main" on the Freeside main menu. Click on "Configuration", then "Global", and then "User Rights". Grant the "SuperUser" right to your RT login.
- <li>Remove the temporary "root" user from /usr/local/etc/freeside/mapsecrets and /usr/local/etc/freeside/htpasswd
- </ul>
-
-<p>Follow the <A HREF="http://wiki.bestpractical.com/">regular RT documentation</A> to configure RT, setup the mailgate, etc.
-
-</body>
diff --git a/httemplate/docs/install.html b/httemplate/docs/install.html
index 1f80db1a7..86e2a6b8c 100644
--- a/httemplate/docs/install.html
+++ b/httemplate/docs/install.html
@@ -14,65 +14,51 @@ Before installing, you need:
<li>Optional, enables typeset invoices: teTeX and Ghostscript (included with most distributions).
<li>A <b>transactional</b> database engine <a href="http://search.cpan.org/search?mode=module&query=DBD%3A%3A">supported</a> by Perl's <a href="http://dbi.perl.org">DBI</a>.
<ul>
- <li><a href="http://www.postgresql.org/">PostgreSQL</a> is recommended (v7.2 or later, 7.4 or later recommended).
- <li> <a href="http://www.mysql.com/">MySQL</a> is <b>not currently supported</b>. <FONT SIZE="-1"><i>Developers intersted in maintaining MySQL support are welcome to ask on the -devel mailing list; many things work, but MySQL support needs a maintainer to update it for recent (and future) changes.</i></FONT>
- <!-- <li><a href="http://www.mysql.com/">MySQL</a> <b>MINIMUM VERSION 4.1</b> is untested but may work. Versions before 4.1 do not support standard SQL subqueries and are <b>NOT SUPPORTED</b>.
-<!-- <li>MySQL has been reported to work.
- MySQL's default <a href="http://www.mysql.com/doc/M/y/MyISAM.html">MyISAM</a> and <a href="http://www.mysql.com/doc/I/S/ISAM.html">ISAM</a> table types are not supported. You <b>must</b> use one of the new <a href="http://www.mysql.com/doc/T/a/Table_types.html">transaction-safe table types</a> such as <a href="http://www.mysql.com/doc/I/n/InnoDB.html">InnoDB</a>. Set it as the default table type using the <code>--default-table-type=InnoDB</code> <a href="http://www.mysql.com/documentation/mysql/bychapter/manual_MySQL_Database_Administration.html#Command-line_options">mysqld command-line option</a> or by setting <code>default-table-type=InnoDB</code> in the <a href="http://www.mysql.com/documentation/mysql/bychapter/manual_MySQL_Database_Administration.html#Option_files">my.cnf option file</a>.
--->
+ <li><a href="http://www.postgresql.org/">PostgreSQL</a> is recommended (v7or later).
+ <li><a href="http://www.mysql.com/">MySQL</a> <b>MINIMUM VERSION 4.1</b> is untested but may work. Versions before 4.1 do not support standard SQL subqueries and are <b>NOT SUPPORTED</b>.<!-- If you are a developer who wishes to contribute MySQL 3.x/4.0 support, see <a href="http://pouncequick.420.am/rt/Ticket/Display.html?id=438">ticket #438</a> in the bug-tracking system and ask on the -devel mailing list. -->
+<!-- <li>MySQL has been reported to work. -->
+ MySQL's default <a href="http://www.mysql.com/doc/M/y/MyISAM.html">MyISAM</a> and <a href="http://www.mysql.com/doc/I/S/ISAM.html">ISAM</a> table types are not supported. You <b>must</b> use one of the new <a href="http://www.mysql.com/doc/T/a/Table_types.html">transaction-safe table types</a> such as <!-- <a href="http://www.mysql.com/doc/B/D/BDB.html">BDB</a> or --><a href="http://www.mysql.com/doc/I/n/InnoDB.html">InnoDB</a>. Set it as the default table type using the <!-- <code>--default-table-type=BDB</code> or --><code>--default-table-type=InnoDB</code> <a href="http://www.mysql.com/documentation/mysql/bychapter/manual_MySQL_Database_Administration.html#Command-line_options">mysqld command-line option</a> or by setting <!--<code>default-table-type=BDB</code> or --><code>default-table-type=InnoDB</code> in the <a href="http://www.mysql.com/documentation/mysql/bychapter/manual_MySQL_Database_Administration.html#Option_files">my.cnf option file</a>.
</ul>
- <i>Note: the above only applies to the database used by the Freeside software itself. Freeside can integrate with RADIUS and other servers running MySQL <!--(any version)--> or any other DBI-supported database.</i>
<li>Perl modules (<a href="http://search.cpan.org/~andk/CPAN/lib/CPAN.pm">CPAN</a> will query, download and build perl modules automatically)
<ul>
-<!-- <li><a href="http://search.cpan.org/dist/Array-PrintCols">Array-PrintCols</a>
- <li><a href="http://search.cpan.org/dist/Term-Query">Term-Query</a> (make test broken; install manually) -->
- <li><a href="http://search.cpan.org/dist/MIME-Base64">MIME-Base64</a>
- <li><a href="http://search.cpan.org/dist/Digest-MD5">Digest-MD5</a>
-<!-- <li><a href="http://search.cpan.org/dist/MD5">MD5</a> -->
- <li><a href="http://search.cpan.org/dist/URI">URI</a>
- <li><a href="http://search.cpan.org/dist/HTML-Tagset">HTML-Tagset</a>
- <li><a href="http://search.cpan.org/dist/HTML-Parser">HTML-Parser</a>
- <li><a href="http://search.cpan.org/dist/libnet">libnet</a>
- <li><a href="http://search.cpan.org/dist/Locale-Codes">Locale-Codes</a>
- <li><a href="http://search.cpan.org/dist/Net-Whois-Raw">Net-Whois-Raw</a>
- <li><a href="http://search.cpan.org/dist/libwww-perl">libwww-perl</a>
- <li><a href="http://search.cpan.org/dist/Business-CreditCard">Business-CreditCard</a>
-<!-- <li><a href="http://search.cpan.org/dist/Data-ShowTable">Data-ShowTable</a> -->
- <li><a href="http://search.cpan.org/dist/MailTools">MailTools</a>
- <li><a href="http://search.cpan.org/dist/TimeDate">TimeDate</a>
- <li><a href="http://search.cpan.org/dist/DateManip">DateManip</a>
- <li><a href="http://search.cpan.org/dist/File-CounterFile">File-CounterFile</a>
- <li><a href="http://search.cpan.org/dist/FreezeThaw">FreezeThaw</a>
- <li><a href="http://search.cpan.org/dist/String-Approx">String-Approx</a>
- <li><a href="http://search.cpan.org/dist/Text-Template">Text-Template</a>
- <li><a href="http://search.cpan.org/dist/DBI">DBI</a>
- <li><a href="http://search.cpan.org/search?mode=module&query=DBD">DBD for your database engine</a> (<a href="http://search.cpan.org/dist/DBD-Pg">DBD::Pg</a> for PostgreSQL<!--, <a href="http://search.cpan.org/search?dist=DBD-mysql">DBD::mysql</a> for MySQL-->)
-<!-- <li><a href="http://search.cpan.org/dist/DBIx-DataSource">DBIx-DataSource</a> -->
- <li><a href="http://search.cpan.org/dist/DBIx-DBSchema">DBIx-DBSchema</a>
- <li><a href="http://search.cpan.org/dist/Net-SSH">Net-SSH</a>
- <li><a href="http://search.cpan.org/dist/String-ShellQuote">String-ShellQuote</a>
- <li><a href="http://search.cpan.org/dist/Net-SCP">Net-SCP</a>
+<!-- <li><a href="http://search.cpan.org/search?dist=Array-PrintCols">Array-PrintCols</a>
+ <li><a href="http://search.cpan.org/search?dist=Term-Query">Term-Query</a> (make test broken; install manually) -->
+ <li><a href="http://search.cpan.org/search?dist=MIME-Base64">MIME-Base64</a>
+ <li><a href="http://search.cpan.org/search?dist=Digest-MD5">Digest-MD5</a>
+<!-- <li><a href="http://search.cpan.org/search?dist=MD5">MD5</a> -->
+ <li><a href="http://search.cpan.org/search?dist=URI">URI</a>
+ <li><a href="http://search.cpan.org/search?dist=HTML-Tagset">HTML-Tagset</a>
+ <li><a href="http://search.cpan.org/search?dist=HTML-Parser">HTML-Parser</a>
+ <li><a href="http://search.cpan.org/search?dist=libnet">libnet</a>
+ <li><a href="http://search.cpan.org/search?dist=Locale-Codes">Locale-Codes</a>
+ <li><a href="http://search.cpan.org/search?dist=Net-Whois-Raw">Net-Whois-Raw</a>
+ <li><a href="http://search.cpan.org/search?dist=libwww-perl">libwww-perl</a>
+ <li><a href="http://search.cpan.org/search?dist=Business-CreditCard">Business-CreditCard</a>
+<!-- <li><a href="http://search.cpan.org/search?dist=Data-ShowTable">Data-ShowTable</a> -->
+ <li><a href="http://search.cpan.org/search?dist=MailTools">MailTools</a>
+ <li><a href="http://search.cpan.org/search?dist=TimeDate">TimeDate</a>
+ <li><a href="http://search.cpan.org/search?dist=DateManip">DateManip</a>
+ <li><a href="http://search.cpan.org/search?dist=File-CounterFile">File-CounterFile</a>
+ <li><a href="http://search.cpan.org/search?dist=FreezeThaw">FreezeThaw</a>
+ <li><a href="http://search.cpan.org/search?dist=String-Approx">String-Approx</a>
+ <li><a href="http://search.cpan.org/search?dist=Text-Template">Text-Template</a>
+ <li><a href="http://search.cpan.org/search?dist=DBI">DBI</a>
+ <li><a href="http://search.cpan.org/search?mode=module&query=DBD">DBD for your database engine</a> (<a href="http://search.cpan.org/search?dist=DBD-Pg">DBD::Pg</a> for PostgreSQL, <a href="http://search.cpan.org/search?dist=DBD-mysql">DBD::mysql</a> for MySQL)
+<!-- <li><a href="http://search.cpan.org/search?dist=DBIx-DataSource">DBIx-DataSource</a> -->
+ <li><a href="http://search.cpan.org/search?dist=DBIx-DBSchema">DBIx-DBSchema</a>
+ <li><a href="http://search.cpan.org/search?dist=Net-SSH">Net-SSH</a>
+ <li><a href="http://search.cpan.org/search?dist=String-ShellQuote">String-ShellQuote</a>
+ <li><a href="http://search.cpan.org/search?dist=Net-SCP">Net-SCP</a>
<li><a href="http://www.masonhq.com/">HTML::Mason</a> (recommended, enables full functionality) or <a href="http://www.apache-asp.org/">Apache::ASP</a> (deprecated, integrated RT ticketing will not be available)
- <li><a href="http://search.cpan.org/dist/Tie-IxHash">Tie-IxHash</a>
- <li><a href="http://search.cpan.org/dist/Time-Duration">Time-Duration</a>
- <li><a href="http://search.cpan.org/dist/HTML-Widgets-SelectLayers">HTML-Widgets-SelectLayers</a>
- <li><a href="http://search.cpan.org/dist/Storable">Storable</a>
- <li><a href="http://search.cpan.org/dist/Cache-Cache">Cache::Cache</a>
- <li><a href="http://search.cpan.org/dist/NetAddr-IP">NetAddr-IP</a>
- <li><a href="http://search.cpan.org/dist/Chart">Chart</a>
- <li><a href="http://search.cpan.org/dist/Crypt-PasswdMD5">Crypt::PasswdMD5</a>
- <li><a href="http://search.cpan.org/dist/Locale-SubCountry">Locale::SubCountry</a>
- <li><a href="http://search.cpan.org/dist/Frontier-RPC">Frontier::RPC</a>
- <li><a href="http://search.cpan.org/dist/Text-CSV_XS">Text::CSV_XS</a>
- <li><a href="http://search.cpan.org/dist/Spreadsheet-WriteExcel">Spreadsheet::WriteExcel</a>
- <li><a href="http://search.cpan.org/dist/IO-stringy">IO-stringy (IO::Scalar)</a>
- <li><a href="http://search.cpan.org/dist/Frontier-RPC">Frontier::RPC (Frontier::RPC2)</a>
- <li><a href="http://search.cpan.org/dist/MIME-tools">MIME::Entity (MIME-tools)</a>
- <li><a href="http://search.cpan.org/dist/IPC-Run3">IPC::Run3</a>
- <li><a href="http://search.cpan.org/dist/Term-ReadKey">Term::ReadKey</a>
-<!-- <li><a href="http://search.cpan.org/dist/Crypt-YAPassGen">Crypt::YAPassGen</a> -->
- <li><a href="http://search.cpan.org/search?mode=module&query=MIME::Entity">Fax::Hylafax::Client</a> <i>(Required if using FAX invoice destinations)</i>
- <li><a href="http://search.cpan.org/dist/ApacheDBI">Apache::DBI</a> <i>(optional but recommended for better webinterface performance)</i>
+ <li><a href="http://search.cpan.org/search?dist=Tie-IxHash">Tie-IxHash</a>
+ <li><a href="http://search.cpan.org/search?dist=Time-Duration">Time-Duration</a>
+ <li><a href="http://search.cpan.org/search?dist=HTML-Widgets-SelectLayers">HTML-Widgets-SelectLayers</a>
+ <li><a href="http://search.cpan.org/search?dist=Storable">Storable</a>
+<!-- MyAccounts, maybe only for dev <li><a href="http://search.cpan.org/search?dist=Cache-Cache">Cache::Cache</a> -->
+ <li><a href="http://search.cpan.org/search?dist=NetAddr-IP">NetAddr-IP</a>
+ <li><a href="http://search.cpan.org/search?dist=Chart">Chart</a>
+ <li><a href="http://search.cpan.org/search?dist=Crypt-PasswdMD5">Crypt::PasswdMD5</a>
+ <li><a href="http://search.cpan.org/search?dist=ApacheDBI">Apache::DBI</a> <i>(optional but recommended for better webinterface performance)</i>
</ul>
</ul>
Install the Freeside distribution:
@@ -126,49 +112,46 @@ $ su
</ul>
<table>
<tr>
- <th>Mason (recommended)</th><th>Apache::ASP (deprecated)</th>
+ <th>Apache::ASP</th><th>Mason</th>
</tr>
<tr>
-
<td valign="top"><ul>
<li>Configure Apache:
<font size="-1"><pre>
-PerlModule HTML::Mason
-# your freeside docuemnt root
+PerlModule Apache::ASP
+# your freeside document root
&lt;Directory&nbsp;/var/www/freeside&gt;
&lt;Files ~ (\.cgi|\.html)&gt;
AddHandler perl-script .cgi .html
-PerlHandler HTML::Mason
+PerlHandler Apache::ASP
&lt;/Files&gt;
&lt;Perl&gt;
-require&nbsp;"/usr/local/etc/freeside/handler.pl";
+$MLDBM::RemoveTaint = 1;
&lt;/Perl&gt;
+PerlSetVar&nbsp;Global&nbsp;/usr/local/etc/freeside/asp-global/
+PerlSetVar&nbsp;Debug&nbsp;2
+PerlSetVar&nbsp;RequestBinaryRead&nbsp;Off
+# your freeside document root
+PerlSetVar&nbsp;IncludesDir&nbsp;/var/www/freeside
&lt;/Directory&gt;
</pre></font>
</ul></td>
-
<td valign="top"><ul>
<li>Configure Apache:
<font size="-1"><pre>
-PerlModule Apache::ASP
-# your freeside document root
+PerlModule HTML::Mason
+# your freeside docuemnt root
&lt;Directory&nbsp;/var/www/freeside&gt;
&lt;Files ~ (\.cgi|\.html)&gt;
AddHandler perl-script .cgi .html
-PerlHandler Apache::ASP
+PerlHandler HTML::Mason
&lt;/Files&gt;
&lt;Perl&gt;
-$MLDBM::RemoveTaint = 1;
+require&nbsp;"/usr/local/etc/freeside/handler.pl";
&lt;/Perl&gt;
-PerlSetVar&nbsp;Global&nbsp;/usr/local/etc/freeside/asp-global/
-PerlSetVar&nbsp;Debug&nbsp;2
-PerlSetVar&nbsp;RequestBinaryRead&nbsp;Off
-# your freeside document root
-PerlSetVar&nbsp;IncludesDir&nbsp;/var/www/freeside
&lt;/Directory&gt;
</pre></font>
</ul></td>
-
</tr>
</table>
<ul>
@@ -186,16 +169,12 @@ require valid-user
<ul>
<li>First user:<font size="-1">
<pre>$ su
-# <a href="man/bin/freeside-adduser.html">freeside-adduser</a> -c -h /usr/local/etc/freeside/htpasswd <i>username</i></pre></font>
+$ <a href="man/bin/freeside-adduser.html">freeside-adduser</a> -c -h /usr/local/etc/freeside/htpasswd <i>username</i></pre></font>
<li>Additional users:<font size="-1">
<pre>$ su
-# <a href="man/bin/freeside-adduser.html">freeside-adduser</a> -h /usr/local/etc/freeside/htpasswd <i>username</i></pre></font>
+$ <a href="man/bin/freeside-adduser.html">freeside-adduser</a> -h /usr/local/etc/freeside/htpasswd <i>username</i></pre></font>
</ul>
<i>(using other auth types, add each user to your <a href="http://httpd.apache.org/docs/misc/FAQ.html#user-authentication">Apache authentication</a> and then run: <tt>freeside-adduser <b>username</b></tt>)</i>
- <li>Create the Freeside system users:
-<pre>$ su
-# <a href="man/bin/freeside-adduser.html">freeside-adduser</a> fs_queue
-# <a href="man/bin/freeside-adduser.html">freeside-adduser</a> fs_selfservice</pre>
<li>As the freeside UNIX user, run <tt>freeside-setup <b>username</b></tt> to create the database tables, passing the username of a Freeside user you created above:
<pre>
$ su freeside
diff --git a/httemplate/docs/schema.dia b/httemplate/docs/schema.dia
index e00f59ce1..746561550 100644
--- a/httemplate/docs/schema.dia
+++ b/httemplate/docs/schema.dia
Binary files differ
diff --git a/httemplate/docs/schema.html b/httemplate/docs/schema.html
index cdb59a2e9..c5cfd5119 100644
--- a/httemplate/docs/schema.html
+++ b/httemplate/docs/schema.html
@@ -23,7 +23,6 @@
</ul>
<li><a name="cust_bill" href="man/FS/cust_bill.html">cust_bill</a> - Invoices. Declarations that a customer owes you money. The specific charges are itemized in <a href="#cust_bill_pkg">cust_bill_pkg</a>.
<ul>
- <li>billpkgnum - primary_key
<li>invnum - primary key
<li>custnum - <a href="#cust_main">customer</a>
<li>_date
@@ -286,18 +285,6 @@
<li>optionname - option name
<li>optionvalue - option value
</ul>
- <li><a name="reg_code" href="man/FS/reg_code.html">reg_code</A> - One-time registration codes
- <ul>
- <li>codenum - primary key
- <li>code
- <li>agentnum - <a href="#agent">Agent</a>
- </ul>
- <li><a name="reg_code_pkg" href="man/FS/reg_code_pkg.html">reg_code_pkg</A> - Registration code link to package definitions
- <ul>
- <li>codepkgnum - primary key
- <li>codenum - <a href="#reg_code">Registration code</a>
- <li>pkgpart - <a href="#part_pkg">Package definition</a>
- </ul>
<li><a name="part_referral" href="man/FS/part_referral.html">part_referral</a> - Referral listing
<ul>
<li>refnum - primary key
@@ -323,7 +310,6 @@
</ul>
<li><a name="pkg_svc" href="man/FS/pkg_svc.html">pkg_svc</a>
<ul>
- <li>pkgsvcnum - primary key
<li>pkgpart - <a href="#part_pkg">Package definition</a>
<li>svcpart - <a href="#part_svc">Service definition</a>
<li>quantity - quantity of this service that this package includes
@@ -356,13 +342,11 @@
<li>nasport - port number on the NAS
<li>nasnum - <a href="#nas">NAS</a>
</ul>
- <li><a name="prepay_credit" href="man/FS/prepay_credit.html">prepay_credit</a> - prepaid cards
+ <li><a name="prepay_credit" href="man/FS/prepay_credit.html">prepay_credit</a>
<ul>
<li>prepaynum - primary key
- <li>identifier - text or numeric string of prepaid card
- <li>amount - amount of prepayment
- <li>seconds - prepaid time instead of (or in addition to) monetary value
- <li>agentnum - optional agent assignment for prepaid cards
+ <li>identifier - text or numeric string used to receive this credit
+ <li>amount - amount of credit
</ul>
<li><a name="session" href="man/FS/session.html">session</a>
<ul>
@@ -440,7 +424,6 @@
</ul>
<li><a name="type_pkgs" href="man/FS/type_pkgs.html">type_pkgs</a>
<ul>
- <li>typepkgnum - primary key
<li>typenum - <a href="#agent_type">agent type</a>
<li>pkgpart - <a href="#part_pkg">Package definition</a>
</ul>
@@ -478,7 +461,6 @@
</ul>
<li><a name="rate_detail" href="man/FS/rate_detail.html">rate_detail</a> - Call rate detail
<ul>
- <li>ratedetailnum - primary key
<li>ratenum - <a href="#rate">rate plan</a>
<li>orig_regionnum - call origination <a href="#rate_region">region</a>
<li>dest_regionnum - call destination <a href="#rate_region">region</a>
@@ -494,7 +476,7 @@
<li><a name="rate_prefix" href="man/FS/rate_prefix.html">rate_prefix</a> - Call rate prefix
<ul>
<li>prefixnum - primary key
- <li>regionnum - <a href="#rate_region">rate region</a>
+ <li>regionnum <a href="#rate_region">rate region</a>
<li>countrycode
<li>npa
<li>nxx
@@ -506,18 +488,5 @@
<li>locale - locale
<li>msg - Message text
</ul>
- <li><a name="clientapi_session" href="man/FS/clientapi_session.html">clientapi_session</a> - ClientAPI session store
- <ul>
- <li>sessionnum - primary key
- <li>sessionid - session ID
- <li>namespace - session namespace
- </ul>
- <li><a name="clientapi_session_field" href="man/FS/clientapi_session_field.html">clientapi_session_field</a> - Client API session store data
- <ul>
- <li>fieldnum - primary key
- <li>sessionnum - <a href="#session">session</a>
- <li>fieldname
- <li>fieldvalue
- </ul>
</ul>
</body>
diff --git a/httemplate/docs/selfservice.html b/httemplate/docs/selfservice.html
index 9dc8f2a5e..e533ed2ee 100644
--- a/httemplate/docs/selfservice.html
+++ b/httemplate/docs/selfservice.html
@@ -14,38 +14,24 @@ machine, not the backend Freeside server. On the public machine, install:
<li><a href="http://search.cpan.org/search?dist=Storable">Storable</a>
<li><a href="http://search.cpan.org/search?dist=Business-CreditCard">Business-CreditCard</a>
<li><a href="http://search.cpan.org/search?dist=HTTP-BrowserDetect">HTTP::BrowserDetect</a>
- <li><a href="http://search.cpan.org/search?dist=HTML-Parser">HTML::Parser</a>
<li><a href="man/FS/SelfService.html">FS::SelfService</a> (copy the fs_selfservice/FS-SelfService directory to the external machine, then: perl Makefile.PL; make; make install)
+ <li><a href="man/FS/SignupClient.html">FS::SignupClient</a> (copy the fs_signup/FS-SignupClient directory to the external machine, then: perl Makefile.PL; make; make install)
</ul>
Then:
<ul>
<li>Set the <a href="../config/config.cgi#unclassified"><i>signup_server-default_agentnum</i></a> configuration value to a default <a href="../browse/agent.cgi">agent number</a>.
- <li>Set the <a href="../config/config.cgi#unclassified"><i>signup_server-default_refnum</i></a> configuration value to a default <a href="../browse/part_referral.cgi">advertising source</a>.
- <li>Set the <a href="../config/config.cgi#unclassified"><i>signup_server-payby</i></a> configuration value to the acceptable payment types for signups.
- <li>Set the <a href="../config/config.cgi#unclassified"><i>signup_server-realtime</i></a> configuration value to run billing for signups immediately.
+ <li>Set the <a href="../config/config.cgi#unclassified"><i>signup_server-default_refnum</i></a> to a default <a href="../browse/part_referral.cgi">advertising source</a>.
<li>Add the user `freeside' to the the external machine.
- <li>Copy or symlink the <code>fs_selfservice/FS-SelfService/cgi/</code> directory into the web server's document space. Optionally, customize the .html templates. "Entry points" (useful places to link to) are:
- <ul>
- <li>signup.cgi - Signup
- <li>selfservice.cgi - Customer self-service
- <li>agent.cgi - Reseller interface
- <li>passwd.cgi - Simple password-changing interface
- <li>promocode.html - Promotional code pre-signup
- <li>regcode.html - Registration code pre-signup
- <li>stateselect.html - State selection pre-signup
- </ul>
- <li>Enable CGI execution for files with the `.cgi' extension. (with <a href="http://www.apache.org/docs/mod/mod_mime.html#addhandler">Apache</a>), for example: <pre>
-#directory where selfservice .cgi scripts and .html templates are located
-&lt;Directory /var/www/selfservice&gt;
-AddHandler cgi-script .cgi
-Options +ExecCGI
-&lt;/Directory&gt;</pre>
+ <li>Copy or symlink the <pre>fs_selfservice/FS-SelfService/cgi/</pre> directory into the web server's document space, for customer self-service and reseller access. Optionally, customize the .html templates.
+ <li>Copy or symlink the <pre>fs_signup/FS-SignupClient/cgi/</pre> directory into the web server's document space, for signups. Optionally, customize the .html templates.
+ <li>When linking to signup.cgi, you can include a referring custnum in the URL as follows: <code>http://public.web.server/path/signup.cgi?ref=1542</code>
+ <li>Enable CGI execution for files with the `.cgi' extension. (with <a href="http://www.apache.org/docs/mod/mod_mime.html#addhandler">Apache</a>)
<li>Create the /usr/local/freeside directory on the external machine (owned by the freeside user).
- <li>touch /usr/local/freeside/selfservice_socket; chown freeside /usr/local/freeside/selfservice_socket; chmod 600 /usr/local/freeside/selfservice_socket
- <li>Use <a href="http://www.apache.org/docs/suexec.html">suEXEC</a> or <a href="http://www.perl.com/CPAN-local/doc/manual/html/pod/perlsec.html#Security_Bugs">setuid</a> to run signup.cgi, selfservice.cgi, agent.cgi and passwd.cgi as the freeside user. <b>Do not run your public web server as the freeside user!</b>
+ <li>touch /usr/local/freeside/fs_signupd_socket; chown freeside /usr/local/freeside/fs_signupd_socket; chmod 600 /usr/local/freeside/fs_signupd_socket
+ <li>Use <a href="http://www.apache.org/docs/suexec.html">suEXEC</a> or <a href="http://www.perl.com/CPAN-local/doc/manual/html/pod/perlsec.html#Security_Bugs">setuid</a> (see <a href="install.html">install.html</a> for details) to run signup.cgi, selfservice.cgi, agent.cgi and passwd.cgi as the freeside user.
<li>Append the identity.pub from the freeside user on your freeside machine to the authorized_keys file of the newly created freeside user on the external machine(s).
- <li>Run an instance of <pre>freeside-selfservice-server <i>user</i> <i>machine</i></pre> on the Freeside machine for each external machine.
+ <li>Run an instance of <pre>freeside-selfservice-server <i>user</i> <i>machine</i> <i>agentnum</i> <i>refnum</i></pre> on the Freeside machine for each external machine.
<ul>
<li><i>user</i> is a user from the mapsecrets file.
<li><i>machine</i> is the name of the external machine.
@@ -55,12 +41,8 @@ Options +ExecCGI
</ul>
Optional:
<ul>
- <li>You can install the files in the <code>fs_selfservice/FS-SelfService/cgi/</code> directory multiple places in your web server's document space, and customize the .html templates differently for each. You can set the agentnum used for each signup by editing signup.html and including a hidden field with the agentnum:
- <pre>
- &lt;INPUT TYPE="hidden" NAME="agentnum" VALUE="3"&gt;</pre>
- <li>When linking to signup.cgi, you can include a referring custnum in the URL as follows: <code>http://public.web.server/path/signup.cgi?ref=1542</code>
<li>If you create a <b>/usr/local/freeside/ieak.template</b> file on the external machine, it will be sent to IE users with MIME type <i>application/x-Internet-signup</i>. This file will be processed with <a href="http://search.cpan.org/doc/MJD/Text-Template-1.23/Template.pm">Text::Template</a> with the variables listed below available.
- (an example file is included as <b>fs_selfservice/FS-SelfService/ieak.template</b>) See the section on <a href="http://www.microsoft.com/windows/ieak/techinfo/deploy/60/en/INS.HTM">internet settings files</a> in the <a href="http://www.microsoft.com/windows/ieak/techinfo/deploy/60/en/toc.asp">IEAK documentation</a> for more information.
+ (an example file is included as <b>fs_signup/ieak.template</b>) See the section on <a href="http://www.microsoft.com/windows/ieak/techinfo/deploy/60/en/INS.HTM">internet settings files</a> in the <a href="http://www.microsoft.com/windows/ieak/techinfo/deploy/60/en/toc.asp">IEAK documentation</a> for more information.
<!-- <li>If you create a <b>/usr/local/freeside/success.html</b> file on the external machine, it will be used as the success HTML page. Although template substiutions are available, a regular HTML file will work fine here, unlike signup.html. An example file is included as <b>fs_signup/FS-SignupClient/cgi/success.html</b>-->
<li>Variable substitutions available in <b>ieak.template</b> and <b>success.html</b>:
<ul>
diff --git a/httemplate/docs/upgrade10.html b/httemplate/docs/upgrade10.html
index ac2c6238d..d8186858f 100644
--- a/httemplate/docs/upgrade10.html
+++ b/httemplate/docs/upgrade10.html
@@ -1,44 +1,259 @@
<pre>
this is incomplete
-NOTE: Version numbering has been simplified. 1.5.7 is the version after
-1.5.0pre6. It is still a development version - releases with odd numbered
-middle parts (NN in x.NN.x) are development versions, like Perl or Linux.
-
-If migrating from 1.5.7, see README.1.5.8 instead
-
-If migrating from 1.5.0pre6, see README.1.5.7 instead
-
-install DBD::Pg 1.32, 1.41 or later (not 1.40) (or, if you're using a Perl version before 5.6, you could try installing DBD::Pg 1.22 with <a href="http://420.am/~ivan/DBD-Pg-1.22-fixvercmp.patch">this patch</a> and commenting out the "use DBD::Pg 1.32" at the top of DBIx/DBSchema/DBD/Pg.pm)
-install DBIx::DBSchema 0.27 (or later)
- (if you are running Pg version 7.2.x or earlier, install at least
- DBIx::DBSchema 0.29)
+install DBD::Pg 1.32 (or, if you're using a Perl version before 5.6, you could try installing DBD::Pg 1.22 with <a href="http://420.am/~ivan/DBD-Pg-1.22-fixvercmp.patch">this patch</a> and commenting out the "use DBD::Pg 1.32" at the top of DBIx/DBSchema/DBD/Pg.pm)
+install DBIx::DBSchema 0.23
install Net::SSH 0.08
-install HTML::Widgets::SelectLayers 0.05
-install Business::CreditCard 0.28
-
- If using Apache::ASP, add PerlSetVar RequestBinaryRead Off and PerlSetVar IncludesDir /your/freeside/document/root/ to your Apache configuration and make sure you are using Apache::ASP minimum version 2.55.
- In httpd.conf, change &lt;Files ~ \.cgi&gt; to &lt;Files ~ (\.cgi|\.html)&gt;
- In httpd.conf, change <b>AddHandler perl-script .cgi</b> or <b>SetHandler perl-script</b> to <b>AddHandler perl-script .cgi .html</b>
-install NetAddr::IP, Chart::Base, Locale::SubCountry, Text::CSV_XS,
-Spreadsheet::WriteExcel, IO-stringy (IO::Scalar), Frontier::RPC
-(Frontier::RPC2), MIME::Entity (MIME-tools), IPC::Run3, Net::Whois::Raw,
-JSON and Term::ReadKey
-<!-- and Crypt::YAPassGen-->
+install NetAddr::IP, Chart::Base, IPC::ShareLite and Locale::SubCountry
INSERT INTO msgcat ( msgnum, msgcode, locale, msg ) VALUES ( 20, 'svc_external-id', 'en_US', 'External ID' );
INSERT INTO msgcat ( msgnum, msgcode, locale, msg ) VALUES ( 21, 'svc_external-title', 'en_US', 'Title' );
-DROP INDEX cust_bill_pkg1;
+CREATE TABLE cust_bill_pkg_detail (
+ detailnum serial,
+ pkgnum int NOT NULL,
+ invnum int NOT NULL,
+ detail varchar(80),
+ PRIMARY KEY (detailnum)
+);
+CREATE INDEX cust_bill_pkg_detail1 ON cust_bill_pkg_detail ( pkgnum, invnum );
-On recent Pg versions:
+CREATE TABLE part_virtual_field (
+ vfieldpart int NOT NULL,
+ dbtable varchar(32) NOT NULL,
+ name varchar(32) NOT NULL,
+ check_block text,
+ list_source text,
+ length integer,
+ label varchar(80),
+ PRIMARY KEY (vfieldpart)
+);
+
+CREATE TABLE virtual_field (
+ recnum integer NOT NULL,
+ vfieldpart integer NOT NULL,
+ value varchar(128) NOT NULL,
+ PRIMARY KEY (vfieldpart, recnum)
+);
+
+CREATE TABLE router (
+ routernum serial,
+ routername varchar(80),
+ svcnum int,
+ PRIMARY KEY (routernum)
+);
+
+CREATE TABLE part_svc_router (
+ svcpart int NOT NULL,
+ routernum int NOT NULL
+);
+
+CREATE TABLE addr_block (
+ blocknum serial,
+ routernum int NOT NULL,
+ ip_gateway varchar(15) NOT NULL,
+ ip_netmask int NOT NULL,
+ PRIMARY KEY (blocknum)
+);
+CREATE UNIQUE INDEX addr_block1 ON addr_block ( blocknum, routernum );
+
+CREATE TABLE svc_broadband (
+ svcnum int NOT NULL,
+ blocknum int NOT NULL,
+ speed_up int NOT NULL,
+ speed_down int NOT NULL,
+ ip_addr varchar(15),
+ PRIMARY KEY (svcnum)
+);
+
+CREATE TABLE acct_snarf (
+ snarfnum serial,
+ svcnum int NOT NULL,
+ machine varchar(255) NULL,
+ protocol varchar(80) NULL,
+ username varchar(80) NULL,
+ _password varchar(80) NULL,
+ PRIMARY KEY (snarfnum)
+);
+CREATE INDEX acct_snarf1 ON acct_snarf ( svcnum );
+
+CREATE TABLE svc_external (
+ svcnum int NOT NULL,
+ id int,
+ title varchar(80),
+ PRIMARY KEY (svcnum)
+);
+
+CREATE TABLE part_pkg_temp (
+ pkgpart serial NOT NULL,
+ pkg varchar(80) NOT NULL,
+ "comment" varchar(80) NOT NULL,
+ setup text NULL,
+ freq varchar(80) NOT NULL,
+ recur text NULL,
+ setuptax char(1) NULL,
+ recurtax char(1) NULL,
+ plan varchar(80) NULL,
+ plandata text NULL,
+ disabled char(1) NULL,
+ taxclass varchar(80) NULL,
+ PRIMARY KEY (pkgpart)
+);
+INSERT INTO part_pkg_temp SELECT * from part_pkg;
+DROP TABLE part_pkg;
+ALTER TABLE part_pkg_temp RENAME TO part_pkg;
+CREATE INDEX part_pkg1 ON part_pkg(disabled);
+
+On modern Pg:
+ALTER TABLE part_pkg DROP CONSTRAINT part_pkg_temp_pkey;
+ALTER TABLE part_pkg ADD PRIMARY KEY (pkgpart);
+select setval('public.part_pkg_temp_pkgpart_seq', ( select max(pkgpart) from part_pkg) );
+
+Or on Pg versions that don't support DROP CONSTRAINT and ADD PRIMARY KEY (tested on 7.1 and 7.2 so far):
+DROP INDEX part_pkg_temp_pkey;
+CREATE UNIQUE INDEX part_pkg_pkey ON part_pkg (pkgpart);
+probably this one?: select setval('part_pkg_temp_pkgpart_seq', ( select max(pkgpart) from part_pkg) );
+probably not this one?: select setval('part_pkg_pkgpart_seq', ( select max(pkgpart) from part_pkg) );
+
+CREATE TABLE h_part_pkg_temp (
+ historynum serial NOT NULL,
+ history_date int,
+ history_user varchar(80) NOT NULL,
+ history_action varchar(80) NOT NULL,
+ pkgpart int NOT NULL,
+ pkg varchar(80) NOT NULL,
+ "comment" varchar(80) NOT NULL,
+ setup text NULL,
+ freq varchar(80) NOT NULL,
+ recur text NULL,
+ setuptax char(1) NULL,
+ recurtax char(1) NULL,
+ plan varchar(80) NULL,
+ plandata text NULL,
+ disabled char(1) NULL,
+ taxclass varchar(80) NULL,
+ PRIMARY KEY (historynum)
+);
+INSERT INTO h_part_pkg_temp SELECT * from h_part_pkg;
+DROP TABLE h_part_pkg;
+ALTER TABLE h_part_pkg_temp RENAME TO h_part_pkg;
+CREATE INDEX h_part_pkg1 ON h_part_pkg(disabled);
+
+On modern Pg:
+ALTER TABLE h_part_pkg DROP CONSTRAINT h_part_pkg_temp_pkey;
+ALTER TABLE h_part_pkg ADD PRIMARY KEY (historynum);
+select setval('public.h_part_pkg_temp_historynum_seq', ( select max(historynum) from h_part_pkg) );
+
+Or on Pg versions that don't support DROP CONSTRAINT and ADD PRIMARY KEY (tested on 7.1 and 7.2 so far):
+DROP INDEX h_part_pkg_temp_pkey;
+CREATE UNIQUE INDEX h_part_pkg_pkey ON h_part_pkg (historynum);
+probably this one?: select setval('h_part_pkg_temp_historynum_seq', ( select max(historynum) from h_part_pkg) );
+probably not this one?: select setval('h_part_pkg_historynum_seq', ( select max(historynum) from h_part_pkg) );
+
+CREATE TABLE cust_pay_refund (
+ payrefundnum serial NOT NULL,
+ paynum int NOT NULL,
+ refundnum int NOT NULL,
+ _date int NOT NULL,
+ amount decimal(10,2) NOT NULL,
+ PRIMARY KEY (payrefundnum)
+);
+CREATE INDEX cust_pay_refund1 ON cust_pay_refund(paynum);
+CREATE INDEX cust_pay_refund2 ON cust_pay_refund(refundnum);
-ALTER TABLE cust_main ALTER COLUMN payinfo varchar(512) NULL;
-ALTER TABLE h_cust_main ALTER COLUMN payinfo varchar(512) NULL;
+CREATE TABLE cust_pay_void (
+ paynum int NOT NULL,
+ custnum int NOT NULL,
+ paid decimal(10,2) NOT NULL,
+ _date int,
+ payby char(4) NOT NULL,
+ payinfo varchar(80),
+ paybatch varchar(80),
+ closed char(1),
+ void_date int,
+ reason varchar(80),
+ otaker varchar(32) NOT NULL,
+ PRIMARY KEY (paynum)
+);
+CREATE INDEX cust_pay_void1 ON cust_pay_void(custnum);
-Or on older Pg versions that don't support altering columns directly:
-(dump database, edit & reload)
+CREATE TABLE part_pkg_option (
+ optionnum int primary key,
+ pkgpart int not null,
+ optionname varchar(80) not null,
+ optionvalue text NULL
+);
+CREATE INDEX part_pkg_option1 ON part_export_option ( pkgpart );
+CREATE INDEX part_pkg_option2 ON part_export_option ( optionname );
+
+CREATE TABLE rate (
+ ratenum serial NOT NULL,
+ reatename varchar(80) NOT NULL,
+ PRIMARY KEY (ratenum)
+);
+
+CREATE TABLE rate_detail (
+ ratenum int NOT NULL,
+ orig_regionnum int NULL,
+ dest_regionnum int NOT NULL,
+ min_included int NOT NULL,
+ min_charge decimal(10,2) NOT NULL,
+ sec_granularity int NOT NULL
+);
+CREATE UNIQUE INDEX rate_detail1 ON rate_detail ( ratenum, orig_regionnum, dest_regionnum );
+
+CREATE TABLE rate_region (
+ regionnum serial NOT NULL,
+ regionname varchar(80) NOT NULL,
+ PRIMARY KEY (regionnum)
+);
+
+CREATE TABLE rate_prefix (
+ prefixnum serial NOT NULL,
+ regionnum int NOT NULL,
+ countrycode varchar(3) NOT NULL,
+ npa varchar(6) NULL,
+ nxx varchar(3) NULL,
+ PRIMARY KEY (prefixnum)
+);
+CREATE INDEX rate_prefix1 ON rate_prefix ( countrycode );
+CREATE INDEX rate_prefix2 ON rate_prefix ( regionnum );
+
+DROP INDEX cust_bill_pkg1;
+
+ALTER TABLE cust_bill_pkg ADD itemdesc varchar(80) NULL;
+ALTER TABLE h_cust_bill_pkg ADD itemdesc varchar(80) NULL;
+ALTER TABLE cust_main_county ADD taxname varchar(80) NULL;
+ALTER TABLE h_cust_main_county ADD taxname varchar(80) NULL;
+ALTER TABLE cust_main_county ADD setuptax char(1) NULL;
+ALTER TABLE h_cust_main_county ADD setuptax char(1) NULL;
+ALTER TABLE cust_main_county ADD recurtax char(1) NULL;
+ALTER TABLE h_cust_main_county ADD recurtax char(1) NULL;
+ALTER TABLE cust_pkg ADD last_bill int NULL;
+ALTER TABLE h_cust_pkg ADD last_bill int NULL;
+ALTER TABLE agent ADD disabled char(1) NULL;
+ALTER TABLE h_agent ADD disabled char(1) NULL;
+ALTER TABLE agent ADD username varchar(80) NULL;
+ALTER TABLE h_agent ADD username varchar(80) NULL;
+ALTER TABLE agent ADD _password varchar(80) NULL;
+ALTER TABLE h_agent ADD _password varchar(80) NULL;
+ALTER TABLE cust_main ADD paycvv varchar(4) NULL;
+ALTER TABLE h_cust_main ADD paycvv varchar(4) NULL;
+ALTER TABLE part_referral ADD disabled char(1) NULL;
+ALTER TABLE h_part_referral ADD disabled char(1) NULL;
+CREATE INDEX part_referral1 ON part_referral ( disabled );
+ALTER TABLE pkg_svc ADD primary_svc char(1) NULL;
+ALTER TABLE h_pkg_svc ADD primary_svc char(1) NULL;
+ALTER TABLE svc_forward ADD src varchar(255) NULL;
+ALTER TABLE h_svc_forward ADD src varchar(255) NULL;
+ALTER TABLE part_pkg ADD promo_code varchar(80) NULL;
+ALTER TABLE h_part_pkg ADD promo_code varchar(80) NULL;
+CREATE INDEX part_pkg2 ON part_pkg ( promo_code );
+CREATE INDEX h_part_pkg2 ON h_part_pkg ( promo_code );
On recent Pg versions:
@@ -64,30 +279,26 @@ If you created your database with a version before 1.4.2, dump database, edit:
- domain_record and h_domain_record: increase recdata from 80 to 255
then reload
-mandatory again:
+optionally:
-make install-perl-modules to install the new libraries and CLI utilities
-run "freeside-upgrade username" to create the remaining new tables and columns
+ CREATE INDEX cust_main6 ON cust_main ( daytime );
+ CREATE INDEX cust_main7 ON cust_main ( night );
+ CREATE INDEX cust_main8 ON cust_main ( fax );
+ CREATE INDEX cust_main9 ON cust_main ( ship_daytime );
+ CREATE INDEX cust_main10 ON cust_main ( ship_night );
+ CREATE INDEX cust_main11 ON cust_main ( ship_fax );
+ CREATE INDEX agent2 ON agent ( disabled );
+ CREATE INDEX part_bill_event2 ON part_bill_event ( disabled );
+ CREATE INDEX cust_pay4 ON cust_pay (_date);
-optionally:
+ serial columns
-CREATE INDEX cust_main4 ON cust_main ( daytime );
-CREATE INDEX cust_main5 ON cust_main ( night );
-CREATE INDEX cust_main6 ON cust_main ( fax );
-CREATE INDEX cust_main7 ON cust_main ( refnum );
-CREATE INDEX cust_main8 ON cust_main ( county );
-CREATE INDEX cust_main9 ON cust_main ( state );
-CREATE INDEX cust_main10 ON cust_main ( country );
-CREATE INDEX cust_main11 ON cust_main ( ship_last );
-CREATE INDEX cust_main12 ON cust_main ( ship_company );
-CREATE INDEX cust_main13 ON cust_main ( ship_daytime );
-CREATE INDEX cust_main14 ON cust_main ( ship_night );
-CREATE INDEX cust_main15 ON cust_main ( ship_fax );
-CREATE INDEX agent2 ON agent ( disabled );
-CREATE INDEX part_bill_event2 ON part_bill_event ( disabled );
-CREATE INDEX cust_pay4 ON cust_pay (_date);
-CREATE INDEX part_referral1 ON part_referral ( disabled );
-CREATE INDEX part_pkg2 ON part_pkg ( promo_code );
-CREATE INDEX h_part_pkg2 ON h_part_pkg ( promo_code );
+mandatory again:
+
+dbdef-create username
+create-history-tables username cust_bill_pkg_detail router part_svc_router addr_block svc_broadband acct_snarf svc_external cust_pay_refund cust_pay_void part_pkg_option rate rate_detail rate_region rate_prefix
+dbdef-create username
+
+apache - fix <Files> sections to include .html also
</pre>
diff --git a/httemplate/docs/upgrade8.html b/httemplate/docs/upgrade8.html
index 9ca7cb7b9..cf60a8582 100644
--- a/httemplate/docs/upgrade8.html
+++ b/httemplate/docs/upgrade8.html
@@ -149,9 +149,7 @@ CREATE TABLE cust_bill_event (
eventnum int primary key,
invnum int not null,
eventpart int not null,
- _date int not null,
- status varchar(80) not null,
- statustext text
+ _date int not null
);
CREATE UNIQUE INDEX cust_bill_event1 ON cust_bill_event ( eventpart, invnum );
CREATE INDEX cust_bill_event2 ON cust_bill_event ( invnum );