<ul>
<li>If migrating from less than 1.3.1, see these <a href="upgrade7.html">instructions</a> first.
<li><font size="+2" color="#ff0000">Backup your database and current Freeside installation.</font> (with <a href="http://www.ca.postgresql.org/devel-corner/docs/postgres/backup.html">PostgreSQL</a>) (with <a href="http://www.mysql.com/documentation/mysql/bychapter/manual_MySQL_Database_Administration.html#Backup">MySQL</a>)
+ <li><a href="http://perl.apache.org/">mod_perl</a> is now required.
+ <li>Install <a href="http://search.cpan.org/search?dist=Archive-Tar">Archive-Tar</a>, <a href="http://search.cpan.org/search?dist=Time-Duration">Time-Duration</a>, and <a href="http://search.cpan.org/search?dist=Tie-IxHash">Tie-IxHash</a>
<li>Install <a href="http://www.apache-asp.org/">Apache::ASP</a> or <a href="http://www.masonhq.com/">HTML::Mason</a>.
</ul>
<table>
</pre></font>
</ul></td>
<td><ul>
- <li>NOTE: Mason support is still a bit buggy in the 1.4.0 prereleases. This will be fixed before 1.4.0. You have been warned.
<li>Run <tt>make masondocs</tt>
<li>Copy <tt>masondocs/</tt> to your web server's document space.
<li>Copy <tt>htetc/handler.pl</tt> to your web server's configuration directory.
</tr>
</table>
<ul>
- <li>Change to the FS directory in the new tarball, and build and install the
- Perl modules:
+ <li>Build and install the Perl modules:
<pre>
-$ cd FS/
-$ perl Makefile.PL
-$ make
$ su
-# make install UNINST=1</pre>
+# make install-perl-modules</pre>
<li>Apply the following changes to your database:
<pre>
CREATE TABLE svc_forward (
CREATE TABLE queue (
jobnum int primary key,
- job varchar not null,
+ job text not null,
_date int not null,
status varchar(80) not null
);
CREATE TABLE queue_arg (
argnum int primary key,
jobnum int not null,
- arg varchar null
+ arg text null
);
CREATE INDEX queue_arg1 ON queue_arg ( jobnum );
);
CREATE UNIQUE INDEX part_pop_local1 ON part_pop_local ( npa, nxx );
+CREATE TABLE cust_bill_event (
+ eventnum int primary key,
+ invnum int not null,
+ eventpart int not null,
+ _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 );
+
+CREATE TABLE part_bill_event (
+ eventpart int primary key,
+ payby char(4) not null,
+ event varchar(80) not null,
+ eventcode text null,
+ seconds int null,
+ weight int not null,
+ plan varchar(80) null,
+ plandata text null,
+ disabled char(1) null
+);
+CREATE INDEX part_bill_event1 ON part_bill_event ( payby );
+
+CREATE TABLE part_export (
+ exportnum int primary key,
+ svcpart int not null,
+ machine varchar(80) not null,
+ exporttype varchar(80) not null,
+ nodomain char(1) NULL
+);
+CREATE INDEX part_export1 ON part_export ( machine );
+CREATE INDEX part_export2 ON part_export ( exporttype );
+
+CREATE INDEX part_export_option (
+ optionnum int primary key,
+ exportnum int not null,
+ option varchar(80) not null,
+ optionvalue text NULL
+);
+CREATE INDEX part_export_option1 ON part_export_option ( exportnum );
+CREATE INDEX part_export_option2 ON part_export_option ( option );
+
ALTER TABLE svc_acct ADD domsvc integer NOT NULL;
ALTER TABLE svc_domain ADD catchall integer NULL;
ALTER TABLE cust_main ADD referral_custnum integer NULL;
ALTER TABLE cust_pay_batch ADD paybatchnum integer;
ALTER TABLE cust_refund ADD custnum integer;
ALTER TABLE cust_pkg ADD manual_flag char(1) NULL;
+ALTER TABLE part_pkg ADD plan varchar(80) NULL;
+ALTER TABLE part_pkg ADD plandata text NULL;
+ALTER TABLE part_pkg ADD setuptax char(1) NULL;
+ALTER TABLE part_pkg ADD recurtax char(1) NULL;
+ALTER TABLE part_pkg ADD disabled char(1) NULL;
+ALTER TABLE part_svc ADD disabled char(1) NULL;
+ALTER TABLE cust_bill ADD closed char(1) NULL;
+ALTER TABLE cust_pay ADD closed char(1) NULL;
+ALTER TABLE cust_credit ADD closed char(1) NULL;
+ALTER TABLE cust_refund ADD closed char(1) NULL;
CREATE INDEX cust_main3 ON cust_main ( referral_custnum );
CREATE INDEX cust_credit_bill1 ON cust_credit_bill ( crednum );
CREATE INDEX cust_credit_bill2 ON cust_credit_bill ( invnum );
CREATE INDEX cust_credit_refund2 ON cust_credit_refund ( refundnum );
CREATE UNIQUE INDEX cust_pay_batch_pkey ON cust_pay_batch ( paybatchnum );
CREATE UNIQUE INDEX part_svc_column1 ON part_svc_column ( svcpart, columnname );
+CREATE INDEX cust_pay2 ON cust_pay ( paynum );
+CREATE INDEX cust_pay3 ON cust_pay ( custnum );
+CREATE INDEX cust_pay4 ON cust_pay ( paybatch );
</pre>
<li>If you are using PostgreSQL, apply the following changes to your database:
<li>If you wish to enable customer comments, apply the following change to
your database:
<pre>
-ALTER TABLE cust_main ADD COLUMN comments varchar NULL;
+ALTER TABLE cust_main ADD COLUMN comments text NULL;
</pre>
<li>If you are using the signup server, reinstall it according to the <a href="signup.html">instructions</a>. The 1.3.x signup server is not compatible with 1.4.x.
<li>Run bin/dbdef-create.
INSERT INTO cust_pay_temp SELECT * from cust_pay;
DROP TABLE cust_pay;
ALTER TABLE cust_pay_temp RENAME TO cust_pay;
-CREATE UNIQUE INDEX cust_pay1 ON cust_pay paynum;
+CREATE UNIQUE INDEX cust_pay1 ON cust_pay (paynum);
CREATE TABLE cust_refund_temp (
refundnum int primary key,
custnum int not null,
INSERT INTO cust_refund_temp SELECT * from cust_refund;
DROP TABLE cust_refund;
ALTER TABLE cust_refund_temp RENAME TO cust_refund;
-CREATE UNIQUE INDEX cust_refund1 ON cust_refund refundnum;
+CREATE UNIQUE INDEX cust_refund1 ON cust_refund (refundnum);
</pre></font>
</td><td>
<font size=-1><pre>
</pre></font>
</td></tr></table>
<li><b>IMPORTANT: After applying the second set of database changes</b>, run bin/dbdef-create again.
- <li>create the <a href="config.html#username_policy">user_policy configuration file</a> as appropriate for your site.
+ <li>set the <a href="../config/config.cgi#username_policy">user_policy configuration value</a> as appropriate for your site.
<li>Create the `/usr/local/etc/freeside/cache.<i>datasrc</i>' directory
(ownded by the freeside user).
<li>freeside-queued was installed with the Perl modules. Start it now and ensure that is run upon system startup.
+ <li>Set appropriate <a href="../browse/part_bill_event.cgi">invoice events</a> for your site. At the very least, you'll want to set some invoice events "<i>After 0 days</i>": a <i>BILL</i> invoice event to print invoices, a <i>CARD</i> invoice event to batch or run cards real-time, and a <i>COMP</i> invoice event to "pay" complimentary customers. If you were using the <i>-i</i> option to <a href="man/bin/freeside-bill.html">freeside-bill</a> it should be removed.
+ <li>Use <a href="man/bin/freeside-daily.html">freeside-daily</a> instead of <a href="man/bin/freeside-bill.html">freeside-bill</a>.
</ul>
</body>