You are here

Version 9.23

Subscribe to Syndicate

Upgrade Steps

Upgrading to version 9.23 requires, at a minimum:

  • Reading current and prior version release notes for version 9.22 back to the version you are currently using. All releases are cumulative, so you get everything since the last release.
  • Selecting a quiet time or a dark day to update.
  • Follow the general upgrade steps and Install TM on all workstations.
  • There are 12 web page changes - none are required for the update.
  • Read the suggestions for 'Things a venue may need to do' at the bottom of each release.
  • This is most likely walk around install (depending on when you updated to 9.22).
All feature changes, enhancements are optional and this version could be implemented at any future time.

Key Changes in Version 9.23.00

The following changes have been made to Theatre Manager since version 9.22

  1. A significant enhancement to has been made to employee group permissions in Theatre Manager to move the 10 security groups from Company Preferences to Code Tables and make them unlimited. In addition to the current places where this feature was available, it has been added to the donation entry so that some donations may only be viewed by some employees - if you feel you want the records invisible to some.
  2. Provided rounding of cash at door to nearest $0.05 for Canada
  3. Improvements in facility end of day balancing
  4. Enhancements to the web components suggested during our recent PCI audit to further strengthen the web services. They provided two good ideas that were just very useful that we had to implement them
  5. Implementation of Schedule 'C' compliance will not store any CC data in the database.

Point Release Version History

Point releases are minor version fixes and small enhancements to any particular version.

  • 9.23.00 - Jul 24, 2013 (TMServer 0.50.01)
  • 9.23.01 - Jul 28, 2013
  • 9.23.03 - Aug 11, 2013 (TMServer 0.50.04)
  • 9.23.04 - Aug 20, 2013 (TMServer 0.50.05)
  • 9.23.05 - Aug 25, 2013 (TMServer 0.50.07)
  • 9.23.07 - Sep 25, 2013
  • 9.23.08 - Sep 28, 2013

Box Office and Sales Processing

  • Implemented rounding of selected payment methods to any value you want at the box office. This is intended for CASH payments in Canada to round to the nearest $0.05 due to the elimination of the penny at point of sale. If the feature is implemented:
    • and 'cash' is picked for the payment method, the payment amount will automatically round according to mathematical rules.
    • If another payment method is selected that is not subject to rounding, the payment will revert to its proper value.
    • Any rounded payment amount will be applied to an order fee which will be added to the order to track the rounding amount.
  • Any window that has a list of orders on it has additional icons at the beginning of the list. You can tell more easily of the order was a result of an online sale, is for a subscription, is part of a facility management project or is currently in the process of having more tickets added to it (in process of being sold).
  • You can now change a pricing map from one to another if the price codes are different - as long as the seats the same. It may mean that some seats set to use specific price codes might not be able to be sold, so you need to verify the price codes setup for the events.
  • Added two icons to any patron list that show the subscription status for the patron. It will show those with renewed subscriptions for active packages and those with non-renewed subscriptions for active packages. Patrons who cancel are not shown. (9.23.01)
  • On the membership/gift certificate detail window, you can view the patrons who redeemed the gift certificate on the redemption tab. A feature has been added to allow deleting a redemption from this tab of the payment has not been deposited. (9.23.01)
  • Add vertical scroll bars to the post dated payment window and set focus to the first row when creating the list of payments. This makes it easier to view and edit large number of payments. (9.23.05)
  • Schedule 'C' compliance setting for credit cards has been changed so that it no longer tracks any credit cards at all in the database. This means you can ensure that no encrypted card data is in your database if you do not wish it. Previously, the schedule 'c' compliance held only cards in transit until the end of day. (9.23.08)


  • Added a feature to restrict who can see donations in the list on the patron window to particular groups of people.
  • Added a feature to allow future dated donations for up to 15 years in the future (instead of 10 previously) per request (9.23.04)

