X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=httemplate%2Fdocs%2Fupgrade8.html;h=0210430eff62066706c16a7c023189811ec2ae04;hp=61d956ce81443bf112402fc77929573a08a6e82e;hb=3ef62a0570055da710328937e7f65dbb2c027c62;hpb=7e3eb82f87c371785544b706b7347c7edde2b593 diff --git a/httemplate/docs/upgrade8.html b/httemplate/docs/upgrade8.html index 61d956ce8..0210430ef 100644 --- a/httemplate/docs/upgrade8.html +++ b/httemplate/docs/upgrade8.html @@ -7,8 +7,9 @@
  • If migrating from less than 1.3.1, see these instructions first.
  • Backup your database and current Freeside installation. (with PostgreSQL) (with MySQL)
  • mod_perl is now required. -
  • Install Archive-Tar, Time-Duration, and Tie-IxHash -
  • Install Apache::ASP or HTML::Mason. +
  • Install Time-Duration, Tie-IxHash and HTML-Widgets-SelectLayers (minimum version 0.02). +
  • Install Apache::ASP or HTML::Mason (use version 1.0x - Freeside is not yet compatible with version 1.1x). +
  • Install rsync @@ -35,6 +36,7 @@ PerlSetVar Global /usr/local/etc/freeside/asp-global/
      +
    • (use version 1.0x - Freeside is not yet compatible with version 1.1x)
    • Run make masondocs
    • Copy masondocs/ to your web server's document space.
    • Copy htetc/handler.pl to your web server's configuration directory. @@ -68,6 +70,12 @@ CREATE TABLE svc_forward ( dst varchar(80), PRIMARY KEY (svcnum) ); +ALTER TABLE part_svc ADD svc_forward__srcsvc varchar(80) NULL; +ALTER TABLE part_svc ADD svc_forward__srcsvc_flag char(1) NULL; +ALTER TABLE part_svc ADD svc_forward__dstsvc varchar(80) NULL; +ALTER TABLE part_svc ADD svc_forward__dstsvc_flag char(1) NULL; +ALTER TABLE part_svc ADD svc_forward__dst varchar(80) NULL; +ALTER TABLE part_svc ADD svc_forward__dst_flag char(1) NULL; CREATE TABLE cust_credit_bill ( creditbillnum int primary key, @@ -105,8 +113,12 @@ CREATE TABLE queue ( jobnum int primary key, job text not null, _date int not null, - status varchar(80) not null + status varchar(80) not null, + statustext text null, + svcnum int null ); +CREATE INDEX queue1 ON queue ( svcnum ); +CREATE INDEX queue2 ON queue ( status ); CREATE TABLE queue_arg ( argnum int primary key, @@ -115,6 +127,14 @@ CREATE TABLE queue_arg ( ); CREATE INDEX queue_arg1 ON queue_arg ( jobnum ); +CREATE TABLE queue_depend ( + dependnum int primary key, + jobnum int not null, + depend_jobnum int not null +); +CREATE INDEX queue_depend1 ON queue_depend ( jobnum ); +CREATE INDEX queue_depend2 ON queue_depend ( depend_jobnum ); + CREATE TABLE part_pop_local ( localnum int primary key, popnum int not null, @@ -147,9 +167,17 @@ CREATE TABLE part_bill_event ( ); CREATE INDEX part_bill_event1 ON part_bill_event ( payby ); +CREATE TABLE export_svc ( + exportsvcnum int primary key, + exportnum int not null, + svcpart int not null +); +CREATE UNIQUE INDEX export_svc1 ON export_svc ( exportnum, svcpart ); +CREATE INDEX export_svc2 ON export_svc ( exportnum ); +CREATE INDEX export_svc3 ON export_svc ( svcpart ); + 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 @@ -157,18 +185,47 @@ CREATE TABLE part_export ( CREATE INDEX part_export1 ON part_export ( machine ); CREATE INDEX part_export2 ON part_export ( exporttype ); -CREATE INDEX part_export_option ( +CREATE TABLE part_export_option ( optionnum int primary key, exportnum int not null, - option varchar(80) not null, + optionname 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 ); +CREATE INDEX part_export_option2 ON part_export_option ( optionname ); + +CREATE TABLE radius_usergroup ( + usergroupnum int primary key, + svcnum int not null, + groupname varchar(80) not null +); +CREATE INDEX radius_usergroup1 ON radius_usergroup ( svcnum ); +CREATE INDEX radius_usergroup2 ON radius_usergroup ( groupname ); -ALTER TABLE svc_acct ADD domsvc integer NOT NULL; +CREATE TABLE msgcat ( + msgnum int primary key, + msgcode varchar(80) not null, + locale varchar(16) not null, + msg text not null +); +CREATE INDEX msgcat1 ON msgcat ( msgcode, locale ); + +CREATE TABLE cust_tax_exempt ( + exemptnum int primary key, + custnum int not null, + taxnum int not null, + year int not null, + month int not null, + amount decimal(10,2) +); +CREATE UNIQUE INDEX cust_tax_exempt1 ON cust_tax_exempt ( taxnum, year, month ); + +ALTER TABLE svc_acct ADD domsvc integer NULL; +ALTER TABLE part_svc ADD svc_acct__domsvc varchar(80) NULL; +ALTER TABLE part_svc ADD svc_acct__domsvc_flag char(1) NULL; ALTER TABLE svc_domain ADD catchall integer NULL; ALTER TABLE cust_main ADD referral_custnum integer NULL; +ALTER TABLE cust_main ADD comments text NULL; ALTER TABLE cust_pay ADD custnum integer; ALTER TABLE cust_pay_batch ADD paybatchnum integer; ALTER TABLE cust_refund ADD custnum integer; @@ -183,6 +240,14 @@ 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; +ALTER TABLE cust_bill_event ADD status varchar(80); +ALTER TABLE cust_bill_event ADD statustext text NULL; +ALTER TABLE svc_acct ADD sec_phrase varchar(80) NULL; +ALTER TABLE part_svc ADD svc_acct__sec_phrase varchar(80) NULL; +ALTER TABLE part_svc ADD svc_acct__sec_phrase_flag char(1) NULL; +ALTER TABLE part_pkg ADD taxclass varchar(80) NULL; +ALTER TABLE cust_main_county ADD taxclass varchar(80) NULL; +ALTER TABLE cust_main_county ADD exempt_amount decimal(10,2); 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 ); @@ -223,7 +288,6 @@ CREATE UNIQUE INDEX svc_acct_pop_pkey ON svc_acct_pop ( popnum ); CREATE UNIQUE INDEX svc_acct_sm_pkey ON svc_acct_sm ( svcnum ); CREATE UNIQUE INDEX svc_domain_pkey ON svc_domain ( svcnum ); CREATE UNIQUE INDEX svc_www_pkey ON svc_www ( svcnum ); -CREATE UNIQUE INDEX type_pkgs_pkey ON type_pkgs ( typenum );
    • If you wish to enable service/shipping addresses, apply the following changes to your database: @@ -241,23 +305,24 @@ ALTER TABLE cust_main ADD COLUMN ship_country char(2) NULL; ALTER TABLE cust_main ADD COLUMN ship_daytime varchar(20) NULL; ALTER TABLE cust_main ADD COLUMN ship_night varchar(20) NULL; ALTER TABLE cust_main ADD COLUMN ship_fax varchar(12) NULL; -CREATE INDEX cust_main1 ON cust_main ( ship_last ); -CREATE INDEX cust_main2 ON cust_main ( ship_company ); - -
    • If you wish to enable customer comments, apply the following change to - your database: -
      -ALTER TABLE cust_main ADD COLUMN comments text NULL;
      +CREATE INDEX cust_main4 ON cust_main ( ship_last );
      +CREATE INDEX cust_main5 ON cust_main ( ship_company );
       
    • If you are using the signup server, reinstall it according to the instructions. The 1.3.x signup server is not compatible with 1.4.x. -
    • Run bin/dbdef-create. +
    • Run bin/dbdef-create username
    • If you have svc_acct_sm records or service definitions:
      • Create a service definition with table svc_forward -
      • Run bin/fs-migrate-svc_acct_sm +
      • Run bin/fs-migrate-svc_acct_sm username +
      +
    • Or if you just have svc_acct records: +
        +
      • Order and provision a package for your default domain and note down the Service # or svcnum. +
      • UPDATE svc_acct SET domsvc = svcnum +
      • Update your service definitions to have default (or fixed) domsvc.
      -
    • Run bin/fs-migrate-payref -
    • Run bin/fs-migrate-part_svc +
    • Run bin/fs-migrate-payrefusername +
    • Run bin/fs-migrate-part_svcusername
    • After running bin/fs-migrate-payref, apply the following changes to your database:
      PostgreSQLMySQL, others
      @@ -269,9 +334,10 @@ CREATE TABLE cust_pay_temp ( _date int null, payby char(4) not null, payinfo varchar(16) null, - paybatch varchar(80) null + paybatch varchar(80) null, + closed char(1) null ); -INSERT INTO cust_pay_temp SELECT * from cust_pay; +INSERT INTO cust_pay_temp SELECT paynum, custnum, paid, _date, payby, payinfo, paybatch, closed 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); @@ -284,9 +350,10 @@ CREATE TABLE cust_refund_temp ( reason varchar(80) not null, payby char(4) not null, payinfo varchar(16) null, - paybatch varchar(80) null + paybatch varchar(80) null, + closed char(1) null ); -INSERT INTO cust_refund_temp SELECT * from cust_refund; +INSERT INTO cust_refund_temp SELECT refundnum, custnum, _date, refund, otaker, reason, payby, payinfo, '', closed 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); @@ -297,12 +364,29 @@ ALTER TABLE cust_pay DROP COLUMN invnum; ALTER TABLE cust_refund DROP COLUMN crednum;
      -
    • IMPORTANT: After applying the second set of database changes, run bin/dbdef-create again. +
    • IMPORTANT: After applying the second set of database changes, run bin/dbdef-create username again. +
    • IMPORTANT: run bin/create-history-tables username +
    • IMPORTANT: After running bin/create-history-tables, run bin/dbdef-create username again. +
    • As the freeside UNIX user, run bin/populate-msgcat username to populate the message catalog
    • set the user_policy configuration value as appropriate for your site. +
    • set the locale configuration value to en_US. +
    • the mxmachines, nsmachines, arecords and cnamerecords configuration values have been deprecated. Set the defaultrecords configuration value instead.
    • Create the `/usr/local/etc/freeside/cache.datasrc' directory - (ownded by the freeside user). + (owned by the freeside user).
    • freeside-queued was installed with the Perl modules. Start it now and ensure that is run upon system startup.
    • Set appropriate invoice events for your site. At the very least, you'll want to set some invoice events "After 0 days": a BILL invoice event to print invoices, a CARD invoice event to batch or run cards real-time, and a COMP invoice event to "pay" complimentary customers. If you were using the -i option to freeside-bill it should be removed.
    • Use freeside-daily instead of freeside-bill. +
    • If you would like Freeside to notify your customers when their credit + cards and other billing arrangements are about to expire, arrange for + freeside-expiration-alerter to be run daily by cron or similar + facility. The message it sends can be configured from the + Configuration choice of the main menu as alerter_template. +
    • Export has been rewritten. If you were using the icradiusmachines, + icradius_mysqldest, icradius_mysqlsource, or icradius_secrets files, add + an appropriate "sqlradius" export to all relevant Service Definitions + instead. Use MySQL replication or + point the "sqlradius" export directly at your external ICRADIUS or FreeRADIUS + database (or through an SSL-necrypting proxy...)