X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS.pm;h=462815db3d716a72b84c59f90e0a6f869cee05ca;hb=3a977998566f58dd5b16745f95cf6f30a27f0b0a;hp=78317392a61ce6293d652738b3bc7038656af35f;hpb=75e22f3c399435c50ed5698cb7c19d0e9f2617f8;p=freeside.git diff --git a/FS/FS.pm b/FS/FS.pm index 78317392a..462815db3 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,384 @@ 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 - Freeside configuration values -=item L - Database table class +L - Freeside configuration option meta-data. -=item L - Database column class +L - Freeside configuration default and available values -=item L - Database column group class +L - User class (not yet OO) -=item L - Database index class +L - Package representing the current user -=item L - Database unique index class +L - Non OO-subroutines for the web interface. -=back +L - Message catalog -=head2 Utility classes +L - Search cache -=over 4 +L - RADIUS dictionary -=item L - Simple wrappers around ssh and scp commands. +L - Access control rights. -=item L - Freeside configuration values +L - Report data objects -=item L - User class (not yet OO) +L - Report data objects -=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 - Report data objects -=back +L - Backend XML::RPC server + +L - Miscellaneous subroutines + +L - Payment types + +L - A pony =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 + +L - Base class for option sub-classes + +L - Package class 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 -=item L - Database record base class +L - Group reseller access -=item L - POP (Point of Presence, not Post +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 - 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 - 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 - 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 class class + +L - Package definition 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 - Agent (reseller) class + +L - Agent type class -=item L - Locale (tax rate) class +L - Class linking agent types (see L) with package definitions (see L) -=item L - Service base class +L - Payment gateway class -=item L - Account (shell, RADIUS, POP3) class +L - Payment gateway option class -=item L - Domain class +L - Agent payment gateway class -=item L - Vitual mail alias class +L - Service class -=item L - Service definition class +L - Customer package class -=item L - Package (billing item) definition class +L - Customer package option class -=item L - Class linking package (billing item) -definitions (see L) with service definitions -(see L) +L - Reason type class -=item L - Agent (reseller) class +L - Reason class -=item L - Agent type class +L - Package reason class -=item L - Class linking agent types (see -L) with package (billing item) definitions -(see L) +L - Customer class -=item L - Service class +L - Mixin class for records that contain fields from cust_main -=item L - Package (billing item) class +L - Invoice destination class -=item L - Customer class +L - Customer note class -=item L - Invoice destination -class +L - Banned payment information class -=item L - Invoice class +L - Invoice class -=item L - Invoice line item class +L - Invoice line item class -=item L - Payment class +L - Invoice line item detail class -=item L - Credit class +L - Invoice event definition class -=item L - Refund class +L - Completed invoice event class -=item L - Credit card transaction queue -class +L - Base class for bill application classes -=back +L - Payment class -=head2 User Interface classes (under development; not yet usable) +L - Voided payment class -=over 4 +L - Payment application class -=item L - User-interface base class +L - Line-item specific payment application class -=item L - Gtk user-interface class +L - Batch payment application class -=item L - CGI (HTML) user-interface class +L - Credit class -=item L - agent table user-interface class +L - Refund class -=back +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 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 Client API + +L + +L + +L + +L + +L + +L + +=head2 Remote API modules + +L + +L + +L + +L (deprecated in favor of the self-service server) + +=head2 User Interface classes + +L - Web user-interface class + +L - Byte counter user-interface class + +=head2 Command-line utilities + +L + +L + +L + +L + +L + +L + +L + +L + +L + +L + +L + +=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