X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=FS%2FFS.pm;h=2552dbd0850cf3c2bc39f7d776ba07e4b4fe0bf6;hp=652e458aa8a6ba8ca76f7967ad8ce953ad2c65f3;hb=573139dbd6c37808697bfa72a3a468bb0980d4dd;hpb=f1ee95396defc991301ac758b71bdda9df82984e diff --git a/FS/FS.pm b/FS/FS.pm index 652e458aa..2552dbd08 100644 --- a/FS/FS.pm +++ b/FS/FS.pm @@ -3,7 +3,10 @@ package FS; use strict; use vars qw($VERSION); -$VERSION = '0.01'; +$VERSION = '%%%VERSION%%%'; + +#find missing entries in this file with: +# for a in `ls *pm | cut -d. -f1`; do grep 'L' ../FS.pm >/dev/null || echo "missing $a" ; done 1; __END__ @@ -14,84 +17,380 @@ FS - Freeside Perl modules =head1 SYNOPSIS -FS is the unofficial (i.e. non-CPAN) prefix for the Perl module portion of the -Freeside ISP billing software. This includes: +Freeside perl modules and CLI utilities. =head2 Utility classes +L - Freeside database schema + +L - Setup subroutines + +L - Upgrade subroutines + L - Freeside configuration values +L - Freeside configuration option meta-data. + +L - Freeside configuration default and available values + L - User class (not yet OO) -L - Non OO-subroutines for the web interface. This is -depriciated. Future development will be focused on the FS::UI user-interface -classes (see below). +L - Package representing the current user + +L - Non OO-subroutines for the web interface. + +L - Locales + +L - Message catalog + +L - Search cache + +L - Access control rights. + +L - Report data objects + +L - Report data objects + +L - Report data objects + +L - Backend XML::RPC server + +L - Miscellaneous subroutines + +L - Payment types + +L - ClientAPI session cache + +L - A pony + +L - Customer searching + +L - Batch customer importing =head2 Database record classes L - Database record base class +L - Mixin class for classes in a many-to-many relationship + +L - Base class for tables with a related table listing names + +L - Base class for option sub-classes + +L - Base class for classification classes + +L - Base class for category (grooups of classifications) classes + +L - Configuration value class + +L - Mixin class for records in tables that contain payinfo. + +L - Employees / internal users + +L - Employee preferences + +L - Employee groups + +L - Employee group membership + +L - Group reseller access + +L - Access rights + L - POP (Point of Presence, not Post Office Protocol) class +L - Local calling area class + L - Referral class +L - Package referral class + L - Locale (tax rate) class +L - Tax exemption record class + +L - Tax adjustment record class + +L - Line-item specific tax exemption record class + L - Service base class +L - Mixin class for svc_ classes with a parent_svcnum field + L - Account (shell, RADIUS, POP3) class +L - External mail account class + +L - Time worked application to account class + +L - RADIUS user group membership + +L - RADIUS groups + L - Domain class L - DNS zone entries -L - Vitual mail alias class +L - Domain registrar class + +L - Communigate pro rule class + +L - Communigate pro rule condition class + +L - Communigate pro rule action class + +L - Mail forwarding class + +L - (Customer) Mailing list class + +L - Mailing list class + +L - Mailing list member class L - Web virtual host class. +L - DSL, wireless and other broadband class. + +L - DSL + +L - DSL device MAC addresses + +L - DSL order notes + +L - Address block class + +L - Router class + +L - Tower class + +L - Tower sector class + +L - Broadband virtual field class + +L - Phone service class + +L - Phone device class + +L - Device definition class + +L - Phone number availability cache + +L - LATA number to name mapping class + +L - MSA number to name mapping class + +L - Rate center list (for bulk DID orders) + +L - Bulk DID order vendor class + +L - Bulk DID order class + +L - Bulk DID order item class + +L - Call Detail Record class + +L - Call Detail Record batch class + +L - CDR calltype class + +L - CDR carrier class + +L - CDR type class + +L - Externally tracked service class. + +L - PBX service class + +L - Certificate service class + +L - Inventory classes + +L - Inventory items + L - Service definition class -L - Package (billing item) definition class +L - Column constraint class + +L - Class linking service definitions (see L) +with exports (see L) + +L - External provisioning export class + +L - Export option class + +L - Package category class (invoice oriented) + +L - Package class class + +L - Package definition class + +L - Package definition link class + +L - Tax class class + +L - Package definition option class + +L - Package reporting classification class + +L - Package external mapping class + +L - Class linking package definitions (see L) with +service definitions (see L) + +L - Service qualification class + +L - Qualification option class + +L - One-time registration codes + +L - Class linking registration codes (see L) with package definitions (see L) + +L - Rate plans for call billing + +L - Rate regions for call billing + +L - Rate region prefixes for call billing + +L - Rate plan detail for call billing + +L - Rate tiers for call billing -L - Class linking package (billing item) -definitions (see L) with service definitions -(see L) +L - Rater tier details for call billing + +L - Usage class class L - Agent (reseller) class L - Agent type class -L - Class linking agent types (see -L) with package (billing item) definitions -(see L) +L - Class linking agent types (see L) with package definitions (see L) + +L - Payment gateway class + +L - Payment gateway option class + +L - Agent payment gateway class L - Service class -L - Package (billing item) class +L - Customer package class + +L - Customer package option class + +L - Customer package details class + +L - Customer package discount class + +L - Customer package discount line item application class + +L - Discount class + +L - Reason type class + +L - Reason class + +L - Package reason class + +L - Contact class + +L - Contact phone class + +L - Phone type class + +L - Contact email class + +L - Prospect class L - Customer class -L - Invoice destination -class +L - Customer billing class + +L - Customer real-time billing class + +L - Customer packages class + +L - Customer location class + +L - Mixin class for records that contain fields from cust_main + +L - Invoice destination class + +L - Customer classification class + +L - Customer category class + +L - Customer tag class + +L - Tag definition class + +L - Customer tax exemption class + +L - Customer note class + +L - Customer note classification class + +L - Banned payment information class L - Invoice class +L - Informational statement class + L - Invoice line item class +L - Invoice line item detail class + +L - Legacy data invoice class + +L - (Old) Invoice event definition class + +L - (Old) Completed invoice event class + +L - (New) Billing event definition class + +L - (New) Billing event option class + +L - (New) Billing event condition base class + +L - (New) Billing event action base class + +L - (New) Billing event condition class + +L - (New) Billing event condition option class + +L - (New) Billing event condition compound option class + +L - (New) Customer event class + +L - Base class for bill application classes + L - Payment class +L - Pending payment class + +L - Voided payment class + L - Payment application class +L - Line-item specific payment application class + +L - Batch payment application class + L - Credit class L - Refund class -L - Refund application class +L - Refund application to credit class + +L - Credit application to invoice class + +L - Line-item specific credit application to invoice class + +L - Refund application to payment class -L - Refund invoice application class +L - Credit card transaction queue class -L - Credit card transaction queue class +L - Credit card transaction member queue class L - Prepaid "calling card" credit class. @@ -101,60 +400,150 @@ L - NAS port class L - User login session class -=head2 User Interface classes (under development; not yet usable) +L - Job queue -L - User-interface base class +L - Job arguments -L - Gtk user-interface class +L - Job dependencies -L - CGI (HTML) user-interface class +L - Message templates (customer notices) -L - agent table user-interface class +L - Message catalogs (error messages) -=head2 Notes +L + +L + +=head2 Historical database record classes + +L - History table base class + +L - Historical record of customer payment changes + +L - Historical record of customer credit changes + +L - Historical record of customer tax changes (old-style) + +L - Object method for h_cust_svc objects + +L - Historical record of customer tax changes (old-style) + +L - Historical DNS entry objects + +L - Historical account objects + +L - Historical broadband connection objects + +L - Historical domain objects + +L - Historical externally tracked service objects + +L - Historical mail forwarding alias objects + +L - Historical mailing list objects + +L - Historical phone number objects + +L - Historical PBX objects + +L - Historical web virtual host objects + +=head2 Remote API modules + +L - Self-service API + +L - Self-service XML-RPC API + +=head2 User Interface classes + +L - Web user-interface class + +L - Byte counter user-interface class + +=head2 Command-line utilities + +L - Command line interface to add (freeside) users. + +L - Run daily billing and collection events. + +L - Run monthly billing and invoice collection events. + +L - Recreate database schema cache + +L - Command line interface to delete (freeside) users. + +L - Emails notifications of credit card expirations. + +L - Prints email addresses of all users on STDOUT + +L - Send a freeside page to a list of employees. + +L - Real-time daemon for prepaid packages + +L - Removes stray applications of credit, payment to bills, refunds, etc. + +L - Job queue daemon + +L - Command line utility to manipulate radius groups + +L - Command line tool to re-trigger export jobs for existing services + +L - Command line tool to set the fixed columns for existing services + +L - Command line tool to eliminate duplicate usergroup entries from radius tables + +L - Real-time radacct import daemon + +L - Command line interface to reset and recreate RADIUS SQL tables + +L - Command line time-online tool + +L - Upgrades database schema for new freeside verisons. + +=head1 Notes To quote perl(1), "If you're intending to read these straight through for the first time, the suggested order will tend to reduce the number of forward references." +If you've never used OO modules before, +http://www.perl.com/doc/FMTEYEWTK/easy_objects.html might help you out. + =head1 DESCRIPTION -Freeside is a billing and administration package for Internet Service -Providers. +Freeside is a billing and administration package for wired and wireless ISPs, +VoIP, hosting, service and content providers and other online businesses. The Freeside home page is at . -The main documentation is in htdocs/docs. - -=head1 VERSION - -$Id: FS.pm,v 1.6 2001-09-02 04:25:55 ivan Exp $ +The main documentation is at . =head1 SUPPORT -A mailing list for users and developers is available. Send a blank message to - to subscribe. +A mailing list for users is available. Send a blank message to + to subscribe. + +A mailing list for developers is available. It is intended to be lower volume +and higher SNR than the users list. Send a blank message to + to subscribe. Commercial support is available; see . -=head1 AUTHOR +=head1 AUTHORS -Primarily Ivan Kohler , with help from many kind folks. +Primarily Ivan Kohler, with help from many kind folks, including core +contributors Jeff Finucane, Kristian Hoffman, Jason Hall and Peter Bowen. See the CREDITS file in the Freeside distribution for a (hopefully) complete list and the individal files for details. =head1 SEE ALSO -perl(1), main Freeside documentation in htdocs/docs/ +perl(1), main Freeside documentation at =head1 BUGS -The version number of the FS Perl extension differs from the version of the -Freeside distribution, which are both different from the CVS version tag for -each file, which appears under the VERSION heading. - Those modules which would be useful separately should be pulled out, renamed appropriately and uploaded to CPAN. So far: DBIx::DBSchema, Net::SSH and Net::SCP...