Employees and access

  • removed the 'Groups' tab from the employee setup window and consolidated group access under the first window in the employee setup. You can now indicate which groups an employee belongs to and that will dictate which records they mate be able to access that support group access control. This is the main part of the group permissions feature for this version of TM.
  • Change the PCI Audit log under Users and Access to conform to the PCI 2.0 standard. It now shows only the fields that are required an the export feature is works a little different than most windows -- it will export all the log data on the screen to make log gathering easier.


  • Added a G/L Entries tab to the Venue detail window to display G/L data in which this venue contributed towards. Allows the ability for job costing analysis by venue.


  • On the G/L Entry Detail window, added the ability to assign or change the venue location of where the specific entry is allocated towards. This is an optional setting within the record.
  • Year end rollover no longer requires that all web listeners to be manually shut down. Web sales are temporarily disabled by setting company preferences for the duration of the rollover and then re-enabled at the end. Patrons will see a message online that web is disabled.
  • Year end rollover has always detected unposted transactions for the current year. Now it will automatically open the create sales entries window at the beginning of year end rollover to allow the user to deal with those unposted transactions, simplifying the rollover process.
  • Changing transactions in prior year is generally not done. However, users often simply reassign donation or membership data from one prior year to another during cleanup. Theatre manager has always generated financial transactions for them. The End-of-Day posting will now separate each year into its own G/L detail entry for easier identification.
  • Added subtotals at the bottom of lists that contain G/L entry information


  • On the Performance Detail window Sales Management tab, added the ability to define if a performance is allowed to accept post dated payments towards its purchase and when the final post dated payment needs to be made prior to.


  • On the Project Detail G/L Entries tab, added the ability to search for specific entries within that project.
  • On the Project Detail Transactions tab, added the ability to search for specific transactions within that project.
  • Make it easier to move tasks between projects, including resources and personnel.
  • Improve the search capabilities for looking for completed/incomplete projects on the list window.
  • Allow searching for projects using the order number associated with it.
  • Add some icons to the search window to more clearly indicate those that have been invoiced.

Facility Management

  • Taxes on resources and personnel are dealt with in a more consistent manner to create G/L entries for end of day.
  • Calendars now implement the same kind of popup security group access as donations
  • Add some more edits around the flat rate pricing of resources for end of day balancing.
  • Duplicating resources in a task and then deleting is no longer creates an extra 'RR' transaction. This will prevent one type of end of day issue (9.23.04)
  • Added an index to the transaciton record pertaining to personnel that significantly improves performance opening and editing the personnel on a task (9.23.04)

Web Services

  • The second generation listener is will now send any facility management meeting invitations as part of its house routine. This will result in them getting to people faster and more reliably.
  • Improved the performance of the caching in second generation listener so that under conditions of high load, pages can be send out quicker
  • Improved the security of each web page by implementing some unique page tokens. This is to provide additional surety that a somebody cannot do cross site scripting attacks on web pages. Carts are closed and tickets released if somebody attempts this.
  • Ticket Trove will now gather data from web site despite any irregularities in the TLS certificate
  • Enhanced the extraction of plain text from HTML emails to format it a little better and improve transfer of links so that they can be used from a plain text email reader (9.23.08)
  • Remove the ability to manually delete a shopping cart. They can now only be deleted using the end of day processing and there must be retained according to the retention policies. This prevents deleting a current cart that still has held tickets associated with them (9.23.08)

