X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=TODO;h=4d0a0ba5f63e750765ed210c69bab8c1bfa3e4c1;hp=1e4774e12cc5a02ffe59f46520bafa963af5e665;hb=b90f8cdac9371c219a72dda16f8deecc7c44fc28;hpb=145eb4372ae27ef1b884a80666b70283eadfbaf8 diff --git a/TODO b/TODO index 1e4774e12..4d0a0ba5f 100644 --- a/TODO +++ b/TODO @@ -1,11 +1,306 @@ -$Id: TODO,v 1.39 1999-09-22 22:06:34 ivan Exp $ +$Id: TODO,v 1.53 2000-12-03 20:25:20 ivan Exp $ -If you are interested in helping with any of these, please join the mailing -list (send a blank message to ivan-freeside-subscribe@sisd.com) to avoid -duplication of effort. +If you are interested in helping with any of these, please join the +*development* mailing list (send a blank message to +ivan-freeside-devel-subscribe@sisd.com) to avoid duplication of effort. --- +first package select field in edit/cust_main.cgi isn't sticky on errors, yuck + +> 1. A Web Form to the user get his account added automatically . The +> /etc/raddb/users and /etc/passwd would be updated automatically (these +> file are on the same machine Freeside is). I guess the the Add +> Customer +> page with some customization could be the work. +> 2. A Canceling Account Web Form available to user cancel his account +> at +> any time he wants. +> 3. A Password Changing Web Form where the user could change your +> password by sending your username, old and new password. +> 4. Additional POP Accounts Creation where the user supply only his +> main +> username/password (probably provided from a PPP Account already +> created) +> and his POP username/password for this specific account. +(actually need something more general i guess - probably need some way to say +which accounts (svc_acct) can log in and make changes per customer (cust_main) ) + +this is awfully vauge, perhaps email for more info? don't want to alientate +someone with accounting experience, but i just don't have time right now. +. +Hi Ivan, +. +Thanks for the information. It took me a little while to figure it out, but I ++was +able to create an invoice. As a lamer and an accountant, may I make a few +suggestions? +. +On the Customer view page: +1) Layout the information in the manner the invoicing process is conducted. + a) Customer information + b) Package Ordering + c) Add a "Create & Edit Invoice" section - this allows auditing of the +invoice before it is processed. + d) then put the billing section to actually process the invoice + e) then put payment history information +. +Thanks, +Mark Roberts + + +new overdue code might be overzealous. test carefully. + +Port Freeside to use the modules that were abstracted from it: +Net::SSH, Net::SCP, DBIx::DataSource and DBIx::DBSchema, at least. + +"first package" and email invoice (?) not sticky on errors in new/edit customer +screen. + +http://www.ipmeter.com/ integration would be useful + +http://tangram.sourceforge.net/ +Tie::DBI + +mmm, http://pootpoot.com/~dlowe/DBIx-Table/ + +The cybercash links in htdocs/docs/config.html are b0rken. + +Yes. Which is what I've been trying to tell you. (destination user, +destination domainname) would be represented by the svcnum of a record in +svc_acct. (In retrospect, using the uid instead of the svcnum was a bad +choice). (domuser, domain name) would be part of the svc_acct_sm record, +as domuser and domsvc. +. +Upon further consideration, I'll probably eliminate the svc_acct_sm table +completely, and just add a field for the svcnum of a domain and the svcnum +of a destination mailbox to svc_acct (or perhaps a one-to-many +relationship - multiple svcnum(s) for multiple destination mailboxes. +hmm.) + +> > > > Longer-term, I need to do something about the length of the +> > > > column names - +> > > > The SQL1992 standard defines 18 character column names, +> > > > which would be a +> > > > reasonable goal. +> > > +> > > Maybe the thing to do would be to separate these out to separate +> > > tables. +> > > then we could simply use something like id, attrib_name, +> > attrib_value +> > > to +> > > store all of the radius values. +> > +> > Hmm, no, that's not quite right. You don't want to store the actual +> > strings in the records for each account. Probably need a table that +> > corresponds to the RADIUS dictionary file, with a list of +> > attributes and +> > attribute id's, then reference the attribute by id and not name. +> > +> > The more difficult bit is handling the service definitions +> > correctly - +> > part_svc and it's effects. +> +> Yes that could be a bit tricky. Perhaps just one "radius" field in +> part_svc that held a list of id's from the radius table that applied +> that particular service? +. +No, that wouldn't let you set defaults or fixed values for each attribute, +like part_svc currently does. + + + +hmm - if you delete an account in svc_acct somehow that a mail alias points to, +svc_acct_sm.export will fail. make sure this can't be done using +the web interface. + +Bug: during the linking process apparantly you can link too many services to +a package. *sigh* + +zip code i18n is not very good :( but at least US, CA, HU, ? + +ut_phonen doesn't check data length. several +orthogonal cleanup projects here. *sigh* + +update the cybercash links in config.html and in the homepage. add more explicit support for other payment types. etc. + +From "Tim Jung" +. +Automatic CC Decline Notices via email +Block Time billing for prepaid internet cards (400 hours or whatever block +time of hours) +Trouble Ticket System with simple search function for Knowledge Base feature +Employee Timecards +Credit Card System support for Red Hat's CCVS, and other Linux credit card +programs +Contact Manager/Lead Tracking +Pre-Sale Quotes +Cisco NetFlow Account for IP traffic billing +VoIP and FoIP billing +Roaming per minute billing based on Radius Proxy support or number they +dialed into from Radius logs (800# etc) +Support for OpenSRS Domain Registration +Support for TUCOWS signup CDs + + +dbdef-create for postgres + +pro-rating, fiddling dates + +It looks like svc_acct.import doesn't deal well with comments and +multi-attribute lines. + +ivan@rootwood:~/freeside_current$ rgrep -r domuid * | cut -d: -f1 | sort | +uniq +CVS/Base/TODO +TODO +bin/fs-setup +bin/svc_acct_sm.export +bin/svc_acct_sm.import +htdocs/docs/man/svc_acct_sm.txt +htdocs/docs/schema.html +htdocs/edit/CVS/Base/part_svc.cgi +htdocs/edit/part_svc.cgi +htdocs/edit/process/svc_acct_sm.cgi +htdocs/edit/svc_acct_sm.cgi +htdocs/search/svc_acct_sm.cgi +htdocs/view/svc_acct_sm.cgi +site_perl/svc_acct_sm.pm + +rootwood:COMPLETEHOST/TODO + +Currently, you set a value in the %FS::UID::callback hash with a coderef +of the code you want to execute, but this was bad design and will shortly +be changed to a subroutine to which you pass your coderef to register it. + +This is not a bug, it is how the system is currently designed. After +defining a new package, you need to specifically allow agent types to +purchase packages. You can do this from the edit screen of the new agent +type. +. +It wouldn't be a bad idea to add a configuration value that makes new +packages available for all currently existing agent types automatically. +. +On Fri, Apr 07, 2000 at 10:50:35AM -0500, David Morton wrote: +> For some reason, the type_pkgs table didn't get updated when I tried to +> create a domain service and package... insert into type_pkgs values +> (4,1); fixed it up so that I could actually order the package. + + +From: Chuck Cochems +. +1) automated generating of late notices. So far the only way I know to +generate one is to re-invoice manually. +. +2) smart credit card rejection handling. It should e-mail a note at +least, explainig that it did't go through, and why. +. +3)coment field in the main customer record. +. +4) streamlined payment entry feature. the current scheme has it fairly +buried. +. +5) queries to show al customers who owe money,and such stuff as that. + + +credits aren't counted against past invoices? hmm. something needs to be +done to "apply payment" genericly. and zero out invoices etc. + +more email which should make it into a more organized TODO list: +. +I would also love to see Freeside support bandwidth billing by reading the +Cisco NetFlow Accounting data so we and other ISP's could automatically bill +co-located servers and even potentially other virtually hosted sites like +MUD, Palace Chat, IRC Chat, etc based on the bandwidth they use or average +sustained rates or whatever. I'm not much of a programmer so I don't know +what all this entails but I did download a NetFlow client agent/whatever for +Linux though. + . +It would also be nice to see Freeside be able to read Apache log files and +bill customers for web traffic that way as an option also. Plus an option to +bill for excessive disk usage without having to use quotas if you didn't +want to, would be a nice feature as well. So you could monitor with a script +or something to see how much disk space a user was using then get some +average and charge a certain amount for anything above some preset limit for +that account type. I might be able to hack something like this up, but I'm +not 100% sure where to start or if there is something out there that could +be modified or not. +. +Do you think that you will ever support the HKS CCVS (Hell's Kitchen +Software Credit Card Verification Software) since Red Hat bought them out +and is going to be including that for credit card processing when you buy +the professional version? What about possibly supporting the OpenCCVS which +is a GNU/GPL version of a credit card program? I haven't had time to comb +through the Freeside code to see how hard it would be to add support for +these as externally called programs. +. +Also any thoughts on help desk, and knowledge base stuff? Any thoughts on +this stuff, and how possible and what kinds of work or time frame would be +involved? +. +Tim Jung +System Admin +Internet Gateway Inc. +tjung@igateway.net + + + + CVS via SSH (Score:1) + by platinum (jedgar at fxp dot org) on Thursday September 30, @07:13PM EDT (#4) + (User Info) http://www.fxp.org/~jedgar + The links above are your best bet for basic cvs server configuration. Once you have a pserver set up, you + may consider using cvs via ssh. All you need to do is the following: + + 1) Have ssh and sshd set up on the client and server machines + 2) Set CVSROOT="joe@example.com:/home/ncvs" + 3) Set CVS_RSH="/usr/local/bin/ssh" + 4) Use cvs normally + (Obviously, insert the proper host/paths above) + + You can also set up cvs/ssh to not need a password every time (similiar to an initial 'cvs login'): + + 1) run ssh-keygen on client machine using no passphrase. + 2) copy/add ~/.ssh/identity.pub on the client to ~/.ssh/authorized_keys on the server + (man ssh for more details) + + The main reason I mentio + CVS via SSH (Score:1) + by platinum (jedgar at fxp dot org) on Thursday September 30, @07:13PM EDT (#4) + (User Info) http://www.fxp.org/~jedgar + + +There's no way to do this currently, though it would be pretty +straightforward to modify the source - specifically, the _collect_ +subroutine in FS::cust_main. +> +On Mon, Dec 13, 1999 at 04:05:32PM -0700, Jeff Garner wrote: +> Freeside will e-mail my users when they are billed if they are setup as +> billing. +> +> When setup by credit card it does not e-mail them. Is there a way to +> turn on e-mail invoices for those who are billed via credit card? Kind +> of like a recipt of billing.... + + +doc: http://www.softagency.co.jp/mysql/qmail.en.html + +sql1992.txt standard is 18 character column names. shoot for that, not just +32 (postgresql default) + +Also note that (AFAIK) Freeside won't display any package that has more +than one service on the "Add Customer" page. The reason for this is +because there's no way to dynamically alter the displayed html form +based on which package is selected. One possible solution would be to +make an additional page that's used in the signup process that would +display the form for each package, like a MS-style "Wizard". The first +page lets you select the package, then the second page has the custom +form with fields for each service in that package and a save button. Of +course, that would require a little perl work. +. +Later, +Scott Cruzen + + Your suggested script with back up /usr/local/etc/freeside, but will miss any database not named `freeside'. Both of our scripts are specific to MySQL. If you're interested in contributing to Freeside, maybe you could @@ -81,10 +376,9 @@ in real-time instead of exporting periodically. See . these go in docs: -, and - + (was 546), and -and http://www.sisd.com/freeside/list-archive/msg00423.html +and http://www.sisd.com/freeside/list-archive/msg00421.html (was 423) > > 5: Is there anyway to get freeside to send a sysadmin a warning when a > > credit card has expired? @@ -137,7 +431,7 @@ table should go away, along with the concept of a "default" domain. default setting for new packages should allow all agents to purchase them... with a config file for the old behaviour -replace Term::Query with Quiz::Question? +fix or replace Term::Query (Quiz::Question doesn't do what i need) Check config file reading stuff from CPAN @@ -259,20 +553,7 @@ that error because it didn't exist yet. Sounds like a buglet to me. I'll try to fix that soon; in the meantime you can add the invoicing email address afterwords. -Postgres `money' time sucks rocks anyway. I'll probably just require 6.5 -and use the numeric types, which *finally* work right. -On Sat, Apr 24, 1999 at 12:52:00PM -0700, Mr. Poet wrote: -> Software error: -> Error creating cust_bill record: ERROR: parser: -> attribute 'charged' is of type 'money' but expression -> is of type 'float8' You will need to rewrite or cast -> the expression ! Check updated but unbilled packages -> for customer1 -. -Postgres `money' time sucks rocks anyway. I'll probably just require 6.5 -and use the numeric types, which *finally* work right (well, according to -the web site, anyway). -. +(workaround for postgres before 6.5) (unlikely to ever be implemented) In the mean-time, this could probably be fixed with the reverse of the kludge in FS::Record::new. This removes `$' and `,' from money fields coming out of the database. Something which fixed up the data so Postgres @@ -280,8 +561,8 @@ was happy with it could go in FS::Record::_quote, for data going into the database. our data display problem might be a Freeside problem wrt not using -Oracle-compatible DBI syntax (uses the return value from $sth->execute as -a number of rows). Fixing this is on the TODO. +Oracle-compatible DBI syntax (fixed using the return value from $sth->execute +as a number of rows - something else?). hooks for arbitrary commands out of configuration files svc_acct.pm svc_acct_sm.pm etc. @@ -410,8 +691,6 @@ the web interface in general needs to be redone in a more abstract way. false laziness: some of search/svc_acct_sm.cgi was copied to search/svc_domain.cgi. but web interface in general needs to be rewritten in a mucho cleaner way. -Portability: in FS::Record, $sth->execute does not return a number of rows for all DBD's. see man DBI - subroutine the where clause (eventually all SQL) as OO perhaps (has anyone done this?) add a select method to FS::Record?