Freeside:3:Documentation:Developer/FS
Contents
NAME
FS - Freeside Perl modules
SYNOPSIS
Freeside perl modules and CLI utilities.
Utility classes
FS::Schema - Freeside database schema
FS::Setup - Setup subroutines
FS::Upgrade - Upgrade subroutines
FS::Conf - Freeside configuration values
FS::ConfItem - Freeside configuration option meta-data.
FS::ConfDefaults - Freeside configuration default and available values
FS::UID - User class (not yet OO)
FS::CurrentUser - Package representing the current user
FS::CGI - Non OO-subroutines for the web interface.
FS::Locales - Locales
FS::Msgcat - Message catalog
FS::SearchCache - Search cache
FS::AccessRight - Access control rights.
FS::Report - Report data objects
FS::Report::Table - Report data objects
FS::Report::Table::Monthly - Report data objects
FS::XMLRPC - Backend XML::RPC server
FS::Misc - Miscellaneous subroutines
FS::payby - Payment types
FS::ClientAPI_SessionCache - ClientAPI session cache
FS::Pony - A pony
FS::cust_main::Search - Customer searching
FS::cust_main::Import - Batch customer importing
Database record classes
FS::Record - Database record base class
FS::m2m_Common - Mixin class for classes in a many-to-many relationship
FS::m2name_Common - Base class for tables with a related table listing names
FS::option_Common - Base class for option sub-classes
FS::class_Common - Base class for classification classes
FS::category_Common - Base class for category (grooups of classifications) classes
FS::conf - Configuration value class
FS::payinfo_Mixin - Mixin class for records in tables that contain payinfo.
FS::access_user - Employees / internal users
FS::access_user_pref - Employee preferences
FS::access_group - Employee groups
FS::access_usergroup - Employee group membership
FS::access_groupagent - Group reseller access
FS::access_groupsales - Group sales access
FS::access_right - Access rights
FS::svc_acct_pop - POP (Point of Presence, not Post Office Protocol) class
FS::part_pop_local - Local calling area class
FS::part_referral - Referral class
FS::pkg_referral - Package referral class
FS::cust_main_county - Locale (tax rate) class
FS::cust_tax_exempt - Tax exemption record class
FS::cust_tax_adjustment - Tax adjustment record class
FS::cust_tax_exempt_pkg - Line-item specific tax exemption record class
FS::svc_Common - Service base class
FS::svc_Parent_Mixin - Mixin class for svc_ classes with a parent_svcnum field
FS::svc_acct - Account (shell, RADIUS, POP3) class
FS::acct_snarf - External mail account class
FS::acct_rt_transaction - Time worked application to account class
FS::radius_usergroup - RADIUS user group membership
FS::radius_group - RADIUS groups
FS::svc_domain - Domain class
FS::domain_record - DNS zone entries
FS::registrar - Domain registrar class
FS::cgp_rule - Communigate pro rule class
FS::cgp_rule_condition - Communigate pro rule condition class
FS::cgp_rule_action - Communigate pro rule action class
FS::svc_forward - Mail forwarding class
FS::svc_mailinglist - (Customer) Mailing list class
FS::mailinglist - Mailing list class
FS::mailinglistmember - Mailing list member class
FS::svc_www - Web virtual host class.
FS::svc_broadband - DSL, wireless and other broadband class.
FS::svc_dsl - DSL
FS::dsl_device - DSL device MAC addresses
FS::dsl_note - DSL order notes
FS::addr_block - Address block class
FS::router - Router class
FS::tower - Tower class
FS::tower_sector - Tower sector class
FS::part_virtual_field - Broadband virtual field class
FS::svc_phone - Phone service class
FS::phone_device - Phone device class
FS::part_device - Device definition class
FS::phone_avail - Phone number availability cache
FS::lata - LATA number to name mapping class
FS::msa - MSA number to name mapping class
FS::rate_center - Rate center list (for bulk DID orders)
FS::did_vendor - Bulk DID order vendor class
FS::did_order - Bulk DID order class
FS::did_order_item - Bulk DID order item class
FS::cdr - Call Detail Record class
FS::cdr_batch - Call Detail Record batch class
FS::cdr_calltype - CDR calltype class
FS::cdr_carrier - CDR carrier class
FS::cdr_type - CDR type class
FS::svc_external - Externally tracked service class.
FS::svc_pbx - PBX service class
FS::svc_cert - Certificate service class
FS::svc_dish - Dish network service class
FS::inventory_class - Inventory classes
FS::inventory_item - Inventory items
FS::part_svc - Service definition class
FS::part_svc_class - Service class class
FS::part_svc_column - Column constraint class
FS::export_svc - Class linking service definitions (see FS::part_svc) with exports (see FS::part_export)
FS::part_export - External provisioning export class
FS::part_export_option - Export option class
FS::pkg_category - Package category class (invoice oriented)
FS::pkg_class - Package class class
FS::part_pkg - Package definition class
FS::part_pkg_link - Package definition link class
FS::part_pkg_taxclass - Tax class class
FS::part_pkg_option - Package definition option class
FS::part_pkg_report_option - Package reporting classification class
FS::part_pkg_vendor - Package external mapping class
FS::pkg_svc - Class linking package definitions (see FS::part_pkg) with service definitions (see FS::part_svc)
FS::qual - Service qualification class
FS::qual_option - Qualification option class
FS::reg_code - One-time registration codes
FS::reg_code_pkg - Class linking registration codes (see FS::reg_code) with package definitions (see FS::part_pkg)
FS::rate - Rate plans for call billing
FS::rate_region - Rate regions for call billing
FS::rate_prefix - Rate region prefixes for call billing
FS::rate_detail - Rate plan detail for call billing
FS::rate_tier - Rate tiers for call billing
FS::rate_tier_details - Rater tier details for call billing
FS::usage_class - Usage class class
FS::sales - Sales person class
FS::agent - Agent (reseller) class
FS::agent_type - Agent type class
FS::type_pkgs - Class linking agent types (see FS::agent_type) with package definitions (see FS::part_pkg)
FS::payment_gateway - Payment gateway class
FS::payment_gateway_option - Payment gateway option class
FS::agent_payment_gateway - Agent payment gateway class
FS::cust_svc - Service class
FS::cust_pkg - Customer package class
FS::cust_pkg_option - Customer package option class
FS::cust_pkg_detail - Customer package details class
FS:;cust_pkg_discount - Customer package discount class
FS:;cust_bill_pkg_discount - Customer package discount line item application class
FS:;discount - Discount class
FS::reason_type - Reason type class
FS::reason - Reason class
FS::cust_pkg_reason - Package reason class
FS::contact_class - Contact class class
FS::contact - Contact class
FS::contact_phone - Contact phone class
FS::phone_type - Phone type class
FS::contact_email - Contact email class
FS::prospect_main - Prospect class
FS::cust_main - Customer class
FS::cust_main::Billing - Customer billing class
FS::cust_main::Billing_Realtime - Customer real-time billing class
FS::cust_main::Packages - Customer packages class
FS::cust_location - Customer location class
FS::cust_main_Mixin - Mixin class for records that contain fields from cust_main
FS::cust_main_invoice - Invoice destination class
FS::cust_class - Customer classification class
FS::cust_category - Customer category class
FS::cust_tag - Customer tag class
FS::part_tag - Tag definition class
FS::cust_main_exemption - Customer tax exemption class
FS::cust_main_note - Customer note class
FS::cust_note_class - Customer note classification class
FS::banned_pay - Banned payment information class
FS::cust_bill - Invoice class
FS::cust_statement - Informational statement class
FS::cust_bill_pkg - Invoice line item class
FS::cust_bill_pkg_detail - Invoice line item detail class
FS::legacy_cust_bill - Legacy data invoice class
FS::part_bill_event - (Old) Invoice event definition class
FS::cust_bill_event - (Old) Completed invoice event class
FS::part_event - (New) Billing event definition class
FS::part_event_option - (New) Billing event option class
FS::part_event::Condition - (New) Billing event condition base class
FS::part_event::Action - (New) Billing event action base class
FS::part_event_condition - (New) Billing event condition class
FS::part_event_condition_option - (New) Billing event condition option class
FS::part_event_condition_option_option - (New) Billing event condition compound option class
FS::cust_event - (New) Customer event class
FS::cust_bill_ApplicationCommon - Base class for bill application classes
FS::cust_pay - Payment class
FS::cust_pay_pending - Pending payment class
FS::cust_pay_void - Voided payment class
FS::cust_bill_pay - Payment application class
FS::cust_bill_pay_pkg - Line-item specific payment application class
FS::cust_bill_pay_batch - Batch payment application class
FS::cust_credit - Credit class
FS::cust_refund - Refund class
FS::cust_credit_refund - Refund application to credit class
FS::cust_credit_bill - Credit application to invoice class
FS::cust_credit_bill_pkg - Line-item specific credit application to invoice class
FS::cust_pay_refund - Refund application to payment class
FS::pay_batch - Credit card transaction queue class
FS::cust_pay_batch - Credit card transaction member queue class
FS::prepay_credit - Prepaid "calling card" credit class.
FS::nas - Network Access Server class
FS::port - NAS port class
FS::session - User login session class
FS::queue - Job queue
FS::queue_arg - Job arguments
FS::queue_depend - Job dependencies
FS::msg_template - Message templates (customer notices)
FS::msgcat - Message catalogs (error messages)
Historical database record classes
FS::h_Common - History table base class
FS::h_cust_pay - Historical record of customer payment changes
FS::h_cust_credit - Historical record of customer credit changes
FS::h_cust_bill - Historical record of customer tax changes (old-style)
FS::h_cust_svc - Object method for h_cust_svc objects
FS::h_cust_tax_exempt - Historical record of customer tax changes (old-style)
FS::h_domain_record - Historical DNS entry objects
FS::h_svc_acct - Historical account objects
FS::h_svc_broadband - Historical broadband connection objects
FS::h_svc_cert - Historical certificate services
FS::h_svc_dish - Historical Dish Network services
FS::h_svc_domain - Historical domain objects
FS::h_svc_dsl - Historical DSL objects
FS::h_svc_external - Historical externally tracked service objects
FS::h_svc_forward - Historical mail forwarding alias objects
FS::h_svc_hardware - Historical isntalled hardware service objects
FS::h_svc_mailinglist - Historical mailing list objects
FS::h_svc_pbx - Historical PBX objects
FS::h_svc_phone - Historical phone number objects
FS::h_svc_port - Historical port number objects
FS::h_svc_www - Historical web virtual host objects
Remote API modules
FS::SelfService - Self-service API
FS::SelfService::XMLRPC - Self-service XML-RPC API
FS::API - API for advanced back-office integration
User Interface classes
FS::UI::Web - Web user-interface class
FS::UI::bytecount - Byte counter user-interface class
Command-line utilities
freeside-adduser - Command line interface to add (freeside) users.
freeside-daily - Run daily billing and collection events.
freeside-monthly - Run monthly billing and invoice collection events.
freeside-dbdef-create - Recreate database schema cache
freeside-deluser - Command line interface to delete (freeside) users.
freeside-expiration-alerter - Emails notifications of credit card expirations.
freeside-email - Prints email addresses of all users on STDOUT
freeside-fetch - Send a freeside page to a list of employees.
freeside-prepaidd - Real-time daemon for prepaid packages
freeside-prune-applications - Removes stray applications of credit, payment to bills, refunds, etc.
freeside-queued - Job queue daemon
freeside-radgroup - Command line utility to manipulate radius groups
freeside-reexport - Command line tool to re-trigger export jobs for existing services
freeside-reset-fixed - Command line tool to set the fixed columns for existing services
freeside-sqlradius-dedup-group - Command line tool to eliminate duplicate usergroup entries from radius tables
freeside-sqlradius-radacctd - Real-time radacct import daemon
freeside-sqlradius-reset - Command line interface to reset and recreate RADIUS SQL tables
freeside-sqlradius-seconds - Command line time-online tool
freeside-upgrade - Upgrades database schema for new freeside verisons.
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.
DESCRIPTION
Freeside is a billing and administration package for wired and wireless ISPs, VoIP, hosting, service and content providers and other online businesses.
The Freeside home page is at <http://www.sisd.com/freeside>.
The main documentation is at <http://www.sisd.com/mediawiki>.
SUPPORT
A mailing list for users is available. Send a blank message to <freeside-users-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 <freeside-devel-subscribe@sisd.com> to subscribe.
Commercial support is available; see <http://www.sisd.com/freeside/commercial.html>.
AUTHORS
CORE TEAM
Jeremy Davis
Ivan Kohler
Mark Wells
CORE EMERITUS
Peter Bowen
Jeff Finucane
Jason Hall
Kristian Hoffman
Erik Levinson
Brian McCane
Richard Siddall
Matt Simerson
CONTRIBUTORS
See httemplate/docs/credits.html
SEE ALSO
perl(1), main Freeside documentation at <http://www.sisd.com/mediawiki/>
BUGS
Those modules which would be useful separately should be pulled out, renamed appropriately and uploaded to CPAN. So far: DBIx::DBSchema, Net::SSH and Net::SCP...