Second Generation Listener

  • Can now be started from the DOS command prompt if it will not start under services due to authentication issues (9.23.02)
  • Displays the pricing map # associated with an event rather than the Venue # (9.23.02)
  • Shows the page name that was in error if it has to default back to a built in page because it find a calculation problem on a customized web page (9.23.05)
  • Fix an issue showing prices across zones with multiple different prices where the same price code could be available in the different sections. (9.25.05)
  • Added some extra genre's to the second generation listener to match what is available on the play 'marketing' tab (9.23.05)


  • Corrected an issue where under certain conditions exporting patron address information and the only address field exported was either latitude, longitude, geocode source, or postal/zip code (short), resulted in a SQL error.
  • An invoice containing post dated (or future dated) payments now shows the word 'post dated' beside the payment date. This will ocur until the date of the payment is in the past.
  • Data pertaining to deceased patrons can now be exported. The decision to allow this is predicated on the fact that the 'deceased' criteria has recently been given prominent placement on the criteria selection to make them easy to remove similar to the do-not-mail flags, etc. (9.23.01)
  • Fixed printing the PDF of a calendar printed to a screen (9.23.04)
  • Fixed calculation of the percent renewal on the Season Package Summary Listing report (9.23.05)
  • The ticket face report now shows the text rotation column (9.23.08)

Mail Lists

  • Add support for dragging shopping cart list onto the mail list 'who-in' as another way to get people into a mail list (9.23.05)


  • Changed the 'process name' in postgres to show which port a specific classic web listener is running on. It makes it easier to identify what one is doing on a machine running multiple copies of the classic listener.
  • Master user passwords can no longer be emailed.
  • The suggested name for the export file now has yyyy-mm-dd appended to the end of the file name (9.23.01)
  • The suggested name for the report PDF now has yyyy-mm-dd appended to the end of the name (9.23.01)
  • On a mail list, if you try to export parts of the list that contains deceased patrons, you will now get a message asking if you want to export that patron information. (9.23.01)
  • Sending an email password to a patron will now work if Apache is set to auto re-direct to https (9.23.03)
  • Correct an issue with calculating the volunteer hour summary (9.23.03)
  • Looking up a ticket face now restricts the lookup list to ticket faces appropriate to what is being edited. For example, if you are looking up a ticket face for an event, it limits the list to only those that are based on tickets to help make selection convenient. (9.23.04)
  • Made a small changed to the subscription window to remove background list loading of the patron information - to handle occasional stall when opening the subscription window (9.23.04)
  • Fixed a stored procedure in the database that was no updating the number of booked subscriptions and seats properly. It will do so going forward. You may wish to verify subscription counts to ensure totals are right. (9.23.05).
  • Allow the manual cart clean up button (on the shopping cart list window) to clean up tickets belonging to carts that are closed by the system when the user used the back button while finding seats. In rare cases the seats would not be released (9.23.07)
  • Added a new feature to the list of future contact changes in the 'contact schedule list'. You can now select a number of changes that are pending in the future and selectively apply them now -- or earlier than the originally specified date. This can be used if you are doing a large mail out that you are sending to a mail house and need to adjust to new addresses earlier than anticipated (9.23.08)

Things a venue may need to do

  • Read all prior release notes back to the version you upgraded from and follow any instructions for each version under the subject 'Things a venue may need to do'.
  • You may need to adjust the web pages as below, especially if you are using the second generation web server.
  • With each point release of Theatre Manager, you will need to download and install the latest second generation server version just to make sure you have all the latest features.
  • Make sure port 6181 to is open to allow the update server to verify eligibility for new versions of TM
  • If in Canada, turn on rounding of the cash payment method
  • Update the security access groupings in code tables to better batch your venue's needs.
  • Remember to set your classic web listeners to auto log in if you have not done so.
  • NOTE: if you are using the second generation listeners and have external links to the web site that are HTML POSTS, you must change them to GETS using normal links. This is a result of suggestions from our July PCI audit.

Changes to Web Pages

Please download the latest web page updates and compare the web pages to your existing pages. (If you have already implemented the 'tmCustom' folder, you can simply replace the pages below). The Page changes below make print-at-home from the confirmation email and reprinting tickets from an old cart to be the same.

The following itemizes the changes made to web pages:

In the 3rd Column are 3 flags.

  • R=Required Page Change - must be made
  • M=Mandatory. Only make the page changes if you want one of the new features.
  • O=Optional. Mainly cosmetic or only make the change if it is needed because you want to implement the feature that the description column speaks about. Existing web pages should still work with this version of Theatre Manager - so this change can be deferred to later.

