Modified:
Nov 14, 2014
Created:
Aug 14, 2014
Views:
4556
Author:
PH

ProSelect slow to startup when Loading Price Lists

If you are still using ProSelect 2014r1.3 or 2014r1.4, you may find that ProSelect is taking a longer and longer time to start up when going through the "Loading Price Lists..." stage. 

This is due to a problem caused by using accented characters or having illegal hidden characters in some of your ProSelect setup names. These can be in prices names, template names, style names, room names, frame names etc. However, the most likely place that these will go undetected is in the template names. All of these name that are affected are stored in your ProSelect_Data.xml file.

What's Happened

In the above versions of ProSelect, whenever you make a change to your setup data, the each any accented or illegal characters are converted into around 5 to 10 other rubbish characters. The next time that you start ProSelect and make another change in this area, each of the new rubbish characters each are converted into even more rubbish characters so the names keep gets longer exponentially and eventually you will notice ProSelect taking longer and longer to startup.

If you check the size of your ProSelect_Data.xml file then you will find that rather than being typically between 1 and 2MB in size, it may be much larger in size (10-100Mb or more!) and this large file is the reason why ProSelect is slow to load.

Checking if you are effected

The best way to check if you have been effected by this problem is to have a look for a change in the size of the automatic backups of your ProSelect Data file that ProSelect keeps. These files are saved in a folder called Data_Backups inside the ProSelect folder in the following location on your computer:

On Mac
     Your Home Folder/Library/Application Support/ProSelect

On Windows 7 & 8 and Vista
     C:\Users\Your User Name\AppData\Roaming\ProSelect

On Windows XP
     C:\Documents and Settings\Your User Name\Application Data\ProSelect

* If you can't find your folder, see article Missing Library Folder on Mac OSX (Mac) or Missing AppData or ProgramData folder on Windows (Windows) about how to do this.

Once you locate your Data_Backups folder, view it by date and check if the sizes have changes much recently. The size of the data is determined by how many templates, prices, frames and rooms that you loaded into ProSelect. For most people this would be around 1-2MB. For power users this could be up around 3-4MB. The example below shows that the recent files have grown very large from the earlier copies indicating that there is a problem.

The Solution

1. Stopping the problem getting worse

The cause of this problem was fixed in ProSelect 2014r1.5 (and newer) so you should first download and install the latest update to ProSelect. This will prevent the size of the file from growing any larger however it will not remove the rubbish characters in the names. 

2. Repairing the data file

We have created a separate utility program that will look for and fix large template names in your ProSelect Data file and export a repaired file that you can use to replace your existing ProSelect Data file. Note this will only fixed template names - you should manually check your Template Category and Group names in the Templates Manager as well.

Alternatively, you can restore your ProSelect data from an earlier backup. Instructions for both options are below.

Option 1 - Download ProSelect 2014r1.7 or newer 

Note: This v2014r1 version was released on Sept 4, 2014 and can be downloaded from the old versions downloads page.

This new version of ProSelect (and any subsequent releases if you have a license for a newer version) will repair any very long template names in your data file after they have been loaded into ProSelect. The fixed data file is saved when you close ProSelect so that the next time that you open the software it should startup at the normal speed.  

If your data file is very large...

Because this option reads and processes the data file the usual way, if you have a large data file, it may take quite a long time for ProSelect to completely load and fix all of the data. So if your data file is larger than say 20Mb, we recommend that you use Option 2 below as this will repair your data file in a few seconds.

Please note that neither this version of ProSelect or the Template Name Repairer will fix other names in your data. So you should check and, if necessary, fix these manually within ProSelect.

Option 2 - Using Template Name Repairer program

Download the Template Name Repairer program using the links below:

Mac version

Windows version

Note: Neither of these programs have an installer so just unzip them onto your desktop and run them from that location. 

