ACLs: finish group edit (agents + rights) & browse
[freeside.git] / README.1.5.7
index 5e9b97a..e890f01 100644 (file)
@@ -2,7 +2,7 @@ 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.
 
-install DBIx::DBSchema 0.24
+install DBIx::DBSchema 0.26
 
 CREATE TABLE rate (
     ratenum serial NOT NULL,
@@ -84,29 +84,73 @@ ALTER TABLE h_cust_main ALTER COLUMN zip DROP NOT NULL;
 ALTER TABLE prepay_credit ADD agentnum integer NULL;
 ALTER TABLE h_prepay_credit ADD agentnum integer NULL;
 
-ALTER TABLE type_pkgs ADD typepkgnum int;
-ALTER TABLE type_pkgs ALTER COLUMN typepkgnum SET DEFAULT nextval('public.type_pkgs_typepkgnum_seq'::text);
-CREATE SEQUENCE type_pkgs_typepkgnum_seq;
-ALTER TABLE type_pkgs ALTER typepkgnum SET NOT NULL;
-ALTER TABLE type_pkgs ADD PRIMARY KEY (typepkgnum);
-
-ALTER TABLE cust_bill_pkg ADD billpkgnum int;
-ALTER TABLE cust_bill_pkg ALTER COLUMN billpkgnum SET DEFAULT nextval('public.cust_bill_pkg_billpkgnum_seq'::text);
-CREATE SEQUENCE cust_bill_pkg_billpkgnum_seq;
-ALTER TABLE cust_bill_pkg ALTER billpkgnum SET NOT NULL;
-ALTER TABLE cust_bill_pkg ADD PRIMARY KEY (billpkgnum);
-
-ALTER TABLE pkg_svc ADD pkgsvcnum int;
-ALTER TABLE pkg_svc ALTER COLUMN pkgsvcnum SET DEFAULT nextval('public.pkg_svc_pkgsvcnum_seq'::text);
-CREATE SEQUENCE pkg_svc_pkgsvcnum_seq;
-ALTER TABLE pkg_svc ALTER pkgsvcnum SET NOT NULL;
-ALTER TABLE pkg_svc ADD PRIMARY KEY (pkgsvcnum);
-
-ALTER TABLE part_svc_router ADD svcrouternum int;
-ALTER TABLE part_svc_router ALTER COLUMN svcrouternum SET DEFAULT nextval('public.part_svc_router_svcrouternum_seq'::text);
-CREATE SEQUENCE part_svc_router_svcrouternum_seq;
-ALTER TABLE part_svc_router ALTER svcrouternum SET NOT NULL;
-ALTER TABLE part_svc_router ADD PRIMARY KEY (svcrouternum);
+On current (7.3? definitely 7.4+) Pg:
+
+  ALTER TABLE type_pkgs ADD typepkgnum int;
+  ALTER TABLE type_pkgs ALTER COLUMN typepkgnum SET DEFAULT nextval('public.type_pkgs_typepkgnum_seq'::text);
+  CREATE SEQUENCE type_pkgs_typepkgnum_seq;
+  UPDATE type_pkgs SET typepkgnum = nextval('public.type_pkgs_typepkgnum_seq'::text) WHERE typepkgnum IS NULL;
+  ALTER TABLE type_pkgs ALTER typepkgnum SET NOT NULL;
+  ALTER TABLE type_pkgs ADD PRIMARY KEY (typepkgnum);
+  ALTER TABLE h_type_pkgs ADD typepkgnum int;
+
+  ALTER TABLE cust_bill_pkg ADD billpkgnum int;
+  ALTER TABLE cust_bill_pkg ALTER COLUMN billpkgnum SET DEFAULT nextval('public.cust_bill_pkg_billpkgnum_seq'::text);
+  CREATE SEQUENCE cust_bill_pkg_billpkgnum_seq;
+  UPDATE cust_bill_pkg SET billpkgnum = nextval('public.cust_bill_pkg_billpkgnum_seq'::text) WHERE billpkgnum IS NULL;
+  ALTER TABLE cust_bill_pkg ALTER billpkgnum SET NOT NULL;
+  ALTER TABLE cust_bill_pkg ADD PRIMARY KEY (billpkgnum);
+  ALTER TABLE h_cust_bill_pkg ADD billpkgnum int;
+  
+  ALTER TABLE pkg_svc ADD pkgsvcnum int;
+  ALTER TABLE pkg_svc ALTER COLUMN pkgsvcnum SET DEFAULT nextval('public.pkg_svc_pkgsvcnum_seq'::text);
+  CREATE SEQUENCE pkg_svc_pkgsvcnum_seq;
+  UPDATE pkg_svc SET pkgsvcnum = nextval('public.pkg_svc_pkgsvcnum_seq'::text) WHERE pkgsvcnum IS NULL;
+  ALTER TABLE pkg_svc ALTER pkgsvcnum SET NOT NULL;
+  ALTER TABLE pkg_svc ADD PRIMARY KEY (pkgsvcnum);
+  ALTER TABLE h_pkg_svc ADD pkgsvcnum int;
+  
+  ALTER TABLE part_svc_router ADD svcrouternum int;
+  ALTER TABLE part_svc_router ALTER COLUMN svcrouternum SET DEFAULT nextval('public.part_svc_router_svcrouternum_seq'::text);
+  CREATE SEQUENCE part_svc_router_svcrouternum_seq;
+  UPDATE part_svc_router SET svcrouternum = nextval('public.part_svc_router_svcrouternum_seq'::text) WHERE svcrouternum IS NULL;
+  ALTER TABLE part_svc_router ALTER svcrouternum SET NOT NULL;
+  ALTER TABLE part_svc_router ADD PRIMARY KEY (svcrouternum);
+  ALTER TABLE h_part_svc_router ADD svcrouternum int;
+
+Or on very old Pg (7.2 and earlier (eek), 7.3?):
+
+  ALTER TABLE type_pkgs ADD typepkgnum int;
+  ALTER TABLE type_pkgs ALTER COLUMN typepkgnum SET DEFAULT nextval('type_pkgs_typepkgnum_seq'::text);
+  CREATE SEQUENCE type_pkgs_typepkgnum_seq;
+  UPDATE type_pkgs SET typepkgnum = nextval('type_pkgs_typepkgnum_seq'::text) WHERE typepkgnum IS NULL;
+  UPDATE pg_attribute SET attnotnull = TRUE WHERE attname = 'typepkgnum' AND attrelid = ( SELECT oid FROM pg_class WHERE relname = 'type_pkgs');
+  ALTER TABLE type_pkgs ADD PRIMARY KEY (typepkgnum);
+  ALTER TABLE h_type_pkgs ADD typepkgnum int;
+
+  ALTER TABLE cust_bill_pkg ADD billpkgnum int;
+  ALTER TABLE cust_bill_pkg ALTER COLUMN billpkgnum SET DEFAULT nextval('cust_bill_pkg_billpkgnum_seq'::text);
+  CREATE SEQUENCE cust_bill_pkg_billpkgnum_seq;
+  UPDATE cust_bill_pkg SET billpkgnum = nextval('cust_bill_pkg_billpkgnum_seq'::text) WHERE billpkgnum IS NULL;
+  UPDATE pg_attribute SET attnotnull = TRUE WHERE attname = 'billpkgnum' AND attrelid = ( SELECT oid FROM pg_class WHERE relname = 'cust_bill_pkg');
+  ALTER TABLE cust_bill_pkg ADD PRIMARY KEY (billpkgnum);
+  ALTER TABLE h_cust_bill_pkg ADD billpkgnum int;
+  
+  ALTER TABLE pkg_svc ADD pkgsvcnum int;
+  ALTER TABLE pkg_svc ALTER COLUMN pkgsvcnum SET DEFAULT nextval('pkg_svc_pkgsvcnum_seq'::text);
+  CREATE SEQUENCE pkg_svc_pkgsvcnum_seq;
+  UPDATE pkg_svc SET pkgsvcnum = nextval('pkg_svc_pkgsvcnum_seq'::text) WHERE pkgsvcnum IS NULL;
+  UPDATE pg_attribute SET attnotnull = TRUE WHERE attname = 'pkgsvcnum' AND attrelid = ( SELECT oid FROM pg_class WHERE relname = 'pkg_svc');
+  ALTER TABLE pkg_svc ADD PRIMARY KEY (pkgsvcnum);
+  ALTER TABLE h_pkg_svc ADD pkgsvcnum int;
+  
+  ALTER TABLE part_svc_router ADD svcrouternum int;
+  ALTER TABLE part_svc_router ALTER COLUMN svcrouternum SET DEFAULT nextval('part_svc_router_svcrouternum_seq'::text);
+  CREATE SEQUENCE part_svc_router_svcrouternum_seq;
+  UPDATE part_svc_router SET svcrouternum = nextval('part_svc_router_svcrouternum_seq'::text) WHERE svcrouternum IS NULL;
+  UPDATE pg_attribute SET attnotnull = TRUE WHERE attname = 'svcrouternum' AND attrelid = ( SELECT oid FROM pg_class WHERE relname = 'part_svc_router');
+  ALTER TABLE part_svc_router ADD PRIMARY KEY (svcrouternum);
+  ALTER TABLE h_part_svc_router ADD svcrouternum int;
 
 Installs w/integrated RT:
   CREATE SEQUENCE attributes_id_seq;
@@ -130,15 +174,21 @@ Installs w/integrated RT:
   CREATE INDEX Attributes1 on Attributes(Name);
   CREATE INDEX Attributes2 on Attributes(ObjectType, ObjectId);
 
+  Add these lines to /opt/rt3/etc/RT_SiteConfig.pm (before the "1;"):
+    $RT::URI::freeside::IntegrationType = 'Internal';
+    $RT::URI::freeside::URL = 'http://path/to/your/freeside/';
+    Set($DatabaseHost   , '');
+
+(End of Installs w/integrated RT)
+
 
-(make sure you have upgrade DBIx::DBSchema to 0.24)
+(make sure you have upgraded DBIx::DBSchema to 0.26)
 dbdef-create username 
 create-history-tables username rate rate_detail rate_region rate_prefix reg_code reg_code_pkg
 dbdef-create username
 
-install Javascript::RPC (JavaScript::RPC::Server::CGI), Text::CSV_XS,
-Spreadsheet::WriteExcel, IO-stringy (IO::Scalar), Frontier::RPC
-(Frontier::RPC2) and MIME::Entity (MIME-tools)
+install Text::CSV_XS, Spreadsheet::WriteExcel, IO-stringy (IO::Scalar),
+Frontier::RPC (Frontier::RPC2), MIME::Entity (MIME-tools) and IPC::Run3
 
 afterwords (for installs w/integrated RT):
 install HTML::Scrubber, Text::Quoted and Tree::Simple