recommend HTML::Mason
[freeside.git] / FS / FS.pm
index 7831739..36c3a17 100644 (file)
--- a/FS/FS.pm
+++ b/FS/FS.pm
@@ -5,6 +5,9 @@ use vars qw($VERSION);
 
 $VERSION = '0.01';
 
+#find missing entries in this file with:
+# for a in `ls *pm | cut -d. -f1`; do grep 'L<FS::'$a'>' ../FS.pm >/dev/null || echo "missing $a" ; done
+
 1;
 __END__
 
@@ -14,122 +17,184 @@ 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 Database metadata classes
+=head2 Utility classes
 
-=over 4
+L<FS::Conf> - Freeside configuration values
 
-=item L<FS::dbdef|FS::dbdef> - Database class
+L<FS::ConfItem> - Freeside configuration option meta-data.
 
-=item L<FS::dbdef_table|FS::dbdef_table> - Database table class
+L<FS::UID> - User class (not yet OO)
 
-=item L<FS::dbdef_column|FS::dbdef_column> - Database column class
+L<FS::CGI> - Non OO-subroutines for the web interface.
 
-=item L<FS::dbdef_colgroup|FS::dbdef_colgroup> - Database column group class
+L<FS::Msgcat> - Message catalog
 
-=item L<FS::dbdef_index|FS::dbdef_index> - Database index class
+L<FS::SearchCache> - Search cache
 
-=item L<FS::dbdef_unique|FS::dbdef_unique> - Database unique index class
+L<FS::raddb> - RADIUS dictionary
 
-=back
+=head2 Database record classes
 
-=head2 Utility classes
+L<FS::Record> - Database record base class
 
-=over 4
+L<FS::svc_acct_pop> - POP (Point of Presence, not Post
+Office Protocol) class
 
-=item L<FS::SSH|FS::SSH> - Simple wrappers around ssh and scp commands.
+L<FS::part_pop_local> - Local calling area class
 
-=item L<FS::Conf|FS::Conf> - Freeside configuration values
+L<FS::part_referral> - Referral class
 
-=item L<FS::UID|FS::UID> - User class (not yet OO)
+L<FS::cust_main_county> - Locale (tax rate) class
 
-=item L<FS::CGI|FS::CGI> - 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<FS::cust_tax_exempt> - Tax exemption record class
 
-=back
+L<FS::svc_Common> - Service base class
 
-=head2 Database record classes
+L<FS::svc_acct> - Account (shell, RADIUS, POP3) class
 
-=over 4
+L<FS::acct_snarf> - External mail account class
 
-=item L<FS::Record|FS::Record> - Database record base class
+L<FS::radius_usergroup> - RADIUS groups
 
-=item L<FS::svc_acct_pop|FS::svc_acct_pop> - POP (Point of Presence, not Post
-Office Protocol) class
+L<FS::svc_domain> - Domain class
+
+L<FS::domain_record> - DNS zone entries
+
+L<FS::svc_forward> - Mail forwarding class
 
-=item L<FS::part_referral|FS::part_referral> - Referral class
+L<FS::svc_www> - Web virtual host class.
 
-=item L<FS::cust_main_county|FS::cust_main_county> - Locale (tax rate) class
+L<FS::svc_broadband> - DSL, wireless and other broadband class.
 
-=item L<FS::svc_Common|FS::svc_Common> - Service base class
+L<FS::svc_external> - Externally tracked service class.
 
-=item L<FS::svc_acct|FS::svc_acct> - Account (shell, RADIUS, POP3) class
+L<FS::part_svc> - Service definition class
 
-=item L<FS::svc_domain|FS::svc_domain> - Domain class
+L<FS::part_svc_column> - Column constraint class
 
-=item L<FS::svc_acct_sm|FS::svc_acct_sm> - Vitual mail alias class
+L<FS::export_svc> - Class linking service definitions (see L<FS::part_svc>)
+with exports (see L<FS::part_export>)
 
-=item L<FS::part_svc|FS::part_svc> - Service definition class
+L<FS::part_export> - External provisioning export class
 
-=item L<FS::part_pkg|FS::part_pkg> - Package (billing item) definition class
+L<FS::part_export_option> - Export option class
 
-=item L<FS::pkg_svc|FS::pkg_svc> - Class linking package (billing item)
+L<FS::part_pkg> - Package (billing item) definition class
+
+L<FS::pkg_svc> - Class linking package (billing item)
 definitions (see L<FS::part_pkg>) with service definitions
 (see L<FS::part_svc>)
 
-=item L<FS::agent|FS::agent> - Agent (reseller) class
+L<FS::agent> - Agent (reseller) class
 
