This utility allows you to create menus by automatically running DXL from a network directory. This allows menu creation DXL to be deployed and updated on a network drive without updating every client.
Copy the source code and save to a file called runNetworkDir.dxl, then copy this file to any of the menu directories listed above, according to where you want the extra menus to appear. Edit the network directory path at the bottom of the file to specify the location on the network of the directory containing DXL files to build the extra menus.
// Create Extra menus by automatically running DXL from a network folder. /* Create Extra menus by automatically running DXL from a network folder. This allows menu creation DXL to be deployed and updated on a network drive without updating every client. Copy this file to any of the following directories on the client, according to where you want the extra menus to appear. Edit the directory path at the bottom to point to the location on the network containing the dxl files to build the extra menus. doorshome /lib/dxl/config/baseWindowMenuFiles doorshome /lib/dxl/config/descfiles doorshome /lib/dxl/config/descPopupFiles doorshome /lib/dxl/config/explorerListPopupFiles doorshome /lib/dxl/config/explorerTreePopupFiles doorshome /lib/dxl/config/formalFiles doorshome /lib/dxl/config/formalPopupFiles doorshome /lib/dxl/config/linkFiles doorshome /lib/dxl/config/linkPopupFiles Tony Goodman 1-June-2005 */ //---------------------- // // modification of Telelogic's generateAutoRunDXLFolderString to work with // absolute paths. // // Description: generates a string containing '#include's of all // the files in the specified path. Path must be // an absolute path name. // //---------------------------- string generateAutoRunDXLNetworkFolderString(string sFilesPath) { string sEvalStr = "" string sIncStart = "#include <" sFilesPath "/" string s string sLoc string sDXLCheck = null sLoc = sFilesPath Stat st = create(sLoc) if (!null st) { for s in directory sLoc do { if(s == "." || s == "..") { //do nothing } else { sDXLCheck = null sDXLCheck = checkDXL(sIncStart s ">") if(null sDXLCheck) { sEvalStr = sEvalStr sIncStart s ">\n" } else { //didn't pasre properly, so don't include it print sDXLCheck "\n" } } } } return(sEvalStr) } //----------------------------- // // modification of Telelogic's autoRunDXLFolder to work with mapped network drives // // Description: runs all the files in the specified directory as DXL. // This is used for startup, finish, formal menu functions // and project menu functions. // Notes: eval_ runs the code in a separate dxl context so any // declarations in dxl files in the specified path // will not persist. // Parameters: sFilesPath: path to the directory containing dxl files. This // path must be an absolute path name. //--------------------------------- void autoRunDXLNetworkFolder(string sFilesPath) { eval_(generateAutoRunDXLNetworkFolderString(sFilesPath)) } /************************************ MAIN Absolute path of the folder containing the menu creation DXL. ************************************/ autoRunDXLNetworkFolder("\\\\server\\dxl\\config\\extras")