Skip to content

Office Configuration

Andy Theuninck edited this page Jan 12, 2016 · 2 revisions

The Office configuration is stored in a file named config.php. The configuration page will verify if this file is available and writable. If the file is missing it will suggest instructions to correct the situation. One the file is present and writable you can proceed with configuration. Configuration has several sections accessible via tabs running horizontally below the normal menu.


The Necessities tab deals primarily with establishing connections to required databases along with a few other miscellaneous settings. This page also initializes the databases and may be a bit slow the very first time as well as after major upgrades.

The Main Server section has fields for the database server host, type, username, password, and the names for the two primary databases (operational & transactional). If connecting to the database succeeds these fields are hidden to reduce the length of the page but can be shown again by clicking Main Server.

The Transaction Archiving sections sets up a third database for long term data storage. The partitions type is recommended when using MySQL (if interested, look into performance of partitioned tables compared to unions and particularly unions in subqueries). Like Main Server, the fields are hidden when the connection succeeds but can be shown by clicking Transaction Archiving.

The Lanes section defines a number of lanes that are managed by this Office installation. First enter the number of lanes and save the configuration, then using the adjacent dropdown to enter database connection information for each individual lane. This configuration allows Office to send changes (e.g. pricing, member names, etc) to the lanes. Some operations may be slow if a lane is offline as Office waits for the connection to time out. Recommended remedies are either bringing the lane back online or removing it from the configuration.

