xxxxxxx is an orphan script and should be deleted
A RAMP warning message is displayed saying that a script is an orphan script and should be deleted.
What does the message mean?
- It means the script is not used by any destination, junction or special screen.
- Since the script is not used, it should be deleted.
- This message does not impact the operation of RAMP, it's just a warning.
- If you get a lot of these warnings, it is likely to be a misunderstanding about use of the merge tool in a multi-developer environment.
How do you delete a script if you get this message?
- Start the RAMP Tools
- Expand the script tree node and locate the script.
- Select the script and press the Delete button.
- Watch out for duplicated script names (this happens in multi-developer environment). Make sure you have the right script.
How can you get an orphan script?
- The most likely way is by using the merge tool to merge in a brand new script all by itself without merging in the parent destination, junction or special screen as well.
When would you use the merge tool to just merge in a single script without also merging in its parent destination, junction or special screens as well?
- Normally you would only do this when you have previously merged in the parent object and its associated scripts and are just wanting to merge in a single updated script. You should never do this on an initial merge or you risk creating orphan script(s).
How should you approach merging RAMP screens and their associated scripts produced by multiple developers?
Assuming that the high level Framework design objects, that is applications, business objects, commands and command handlers (tabs) have been set up by the master designer and all developers are working from the same model (that is the developers just define the RAMP screens and scripts and then link them up to the pre-defined command handler tabs):
- The sender should add the screens that they have produced to a merge list. This should automatically include the associated scripts.
- The sender should also add to the same merge list all the command handler(s) that have been modified by being linked up with RAMP destination screens.
- The receiver should merge everything into the master Framework. The command handlers should be handled as updates/replacements and the RAMP objects should be new objects. In no case should new GUIDs be assigned.
How can you get scripts with the same name?
In a multi-developer environment if two developers create scripts, you may end up with two scripts named for example FORMSCRIPT_137.
If the work of these developers is merged together, this situation may be confusing to the developers, but it is not confusing to RAMP because to RAMP the script name is just a caption. Internally RAMP recognizes and executes scripts by their unique GUID.
Developers can change the default script names to avoid this confusion.