Differences between revisions 19 and 20
Revision 19 as of 2011-08-04 20:13:42
Size: 2598
Editor: KaiJaeger
Comment: New User Command
Revision 20 as of 2011-08-05 07:39:08
Size: 2831
Editor: KaiJaeger
Comment: Remark added regarding a SALT bug
Deletions are marked like this. Additions are marked like this.
Line 3: Line 3:
= User Command ScriptManager (Dyalog) = = User Command "ScriptManager" =
Line 36: Line 36:
== Problem with SALT ==

When you get a "Target namespace not found" error reported by SALT but crashing `ScriptManager` than you are using an outdated version of SALT. Ask Dyalog for a better version of SALT where this bug got fixed.

User Command "ScriptManager"

Overview

ScriptManager (ScriptManager) is a utility useful to manage scripts in a workspace.

Obviously it makes sense to make ScriptManager available as a User Command.

This page offers a small class script ScriptManager_UC.dyalog which is designed to do exactly that.

Assumptions

In order to make ScriptManager available as a user command the script ScriptManager_UC.dyalog ("UC" for User Command) attached to this page must go somewhere where Dyalog is able to find it. There are to options:

  • Move it into Salt\Spice inside the Dyalog installation folder. That's where the Dyalog User Commands are located.

  • Create a particular folder for your own User Commands.

Although the first option is certainly easier, it's actually the second one which is recommended. There are a couple of reasons:

  • Messing Dyalog scripts with your scripts is not a good idea.
  • When a new version of Dyalog arrives you are in trouble.
  • Having a separate folder for your own User Commands allows you to overwrite a Dyalog User Command with an improved version you are not going to loose in case of an update or a new version.

To make your own User Command folder work you have to do a couple of things:

  1. Add the folder to the SALT search path.
  2. Create another folder which is going to host the "real thing". A recommended name is "UserCommandCode".

  3. Copy the script ScriptManager_UC.dyalog from the ScriptManager page into that folder.

  4. Create a registry entry pointing to that new folder with the name HKEY_CURRENT_USER\Software\Dyalog\Dyalog APL/W 12.1 Unicode\SALT\CodeFolder

Note that the script attached to this page only deals with one issue: find the real work horse and call it, see below.

In order to achieve that the script ScriptManager_UC.dyalog reads the HKEY_CURRENT_USER\Software\Dyalog\Dyalog APL/W 12.1 Unicode\SALT\CodeFolder from the Windows registry. It then tries to load the "real" ScriptManager script from that folder.

Note that not only our examples given on this page but also the code in ScriptManager_UC.dyalog all refer to version 12.1 Unicode of Dyalog. If your are using a different version of Dyalog of course you must change the script, otherwise it's not going to work.

Problem with SALT

When you get a "Target namespace not found" error reported by SALT but crashing ScriptManager than you are using an outdated version of SALT. Ask Dyalog for a better version of SALT where this bug got fixed.

Download

Download the script.

Version

The script is version 1.0.0 from 2011-08-04

Author: KaiJaeger

-- KaiJaeger 2011-08-04 20:13:42


CategoryDyalogUserCommands