X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=FS%2FFS.pm;h=2552dbd0850cf3c2bc39f7d776ba07e4b4fe0bf6;hp=78317392a61ce6293d652738b3bc7038656af35f;hb=9dd7da8c2e0c7547adf0ef6abefa06b5e951dbf1;hpb=75e22f3c399435c50ed5698cb7c19d0e9f2617f8 diff --git a/FS/FS.pm b/FS/FS.pm index 78317392a..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,162 +17,536 @@ FS - Freeside Perl modules =head1 SYNOPSIS -FS is the temporary prefix for many disparate modules written for the Freeside -ISP billing software. This includes: +Freeside perl modules and CLI utilities. + +=head2 Utility classes -=head2 Database metadata classes +L - Freeside database schema -=over 4 +L - Setup subroutines -=item L - Database class +L - Upgrade subroutines -=item L - Database table class +L - Freeside configuration values -=item L - Database column class +L - Freeside configuration option meta-data. -=item L - Database column group class +L - Freeside configuration default and available values -=item L - Database index class +L - User class (not yet OO) -=item L - Database unique index class +L - Package representing the current user -=back +L - Non OO-subroutines for the web interface. -=head2 Utility classes +L - Locales + +L - Message catalog + +L - Search cache + +L - Access control rights. -=over 4 +L - Report data objects -=item L - Simple wrappers around ssh and scp commands. +L - Report data objects -=item L - Freeside configuration values +L - Report data objects -=item L - User class (not yet OO) +L - Backend XML::RPC server -=item 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 - Miscellaneous subroutines -=back +L - Payment types + +L - ClientAPI session cache + +L - A pony + +L - Customer searching + +L - Batch customer importing =head2 Database record classes -=over 4 +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 -=item L - Database record base class +L - Base class for option sub-classes -=item L - POP (Point of Presence, not Post +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 -=item L - Referral 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 - 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 - 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 -=item L - Locale (tax rate) class +L - Rater tier details for call billing -=item L - Service base class +L - Usage class class -=item L - Account (shell, RADIUS, POP3) class +L - Agent (reseller) class -=item L - Domain class +L - Agent type class -=item L - Vitual mail alias class +L - Class linking agent types (see L) with package definitions (see L) -=item L - Service definition class +L - Payment gateway class -=item L - Package (billing item) definition class +L - Payment gateway option class -=item L - Class linking package (billing item) -definitions (see L) with service definitions -(see L) +L - Agent payment gateway class -=item L - Agent (reseller) class +L - Service class -=item L - Agent type class +L - Customer package class -=item L - Class linking agent types (see -L) with package (billing item) definitions -(see L) +L - Customer package option class -=item L - Service class +L - Customer package details class -=item L - Package (billing item) class +L - Customer package discount class -=item L - Customer class +L - Customer package discount line item application class -=item L - Invoice destination -class +L - Discount class -=item L - Invoice class +L - Reason type class -=item L - Invoice line item class +L - Reason class -=item L - Payment class +L - Package reason class -=item L - Credit class +L - Contact class -=item L - Refund class +L - Contact phone class -=item L - Credit card transaction queue -class +L - Phone type class -=back +L - Contact email class -=head2 User Interface classes (under development; not yet usable) +L - Prospect class -=over 4 +L - Customer class -=item L - User-interface base class +L - Customer billing class -=item L - Gtk user-interface class +L - Customer real-time billing class -=item L - CGI (HTML) user-interface class +L - Customer packages class -=item L - agent table user-interface class +L - Customer location class -=back +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 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 templates (customer notices) + +L - Message catalogs (error messages) + +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.2 1999-08-04 07:34:15 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. +renamed appropriately and uploaded to CPAN. So far: DBIx::DBSchema, Net::SSH +and Net::SCP... =cut