Migrating from a 3.x Version of PopChart Server

Because PopChart Server 4.0.5's directory structure is so radically different than that of 3.x versions of PopChart Server, you cannot simply upgrade from a 3.x version (at least not if you want to keep your appearance files, data files, server settings, etc.).

Note: If you uninstall your 3.x version of PopChart Server before installing PopChart Server 4.0.5, you will want to backup the files we are about to mention before uninstalling.

To migrate from PopChart Server 3.x to PopChart Server 4.0.5

These are just recommended steps. How you migrate to 4.0.5 will differ greatly depending on how 3.x was setup.

1. Copy any directories that store important data, appearance files, or templates (e.g. apfiles, data, SVG_templates) to PopChart Server 4.0.5's chart_root directory.

2. If you were running PopChart Server [D], copy dlink.xml from the pcis_classes directory to PopChart Server 4.0.5's config directory.

3. If you have made any modifications to path.xml file (in the pcis_classes directory), you will need to merge the 3.x path.xml file with the 4.0.5 path.xml file.

PopChart Server 4.0.5 keeps its path.xml file in the config directory. The main difference between this file and the 3.x file is that it now includes information about valid callback domains. Copy the last two mappings from the 4.0.5 path.xml file (which allow localhost callbacks) to the 3.x file, and then replace the 4.0.5 file with the 3.x file. For more information about valid callback domains, refer to "Setting Path Permissions" on page 3-37.

4. If you have any custom font files in the pcis_classes/fsfiles directory, copy these to PopChart Server 4.0.5's lib/fsfiles directory.

5. If you have set any command line arguments in the PopChartServer.lax file (on the line that begins lax.command.line.args=), you should copy these to the PopChart Server 4.0.5's config/PCAgent.cfg file.

PopChart Server 4.0.5 stores all of its configuration settings in the PCAgent.cfg file in its config directory. Any command line arguments that you were using in PopChart Server 4.0.5 should be transferred to the [PCISStartupArgs] section of this file. Each command line argument should be on a separate line. You can read more about this file in "Configuration File Format" in Chapter 3 of the PopChart Server Reference manual.

6. If you are running PopChart Server 3.x on a port other than 2001, or running the commport on a port other than 2002, you will need to change these ports in PopChart Server 4.0.5's config/PCAgent.cfg file.