The Logging & Debugging section controls how error logging occurs along with some options for viewing it from the browser. Viewing very large logs via the browser is not efficient though and may cause crashes or other problems. The fannie.log file is written by scheduled tasks. It contains informational lines as well as warnings and errors. The fannie_debug.log file is developer oriented and contains programming warnings and errors. Color highlighted logs only applies to viewing logs through the browser (again, not always ideal). Log Rotation Count controls how many old logs are kept when rotating logs via the browser (on Linux configuring your system's logrotate to handle this is a better approach). Verbose Debug Messages will include stack traces in fannie_debug.log. This results in larger log files but more detailed information about programming errors. Task Severity resulting in Emails applies when Scheduled Tasks in the Admin menu is configured with an email address. Emergency is the highest severity and Debug is the lowest. Office is capable of sending logs to a remote server. This is completely optional and uses the syslog protocol via either TCP or UDP.

The Co-op section includes the name of the store and the home page. The name of the store is often optional and used for certain kinds of customized, store-specific behavior. Home page controls where the very top link above the main menu goes.

The Locale section includes both a country and a language. Country will alter a few settings related to postal addresses and units of measure but language does not currently do anything. There are no translations built in yet.

The Back Office Transaction section has to do with transactions that are generated directly in Office rather than being rung through a lane. These kinds of transactions are used to make corrections or manage specialized customer accounts. Specifying an employee number and register number helps easily identify transactions that did not occur at a lane.


The authentication tab controls whether users are required to log in as well as how they log in. By default authentication is not enabled. If authentication is enabled, users will need to log in to access certain tools. If authentication by default is enabled, users will have to log in before accessing anything in Office. The authentication tab also includes links to user and group management tools.

Optionally, users may authenticate against an external source to avoid provisioning new accounts and issuing new passwords. Allow shadow logins lets users login with local accounts from the server itself (Linux only). Allow LDAP logins lets users login using a directory server. The default domain and field names are correct for a typical OpenLDAP installation.


The members tab contains membership related settings. Names per membership defines the total number of names on each account including the primary account holder. Equity department(s) are used to track investments or share payments for the co-op. Store Charge department(s) are used for re-paying internal charge accounts - i.e., letting a customer run up a tab. When entering multiple equity or store charge departments put spaces or commas between the department numbers.

The Membership Information Modules section controls which fields and information appear in the member editor. You may select several by control clicking (or apple clicking on Macs) as well as adjust the order in which they appear on the page.

The member card prefix may be necessary in some cases to manage barcoded member ID cards. The Lane On-Screen Display template is how member names appear onscreen at the lanes. Click the buttons below to add specific fields. Punctuation between fields or just additional text is allowed. The Data Mode option is still experimental and should be set to Classic unless you've investigated the related code and decided to do otherwise.


The products tab controls settings related to item management. The Product Information Modules selections define how the main item editor interface appears. Modules with Yes or Auto will appear on the item editor interface. The position field controls the order in which the modules appear in the item editor (lower numbers are closer to the top of the page). Expand indicates whether the module should show all its information immediately or just a header label that the user can click to expand. Not all modules support the Auto option for Show and Expand; in that case Auto is identical to Yes.

The set of defaults indicate how many interfaces first appear. The Default Batch View is the list of batches that are shown first. The Default Shelf Tag layout is the first option selected when printing shelf tags. The Default Signage layout is the first option selected when printing sale signs. The Default Purchase Order export is the first export option selected when viewing a purchase order. In all cases the additional options are still available.

The Shelf Tag Data Source allows very detailed customization of how shelf tag text is formatted and is typically used to comply with local regulations if needed. The Default Account Coding influences a small subset of reports that re-categorize different activity using financial chart of account numbers rather than normal POS categories or departments.

The Service Scale Integration options define where in the filesystem data can be exported by Office and picked up by different scale management software. These are normally network-mounted directories from other machine(s) on the local network.


The Stores tab has settings for organizations with more than one retail location. Each location's Office install should be assigned a unique store number. Setting Mode to HQ means data for the stores will be managed centrally.

In the list of stores it's not necessary to repeat that particular store's database credentials (although it won't hurt anything either). The Push and Pull checkboxes relate to how transaction data flows between stores. Push means this store should periodically connect to other stores and upload its transaction information to the other stores. Pull means this store should periodically connect to other stores and download those stores' transaction information. The Has Own Items checkbox indicates whether the "store" actually sells items. An Office installation at a central, administrative office would be considered a store for the sake of configuration but would not need to manage any items for itself.

The Read-only Database Server(s) defines additional database servers that Office can query to lookup - but not save - information. In a multistore operation this often reduces latency, but a single store operation could also use this setting to spread out the database workload across more than one server. Read-only server(s) should be set up to replicate the main database server.


The Updates tab lists changes that should be applied to structures in the database. Updates never run automatically and provide Details outlining the exact proposed change as well as both web-based and command line based means to run the update. Updates to DTransactionsModel are notable in that updates cascade through several structures containing transaction history. With a long transaction history these updates may take several minutes to complete. The command line option is safer in this case and reporting downtime during the update should be expected.


The Plugins tab enables or disables as well as configures plugins. Plugins may slot new options into other configuration choices. The exact details, unfortunately, are going to vary quite a lot depending what the plugin does.


The menu tab lets you customize Office's main menu. The Show Admin menu options is almost entirely deprecated and only applies to a small number of pages that lack the normal menu. You can add or remove entries to each of the Item Maintenance, Sales Batches, Reports, Membership, Synchronize, and Admin menus as well as an additional, custom menu designated store. URLs that do not start with http:// or https:// are interpreted as relative to Office itself.

The import and export options are simply an alternate method of editing the menu. This may be faster for large scale changes if you're comfortable editing JSON.


The theming tab lists some minor user interface customization options. Colors should be specified using hex codes. The backend name and title appear at the very top of every Office page as does the logo configured. These settings are all optional except in some cases character set. To use non-ASCII characters reliably (e.g., accented letters) the character set setting here should agree with the underlying database's configuration.

Lane Config

The lane config tab contains a copy of the Lane's configuration pages (See Lane Configuration). The configuration entered here is stored in the parameters table and can be later synchronized to the lanes.

Sample Data

The sample data provides information to quickly populate the system with some data. Keep in mind this will replace existing information and should be used cautiously on production systems. Loading the authentication classes may be required to get user authentication working properly. Loading the sample tender data and building off it is recommended but not required. The two-letter codes for common tenders have become largely standardized. You can ignore them and use codes of your own choosing but it becomes more confusing when discussing issues with other project users.

Clone this wiki locally
You can’t perform that action at this time.