so Search.tsf and Search.rdf work
[freeside.git] / FS / FS.pm
index 7831739..f5b2b96 100644 (file)
--- a/FS/FS.pm
+++ b/FS/FS.pm
@@ -3,7 +3,10 @@ package FS;
 use strict;
 use vars qw($VERSION);
 
 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::'$a'>' ../FS.pm >/dev/null || echo "missing $a" ; done
 
 1;
 __END__
 
 1;
 __END__
@@ -14,122 +17,214 @@ FS - Freeside Perl modules
 
 =head1 SYNOPSIS
 
 
 =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
 
 
-=item L<FS::part_referral|FS::part_referral> - Referral class
+L<FS::domain_record> - DNS zone entries
 
 
-=item L<FS::cust_main_county|FS::cust_main_county> - Locale (tax rate) class
+L<FS::svc_forward> - Mail forwarding class
 
 
-=item L<FS::svc_Common|FS::svc_Common> - Service base class
+L<FS::svc_www> - Web virtual host class.
 
 
-=item L<FS::svc_acct|FS::svc_acct> - Account (shell, RADIUS, POP3) class
+L<FS::svc_broadband> - DSL, wireless and other broadband class.
 
 
-=item L<FS::svc_domain|FS::svc_domain> - Domain class
+L<FS::svc_external> - Externally tracked service class.
 
 
-=item L<FS::svc_acct_sm|FS::svc_acct_sm> - Vitual mail alias class
+L<FS::part_svc> - Service definition class
 
 
-=item L<FS::part_svc|FS::part_svc> - Service definition class
+L<FS::part_svc_column> - Column constraint class
 
 
-=item L<FS::part_pkg|FS::part_pkg> - Package (billing item) definition class
+L<FS::export_svc> - Class linking service definitions (see L<FS::part_svc>)
+with exports (see L<FS::part_export>)
 
 
-=item L<FS::pkg_svc|FS::pkg_svc> - Class linking package (billing item)
-definitions (see L<FS::part_pkg>) with service definitions
-(see L<FS::part_svc>)
+L<FS::part_export> - External provisioning export class
 
 
-=item L<FS::agent|FS::agent> - Agent (reseller) class
+L<FS::part_export_option> - Export option class
 
 
-=item L<FS::agent_type|FS::agent_type> - Agent type class
+L<FS::part_pkg> - Package definition class
 
 
-=item L<FS::type_pkgs|FS::type_pkgs> - Class linking agent types (see
-L<FS::agent_type>) with package (billing item) definitions
-(see L<FS::part_pkg>)
+L<FS::part_pkg_option> - Package definition option class
 
 
-=item L<FS::cust_svc|FS::cust_svc> - Service class
+L<FS::pkg_svc> - Class linking package definitions (see L<FS::part_pkg>) with
+service definitions (see L<FS::part_svc>)
 
 
-=item L<FS::cust_pkg|FS::cust_pkg> - Package (billing item) class
+L<FS::reg_code> - One-time registration codes
 
 
-=item L<FS::cust_main|FS::cust_main> - Customer class
+L<FS::reg_code_pkg> - Class linking registration codes (see L<FS::reg_code>) with package definitions (see L<FS::part_pkg>)
 
 
-=item L<FS::cust_main_invoice|FS::cust_main_invoice> - Invoice destination
-class
+L<FS::rate> - Rate plans for call billing
 
 
-=item L<FS::cust_bill|FS::cust_bill> - Invoice class
+L<FS::rate_region> - Rate regions for call billing
 
 
-=item L<FS::cust_bill_pkg|FS::cust_bill_pkg> - Invoice line item class
+L<FS::rate_prefix> - Rate region prefixes for call billing
 
 
-=item L<FS::cust_pay|FS::cust_pay> - Payment class
+L<FS::rate_detail> - Rate plan detail for call billing
 
 
-=item L<FS::cust_credit|FS::cust_credit> - Credit class
+L<FS::agent> - Agent (reseller) class
 
 
-=item L<FS::cust_refund|FS::cust_refund> - Refund class
+L<FS::agent_type> - Agent type class
 
 
-=item L<FS::cust_pay_batch|FS::cust_pay_batch> - Credit card transaction queue
+L<FS::type_pkgs> - Class linking agent types (see L<FS::agent_type>) with
+package definitions (see L<FS::part_pkg>)
+
+L<FS::cust_svc> - Service class
+
+L<FS::cust_pkg> - Customer package class
+
+L<FS::cust_main> - Customer class
+
+L<FS::cust_main_invoice> - Invoice destination
 class
 
 class
 
-=back
+L<FS::cust_bill> - Invoice class
+
+L<FS::cust_bill_pkg> - Invoice line item class
+
+L<FS::cust_bill_pkg_detail> - Invoice line item detail class
+
+L<FS::part_bill_event> - Invoice event definition class
+
+L<FS::cust_bill_event> - Completed invoice event class
+
+L<FS::cust_pay> - Payment class
+
+L<FS::cust_pay_void> - Voided 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 to credit class
+
+L<FS::cust_credit_bill> - Credit application to invoice class
+
+L<FS::cust_pay_refund> - Refund application to payment 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
 
 
-=head2 User Interface classes (under development; not yet usable)
+L<FS::queue_arg> - Job arguments
 
 
-=over 4
+L<FS::queue_depend> - Job dependencies
 
 
-=item L<FS::UI::Base|FS::UI::Base> - User-interface base class
+L<FS::msgcat> - Message catalogs
 
 
-=item L<FS::UI::Gtk|FS::UI::Gtk> - Gtk user-interface class
+L<FS::clientapi_session>
 
 
-=item L<FS::UI::CGI|FS::UI::CGI> - CGI (HTML) user-interface class
+L<FS::clientapi_session_field>
 
 
-=item L<FS::UI::agent|FS::UI::agent> - agent table user-interface class
+=head1 Client API
 
 
-=back
+L<FS::ClientAPI>
+
+L<FS::ClientAPI_SessionCache>
+
+L<FS::ClientAPI::Signup>
+
+L<FS::ClientAPI::passwd>
+
+L<FS::ClientAPI::MyAccount>
+
+L<FS::ClientAPI::Agent>
+
+=head1 Remote API modules
+
+L<FS::SelfService>
+
+L<FS::SignupClient>
+
+L<FS::SessionClient>
+
+L<FS::MailAdminServer> (deprecated in favor of the self-service server)
+
+=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
+
+L<FS::UI::Web> - Web 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."
 
 
 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
 =head1 DESCRIPTION
 
 Freeside is a billing and administration package for Internet Service
@@ -137,17 +232,17 @@ Providers.
 
 The Freeside home page is at <http://www.sisd.com/freeside>.
 
 
 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
 
 
 =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.
 
 <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>.
 
 Commercial support is available; see
 <http://www.sisd.com/freeside/commercial.html>.
 
@@ -164,12 +259,9 @@ perl(1), main Freeside documentation in htdocs/docs/
 
 =head1 BUGS
 
 
 =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, 
 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
 
 
 =cut