In 4.1, we could assign permanent libnames on (Local) using a point-and-click approach. That facility appears to have disappeared in 4.2. I'd like to have it back, as I have users who do not know how to write a single line of SAS Code.
[I know I can do it through tools --> options --> SAS Programs, but it would be cleaner for learners to have the point-and-click capability returned.]
With EG 4.1 and earlier, we had an "EG repository" that could store information such as server connections and libraries. With EG 4.2 that went away -- now we use only the SAS metadata server for this information.
For local-only deployments, this means that we don't have local repository for these definitions. The only alternatives right now are to use an autoexec or the SAS Programs option you mentioned, or use the project library task under the Tools menu -- but that's a per-project operation.
A colleague of mine started screaming about the lack of "permanent" local libraries after five minutes of using 4.2. He wanted a local library available no matter what project he was working in.
Our solution is simple and seems to work in our environment with modifying the autoexec. We accomplish this by opening EG 4.2, going to Tools menu --> Options --> SAS Programs and checking "Submit SAS code when server is connected". We then click the associated Edit button, we add a libname statement (e.g. libname foo 'd:\data' under the "/* Insert custom code after server connection here */" line in the edit dialog box.
Now the foo library is available to any project after my colleague logs in because the libname statement essentially runs when he connects to the workspace server.
While searching for information about permanent libnames in EG 4.2, I saw several references to autoexec.bat files. Is there a way to associate an autoexec.bat (sas) file to EG so that it executes the commands in the autoexec file when EG is launched?
The Tools / Options trick is a good one to know about. In EG 4.2, this information is stored in a file on the user's operating system, EGOptions.xml. An administrator can set values (such as some code for libraries) and then distribute this customized version of EGOptions.xml as part of the client installation process. Useful for stuff like this.
This thread was extremely useful. I needed to add 4 "development" libraries to my Local server in 4.2. Utilizing the Tool / Options trick, I was able to utilize global macro variables to logically assign the libnames based on server and user. However, I can't find this EGOptions.xml file so that I can pass it on to the SAS Admin to include in the installation process. I've looked in the 4.2 folder and searched all .xml's in the entire SAS folder. Any ideas?
Here is my logic limited to just me for testing purposes. I'll open it up to my other team members once I figure out where this .xml is.
/*SAS Development Library Assignment*/
%if &_SASSERVERNAME.='Local' and &_CLIENTUSERID.='jklein' %then %do;
Last question about EGOptions.xml I swear. So say we have gone through all of the options in EG 4.2 that we want users to start with for the first install. I get that we include the xml in the initial deployment and they are good to go. However, if we want to change something like the code when the server connects, what is the best way to do this? Do we just push a new version of the xml to the C:\Documents and Settings\\Application Data\SAS\EnterpriseGuide\4.2 directory or is there a way to drive the Options update from the metadata profile update setup?
For general updates to the EG Options, I think it would be a process of manually re-pushing the XML file to the appropriate location. Others may have alternate suggestions. Using %include statements could be a sneaky way in the EG options of allowing an admin to update the code as needed.