KIDS Distribution saved on Mar 31, 2010@18:47:29 TMG1*1.0*6 **KIDS**:TMG1*1.0*6^ **INSTALL NAME** TMG1*1.0*6 "BLD",7631,0) TMG1*1.0*6^^0^3100331^n "BLD",7631,1,0) ^^2^2^3100331^^ "BLD",7631,1,1,0) This patch adds custom fields to NETWORK LOCATION file "BLD",7631,1,2,0) needed for TMG-CPRS imaging. "BLD",7631,4,0) ^9.64PA^2005.2^1 "BLD",7631,4,2005.2,0) 2005.2 "BLD",7631,4,2005.2,2,0) ^9.641^2005.2^1 "BLD",7631,4,2005.2,2,2005.2,0) NETWORK LOCATION (File-top level) "BLD",7631,4,2005.2,2,2005.2,1,0) ^9.6411^22702^3 "BLD",7631,4,2005.2,2,2005.2,1,22700,0) TMG PRIVATE PHYSICAL REFERENCE "BLD",7631,4,2005.2,2,2005.2,1,22701,0) TMG NODE DIVIDER SYMBOL "BLD",7631,4,2005.2,2,2005.2,1,22702,0) TMG DROPBOX PHYSICAL REFERENCE "BLD",7631,4,2005.2,222) y^y^p^^^^n^^n "BLD",7631,4,2005.2,224) "BLD",7631,4,"APDD",2005.2,2005.2) "BLD",7631,4,"APDD",2005.2,2005.2,22700) "BLD",7631,4,"APDD",2005.2,2005.2,22701) "BLD",7631,4,"APDD",2005.2,2005.2,22702) "BLD",7631,4,"B",2005.2,2005.2) "BLD",7631,6.3) 1 "BLD",7631,"KRN",0) ^9.67PA^8989.52^19 "BLD",7631,"KRN",.4,0) .4 "BLD",7631,"KRN",.401,0) .401 "BLD",7631,"KRN",.402,0) .402 "BLD",7631,"KRN",.403,0) .403 "BLD",7631,"KRN",.5,0) .5 "BLD",7631,"KRN",.84,0) .84 "BLD",7631,"KRN",3.6,0) 3.6 "BLD",7631,"KRN",3.8,0) 3.8 "BLD",7631,"KRN",9.2,0) 9.2 "BLD",7631,"KRN",9.8,0) 9.8 "BLD",7631,"KRN",19,0) 19 "BLD",7631,"KRN",19.1,0) 19.1 "BLD",7631,"KRN",101,0) 101 "BLD",7631,"KRN",409.61,0) 409.61 "BLD",7631,"KRN",771,0) 771 "BLD",7631,"KRN",870,0) 870 "BLD",7631,"KRN",8989.51,0) 8989.51 "BLD",7631,"KRN",8989.52,0) 8989.52 "BLD",7631,"KRN",8994,0) 8994 "BLD",7631,"KRN","B",.4,.4) "BLD",7631,"KRN","B",.401,.401) "BLD",7631,"KRN","B",.402,.402) "BLD",7631,"KRN","B",.403,.403) "BLD",7631,"KRN","B",.5,.5) "BLD",7631,"KRN","B",.84,.84) "BLD",7631,"KRN","B",3.6,3.6) "BLD",7631,"KRN","B",3.8,3.8) "BLD",7631,"KRN","B",9.2,9.2) "BLD",7631,"KRN","B",9.8,9.8) "BLD",7631,"KRN","B",19,19) "BLD",7631,"KRN","B",19.1,19.1) "BLD",7631,"KRN","B",101,101) "BLD",7631,"KRN","B",409.61,409.61) "BLD",7631,"KRN","B",771,771) "BLD",7631,"KRN","B",870,870) "BLD",7631,"KRN","B",8989.51,8989.51) "BLD",7631,"KRN","B",8989.52,8989.52) "BLD",7631,"KRN","B",8994,8994) "FIA",2005.2) NETWORK LOCATION "FIA",2005.2,0) ^MAG(2005.2, "FIA",2005.2,0,0) 2005.2I "FIA",2005.2,0,1) y^y^p^^^^n^^n "FIA",2005.2,0,10) "FIA",2005.2,0,11) "FIA",2005.2,0,"RLRO") "FIA",2005.2,2005.2) 1 "FIA",2005.2,2005.2,22700) "FIA",2005.2,2005.2,22701) "FIA",2005.2,2005.2,22702) "MBREQ") 0 "QUES","XPF1",0) Y "QUES","XPF1","??") ^D REP^XPDH "QUES","XPF1","A") Shall I write over your |FLAG| File "QUES","XPF1","B") YES "QUES","XPF1","M") D XPF1^XPDIQ "QUES","XPF2",0) Y "QUES","XPF2","??") ^D DTA^XPDH "QUES","XPF2","A") Want my data |FLAG| yours "QUES","XPF2","B") YES "QUES","XPF2","M") D XPF2^XPDIQ "QUES","XPI1",0) YO "QUES","XPI1","??") ^D INHIBIT^XPDH "QUES","XPI1","A") Want KIDS to INHIBIT LOGONs during the install "QUES","XPI1","B") NO "QUES","XPI1","M") D XPI1^XPDIQ "QUES","XPM1",0) PO^VA(200,:EM "QUES","XPM1","??") ^D MG^XPDH "QUES","XPM1","A") Enter the Coordinator for Mail Group '|FLAG|' "QUES","XPM1","B") "QUES","XPM1","M") D XPM1^XPDIQ "QUES","XPO1",0) Y "QUES","XPO1","??") ^D MENU^XPDH "QUES","XPO1","A") Want KIDS to Rebuild Menu Trees Upon Completion of Install "QUES","XPO1","B") NO "QUES","XPO1","M") D XPO1^XPDIQ "QUES","XPZ1",0) Y "QUES","XPZ1","??") ^D OPT^XPDH "QUES","XPZ1","A") Want to DISABLE Scheduled Options, Menu Options, and Protocols "QUES","XPZ1","B") NO "QUES","XPZ1","M") D XPZ1^XPDIQ "QUES","XPZ2",0) Y "QUES","XPZ2","??") ^D RTN^XPDH "QUES","XPZ2","A") Want to MOVE routines to other CPUs "QUES","XPZ2","B") NO "QUES","XPZ2","M") D XPZ2^XPDIQ "VER") 8.0^22.0 "^DD",2005.2,2005.2,22700,0) TMG PRIVATE PHYSICAL REFERENCE^F^^22700;1^K:$L(X)>250!($L(X)<1) X "^DD",2005.2,2005.2,22700,3) Answer must be 1-250 characters in length "^DD",2005.2,2005.2,22700,21,0) ^^4^4^3080131^^ "^DD",2005.2,2005.2,22700,21,1,0) This field was added by TMG site to allow for a private network location "^DD",2005.2,2005.2,22700,21,2,0) that is different from the physical location specified by field#1. "^DD",2005.2,2005.2,22700,21,3,0) "^DD",2005.2,2005.2,22700,21,4,0) Enter ??? for more information. "^DD",2005.2,2005.2,22700,23,0) ^^45^45^3080131^^ "^DD",2005.2,2005.2,22700,23,1,0) This field allows for a private network address that may be different from "^DD",2005.2,2005.2,22700,23,2,0) the public physical location store in field #1 (PHYSICAL REFERENCE). "^DD",2005.2,2005.2,22700,23,3,0) "^DD",2005.2,2005.2,22700,23,4,0) For example, if field #1 is specified to be \\imageserver\images\ , then "^DD",2005.2,2005.2,22700,23,5,0) when images are stored (using data from this NETWORK LOCATION file), the "^DD",2005.2,2005.2,22700,23,6,0) location name passed to the client might be as follows: "^DD",2005.2,2005.2,22700,23,7,0) "^DD",2005.2,2005.2,22700,23,8,0) \\imageserver\images\IMAGE0001.JPG "^DD",2005.2,2005.2,22700,23,9,0) "^DD",2005.2,2005.2,22700,23,10,0) But if, instead, one wanted to keep the actual location of the files stored "^DD",2005.2,2005.2,22700,23,11,0) private, then one could put "\" into field #1, and then the actual location "^DD",2005.2,2005.2,22700,23,12,0) into this field (TMG PRIVATE PHYSICAL REFERENCE). This is dependent on using "^DD",2005.2,2005.2,22700,23,13,0) TMG UPLOAD and DOWNLOAD RPC calls that utilize this field. "^DD",2005.2,2005.2,22700,23,14,0) "^DD",2005.2,2005.2,22700,23,15,0) This field was developed by the TMG site during customization of the VistA "^DD",2005.2,2005.2,22700,23,16,0) Imaging system into a document-imaging system. The prior method used by "^DD",2005.2,2005.2,22700,23,17,0) VistA was to pass the filepath and filename that had been set up on a "^DD",2005.2,2005.2,22700,23,18,0) Windows server. The client was required to be part of this same filesystem. "^DD",2005.2,2005.2,22700,23,19,0) And the client would then store files directly. "^DD",2005.2,2005.2,22700,23,20,0) "^DD",2005.2,2005.2,22700,23,21,0) The TMG site, however, wanted to use a linux server that did not setup "^DD",2005.2,2005.2,22700,23,22,0) directory shares, and thus were not accessible to windows clients. Transfer "^DD",2005.2,2005.2,22700,23,23,0) code was created to pass binary files through the RPC Broker (using BASE64 "^DD",2005.2,2005.2,22700,23,24,0) ascii armour encoding). Thus when the client asks to save a file, it would "^DD",2005.2,2005.2,22700,23,25,0) be a security violation to allow any arbitrary directory (including "^DD",2005.2,2005.2,22700,23,26,0) sensitive locations.) "^DD",2005.2,2005.2,22700,23,27,0) "^DD",2005.2,2005.2,22700,23,28,0) Thus at the TMG site, RPC routines such as MAGGADDIMAGE (client asks to upload a file, and "^DD",2005.2,2005.2,22700,23,29,0) server prepares an appropriate filename for it) would use field #1 (PHYSICAL "^DD",2005.2,2005.2,22700,23,30,0) REFERENCE... SET TO "/") and pass back a file name like this: "^DD",2005.2,2005.2,22700,23,31,0) /FILE0001.JPG "^DD",2005.2,2005.2,22700,23,32,0) The server upload code (UPLOAD^TMGRPC1) would use TMG PRIVATE PHYSICAL "^DD",2005.2,2005.2,22700,23,33,0) REFERENCE (of '/var/local/images/') to actually store the file to: "^DD",2005.2,2005.2,22700,23,34,0) e.g. /var/local/images/FILE0001.JPG "^DD",2005.2,2005.2,22700,23,35,0) "^DD",2005.2,2005.2,22700,23,36,0) The actual file location is then a concatenation of: "^DD",2005.2,2005.2,22700,23,37,0) TMG PRIVATE PHYSICAL REFERENCE + PHYSICAL REFERENCE "^DD",2005.2,2005.2,22700,23,38,0) "^DD",2005.2,2005.2,22700,23,39,0) During use, UPLOAD^TMGRPC1 will make sure that //'s don't occur. I.e. if: "^DD",2005.2,2005.2,22700,23,40,0) TMG PRIVATE PHYSICAL REFERENCE = "/var/local/server/" and "^DD",2005.2,2005.2,22700,23,41,0) PHYSICAL REFERENCE = "/images/" "^DD",2005.2,2005.2,22700,23,42,0) then final result would be "^DD",2005.2,2005.2,22700,23,43,0) "/var/local/server/images/" "^DD",2005.2,2005.2,22700,23,44,0) not "^DD",2005.2,2005.2,22700,23,45,0) "/var/local/server//images/" "^DD",2005.2,2005.2,22700,"DT") 3050927 "^DD",2005.2,2005.2,22701,0) TMG NODE DIVIDER SYMBOL^F^^22701;1^K:$L(X)>1!($L(X)<1)!'((X="\")!(X="/")) X "^DD",2005.2,2005.2,22701,3) Answer must be 1 character in length. "^DD",2005.2,2005.2,22701,21,0) ^^7^7^3050927^^ "^DD",2005.2,2005.2,22701,21,1,0) Enter the symbol used by the file system to used directories. "^DD",2005.2,2005.2,22701,21,2,0) "^DD",2005.2,2005.2,22701,21,3,0) i.e. for Windows, would be \ "^DD",2005.2,2005.2,22701,21,4,0) and for Unix, would be / "^DD",2005.2,2005.2,22701,21,5,0) "^DD",2005.2,2005.2,22701,21,6,0) e.g. Windows: c:\dir1\dir2 "^DD",2005.2,2005.2,22701,21,7,0) Unix /dir1/dir2 "^DD",2005.2,2005.2,22701,"DT") 3050927 "^DD",2005.2,2005.2,22702,0) TMG DROPBOX PHYSICAL REFERENCE^F^^22702;1^K:$L(X)>250!($L(X)<1) X "^DD",2005.2,2005.2,22702,3) Answer must be 1-250 characters in length. "^DD",2005.2,2005.2,22702,21,0) ^^2^2^3080131^^ "^DD",2005.2,2005.2,22702,21,1,0) This should be the path that the server may use to obtain "^DD",2005.2,2005.2,22702,21,2,0) a file from the dropbox. ?? for more help. "^DD",2005.2,2005.2,22702,23,0) ^^41^41^3080131^^ "^DD",2005.2,2005.2,22702,23,1,0) Enter the name of the folder that the server will use as a drop "^DD",2005.2,2005.2,22702,23,2,0) box location. "^DD",2005.2,2005.2,22702,23,3,0) e.g.: "^DD",2005.2,2005.2,22702,23,4,0) /mnt/Winserver/dropbox/ "^DD",2005.2,2005.2,22702,23,5,0) "^DD",2005.2,2005.2,22702,23,6,0) This custom field was added at the TMG site to allow uploading "^DD",2005.2,2005.2,22702,23,7,0) of files via a 'drop box' method. "^DD",2005.2,2005.2,22702,23,8,0) "^DD",2005.2,2005.2,22702,23,9,0) Background: The original VistA setup was to have the client and "^DD",2005.2,2005.2,22702,23,10,0) server to share a custom filesystem. During requests to upload "^DD",2005.2,2005.2,22702,23,11,0) a file from CPRS, the server would pass a file path+name to CPRS "^DD",2005.2,2005.2,22702,23,12,0) and the client would directly write to the location. TMG felt "^DD",2005.2,2005.2,22702,23,13,0) this to represent poor security, as anyone on a client machine "^DD",2005.2,2005.2,22702,23,14,0) could browse the image directory directly (with a file browser) "^DD",2005.2,2005.2,22702,23,15,0) and see private images. "^DD",2005.2,2005.2,22702,23,16,0) "^DD",2005.2,2005.2,22702,23,17,0) So a RPC call was created to upload the file to the server through "^DD",2005.2,2005.2,22702,23,18,0) the RPC broker, using ASCII Armour Encoding to pass binary files. "^DD",2005.2,2005.2,22702,23,19,0) This was OK, but each file transfer took 1-10 seconds, and was too "^DD",2005.2,2005.2,22702,23,20,0) slow for higher volume settings. "^DD",2005.2,2005.2,22702,23,21,0) "^DD",2005.2,2005.2,22702,23,22,0) So this method now uses a secure 'drop box' method. It does require "^DD",2005.2,2005.2,22702,23,23,0) a shared filesystem between server and client, but ensures that the "^DD",2005.2,2005.2,22702,23,24,0) client can not browse files on the server after uploading them. "^DD",2005.2,2005.2,22702,23,25,0) The client does a file copy to the drop box drive location, and then "^DD",2005.2,2005.2,22702,23,26,0) notifies the server. The server then moves the file to a secure "^DD",2005.2,2005.2,22702,23,27,0) private location. Later, when the client needs the file back, the "^DD",2005.2,2005.2,22702,23,28,0) process is reversed: the server is asked for the file, the file is "^DD",2005.2,2005.2,22702,23,29,0) moved to the drop box, and the client moves it to its needed location. "^DD",2005.2,2005.2,22702,23,30,0) "^DD",2005.2,2005.2,22702,23,31,0) This will still be slightly slower than direct access, but provides "^DD",2005.2,2005.2,22702,23,32,0) more security. It depends on the client to delete the file from the "^DD",2005.2,2005.2,22702,23,33,0) dropbox, and from its local client location after finishing use. "^DD",2005.2,2005.2,22702,23,34,0) "^DD",2005.2,2005.2,22702,23,35,0) Note: the client will probably have a different name for the drop box "^DD",2005.2,2005.2,22702,23,36,0) location, and client configuration will be required as well. "^DD",2005.2,2005.2,22702,23,37,0) E.g. "^DD",2005.2,2005.2,22702,23,38,0) Linux server has dropbox at /mnt/Winserver/dropbox/ "^DD",2005.2,2005.2,22702,23,39,0) Windows Client has access to dropbox at V:\Dropbox\ "^DD",2005.2,2005.2,22702,23,40,0) "^DD",2005.2,2005.2,22702,23,41,0) This field stores only the server dropbox location. "^DD",2005.2,2005.2,22702,"DT") 3080131 **END** **END**