X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=FS%2FFS.pm;h=c4be977f1351872729c1bac65efd3e6f02c40c50;hp=c7defbc7f07e7dd891cf72bd7c5096d6c965734b;hb=2b8ffc98529637ffddfe7cbf6b4f9b8deb90f0fa;hpb=1e3eae905b861761f93643aa5fce14a8be5d9ed2 diff --git a/FS/FS.pm b/FS/FS.pm index c7defbc7f..c4be977f1 100644 --- a/FS/FS.pm +++ b/FS/FS.pm @@ -1,51 +1,442 @@ package FS; use strict; -use vars qw($VERSION @ISA @EXPORT @EXPORT_OK); +use vars qw($VERSION); -require Exporter; +$VERSION = '%%%VERSION%%%'; -@ISA = qw(Exporter AutoLoader); -# Items to export into callers namespace by default. Note: do not export -# names by default without a very good reason. Use EXPORT_OK instead. -# Do not simply export all your public functions/methods/constants. -@EXPORT = qw( - -); -$VERSION = '0.01'; - - -# Preloaded methods go here. - -# Autoload methods go after =cut, and are processed by the autosplit program. +#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__ -# Below is the stub of documentation for your module. You better edit it! =head1 NAME -FS - Perl extension for blah blah blah +FS - Freeside Perl modules =head1 SYNOPSIS - use FS; - blah blah blah +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 - Package representing the current user + +L - Non OO-subroutines for the web interface. + +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 - 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 - 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 - 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 groups + +L - Domain class + +L - DNS zone entries + +L - Domain registrar class + +L - Mail forwarding class + +L - Web virtual host class. + +L - DSL, wireless and other broadband class. + +L - Address block class + +L - Router class + +L - Broadband virtual field class + +L - Phone service class + +L - Phone number availability cache + +L - Call Detail Record class + +L - CDR calltype class + +L - CDR carrier class + +L - CDR upstream rate class + +L - CDR type class + +L - Externally tracked service class. + +L - Inventory classes + +L - Inventory items + +L - Service 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 + +L - Package class class + +L - Package definition class + +L - Package definition link class + +L - Tax class class + +L - Package definition option class + +L - Class linking package definitions (see L) with +service definitions (see L) + +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 - Usage class class + +L - Agent (reseller) class + +L - Agent type class + +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 - Customer package class + +L - Customer package option class + +L - Customer package details class + +L - Reason type class + +L - Reason class + +L - Package reason class + +L - Customer class + +L - Customer location class + +L - Mixin class for records that contain fields from cust_main + +L - Invoice destination class + +L - Customer note class + +L - Banned payment information class + +L - Invoice class + +L - Invoice line item class + +L - Invoice line item detail 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 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 - Credit card transaction queue class + +L - Credit card transaction member queue class + +L - Prepaid "calling card" credit class. + +L - Network Access Server class + +L - NAS port class + +L - User login session class + +L - Job queue + +L - Job arguments + +L - Job dependencies + +L - Message catalogs + +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 phone number 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 -Stub documentation for FS was created by h2xs. It looks like the -author of the extension was negligent enough to leave the stub -unedited. +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 at . + +=head1 SUPPORT -Blah blah blah. +A mailing list for users is available. Send a blank message to + to subscribe. -=head1 AUTHOR +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. -A. U. Thor, a.u.thor@a.galaxy.far.far.away +Commercial support is available; see +. + +=head1 AUTHORS + +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). +perl(1), main Freeside documentation at + +=head1 BUGS + +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... =cut +