a2df6f17503ee617c0731a6afdcbf43a1e56d46d
[freeside.git] / FS / FS.pm
1 package FS;
2
3 use strict;
4 use vars qw($VERSION);
5
6 $VERSION = '0.01';
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::radius_usergroup> - RADIUS groups
58
59 L<FS::svc_domain> - Domain class
60
61 L<FS::domain_record> - DNS zone entries
62
63 L<FS::svc_forward> - Mail forwarding class
64
65 L<FS::svc_www> - Web virtual host class.
66
67 L<FS::part_svc> - Service definition class
68
69 L<FS::part_svc_column> - Column constraint class
70
71 L<FS::export_svc> - Class linking service definitions (see L<FS::part_svc>)
72 with exports (see L<FS::part_export>)
73
74 L<FS::part_export> - External provisioning export class
75
76 L<FS::part_export_option> - Export option class
77
78 L<FS::part_pkg> - Package (billing item) definition class
79
80 L<FS::pkg_svc> - Class linking package (billing item)
81 definitions (see L<FS::part_pkg>) with service definitions
82 (see L<FS::part_svc>)
83
84 L<FS::agent> - Agent (reseller) class
85
86 L<FS::agent_type> - Agent type class
87
88 L<FS::type_pkgs> - Class linking agent types (see
89 L<FS::agent_type>) with package (billing item) definitions
90 (see L<FS::part_pkg>)
91
92 L<FS::cust_svc> - Service class
93
94 L<FS::cust_pkg> - Package (billing item) class
95
96 L<FS::cust_main> - Customer class
97
98 L<FS::cust_main_invoice> - Invoice destination
99 class
100
101 L<FS::cust_bill> - Invoice class
102
103 L<FS::cust_bill_pkg> - Invoice line item class
104
105 L<FS::part_bill_event> - Invoice event definition class
106
107 L<FS::cust_bill_event> - Completed invoice event class
108
109 L<FS::cust_pay> - Payment class
110
111 L<FS::cust_bill_pay> - Payment application class
112
113 L<FS::cust_credit> - Credit class
114
115 L<FS::cust_refund> - Refund class
116
117 L<FS::cust_credit_refund> - Refund application class
118
119 L<FS::cust_credit_bill> - Credit invoice application class
120
121 L<FS::cust_pay_batch> - Credit card transaction queue class
122
123 L<FS::prepay_credit> - Prepaid "calling card" credit class.
124
125 L<FS::nas> - Network Access Server class
126
127 L<FS::port> - NAS port class
128
129 L<FS::session> - User login session class
130
131 L<FS::queue> - Job queue
132
133 L<FS::queue_arg> - Job arguments
134
135 L<FS::queue_depend> - Job dependencies
136
137 L<FS::msgcat> - Message catalogs
138
139 =head1 Remote API modules
140
141 L<FS::SignupClient>
142
143 L<FS::SessionClient>
144
145 L<FS::MailAdminServer>
146
147 =head2 Command-line utilities
148
149 L<freeside-adduser>
150
151 L<freeside-queued>
152
153 L<freeside-daily>
154
155 L<freeside-expiration-alerter>
156
157 L<freeside-email>
158
159 L<freeside-cc-receipts-report>
160
161 L<freeside-credit-report>
162
163 L<freeside-receivables-report>
164
165 L<freeside-tax-report>
166
167 L<freeside-bill>
168
169 L<freeside-overdue>
170
171 =head2 User Interface classes (under (stalled) development; not yet usable)
172
173 L<FS::UI::Base> - User-interface base class
174
175 L<FS::UI::Gtk> - Gtk user-interface class
176
177 L<FS::UI::CGI> - CGI (HTML) user-interface class
178
179 L<FS::UI::agent> - agent table user-interface class
180
181 =head2 Notes
182
183 To quote perl(1), "If you're intending to read these straight through for the
184 first time, the suggested order will tend to reduce the number of forward
185 references."
186
187 If you've never used OO modules before,
188 http://www.perl.com/doc/FMTEYEWTK/easy_objects.html might help you out.
189
190 =head1 DESCRIPTION
191
192 Freeside is a billing and administration package for Internet Service
193 Providers.
194
195 The Freeside home page is at <http://www.sisd.com/freeside>.
196
197 The main documentation is in httemplate/docs.
198
199 =head1 SUPPORT
200
201 A mailing list for users is available.  Send a blank message to
202 <ivan-freeside-subscribe@sisd.com> to subscribe.
203
204 A mailing list for developers is available.  It is intended to be lower volume
205 and higher SNR than the users list.  Send a blank message to
206 <ivan-freeside-devel-subscribe@sisd.com> to subscribe.
207
208 Commercial support is available; see
209 <http://www.sisd.com/freeside/commercial.html>.
210
211 =head1 AUTHOR
212
213 Primarily Ivan Kohler <ivan@sisd.com>, with help from many kind folks.
214
215 See the CREDITS file in the Freeside distribution for a (hopefully) complete
216 list and the individal files for details.
217
218 =head1 SEE ALSO
219
220 perl(1), main Freeside documentation in htdocs/docs/
221
222 =head1 BUGS
223
224 Those modules which would be useful separately should be pulled out, 
225 renamed appropriately and uploaded to CPAN.  So far: DBIx::DBSchema, Net::SSH
226 and Net::SCP...
227
228 =cut
229