Computer & Network Setup

These are some frequently asked questions about getting a computer setup or making network changees for Theatre Manager and it's associated applications.

Checklist when performance has degraded recently

Theatre Manager performance should not degrade over time given a constant set of environmental conditions. Meaning, if I have the same number of users doing the same amount of work at at given time, then each user should see performance remain at the same level.

Sometimes we are asked to identify why Theatre Manager has slowed down, or is slow after it has been installed. In almost all cases, the issue is not Theatre Manager, but some setting that has changed on the network, on the computer, or on the server. The following list contains the 'usual culprits'. Please check to see if you have been affected by one of them should you experience an abrupt change in behavior with Theatre Manager.

Finally, we are not expecting problems to occur. Usually things just run. But sometimes it is possible for things to awry and a checklist of possible culprits is useful.

Things to look at on a Workstation

This kind of trouble shooting is often on a comparative basis. You want to start looking at a workstation if running TM on the server works fine, or if TM runs fine on one workstation, but not another. Things to look at in this case are:
  • Does Theatre Manager run fine if it is the only application turned on? If so, look to other applications causing the problem and the solution might simply be a case of adding ram.
  • Look at ram usage anyway and the applications that are running. If many applications are running, you may find you need a minimum of 4 gigs of ram just to smooth out performance of the workstation. This is especially important if those other applications can be chatty or active in the background. For example, if you have Theatre Manager, Word, Excel, Outlook or Mail, a browser looking for RSS feeds, youTube, music playing in the background, etc. etc. and all in use at the same time, you may just need ram. If you have windows 7 or 8, sou will need more ram.
  • If you are streaming high bandwith video (like YouTube) at the same time as selling tickets, it is reasonable that it might affect performance of a machine while the streaming is going on
  • Does TM receive data from the server reasonably fast, but does opening windows take a long time. If so, look to the type of processor. Theatre Manager uses the floating point processor to handle some screen interface elements. That means if you are running a Celeron, it could be slow - because Celerons do not have floating point. The minimum recommended machine is core 2 duo. Please refer to the standard machine to see if you meet those requirements

Things to look at in the Network

Finding performance issues on a network can be tricky because many factors are at play. Resolving these usually involved swapping things around to try to isolate the problem. Things we've seen in the past include checking:
  • if performance for all clients got bad at the same time:
    • check the ethernet card and settings on the server. Make sure that you are not dropping packets and that you are always connected at the speed you expect to connect to the network at.
    • Did you update virus software on the serve and neglect to exclude the database directory?
  • Swap the wire from the server to the hub to see if that makes a difference
  • Swap the port on the hub to another port to see if that makes a difference
  • If only one workstation suddenly went slower, then check the ethernet card settings for speed and performance. It could be it is bad.
  • Check the cable and change it to see if that helps
  • Take the slow machine to a location where a machine runs fast, and plug it into its network port to see if that makes a difference. If so, it could indicate a problem of wiring in the wall or at the post on the router where the line terminates.
  • Try switching the port on the router for the computer to see if that makes a difference
  • Did you add any more network traffic? Does the performance change during the day and happen to coincide with other events. We had one University notice that tickets sales got slow each time classes got out and students used the internet. Another venue indicated that performance slowed down when all the actors were backstage using YouTube and doing mail. In both cases, the solution was to put the high bandwidth network users on a segregated (and controlled) network.

In all cases, it is important to go into troubleshooting mode to narrow down with component might be contributing to the problem. Eg:

  • Turn all components off but TM to see if that makes a difference
  • Try things at the server and move progressively away from the server to see if that makes a difference
  • Swap wires or ports to see where that makes a difference. If swapping a wire at the server changes everything - you have your answer. If swapping a port makes the difference, then tells you there is a router issue
  • Compare machines. All machines with the same issue tends to suggest the problem is at the server. One machine with the issue tends to suggest the machine of network port
  • Move the problem machine to a non-problem location. That will tell you if the problem is in the machine or not

Things to look at on the Server

