Storing PSL in KM or Separate File

When you save PSL code in the KM, the KM will contain all knowledge to manage a certain application. Only the KM file would be needed and no extra PSL scripts have to be shipped. (That is if you don't require libraries as well)

The difference is in the KM file. Normally the KM will either contain the PSL script itself or a pointer to where the PSL script can be found. If the PSL is part of the KM, the COMMAND TEXT attribute for a parameter, menu command, infobox, or (pre) discovery in a KM file would look something like this:

"phone = get(\"/patrolHome\");\ hname = get(\"/hostname\");\
portno = get(\"/udpPort\");\
mach = get(\"/appType\");\

Otherwise it would contain the LOAD statement like shown here:


When you want to write a patch for a certain KM, and the PSL is not inside the KM file, you can just replace the existing psl file with a newer one. Any other PSL files that haven't changed would not be affected. Also, the file sizes for each of the files will be very small and in some cases that's a good thing when doing small upgrades/changes. But the customer would need all files to be there before a KM would be functional, more files can mean more administration on his side... or more work if he wants to repackage your KM.

Another benefit of having it in a separate psl file, is if you are using CVS or similar source control mechanism. The granularity for checking in files will be smaller and it's easier to track changes on specific files. Besides that, when PSL is stored in an external file, you can just open it with a text editor and copy/paste or even read the code without having to deal with escaped quotes, newlines and such.

If all PSL is part of a KM, and you want to bring out a newer version of your KM, you only have to ship one file, no matter how much you changed. However, by shipping a new KM file, you might overwrite changes made to any other script inside the KM. I mean if the KM contains all PSL and if someone wrote additional parameters in the KM, or changed some code in one of the parameters, you will automatically overwrite that if you replace the old KM with a new KM file. The benefit of storing everything inside the KM is that you don't have to determine dependencies and find out which files have to be shipped as well. Only the KM file will do.

Was this page helpful? Yes No Submitting... Thank you