Files in the WebPagesEN directory
TMoldCartDetailsPrint.html Removed the column for the bar code of tickets. O
TMcheckoutInvoiceEmail.html Wording change around information to the patron regarding ability to reprint tickets at home by logging in. O
TMoldCartDetails.html Added a button to reprint tickets that are 'print-at-home' within the order. This will use the same approach as the one ticket per page implemented in prior versions. O
TMlogoff.html Added the 'include' for the navigation buttons to the page. There was no reason that they should be left off the page, so this is a convenience change that makes the header pictures in place on more screens and makes the web experience look smoother. O
TMPatronNew.html Added the 'include' for the navigation buttons to the page. Same as above O
TMcart.html Add button at bottom of cart called 'continue shopping' in case people do not use ticket button at the top of the navigation bar O
Files in the TMtemplates directory
rowOldCartPrintCoupon.html Remove the first column in the table on the printable version of the cart where the bar code used to go. The functionality is replaced in TMOldCartDetails.html via the Reprint Tickets button. O
rowOldCartPrintCourse.html same as above O
rowOldCartPrintDonation.html same as above O
rowOldCartPrintFestival.html same as above O
rowOldCartPrintOrderCouponFee.html same as above O
rowOldCartPrintOrderFee.html same as above O
rowOldCartPrintPass.html same as above O
rowOldCartPrintReserve.html same as above O
rowOldCartPrintSub.html same as above O
rowCartCourseNewGroup.html add performance notes to the cart so that it is the same as the event list O
rowCartFestivalNewGroup.html add performance notes to the cart so that it is the same as the event list O
rowCartReserveNewGroup.html add performance notes to the cart so that it is the same as the event list O
setVENUE_LIST.html replace TM_SEQ with VE_SEQ for consistency of naming fields. At this time, either will work. O
Files in the conf/extra directory

These changes below can be made by comparing the 3 config files. Alternatively, if you are at an older version of apache, it may just be better to do an apache upgrade.

httpd-mod_tm.conf The second generation listener has been enhanced to do multiple retries to connect to a classic server it if determines that it received a wait page. normally this does not happen until you hit periods of high load. The following changes to the mod_tm conf file are placed after the

SetEnv TM_ERROR_PAGE TMsysErrorListeners.html

The changed below in the conf/extra/httpd-mod_tm.conf file causes the second generation listener to re-try (20 times) contacting the classic listener multiple times should it encounter a wait page. Effectively, this almost guarantees that a request to the classic listener that gets through the second generation listener will be serviced - vastly reducing the waiting page on high load situations.

note: best approach is to just copy the lines below and paste them in or do a file compare, then restart the apache server.

# when all listeners are busy (must set both SetEnv and SetEnvIf)
SetEnv TM_WAIT_PAGE TMsysBusyListeners.html
SetEnvIfNoCase Request_URI "^/.*TMsysBusyListeners.html$" TM_IS_WAIT_PAGE=TRUE

# Wait headers
Header always set X-TM-WAIT-PAGE TRUE env=TM_IS_WAIT_PAGE
Header always set Cache-Control "no-cache, no-store, must-revalidate" env=TM_IS_WAIT_PAGE
Header always set Pragma no-cache env=TM_IS_WAIT_PAGE
Header always set Expires 0 env=TM_IS_WAIT_PAGE

NOTE: on windows that may mean you need to edit the httpd.conf file and uncomment the LoadModule line for if you are not reinstalling apache from scratch.

LoadModule headers_module modules/

httpd-balance.conf Rewrote the forwarding for PCI compliance and enforce switch over to https before the first request ever gets to any listener.

This change requires comparing your old and new httpd-balance.conf and simplifying the mod balancer for port 80 to the 1 line rewrite rule.

httpd.conf Uncomment the line

#LoadModule headers_module module/

This change required to enable the multiple retry on the classic listener (only mandatory if you change httpd-mod_tm.conf).