d8999ca5e4b2080a0e2d6a4eb919cdada15f9d0e
[freeside.git] / FS / FS.pm
1 package FS;
2
3 use strict;
4 use vars qw($VERSION);
5
6 $VERSION = '%%%VERSION%%%';
7
8 #find missing entries in this file with:
9 # for a in `ls *pm | cut -d. -f1`; do grep 'L<FS::'$a'>' ../FS.pm >/dev/null || echo "missing $a" ; done
10
11 1;
12 __END__
13
14 =head1 NAME
15
16 FS - Freeside Perl modules
17
18 =head1 SYNOPSIS
19
20 Freeside perl modules and CLI utilities.
21
22 =head2 Utility classes
23
24 L<FS::Conf> - Freeside configuration values
25
26 L<FS::ConfItem> - Freeside configuration option meta-data.
27
28 L<FS::UID> - User class (not yet OO)
29
30 L<FS::CGI> - Non OO-subroutines for the web interface.
31
32 L<FS::Msgcat> - Message catalog
33
34 L<FS::SearchCache> - Search cache
35
36 L<FS::raddb> - RADIUS dictionary
37
38 =head2 Database record classes
39
40 L<FS::Record> - Database record base class
41
42 L<FS::svc_acct_pop> - POP (Point of Presence, not Post
43 Office Protocol) class
44
45 L<FS::part_pop_local> - Local calling area class
46
47 L<FS::part_referral> - Referral class
48
49 L<FS::cust_main_county> - Locale (tax rate) class
50
51 L<FS::cust_tax_exempt> - Tax exemption record class
52
53 L<FS::svc_Common> - Service base class
54
55 L<FS::svc_acct> - Account (shell, RADIUS, POP3) class
56
57 L<FS::acct_snarf> - External mail account class
58
59 L<FS::radius_usergroup> - RADIUS groups
60
61 L<FS::svc_domain> - Domain class
62
63 L<FS::domain_record> - DNS zone entries
64
65 L<FS::svc_forward> - Mail forwarding class
66
67 L<FS::svc_www> - Web virtual host class.
68
69 L<FS::svc_broadband> - DSL, wireless and other broadband class.
70
71 L<FS::svc_external> - Externally tracked service class.
72
73 L<FS::part_svc> - Service definition class
74
75 L<FS::part_svc_column> - Column constraint class
76
77 L<FS::export_svc> - Class linking service definitions (see L<FS::part_svc>)
78 with exports (see L<FS::part_export>)
79
80 L<FS::part_export> - External provisioning export class
81
82 L<FS::part_export_option> - Export option class
83
84 L<FS::part_pkg> - Package definition class
85
86 L<FS::part_pkg_option> - Package definition option class
87
88 L<FS::pkg_svc> - Class linking package definitions (see L<FS::part_pkg>) with
89 service definitions (see L<FS::part_svc>)
90
91 L<FS::reg_code> - One-time registration codes
92
93 L<FS::reg_code_pkg> - Class linking registration codes (see L<FS::reg_code>) with package definitions (see L<FS::part_pkg>)
94
95 L<FS::rate> - Rate plans for call billing
96
97 L<FS::rate_region> - Rate regions for call billing
98
99 L<FS::rate_prefix> - Rate region prefixes for call billing
100
101 L<FS::rate_detail> - Rate plan detail for call billing
102
103 L<FS::agent> - Agent (reseller) class
104
105 L<FS::agent_type> - Agent type class
106
107 L<FS::type_pkgs> - Class linking agent types (see L<FS::agent_type>) with
108 package definitions (see L<FS::part_pkg>)
109
110 L<FS::cust_svc> - Service class
111
112 L<FS::cust_pkg> - Customer package class
113
114 L<FS::cust_main> - Customer class
115
116 L<FS::cust_main_invoice> - Invoice destination
117 class
118
119 L<FS::cust_bill> - Invoice class
120
121 L<FS::cust_bill_pkg> - Invoice line item class
122
123 L<FS::cust_bill_pkg_detail> - Invoice line item detail class
124
125 L<FS::part_bill_event> - Invoice event definition class
126
127 L<FS::cust_bill_event> - Completed invoice event class
128
129 L<FS::cust_pay> - Payment class
130
131 L<FS::cust_pay_void> - Voided payment class
132
133 L<FS::cust_bill_pay> - Payment application class
134
135 L<FS::cust_credit> - Credit class
136
137 L<FS::cust_refund> - Refund class
138
139 L<FS::cust_credit_refund> - Refund application to credit class
140
141 L<FS::cust_credit_bill> - Credit application to invoice class
142
143 L<FS::cust_pay_refund> - Refund application to payment class
144
145 L<FS::pay_batch> - Credit card transaction queue class
146
147 L<FS::cust_pay_batch> - Credit card transaction member queue class
148
149 L<FS::prepay_credit> - Prepaid "calling card" credit class.
150
151 L<FS::nas> - Network Access Server class
152
153 L<FS::port> - NAS port class
154
155 L<FS::session> - User login session class
156
157 L<FS::queue> - Job queue
158
159 L<FS::queue_arg> - Job arguments
160
161 L<FS::queue_depend> - Job dependencies
162
163 L<FS::msgcat> - Message catalogs
164
165 L<FS::clientapi_session>
166
167 L<FS::clientapi_session_field>
168
169 =head1 Client API
170
171 L<FS::ClientAPI>
172
173 L<FS::ClientAPI_SessionCache>
174
175 L<FS::ClientAPI::Signup>
176
177 L<FS::ClientAPI::passwd>
178
179 L<FS::ClientAPI::MyAccount>
180
181 L<FS::ClientAPI::Agent>
182
183 =head1 Remote API modules
184
185 L<FS::SelfService>
186
187 L<FS::SignupClient>
188
189 L<FS::SessionClient>
190
191 L<FS::MailAdminServer> (deprecated in favor of the self-service server)
192
193 =head2 Command-line utilities
194
195 L<freeside-adduser>
196
197 L<freeside-queued>
198
199 L<freeside-daily>
200
201 L<freeside-expiration-alerter>
202
203 L<freeside-email>
204
205 L<freeside-cc-receipts-report>
206
207 L<freeside-credit-report>
208
209 L<freeside-receivables-report>
210
211 L<freeside-tax-report>
212
213 L<freeside-bill>
214
215 L<freeside-overdue>
216
217 =head2 User Interface classes
218
219 L<FS::UI::Web> - Web user-interface class
220
221 =head2 Notes
222
223 To quote perl(1), "If you're intending to read these straight through for the
224 first time, the suggested order will tend to reduce the number of forward
225 references."
226
227 If you've never used OO modules before,
228 http://www.perl.com/doc/FMTEYEWTK/easy_objects.html might help you out.
229
230 =head1 DESCRIPTION
231
232 Freeside is a billing and administration package for Internet Service
233 Providers.
234
235 The Freeside home page is at <http://www.sisd.com/freeside>.
236
237 The main documentation is in httemplate/docs.
238
239 =head1 SUPPORT
240
241 A mailing list for users is available.  Send a blank message to
242 <freeside-users-subscribe@sisd.com> to subscribe.
243
244 A mailing list for developers is available.  It is intended to be lower volume
245 and higher SNR than the users list.  Send a blank message to
246 <freeside-devel-subscribe@sisd.com> to subscribe.
247
248 Commercial support is available; see
249 <http://www.sisd.com/freeside/commercial.html>.
250
251 =head1 AUTHOR
252
253 Primarily Ivan Kohler <ivan@sisd.com>, with help from many kind folks.
254
255 See the CREDITS file in the Freeside distribution for a (hopefully) complete
256 list and the individal files for details.
257
258 =head1 SEE ALSO
259
260 perl(1), main Freeside documentation in htdocs/docs/
261
262 =head1 BUGS
263
264 Those modules which would be useful separately should be pulled out, 
265 renamed appropriately and uploaded to CPAN.  So far: DBIx::DBSchema, Net::SSH
266 and Net::SCP...
267
268 =cut
269