To use this program you need find your latest ProSelect_Data_File.xml. It is located in the ProSelect folder. See the above section "Checking if you are effected" for where this folder is located on your computer. Once you have located this file then:

  1. Make sure ProSelect is not running.
  2. Start the Template Name Repairer utility.
  3. Either use the Select File button to choose the ProSelect_Data_File.xml or just drag and drop this file into the program's main window.
  4. Any template names longer than 100 characters will be listed. If none appear then your file is OK so just Quit the program.
  5. You can change the name of any bad templates found by selecting them from the list, enter the new name at the bottom and clicking the Save Changes button.
  6. When ready, click the Export Repaired Data file button.


This will create a new file called ProSelect_Data_repaired.xml in the same folder as your original ProSelect_Data.xml file. Now complete the steps in the Replacing the ProSelect Data File section below using this file as the "restore file".

Option 3 - Recovering from an earlier backup copy

If you haven't recently made many changes to your setup data, then you can recover your Price & Template file from a backup copy made prior to installing ProSelect 2014r1.3 or 2014r1.4.

ProSelect automatically makes backup copies of your ProSelect_Data.xml file every time you update the software to a new version. See the above section "Checking if you are effected" for where this folder is located on your computer. 

Once you locate your Data_Backups folder, look for the backup copy called ProSelect_Data_14_1_3.xml which is the copy made when upgrading to ProSelect 2014r1.3. 

If you upgraded directly to ProSelect 2014r1.4 from a version before 2014r1.3 then look for the file ProSelect_Data_14_1_4.xml

If you have setup sharing of your ProSelect Data files between different computers then you might also want to check for the automatic backup files located on your other computers before deciding which file to use to recover the data from as there may be more backup files available to choose from.

You can also check the file sizes in this folder to find the most recent backup copy which is still close to the same file size as the earlier copies. This backup will likely be OK to use.

Once you have selected the back up file that you wish to use, do the following:

  1. Make sure that ProSelect is not running.
  2. Copy your selected backup file into the ProSelect folder (the one containing the Data_Backups folder)
  3. Complete the steps in the next section using this file as the "restore file".

Replacing the ProSelect Data file

Once you have either the repaired file from Option 1 above or copied the backup that you wish to restore into your ProSelect folder from Option 2 then:

  1. In the ProSelect folder, rename the file ProSelect_Data.xml to ProSelect_Data_backup.xml (so that you have a backup copy of your latest data file).
  2. Rename your "restore file" to ProSelect_Data.xml.
  3. If you are not using Sharing, then start ProSelect and check that it starts up at the usual speed. Otherwise jump to the section below.
  4. Check your templates, prices list etc for any odd characters and fix these manually.

Using Sharing?

if you do not have Always update the data file on this computer without asking selected or have used the Template Name Repairer to fix the file, when you start ProSelect it will ask you if you wish to Get from Shared or Send to Shared (see screen shot below)Since the copy that you have on your local machine is the one you now wish to use you should click the Send to Shared buttonYou can then start ProSelect and check that everything loads OK. 

When you start ProSelect on your other computers you should select Get from Shared (see screen shot below) since you wish to use the restored copy of the data file that you have just copied to the Shared Data Folder.

If you have setup your Sharing to Always update the data file on this computer without asking and you are restoring from an earlier backup, then you will also need to manually transfer this restored data file to your shared location to avoid the newer file in the shared location from being automatically copied over the top of your just restored older data file when ProSelect starts up. If you are not sure whether you have this setting turned on or not, then best to assume that you have and following the instructions in one of the next two sections below.

Using Shared Data Folder

If you have setup Sharing to use a Shared Data Folder then you will need to manually replace the ProSelect_Data.xml file in the shared folder with the one that that you just renamed (in step 4 of the previous section).

You should make sure that all copies of ProSelect have been shut down before doing this.

Using Network Server

If you are using the ProSelect Network Server, first make sure that all copies of ProSelect have been shut down. 

Copy the file that you just renamed (in step 4 of the previous section) to the computer that the server is running on. Then use the Load from File button to select and load that data file. 

When you start ProSelect on your other computers you should select Get from Shared (see screen shot below) since you wish to use the restored copy of the data file that you have just loaded into the Network Server.


KnowledgeBase Article: ProSelect slow to startup when Loading Price Lists