Virus Software on the Postgresql Server

If postgres is implemented on a stand alone machine (per PCI requirement 2.2.1), we recommend that you DO NOT install virus software on the PostgreSQL Server. It is the single biggest factor that can affects performance.

If file sharing or user access is permitted to the database server and you install virus software, never allow virus scanner to scan the actual postgres database directories because virus scanners severely affect performance when many files are changed rapidly.

Refer to this link for disabling windows 10 defender

If you must install Virus Software, specifically exclude:

  • any TCP/IP traffic on ports 5432
  • anything contained in the PostGres database folders. This is generally:
    • C:\Program Files\Postgresql -or-
    • C:\Program Files (x86)\Postgresql -or-
    • \Library\Postgresql
  • Under OSX and Linux, the need for virus checking on the Postgres server is generally not required as the database server is often a stand-alone machines
  • If you really must scan the database folder, it is acceptable to run a once per day scan on the database folder - but only if scheduled late at night.

Other Factors Affecting Database Performance

  • Make sure auto update (Microsoft) or software update (OS-X) is completely turned off. Those features should never be run automatically. Microsoft is famous for delivering them often and restarting servers. Its just bad news. Plan your service outages and do them all - say - once a month or every second Monday. Downloads of large patches in the background might be a problem, or restarts after an upgrade may have affected Postgres's buffer pools so it needs to run a bit to get faster and determine commonly used database pages.

    Windows Automatic Updates is now found in Services in Windows 10. Read the following to see how to completely disable the update process.

  • Look to any service that you might have added or changed recently. For example, if you installed another program on the server, does that take resources that affect the original installation. If so, then you may need to re-configure that application, remove the application or reconfigure the postgres server. For example, Microsoft Exchange server is known to suck the resources out of a machine and it is always recommended (even by Microsoft), that it be placed on its own server.
  • Check for available disk space on the server. If you have less than 20% disk space left, then you might want to get rid of some old data or backups. Postgres uses the operating system to do page swapping and if there is no space left, you will see performance degradation because you filled up the dad drive. Old database backups might simply be accumulating and you may wish to save older ones and delete them from the server
  • Check the performance monitor (Windows or OSX) to see where your resources are going. If CPU is being consumed, see who is using it. If disk I/O is going crazy, that could be a clue
  • It is possible that a parameter was set up incorrectly for the Macintosh or Windows server. If other items are not found to cause the problem, please contact support and we can look at the postgres database parameters for you.
  • There some platform specific considerations to look at for:
    • OSX such as airport, spotlight, disable power saving, and time machine
    • Windows such as indexing and shadow copies

Client or Interface Function Not Available

In OSX, the message relates to a dynamic library Theatre Manager requires to talk to the Postgres database.

The error appears as:

If you are using 10.6 or later, OSX might be picking up an older version of the library (or can't find it). If that is the case, use Activity Monitor and locate 'Theatre Manager'. Then double click to look at the list of open files. What we need to do is look to see which path name that the libpq.dylib file is found at -- and make sure that it is looking at a pathname internal to the Theatre Manager directory in applications. If it is not, then call support and we can help resolve the problem

Problem Resolution

You should normally never encounter an issue with Theatre Manager. If you do, then create a directory called /usr/local/lib and copy libpq.dylib into it. This will work until the TM installer is re-run on the machine.

The general steps in terminal are:

  • sudo mkdir /usr/local/lib
  • sudo chmod 777 /usr/local/lib
  • and then either
    • type in terminal:
      cp /Applications/Theatre\ Manager/Contents/MacOS/libpq.dylib /usr/local/lib/ -OR-
    • use the Finder to copy the libpq.dylib from the Theatre Manager/Contents/MacOS folder into the >b>/usr/local/lib folder.
  • Start Theatre Manager and try to connect to the database again

Alternate Solution

This generally seems to only occur on OSX machines that have gone through a few OS level upgrades. If you have this issue, walk around installs will re-introduce the problem as it takes away the link because it is deprecated. If you are having other issues with the machine, it may indicate that the machine should have a new software install ... or .. just redo the links if there is a walk around out install.

Making internal LAN ip addresses changes

If you change the subnet inside your router, there is very little to change to get things working again. Things that need to be changed are:
  • the accepted IP range in the postgres pg_hba.conf file
  • internal DNS setting to find the nginx server

1. Changing the postgres pg_hba.conf file

This file is found in the postgres 'data' directory. On a PC, you can edit it with notepad. On a Mac, you might need to use 'vi' to edit the file while acting at the postgres user. You need to change (or add) a subnet range that allows people to access the database from the new IP range and/or remove the old one.

Once the subnet has been changed, you need to reload the postgres configuration. You do this by stopping and restarting the server, or if you are familiar how to do so using pgAdmin interface on the PC or the command line on the Mac, you can do it that way.

2. Changing the internal DNS server or Hosts file

For Mac listeners, there is nothing further to do. On PC networks, you many have to reset some internal DNS entries so that it points to the new computer.

For example: suppose that the setting TM is looking for is https://tickets.myvenue.org but it can't be found by machines inside the network.

  • Outside the network, anybody can find https://tickets.myvenue.org because the external DNS services point it to your router.
  • Inside the network, getting things to point outside can be troublesome. the internal DNS setting for https://tickets.myvenue.org needs to point to where the nginx server is at this time... at the new IP.
  • You can do this in two ways:
    • if you have DNS server set up on your IIS server, change the entry for tickets.myvenue.org
    • if you do not have a DNS setting, you need to edit the 'hosts' file on each machine that is acting as a listener or needs access to the web listener. Typically, that is in the /windows/system32/devices/etc folder, or on the Mac, it is in /etc
For example: if the nginx server is at 192.168.0.12, then you need an entry in the hosts file that points tickets.myvenue.org to 192.168.0.12. If you are changing the IP address, then you will likely notice an entry for the old IP which needs only changed.

If the hosts file was edited, and you decide to implement an internal DNS server, you will have to clear the entry out of the hosts file on each computer that it was put on. .

Starting and Stopping Theatre Manager

Theatre Manager consists of a few components that may be on one or more servers. It is a good idea to start and stop then in the appropriate order. If you do not and something is not working, then the best approach is to start at the beginning and perform the steps in the suggested order.

Order to Start Up components

Start the various server components of Theatre Manager in the following order:

  1. The postgres database server and apache servers are independent of each other. You can really start them in any order you want. They must all be running before you can start Theatre Manager on any machines.
  2. Start Theatre Manager Server running
  3. Allow other Theatre Manager users to log in on their machines or to connect to terminal services if using it remotely

Order to Stop components

Generally, you stop the components of Theatre Manage in the reverse order that you start it up.

  1. Have all users quit Theatre Manager on all workstations
  2. Stop Theatre Manager Server running
  3. Shut down or restart postgres and apache server in any order you wish.

Complete system shut down and startup procedures

In the event your entire Theatre Manager system needs to be shut down and restarted (installing a UPS device, for instance) please follow these basic steps:

Shutdown Sequence:
  1. Quit Theatre Manager on all work stations
  2. Turn off all ticket printers
  3. Shut down all workstations
  4. Shut down Apache Server
  5. Stop the Theatre Manager Server service
  6. Shut down the Database Server

Startup Sequence:
  1. Start up the Database Server machine (the database server should start automatically)
  2. Start up the Theatre Manager Server machine (TM Server should start automatically)
  3. Start up the Apache Server (Apache should start automatically)
  4. Turn on all ticket printers
  5. Start up all workstations
  6. Staff can now login to Theatre Manager on their workstations

In the event you do not have some of those components, then just skip those steps.

Theatre Manager Application Location

After installing Theatre Manager for the first time, the application libraries are copied into the user's personal folder. This enables TM to run with one install on a machine that has multiple users (like Terminal server) where each can be using a slightly different version of TM until they accept the next auto-update.

The application libraries are unique to each user and is stored in the standard preferences location defined by Microsoft and Apple. These may vary depending on operating system and version that you are using.

MyUser represents the user you are logged in as. This means that each user of Theatre Manager on a shared machine will have their own preferences:

Operating system Generic Location Typical Path name
OS-X HOME ~/Library/Application Support/TheatreManager

The application libraries are copied to the same location for all OSX verisons, but how to you get there? Read about Apple hiding the folder from the user.

note: To access the Library file,

  • Go to the Finder
  • Click on the 'Go' menu
  • Click the 'SHIFT' key on Sierra. (Some earlier versions of OSX user the 'OPTION' key instead).
  • The Library menu will appear
Windows LOCALAPPDATA C:\Users\MyUser\AppData\Local\TheatreManager\TheatreManager

you can find the 'LOCALAPPDATA' value for the user using the dos command set

The TheatreManager folder contains some localization data and another folder called 'TM' that contains the application. If you want to clear out everything for a user, just delete the folder and the next time Theatre Manager starts, it will put a new one in place.

Theatre Manager preference file

The preference settings text or plist file is unique to each machine and is stored in the standard preferences location defined by Microsoft and Apple. These may vary depending on operating system and version that you are using.

MyUser represents the user you are logged in as. This means that each user of Theatre Manager on a shared machine will have their own preferences:

Operating system Generic Location Typical Path name
OS-X HOME ~/Library/Preferences/TheatreManager/TheatreManager.plist

The preferences files is the same location for all OSX verisons, but how to you get there? Read about Apple hiding the folder from the user.

note: To access the Library file,

  • Go to the Finder
  • Click on the Go menu
  • Click the SHIFT key on Sierra. (Some earlier versions of OSX user the OPTION key instead).
  • The Library menu will appear
Windows LOCALAPPDATA C:\Users\MyUser\AppData\Local\TheatreManager\TheatreManager.txt

you can find the 'LOCALAPPDATA' value for the user using the dos command set

The current contents of a sample preference file is below. These may be changed upon advice from customer support. Only the bold values can be adjusted for some of the italic fields.

<?xml version='1.0' encoding='UTF-8'?>
<theatremanager>
  <key>CashDrawerPort</key><int>0</int>
  <key>DatabaseIP</key><char>127.0.0.1</char>
  <key>DatabaseTLSRequired</key><int>1</int>
  <key>DatabaseName</key><char>TheatreManagerDemo</char>
  <key>DatabasePort</key><int>5432</int>
  <key>LocalTimeZone</key><char>US/Mountain</char>
  <key>Printer1</key><char>255/192.168.0.64@10001</char>
  <key>Printer2</key><char>255/192.168.0.64@10001</char>
  <key>PrinterType</key><char>31/0/20</char>
  <key>PrivateCloudKey</key><char>**See Below**</char>
  <key>PrivateCloudToken</key><char>xxx</char>
  <key>WebPort</key><int>5111</int>
</theatremanager>

There are some parameter that you may need to edit manually and only if instructed by AMS support.

  • LocalTimeZone - if the postgres server time zone is set differently than your local time, or if you have offices that span multiple time zones, you can indicate the timezone of the local machine (postgres format) and any tmestamps that are marked as time zone capable will be adjusted automatically to local time.
  • PrivateCloudKey - if you are using the AMS private cloud server, your connection key is set up for you following the AMS Cloud Login Process
  • DatabaseTLSRequired - indicates if a really secure TLS 1.2 connection to the database is preferred or mandatory. Theatre Manager always attempted a TLS 1.2 connection to the database server and would fallback if unable to do so. Change this setting to:
    • 0 - for an optional TLS connection if instructed by AMS support because your workstation cannot connect via TLS (see sample error message to right) and you have already tried downloading and re-installing the latest TM
    • 1 - for a required TLS connection which is the default for all cloud clients. All venues should use if possible.

For reference, the preferences file for the TM Second Gen Server is located via the link

Ticket Stock Warning

We are getting a warning message that we are low on ticket stock. I know we are not. How can I get rid of this error message?

To keep track of ticket stock and so your organization knows when to re-order so you dont run out of ticket stock, you perform the following steps:

Ensure you are logged in as a User Master.

  1. Open your Company Preferences and click on the Ticket Faces tab.

    Theatre Manager subtracts 1 from the number of tickets, each time a ticket is printed. You will be notified once each login--the first time you print in that login session--if there are less tickets than the specified reorder quantity. Use this to manage your ticket stock levels.

  2. In the Ticket Stock Management section of the tab, enter the approximate number of tickets left.
  3. In the Reorder level box, enter the number of tickets you want to be remined to order more stock.
  4. Click the button.

There are reports that can help you determine how many tickets you used.

Diataxis: 

Unable to connect to the database or print on the ticket printer.

A small analogy that might help explain how networking works for Theatre Manager and it might mean that if there is an outage, the following steps may help solve most of the connection issues.

IP Address Analogy

IP addresses are like phone numbers. Each server and machine on the network has one. Each IP based printer also has one.

  • The ones on the printers and the database server are 'fixed'. That means they should not be changed. TWe recommend putting a label on the printers inside the back of the printers to remind you what it is. You will see the one for the database server see each morning when you start theatre manager. This is at the bottom of the login screen.
  • The workstations usually have 'dynamic' ip addresses. That means each morning they could be given a different one from the router. This is a good idea as it simplifies network setup and maintenance.

Everything will work well if you can 'dial' those 'fixed' phone numbers using Theatre Manager. It's like 911 and 411 - you only need to know those phone number to get help or to get directory assistance.

Every other phone number can change, but as long as those two stay the same, you can get help and find out a phone number for anybody else. In theory, as long as the network stays up, or is started normally, or is not changed, you will be able to 'dial' those phone numbers

But what If I can't Dial Those Numbers

What can get in the way of being able to 'dial' these special IP numbers from Theatre Manager.

  • If the router is not up, you simply cannot make a call. That should never go down and if it does, restart it or contact your IT support person if you need them to start it for you
  • If the router configuration is changed and starts giving out phone numbers with different area codes, you can no longer make a 'local' call to the printers or servers. Generally, that should never change.
  • If they need to change, have changed the permanent phone numbers for the printer and server in advance of the change -AND- change the numbers inside Theatre Managers 'phone book' so that you don't have an issue
  • If the power is out to any of the little routers or servers along the way - you can't complete the call
  • If, for example, a rat chews a cord, then there is no wire (this really happened at a venue) and it must be replaced so you have a connection.

Those are only examples. and really, the computer network should just work with little attention. It is much like the phone system .. you can call direct anywhere in North America, Europe, and most of the world with no worry.. You should always get a dial tone.... and generally, phones just works unless there is some power issue, storm, or somebody is doing maintenance on the phone network.

Same goes for the network that Theatre Manager relies on If the network is there, then any machine should be able to dial any machine. If you cannot dial a machine or a printer, then tools at your disposal are:

  • Ping to see if you can get from one machine to another.
  • If ping does not work, then time to call your IT person - it is a network problem
  • if ping works, then check to see that the database is started (again time to call your IT person). If the database is not started on the server, you won't be able to get to it.

General troubleshooting steps

Generally, try the following:

  • Try and ping the server
  • If you can, and Theatre Manager tells you that the database is not there at the server
  • If everybody can use the database, except one machine, reboot the one machine
  • If nobody can use the database, then reboot the server and try again at the top
  • If nobody can use the printer, restart the printer
  • If one person can use the printer, but another cannot, reboot the machine and go into the employee preferences in Theatre Manager and set up the printer IP address.
  • Check to see that nobody turned on a firewall at the server
  • Check to see that nobody turned on the Firewall on the Windows or OS-X machine to prevent outgoing connections.
    • If none of those work, call your IT person to see what they have to say.

      If the situation is still not resolvable, then call Arts Management Systems as there may be something else at play and we'll be happy to help.