X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=TODO;h=f9e685528a74b9a57d91f0d55143a2aba86f37ff;hp=4d0a0ba5f63e750765ed210c69bab8c1bfa3e4c1;hb=1dd250b6ff2c32f0bb9b4db7606066f34721e7d9;hpb=b90f8cdac9371c219a72dda16f8deecc7c44fc28 diff --git a/TODO b/TODO index 4d0a0ba5f..f9e685528 100644 --- a/TODO +++ b/TODO @@ -1,4 +1,4 @@ -$Id: TODO,v 1.53 2000-12-03 20:25:20 ivan Exp $ +$Id: TODO,v 1.66 2001-07-30 07:13:34 ivan Exp $ If you are interested in helping with any of these, please join the *development* mailing list (send a blank message to @@ -6,7 +6,207 @@ ivan-freeside-devel-subscribe@sisd.com) to avoid duplication of effort. --- +> Does Freeside currently support notification to the customer that their +> credit card on file is about to expire? +> What about notification that their +> credit card was declined after they sign up, say like in 5 months when it +> fails? + + +random templating thoughts: +for starters, read the "Template Syntax" section of Text::Template +that sums up the starting philosophy pretty well +> Text::Template is unsuitable because it's backwards, but don't worry about ++that quite yet. everything in that section applies +.. +then ttp://forum.swarthmore.edu/epigone/modperl/frahthonbror/19990525144012.8806.qmail@plover.com +.. +then: given that as background, freside will use a simple template syntax designed ++to interact well with the webmonkey html editors, and will export to Mason ++and Apache::ASP for starters, and eventually any "right-side-out" "eval" ++templating system + + +make svc_acct.import complain if you try to use a local file + +make the invoices configurable such that: +> Also, Can you change FreeSide so that it says "GST" instead of TAX? + +"Andrew Wafula" : +> Following my recent questions on money_char, i would like to suggest that +> money_char be used as well in cust_bill.cgi and cust_main.cgi so that the +> charges are seen in whatever money_char is used in a particular country +> instead of the default dollar currecny. This would make it such that the +> system has one monetary unit in its entirety rather than only for the +> invoicing part. I guess this would be something others would appreciate as +> well. + +Things that would be nice but probably won't happen: testing with +MySQL+Sleepycat, a fix for the long-RADIUS-attributes-with Pg problem, +passive session monitoring with RADIUS (tailing a log file or monitoring a +database, as opposed to using a RADIUS with proper callbacks). + +anything doing transactions in the web interface should likely move into *.pm. +(transactions are here woo!) + +write some sample billing expressions with libcflow-perl :) + +(future templating) +. +(at least) These questions need to be answered for Mason, Apache::ASP and +eperl. If eperl becomes too much of a pain, I'm okay with forgetting +about it - it's not well-maintained. +. +How do you interpolate a value? +mason: <% $value %> +apache-asp(don't think there is a "with-escaping-HTML" way?): <%= $value %> +. +How do you interpolate a value without escaping HTML? +mason: <% $value |n %> +apache-asp??: <%= $value %> +. +How do you interpolate a (possibly non-stand-alone, non-interpolated) +control structure? With an inital % - for example: +. +mason: + % foreach $value ( @values ) { + + % } +apache-asp: + <% foreach $value ( @values ) { %> + + <% } %> +. +This is one of the things I worry that the webmonkey HTML editors will not +like about Mason. That and the <%INIT> and <%PERL> tags. + + +in the context of a state machine (& MySQL and Pg locking) for LDAP export: +. +Also note that Pg locks are for the duration of the transaction, so +Freeside needs to start using transactions for this to happen. +FS::UID::adminsuidsetup should explicitly set AutoCommit false and export +some functions to begin and end transactions on $FS::UID::dbh. (Well, +eventually FS::UID should be an overloaded subclass of a DBI handle, but +we don't have to worry about that until perl threads + mod_perl + threaded +Apache 2.0 is stable, i.e. quite some time). + +Postfix +also supports virtual domains in a way that's somewhat similar (but not +compatible with) the way sendmail does. In the postfix world, all virtual +domain info is contained in one file (similar to the virtusertable), but +is formatted as such: +bar.com virtual +foo@bar.com some@other.net +quux@bar.com localuser1 +... +and so on. After the file is generated, it gets compiled into a hash db +using, "postmap /etc/postfix/virtual". + + +steal all the play-nice-with-cache stuff back from RT + +Use this for email checking: +libemail-valid-perl - Check validity of Internet email addresses +. +This module determines whether an email address is well-formed, and +optionally, whether a mail host exists for the domain. + + +wishlist from drenalin@ultimanet.com: +* delete button for customers +- 15th of the month billing +- field for customer referrals (naming who it is) and automatically crediting ++that account +- ability to edit referrals +- catch expired credit cards and notify via email when they are expiring +* show passwords +- set default shell to /bin/false when adding ppp account +- import list of POPs from Megapop (see www.ultimanet.com and click on locations ++from text in index page) + + +wishlist wrt projects/consulting from jivko@ijs.com: +>The other thing, which is the serious part, is the following: We do not +>offer dial-up services and that part of the system does not have to work, +>but we have many customer, for which we do both hosting and consulting work. +. +>The hosting can be handled by freeside fine, but in the little time I spent +>on it I could not see how exactly to solve the consulting problem. What I +>would love to see there is a way to create 'projects' for each customer and +>ability to follow up on those (I mean to be able to add new comments, +>descriptions, progress updates etc.). You already have the feature, which +>allows multiple people to access the system with different access rights so +>it should be possible to make it keep track of who and when updated given +>'project' so we could have the developers access the database and update +>the projects they are working on. +. +Hmm. Is this accurate: Each project is related to a single customer, and +zero or more packages (billing items). Each project has a name, due date, +and zero or more log entries consisting of date, user, and a text field +(for "new comments, descriptions, progress updates etc." - would you like +anything more specific?) + +In conjunction with that it looks like you need the ability to create +"one-off" packages on the fly for arbitrary charges. + +> Additionally it would be nice to have a page, where all open projects can +> be listed and not only that but be able list them by date too. (Say I want +> to find out which projects are due today or two days from today, or which +> projects are running late) +. +Browse/search project by date and customer. +. +> Finally it would be real nice if the billing script could add the cost for +> all completed projects (or work done by the hour) to the monthly bill along +> with the hosting information and using the description of the work from the +> 'project' table. +. +Can you be more specific about your needs here? +. +> This is a lot of work, unless you disagree :-), and I would not expect you +> to do all of it - we can work on it too - but I would hope for you to lead +> the effort. +. +I'm trying to get a handle on specifically what you need. +. +> Oh, and there is one more thing, but that should be simple to do. I would +> like to be able to give the customers access to selected information from +> their account. I want them to be able to monitor the progress of their +> projects and the status of their accounts. +. +Ok. +. +> Does all this make sense? It must be close to what you need at your office +> though or at least I think so. +. +Yes, but we're small and have been tracking projects manually. +. +. +>You may have this already .. what I have in mind is the following. Say you +>have a customer for which you do hosting and some consulting (CGI, JAVA +>etc) At the end of the month you need to bill the customer for the hosting, +>35hours of Java programming and 10 hours of HTML authoring. The last two +>are not because the project is over but because the work was done during +>that month. +> +>So the way I see it, and it could be wrong, is that during the month the +>people who work on particular project enter their comments and time spent +>on the project. At the end of the month the billing script generates +>invoices in which besides the hosting charges there are also charges for +>work done during the period. +> +>Currently we do this in a very stupid way by maintaining a customer file, +>in which a script saves things to be invoiced. At the end of the month a +>script goes through these files and generates invoices with all items from +>the files, which have not been flagged as 'paid'. The convenience of this +>is that no one needs to worry about the invoices containing the items they +>need to contain. + + + first package select field in edit/cust_main.cgi isn't sticky on errors, yuck +(also referral isn't sticky either? 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