adding svc_mailinglist for communigate "groups" (mailing lists), RT#7514
[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::Schema> - Freeside database schema
25
26 L<FS::Setup> - Setup subroutines
27
28 L<FS::Upgrade> - Upgrade subroutines
29
30 L<FS::Conf> - Freeside configuration values
31
32 L<FS::ConfItem> - Freeside configuration option meta-data.
33
34 L<FS::ConfDefaults> - Freeside configuration default and available values
35
36 L<FS::UID> - User class (not yet OO)
37
38 L<FS::CurrentUser> -  Package representing the current user
39
40 L<FS::CGI> - Non OO-subroutines for the web interface.
41
42 L<FS::Msgcat> - Message catalog
43
44 L<FS::SearchCache> - Search cache
45
46 L<FS::AccessRight> - Access control rights.
47
48 L<FS::Report> - Report data objects
49
50 L<FS::Report::Table> - Report data objects
51
52 L<FS::Report::Table::Monthly> - Report data objects
53
54 L<FS::XMLRPC> - Backend XML::RPC server
55
56 L<FS::Misc> - Miscellaneous subroutines
57
58 L<FS::payby> - Payment types
59
60 L<FS::ClientAPI_SessionCache> - ClientAPI session cache
61
62 L<FS::Pony> - A pony
63
64 L<FS::cust_main::Import> - Batch customer importing
65
66 =head2 Database record classes
67
68 L<FS::Record> - Database record base class
69
70 L<FS::m2m_Common> - Mixin class for classes in a many-to-many relationship
71
72 L<FS::m2name_Common> - Base class for tables with a related table listing names
73
74 L<FS::option_Common> - Base class for option sub-classes
75
76 L<FS::class_Common> - Base class for classification classes
77
78 L<FS::category_Common> - Base class for category (grooups of classifications) classes
79
80 L<FS::conf> - Configuration value class
81
82 L<FS::payinfo_Mixin>  - Mixin class for records in tables that contain payinfo.
83
84 L<FS::access_user> - Employees / internal users
85
86 L<FS::access_user_pref> - Employee preferences
87
88 L<FS::access_group> - Employee groups
89
90 L<FS::access_usergroup> - Employee group membership
91
92 L<FS::access_groupagent> - Group reseller access
93
94 L<FS::access_right> - Access rights
95
96 L<FS::svc_acct_pop> - POP (Point of Presence, not Post
97 Office Protocol) class
98
99 L<FS::part_pop_local> - Local calling area class
100
101 L<FS::part_referral> - Referral class
102
103 L<FS::pkg_referral> - Package referral class
104
105 L<FS::cust_main_county> - Locale (tax rate) class
106
107 L<FS::cust_tax_exempt> - Tax exemption record class
108
109 L<FS::cust_tax_adjustment> - Tax adjustment record class
110
111 L<FS::cust_tax_exempt_pkg> - Line-item specific tax exemption record class
112
113 L<FS::svc_Common> - Service base class
114
115 L<FS::svc_Parent_Mixin> - Mixin class for svc_ classes with a parent_svcnum field
116
117 L<FS::svc_acct> - Account (shell, RADIUS, POP3) class
118
119 L<FS::acct_snarf> - External mail account class
120
121 L<FS::acct_rt_transaction> - Time worked application to account class
122
123 L<FS::radius_usergroup> - RADIUS groups
124
125 L<FS::svc_domain> - Domain class
126
127 L<FS::domain_record> - DNS zone entries
128
129 L<FS::registrar> - Domain registrar class
130
131 L<FS::svc_forward> - Mail forwarding class
132
133 L<FS::svc_mailinglist> - (Customer) Mailing list class
134
135 L<FS::mailinglist> - Mailing list class
136
137 L<FS::mailinglistmember> - Mailing list member class
138
139 L<FS::svc_www> - Web virtual host class.
140
141 L<FS::svc_broadband> - DSL, wireless and other broadband class.
142
143 L<FS::addr_block> - Address block class
144
145 L<FS::router> - Router class
146
147 L<FS::part_virtual_field> - Broadband virtual field class
148
149 L<FS::svc_phone> - Phone service class
150
151 L<FS::phone_device> - Phone device class
152
153 L<FS::part_device> - Device definition class
154
155 L<FS::phone_avail> - Phone number availability cache
156
157 L<FS::cdr> - Call Detail Record class
158
159 L<FS::cdr_batch> - Call Detail Record batch class
160
161 L<FS::cdr_calltype> - CDR calltype class
162
163 L<FS::cdr_carrier> - CDR carrier class
164
165 L<FS::cdr_type> - CDR type class
166
167 L<FS::svc_external> - Externally tracked service class.
168
169 L<FS::inventory_class> - Inventory classes
170
171 L<FS::inventory_item> - Inventory items
172
173 L<FS::part_svc> - Service definition class
174
175 L<FS::part_svc_column> - Column constraint class
176
177 L<FS::export_svc> - Class linking service definitions (see L<FS::part_svc>)
178 with exports (see L<FS::part_export>)
179
180 L<FS::part_export> - External provisioning export class
181
182 L<FS::part_export_option> - Export option class
183
184 L<FS::pkg_category> - Package category class (invoice oriented)
185
186 L<FS::pkg_class> - Package class class
187
188 L<FS::part_pkg> - Package definition class
189
190 L<FS::part_pkg_link> - Package definition link class
191
192 L<FS::part_pkg_taxclass> - Tax class class
193
194 L<FS::part_pkg_option> - Package definition option class
195
196 L<FS::part_pkg_report_option> - Package reporting classification class
197
198 L<FS::pkg_svc> - Class linking package definitions (see L<FS::part_pkg>) with
199 service definitions (see L<FS::part_svc>)
200
201 L<FS::reg_code> - One-time registration codes
202
203 L<FS::reg_code_pkg> - Class linking registration codes (see L<FS::reg_code>) with package definitions (see L<FS::part_pkg>)
204
205 L<FS::rate> - Rate plans for call billing
206
207 L<FS::rate_region> - Rate regions for call billing
208
209 L<FS::rate_prefix> - Rate region prefixes for call billing
210
211 L<FS::rate_detail> - Rate plan detail for call billing
212
213 L<FS::usage_class> - Usage class class
214
215 L<FS::agent> - Agent (reseller) class
216
217 L<FS::agent_type> - Agent type class
218
219 L<FS::type_pkgs> - Class linking agent types (see L<FS::agent_type>) with package definitions (see L<FS::part_pkg>)
220
221 L<FS::payment_gateway> - Payment gateway class
222
223 L<FS::payment_gateway_option> - Payment gateway option class
224
225 L<FS::agent_payment_gateway> - Agent payment gateway class
226
227 L<FS::cust_svc> - Service class
228
229 L<FS::cust_pkg> - Customer package class
230
231 L<FS::cust_pkg_option> - Customer package option class
232
233 L<FS::cust_pkg_detail> - Customer package details class
234
235 L<FS:;cust_pkg_discount> - Customer package discount class
236
237 L<FS:;cust_bill_pkg_discount> - Customer package discount line item application class
238
239 L<FS:;discount> - Discount class
240
241 L<FS::reason_type> - Reason type class
242
243 L<FS::reason> - Reason class
244
245 L<FS::cust_pkg_reason> - Package reason class
246
247 L<FS::contact> - Contact class
248
249 L<FS::contact_phone> - Contact phone class
250
251 L<FS::phone_type> - Phone type class
252
253 L<FS::contact_email> - Contact email class
254
255 L<FS::prospect_main> - Prospect class
256
257 L<FS::cust_main> - Customer class
258
259 L<FS::cust_location> - Customer location class
260
261 L<FS::cust_main_Mixin> - Mixin class for records that contain fields from cust_main
262
263 L<FS::cust_main_invoice> - Invoice destination class
264
265 L<FS::cust_class> - Customer classification class
266
267 L<FS::cust_category> - Customer category class
268
269 L<FS::cust_main_exemption> - Customer tax exemption class
270
271 L<FS::cust_main_note> - Customer note class
272
273 L<FS::banned_pay> - Banned payment information class
274
275 L<FS::cust_bill> - Invoice class
276
277 L<FS::cust_statement> - Informational statement class
278
279 L<FS::cust_bill_pkg> - Invoice line item class
280
281 L<FS::cust_bill_pkg_detail> - Invoice line item detail class
282
283 L<FS::part_bill_event> - (Old) Invoice event definition class
284
285 L<FS::cust_bill_event> - (Old) Completed invoice event class
286
287 L<FS::part_event> - (New) Billing event definition class
288
289 L<FS::part_event_option> - (New) Billing event option class
290
291 L<FS::part_event::Condition> - (New) Billing event condition base class
292
293 L<FS::part_event::Action> - (New) Billing event action base class
294
295 L<FS::part_event_condition> - (New) Billing event condition class
296
297 L<FS::part_event_condition_option> - (New) Billing event condition option class
298
299 L<FS::part_event_condition_option_option> - (New) Billing event condition compound option class
300
301 L<FS::cust_event> - (New) Customer event class
302
303 L<FS::cust_bill_ApplicationCommon> - Base class for bill application classes
304
305 L<FS::cust_pay> - Payment class
306
307 L<FS::cust_pay_pending> - Pending payment class
308
309 L<FS::cust_pay_void> - Voided payment class
310
311 L<FS::cust_bill_pay> - Payment application class
312
313 L<FS::cust_bill_pay_pkg> - Line-item specific payment application class
314
315 L<FS::cust_bill_pay_batch> - Batch payment application class
316
317 L<FS::cust_credit> - Credit class
318
319 L<FS::cust_refund> - Refund class
320
321 L<FS::cust_credit_refund> - Refund application to credit class
322
323 L<FS::cust_credit_bill> - Credit application to invoice class
324
325 L<FS::cust_credit_bill_pkg> - Line-item specific credit application to invoice class
326
327 L<FS::cust_pay_refund> - Refund application to payment class
328
329 L<FS::pay_batch> - Credit card transaction queue class
330
331 L<FS::cust_pay_batch> - Credit card transaction member queue class
332
333 L<FS::prepay_credit> - Prepaid "calling card" credit class.
334
335 L<FS::nas> - Network Access Server class
336
337 L<FS::port> - NAS port class
338
339 L<FS::session> - User login session class
340
341 L<FS::queue> - Job queue
342
343 L<FS::queue_arg> - Job arguments
344
345 L<FS::queue_depend> - Job dependencies
346
347 L<FS::msgcat> - Message catalogs
348
349 L<FS::clientapi_session>
350
351 L<FS::clientapi_session_field>
352
353 =head2 Historical database record classes
354
355 L<FS::h_Common> - History table base class
356
357 L<FS::h_cust_pay> - Historical record of customer payment changes
358
359 L<FS::h_cust_credit> - Historical record of customer credit changes
360
361 L<FS::h_cust_bill> - Historical record of customer tax changes (old-style)
362
363 L<FS::h_cust_svc> - Object method for h_cust_svc objects
364
365 L<FS::h_cust_tax_exempt> - Historical record of customer tax changes (old-style)
366
367 L<FS::h_domain_record> - Historical DNS entry objects
368
369 L<FS::h_svc_acct> - Historical account objects
370
371 L<FS::h_svc_broadband> - Historical broadband connection objects
372
373 L<FS::h_svc_domain> - Historical domain objects
374
375 L<FS::h_svc_external> - Historical externally tracked service objects
376
377 L<FS::h_svc_forward> - Historical mail forwarding alias objects
378
379 L<FS::h_svc_mailinglist> - Historical mailing list objects
380
381 L<FS::h_svc_phone> - Historical phone number objects
382
383 L<FS::h_svc_pbx> - Historical PBX objects
384
385 L<FS::h_svc_www> - Historical web virtual host objects
386
387 =head2 Remote API modules
388
389 L<FS::SelfService> - Self-service API
390
391 L<FS::SelfService::XMLRPC> - Self-service XML-RPC API
392
393 =head2 User Interface classes
394
395 L<FS::UI::Web> - Web user-interface class
396
397 L<FS::UI::bytecount> - Byte counter user-interface class
398
399 =head2 Command-line utilities
400
401 L<freeside-adduser> - Command line interface to add (freeside) users.
402
403 L<freeside-daily> - Run daily billing and collection events.
404
405 L<freeside-monthly> - Run monthly billing and invoice collection events.
406
407 L<freeside-dbdef-create> - Recreate database schema cache
408
409 L<freeside-deluser> - Command line interface to delete (freeside) users.
410
411 L<freeside-expiration-alerter> - Emails notifications of credit card expirations.
412
413 L<freeside-email> -  Prints email addresses of all users on STDOUT
414
415 L<freeside-fetch> - Send a freeside page to a list of employees.
416
417 L<freeside-prepaidd> - Real-time daemon for prepaid packages
418
419 L<freeside-prune-applications> - Removes stray applications of credit, payment to bills, refunds, etc.
420
421 L<freeside-queued> - Job queue daemon
422
423 L<freeside-radgroup> - Command line utility to manipulate radius groups
424
425 L<freeside-reexport> - Command line tool to re-trigger export jobs for existing services
426
427 L<freeside-reset-fixed> - Command line tool to set the fixed columns for existing services
428
429 L<freeside-sqlradius-dedup-group> - Command line tool to eliminate duplicate usergroup entries from radius tables
430
431 L<freeside-sqlradius-radacctd> - Real-time radacct import daemon
432
433 L<freeside-sqlradius-reset> - Command line interface to reset and recreate RADIUS SQL tables
434
435 L<freeside-sqlradius-seconds> - Command line time-online tool
436
437 L<freeside-upgrade> - Upgrades database schema for new freeside verisons.
438
439 =head1 Notes
440
441 To quote perl(1), "If you're intending to read these straight through for the
442 first time, the suggested order will tend to reduce the number of forward
443 references."
444
445 If you've never used OO modules before,
446 http://www.perl.com/doc/FMTEYEWTK/easy_objects.html might help you out.
447
448 =head1 DESCRIPTION
449
450 Freeside is a billing and administration package for wired and wireless ISPs,
451 VoIP, hosting, service and content providers and other online businesses.
452
453 The Freeside home page is at <http://www.sisd.com/freeside>.
454
455 The main documentation is at <http://www.sisd.com/mediawiki>.
456
457 =head1 SUPPORT
458
459 A mailing list for users is available.  Send a blank message to
460 <freeside-users-subscribe@sisd.com> to subscribe.
461
462 A mailing list for developers is available.  It is intended to be lower volume
463 and higher SNR than the users list.  Send a blank message to
464 <freeside-devel-subscribe@sisd.com> to subscribe.
465
466 Commercial support is available; see
467 <http://www.sisd.com/freeside/commercial.html>.
468
469 =head1 AUTHORS
470
471 Primarily Ivan Kohler, with help from many kind folks, including core
472 contributors Jeff Finucane, Kristian Hoffman, Jason Hall and Peter Bowen.
473
474 See the CREDITS file in the Freeside distribution for a (hopefully) complete
475 list and the individal files for details.
476
477 =head1 SEE ALSO
478
479 perl(1), main Freeside documentation at <http://www.sisd.com/mediawiki/>
480
481 =head1 BUGS
482
483 Those modules which would be useful separately should be pulled out, 
484 renamed appropriately and uploaded to CPAN.  So far: DBIx::DBSchema, Net::SSH
485 and Net::SCP...
486
487 =cut
488