# Upgrading a configuration package/manifest file for compatibility with Config Slicer v3.0.x

If running Config Slicer v3.0.x against a configuration package or manifest file that was generated with a pre-3.0 version of Config Slicer, an error message displays.

#### Scenario 1: Out-of-Date Configuration Package

In this scenario the error message will resemble the following:

```
Package was generated with an older version of config slicer incompatible with the current version (3.0.2).
Please upgrade the configuration package (java -jar upgrade-config-slice.jar 'configuration_package.xml'),
verify the results, and try again. 
```

**SOLUTION:**

Upgrade the configuration package file by running **upgrade-config-slice.jar** against it.

* This jar file should be located in the same directory as Config Slicer (**/tools/config-slicer**).
* The upgrade script will save an upgraded copy of the configuration package file (to the same directory), which can be inspected and imported.

**Example:**

```
java -jar upgrade-config-slice.jar configuration_package.xml 
```

To upgrade a manifest file at the same time, simply add it to the script as a second argument:

```
java -jar upgrade-config-slice.jar configuration_package.xml manifest.properties 
```

#### Scenario 2: Out-of-Date Manifest File with no Corresponding Configuration Package

In this scenario the error message resembles the following:

```
Manifest was generated with an older version of config slicer incompatible with the current version (3.0.2). 
If you have the corresponding configuration package available the manifest can be automatically upgraded 
(java -jar upgrade-config-slice.jar configuration_package.xml 'manifest_file.properties'). Otherwise please 
regenerate the manifest with the current version of config slicer and try again. 
```

**SOLUTION:**

This upgrade process is a little more involved:

1. Extract the list of process types from the manifest file .
2. Format them as parameters to Config Slicer's custom manifest generation for process types.

   For example, assuming we extracted the process types **Process Type 1** and **Process Type 2** in step 1, the following command would be used:

   ```
   java -jar config-slicer.jar -o custom -s localhost -u admin -p pass -pt 
   "Process Type 1" -pt "Process Type 2"
   ```
3. Run the custom manifest generation.
4. Take the list of analyte UDFs and ResultFile UDTs from the manifest file that was generated and add them to the old manifest file .
5. Add the following line of text to the top of the old manifest file:

   ```
   ConfigSlicerVersion=3.0-compatible
   ```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://help.connected.illumina.com/clarity-lims/clarity-lims-v6.3-and-lablink-v2.5/administration/config-slicer-tool/page-2.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