-=item L<FS::agent_type|FS::agent_type> - Agent type class
+L<FS::agent_type> - Agent type class
 
-=item L<FS::type_pkgs|FS::type_pkgs> - Class linking agent types (see
+L<FS::type_pkgs> - Class linking agent types (see
 L<FS::agent_type>) with package (billing item) definitions
 (see L<FS::part_pkg>)
 
-=item L<FS::cust_svc|FS::cust_svc> - Service class
+L<FS::cust_svc> - Service class
 
-=item L<FS::cust_pkg|FS::cust_pkg> - Package (billing item) class
+L<FS::cust_pkg> - Package (billing item) class
 
-=item L<FS::cust_main|FS::cust_main> - Customer class
+L<FS::cust_main> - Customer class
 
-=item L<FS::cust_main_invoice|FS::cust_main_invoice> - Invoice destination
+L<FS::cust_main_invoice> - Invoice destination
 class
 
-=item L<FS::cust_bill|FS::cust_bill> - Invoice class
+L<FS::cust_bill> - Invoice class
 
-=item L<FS::cust_bill_pkg|FS::cust_bill_pkg> - Invoice line item class
+L<FS::cust_bill_pkg> - Invoice line item class
 
-=item L<FS::cust_pay|FS::cust_pay> - Payment class
+L<FS::cust_bill_pkg_detail> - Invoice line item detail class
 
-=item L<FS::cust_credit|FS::cust_credit> - Credit class
+L<FS::part_bill_event> - Invoice event definition class
 
-=item L<FS::cust_refund|FS::cust_refund> - Refund class
+L<FS::cust_bill_event> - Completed invoice event class
 
-=item L<FS::cust_pay_batch|FS::cust_pay_batch> - Credit card transaction queue
-class
+L<FS::cust_pay> - Payment class
+
+L<FS::cust_bill_pay> - Payment application class
+
+L<FS::cust_credit> - Credit class
+
+L<FS::cust_refund> - Refund class
+
+L<FS::cust_credit_refund> - Refund application class
+
+L<FS::cust_credit_bill> - Credit invoice application class
+
+L<FS::cust_pay_batch> - Credit card transaction queue class
+
+L<FS::prepay_credit> - Prepaid "calling card" credit class.
+
+L<FS::nas> - Network Access Server class
+
+L<FS::port> - NAS port class
+
+L<FS::session> - User login session class
+
+L<FS::queue> - Job queue
 
-=back
+L<FS::queue_arg> - Job arguments
 
-=head2 User Interface classes (under development; not yet usable)
+L<FS::queue_depend> - Job dependencies
 
-=over 4
+L<FS::msgcat> - Message catalogs
 
-=item L<FS::UI::Base|FS::UI::Base> - User-interface base class
+=head1 Remote API modules
 
-=item L<FS::UI::Gtk|FS::UI::Gtk> - Gtk user-interface class
+L<FS::SignupClient>
 
-=item L<FS::UI::CGI|FS::UI::CGI> - CGI (HTML) user-interface class
+L<FS::SessionClient>
 
-=item L<FS::UI::agent|FS::UI::agent> - agent table user-interface class
+L<FS::MailAdminServer>
 
-=back
+=head2 Command-line utilities
+
+L<freeside-adduser>
+
+L<freeside-queued>
+
+L<freeside-daily>
+
+L<freeside-expiration-alerter>
+
+L<freeside-email>
+
+L<freeside-cc-receipts-report>
+
+L<freeside-credit-report>
+
+L<freeside-receivables-report>
+
+L<freeside-tax-report>
+
+L<freeside-bill>
+
+L<freeside-overdue>
+
+=head2 User Interface classes (under (stalled) development; not yet usable)
+
+L<FS::UI::Base> - User-interface base class
+
+L<FS::UI::Gtk> - Gtk user-interface class
+
+L<FS::UI::CGI> - CGI (HTML) user-interface class
+
+L<FS::UI::agent> - agent table user-interface class
+
+=head2 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
@@ -137,17 +202,17 @@ Providers.
 
 The Freeside home page is at <http://www.sisd.com/freeside>.
 
-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 in httemplate/docs.
 
 =head1 SUPPORT
 
-A mailing list for users and developers is available.  Send a blank message to
+A mailing list for users is available.  Send a blank message to
 <ivan-freeside-subscribe@sisd.com> 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
+<ivan-freeside-devel-subscribe@sisd.com> to subscribe.
+
 Commercial support is available; see
 <http://www.sisd.com/freeside/commercial.html>.
 
@@ -164,12 +229,9 @@ perl(1), main Freeside documentation in htdocs/docs/
 
 =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