PopChart Server 3.x ran on ports 81 and 82, but PopChart Server 4.0.5 runs on ports 2001 and 2002. If you wish to migrate to the new ports, you can ignore this step (but be sure to change any HTML or PopChart Embedder code that had been using PopChart Server 3.x's ports).
To change the ports that PopChart Server 4.0.5 runs on, modify the following two lines in the config/PCAgent.cfg file.

-port 2001

-commport 2002

You should replace 2001 and 2002 with the ports that you want PopChart Server 4.0.5 to use.

7. Load-balancing is no longer available in PopChart Server 4.0.5. If you were using load-balancing, you should switch to clustering (refer to Chapter 13).

8. If you have been using the graph. LoadFile() command to import tab-delimited data for X-Y, Time Plot, or Stock graphs, you will need to convert your tab-delimited files to the new spreadsheet format for these graph types.

PopChart Server 4.0.5 uses spreadsheet data differently than PopChart Server 3.x for these graph types. The new spreadsheet format for these graph types is more intuitive than the format for PopChart Server 3.x. Unfortunately, we were unable to make this aspect of PopChart Server backwards-compatible with tab-delimited data files.

To learn how to format your tab-delimited data file, refer to "Spreadsheet" header under the "Plot Data Class" and "Stock Data Class" sections of Chapter 12 in the PopChart Server Reference manual.

9. If you are using any redirectors, you should locate the redirector and replace it with the 4.0.5 version. The redirectors are located in PopChart Server 4.0.5's dev_tools folder.

10. If you have been using the PCISEmbedder, replace your old PCISEmbedder library files with the new PopChart Embedder library files.

Be sure to remove your old PCISEmbedder files (i.e. PCISEmbedder.jar, PCISEmbedderBean.jar, PCISEmbedder.dll), as these may interfere with the new PopChartEmbedder libraries.
The new PopChart Embedder libraries are located in the dev_tools folder.
If you were using the Java PCISEmbedder
The PCISEmbedder.jar file has been replaced by the PopChartEmbedder.jar file. Remove the PCISEmbedder.jar file from your classpath and add the PopChartEmbedder.jar to your classpath (see "Including the PopChartEmbedder.jar File in Your Classpath" in Chapter 5 if you do not know how to do this).
If you were using the JavaBean PCISEmbedder
The PCISEmbedderBean.jar file has been eliminated. The JavaBean embedder is now included in the PopChartEmbedder.jar file. Remove the PCISEmbedderBean.jar file from your classpath and add the PopChartEmbedder.jar to your classpath (see "Including the PopChartEmbedder.jar File in Your Classpath" in Chapter 5 if you do not know how to do this).
If you were using the COM PCISEmbedder
The PCISEmbedder.dll file has been replaced by the PCEmbedder.dll file. Remove the PCISEmbedder.dll file from your component services (by deleting the PopChart.Embedder component) and install the new PopChart Embedder component (see "Installing the COM PopChart Embedder as a Component Services" in Chapter 5 if you do not know how to do this).

Note: The COM PopChart Embedder is not backwards compatible with PopChart Server 3.x. If you need to run the 3.x PCISEmbedder and the 4.x PopChart Embedder simultaneously on the same system, please contact our technical support staff for a solution.

11. If you have been using the PCISEmbedder without the comm port, go through any of your existing code that uses the PCISEmbedder and set it to use the comm port.

The PopChart Embedder in PopChart Server 4.0.5 (and thus the deprecated PCISEmbedder) requires the use of the comm port. To modify your existing code to use the comm port, replace any setServerInfo() method calls with the following two statements.

   myPopChart.externalServerAddress = "http://www.myserver.com:2001"; 

   myPopChart.internalCommPortAddress = "10.0.2.1:2002"; 

This, of course, assumes that your PCISEmbedder object is named myPopChart. You should replace www.myserver.com:2001 with the address and port that clients will use to request images from PopChart Server. You should replace 10.0.2.1:2002 with the address and port that your application server will use to communicate with PopChart Server (i.e. the comm port). To learn more about the externalServerAddress and internalCommPortAddress attributes, see Chapter 4 of the PopChart Server Reference manual.

12. (Optional) Go through any existing code that uses the PCISEmbedder and update it for PopChart Embedder API.

PopChart Server 4.0.5 now uses the PopChart Embedder instead of the PCISEmbedder that was used in prior versions. The API for the PopChart Embedder is different, so that it is more consistent across different platforms. Many PCISEmbedder methods and properties have been deprecated.
To maintain backwards compatibility, there is still a PCISEmbedder class in the PopChart Embedder library files. The PCISEmbedder methods will still work if you keep using the PCISEmbedder class, so you won't have to migrate your existing code. Be aware, however, that the PCISEmbedder will no longer be supported after the 4.x versions of PopChart Server.
Refer to "Deprecated Methods" in Chapter 4 of the PopChart Server Reference manual to see what changes you should be making to your code.

13. (Optional) Go through any existing PCScript and update it for 4.0.5 PCScript commands.

Several 3.x PCScript methods, including Graph.Series and Graph.Categories, have been deprecated. Like deprecated PCISEmbedder methods, they will still work, but will no longer be supported after the 4.x versions of PopChart Server.
Refer to "Deprecated Methods" in Chapter 5 of the PopChart Server Reference manual to see what changes you should be making to your code.

14. (Optional) If you are not yet using the PopChart Embedder, you may want to look into it.

We are now presenting the PopChart Embedder as the preferred way of communicating with PopChart Server. The PopChart Embedder greatly simplifies the process of embedding a PopChart image, as well as adds a significant amount of functionality. You can still request images using HTTP Requests and the Image URL Method, but this documentation is designed mostly for people using the PopChart Embedder.