When modifying a project that has already been deployed, you
might make changes which render the project incompatible with the
recipes on your runtime platform. If you modify the names of steps,
variables, or collection items (for example, models, measurement
markers, color-samples) that are linked to by recipe-dependent
steps, the recipes on your development computer will automatically
be updated to reflect the new names. However you will be unable to
deploy your project without overwriting the recipes on your runtime
platform, because the recipes on your runtime platform now contain
broken links. If this happens, you will need to manually repair the
broken links before deploying. In some cases, broken links can be
prevented.
Note that broken links will prevent you from redeploying your
project without overwriting the recipes on your runtime
platform.
If you have not yet renamed anything in your project, and you
are certain that no runtime modifications will be made before your
re-deploy, you might be able to prevent links from breaking. To do
this, connect to your runtime platform and access the Recipes
pane. Use Import all
recipes button to import recipes on your runtime platform that
do not exist on your development computer, and the Synchronize all recipes
button to synchronize the values for existing recipes on your
development computer with modifications that have been made on your
runtime platform. Once your development computer has the latest
recipes, make the require modifications to your project and
re-deploy it with all recipes selected in the RECIPES tab of the
Deploy Project dialog.
Synchronizing a recipe from your runtime platform will
permanently overwrite that recipe on your development computer. The
overwritten version cannot be recovered. If you need to keep both
sets of values, you must use 2 recipes. Note that other persistent
values will also be overwritten during import or synchronization.
For more information, see the
Importing and synchronizing recipes from your runtime platform
subsection of the Recipes at
design-time section earlier in this chapter.
If you rename a step, variable, or item in a collection, Matrox
Design Assistant will automatically update all links to it that
exist in the recipes listed under the Design-time tab of the
Recipes
pane. However, the existing recipes on your runtime platform cannot
be updated in this way and the links in those recipes will become
broken. This is true whether a recipe was deployed from your
development computer, or created from the operator view at
runtime.
Matrox Design Assistant will generate the following warning if
you attempt to perform an action that will render your project
incompatible with the recipes on the currently connected runtime
platform:
The Errors
pane, the Recipes
pane, and the RECIPES tab of the
Deploy Project dialog will present warnings if there are
incompatible recipes detected on your runtime platform. You can
also view a list of incompatible steps and variables from these
locations (for example, by clicking on the name of an incompatible
recipe in the Errors
pane).
![](../../images/z_script_arrow_open.png)
Example
of breaking a link in a recipe
Consider a situation in which you have deployed a project with a
recipe-dependent
TextWriter step. In MainRecipe, the Text value for this step is
an expression that includes a link to a
StringReader step named StringReader5000. In addition, a
recipe called SecondRecipe has been cloned from MainRecipe in the
operator view and does not exist on your development computer. You
need to modify your project to rename this
StringReader step to SerialNumber.
You start by renaming the StringReader5000 to SerialNumber. If
the recipes on your runtime platform were otherwise identical to
the recipes on your development computer, you could now safely fix
the links on your runtime platform by re-deploying all of the
recipes in your project. However, the
TextWriter step in SecondRecipe is still linked to
StringReader5000. Since you have renamed that step, you will need
to first import
this recipe from the Runtime tab of the
Recipes
pane. You must then update the broken link in the
TextWriter step in SecondRecipe before re-deploying your
project.
If you need to repair links (for example, because you had to
rename recipe-dependent steps or variables before connecting to one
of your runtime platforms), you will need to
import and synchronize the incompatible recipes to your
development computer and manually change any links which have been
broken.
Synchronizing
a recipe from your runtime platform will permanently overwrite that
recipe on your development computer. The overwritten version cannot
be recovered. If you need to keep both sets of values, you must use
2 recipes. Note that other persistent values will also be
overwritten during import or synchronization. For more information,
see the
Importing and synchronizing recipes from your runtime platform
subsection of the Recipes at
design-time section earlier in this chapter.
Once you have imported and synchronized all recipes from your
runtime platform, use the following procedure to repair each broken
link:
-
Select the recipe containing the link using the Current recipe dropdown list
in the Recipes
pane.
-
Double-click on the error associated with the link in the
Errors
pane. This will open the step containing the broken link in the
Configuration pane.
-
Update the name in the broken link.
-
If you need this value to be the same in multiple recipes, use
the
Apply multiple dialog in the Recipes
pane. Using this feature can dramatically reduce the time required
to repair all links in your project.
Once you have finished modifying your project, re-deploy it with
all recipes selected in the RECIPES tab of the
Deploy Project dialog.