Changeset 384 for sans/Dev


Ignore:
Timestamp:
Jun 12, 2008 2:56:20 PM (15 years ago)
Author:
srkline
Message:

New install instructions, for manual install

New diagnostics in the installer that check to see if proper permissions exist, and suggest manual instll if not OK.

Wrapper now behaves better when new data files are loaded, selecting and "popping" the new file in the dataSet popup. also some better behvior if useCursors is checked.

Location:
sans/Dev/trunk
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • sans/Dev/trunk/Install_Instructions.txt

    r365 r384  
    33(1) - Unzip the downloaded package 
    44(2) - Double click on the NCNR_Install_or_Update.pxp experiment 
    5 (3) - If there are any help files open, you will be asked to close them. NOTE: be 
    6         sure to hold down the option (or alt) key when closing them to kill them 
    7         not just hide them. 
     5(3) - If there are any help files open, you will be asked to close them. NOTE: be sure to hold down the option (or alt) key when closing them to kill them, not just hide them. 
    86(4) - Click on "Install SANS Macros" 
    9 (5) - When the installer is finished, you will be asked to Quit Igor (yes, do it, 
    10         and save changes to the experiment.) 
     7(5) - When the installer is finished, you will be asked to Quit Igor (yes, do it, and save changes to the experiment.) 
     8(6) - If you were informed that some folders did not have proper permissions, skip down to the section for "Manual Install" 
    119 
    12 - SANS_Reduction, USANS_Reduction, and Analysis templates are located in the same 
    13 folder as the installer (these are the starting points) 
     10- SANS_Reduction, USANS_Reduction, and Analysis templates are located in the same folder as the installer (these are the starting points) 
    1411- Example data for reduction and analysis are in NCNR_SANS_Utilities 
    15 - A folder with instructions and a template for writing your own analysis function 
    16 is included (Single_Model_Template) 
    17 - Help files are integral to each template. Open any of the templates and click 
    18 on "Help" or "?" from any of the panels to view the help files. 
    19 - Any previous installations, including any files you may have modified are moved 
    20 to the NCNR_Moved_Files folder. Look in here for anything that you may want to  
    21 save.  
    22  
     12- A folder with instructions and a template for writing your own analysis function is included (Single_Model_Template) 
     13- Help files are integral to each template. Open any of the templates and click on "Help" or "?" from any of the panels to view the help files. 
     14- Any previous installations, including any files you may have modified are moved to the NCNR_Moved_Files folder. Look in here for anything that you may want to save.  
    2315 
    2416 
     
    2719(1) - double click on the NCNR_Install_or_Update.pxp experiment 
    2820(2) - Click on "Check for Updates" 
    29 (3) - The updater will check the version installed versus the version available 
    30 on the NCNR website. If your version is out-of-date, you will be sent to the NCNR 
    31 website. 
    32 (4) If you need to update, download the current version (.zip), and run the installer 
    33 as in the first step. 
    34  
    35  
     21(3) - The updater will check the version installed versus the version available on the NCNR website. If your version is out-of-date, you will be sent to the NCNR website. 
     22(4) If you need to update, download the current version (.zip), and run the installer as in the first step. 
    3623 
    3724 
     
    4027(1) - double click on the NCNR_Install_or_Update.pxp experiment 
    4128(2) - Click on "Print Diagnostics" 
    42 (3) - Select and copy the entire contents of the notebook of diagnostics, and 
    43 paste it into an e-mail. 
     29(3) - Select and copy the entire contents of the notebook of diagnostics, and paste it into an e-mail. 
     30 
     31 
     32------------------------------------------------------------------- 
     33*** Manual Install of the NCNR SANS/USANS Procedures *** 
     34------------------------------------------------------------------- 
     35 
     36If you were directed by the installer to perform a manual install, it is most likely because you do not have the proper permissions to copy the files into the necessary subfolders of the Igor Pro application folder. 
     37 
     38------------------- 
     39First, if possible, contact your system administrator. See if it is possible to grant you full read/write access to these three folders: 
     40 
     41(on Windows) 
     42/Program Files/WaveMetrics/Igor Pro/Igor Help Files 
     43/Program Files/WaveMetrics/Igor Pro/Igor Extensions 
     44/Program Files/WaveMetrics/Igor Pro/User Procedures 
     45 
     46(on Mac OSX) 
     47/Applications/Igor Pro/Igor Help Files 
     48/Applications/Igor Pro/Igor Extensions 
     49/Applications/Igor Pro/User Procedures 
     50 
     51If you or someone can reset the permissions on these folders so you can read and write, then re-run the installer, and it should work correctly without errors. 
     52 
     53 
     54If you can't get full permissions, you may still be able to use the macros. You must have at a minimum, permission to install in /User Procedures. If you can't get permission to install into /Igor Help Files, you can still open the help files manually as needed. If you can't get permission to install into /Igor Extensions, your calculations will be much slower, and you will not have access to any of the 2D analysis functions. 
     55 
     56------------------ 
     57 
     58If you want to move the files and folders by hand, follow these steps, skipping those operations that you do not have permission to do: 
     59 
     60(0) Quit Igor, if it is open. 
     61 
     62(1) Clean out ALL of the older versions of the NCNR macros from the User Procedures folder. Move them to the trash/recycle, and be sure to EMPTY the trash/recycle. The files to remove will have a variety of names. See the listing at the bottom of this file. 
     63 
     64(2) Clean out all of the older versions of the NCNR Help Files from the Igor Help Files folder. Move them to the trash/recycle, and be sure to EMPTY the trash/recycle. Again, see the listing of possible names at the bottom of this file. 
     65 
     66(3) Clean out all of the older versions of the NCNR Extensions from the Igor Extensions folder. Move them to the trash/recycle, and be sure to EMPTY the trash/recycle. Again, see the listing of possible names at the bottom of this file. 
     67 
     68(4) From the downloaded package, move the entire folder NCNR_User_Procedures to the Igor Pro/User Procedures folder. 
     69 
     70(5) Move the entire folder NCNR_Help_Files to the Igor Pro/Igor Help Files folder. 
     71 
     72(6) In the NCNR_Extensions folder, move EITHER the Mac_XOP folder or the Win_XOP folder to Igor Pro/Igor Extensions, depending on your operating system. Delete the XOP for the platform that you are not using. 
     73 
     74(7) The NCNR_SANS_Utilities folder has the three templates for starting SANS or USANS Reduction experiment, and for an analysis experiment. If the templates open up correctly, you're likely OK. In this folder, there are also example data sets and a template for writing your own analysis model. 
     75 
     76 
     77------------------- 
     78"OLD" User Procedures could be any of the following: 
     79 
     80SANS_Reduction_v5.00 
     81SANS_Reduction_v5.0 
     82SANS Redn 28OCT03 
     83SANS Redn 18JUN04 
     84SANS Redn 23JAN04 
     85SANS Redn Beta 
     86SANS_Models_B 09MAY03 
     87SANS_Models (B) 
     88SANS_Models Beta 
     89SANS_Models Beta2 
     90SANS_Models_v3.00 
     91SANS_Models_v3.01 
     92USANS Procedures 13AUG02 
     93USANS_Procedures_14DEC04 
     94USANS_Procedures_15DEC05 
     95USANS Beta Procedures 
     96USANS Procedures v2.00 
     97USANS Procedures v2.20 
     98Put in User Procedures 
     99NCNR_User_Procedures 
     100NCNR_Extensions 
     101NCNR_Help_Files 
     102 
     103------------------- 
     104"OLD" Igor Help files could be any of the following: 
     105 
     106SANS_Reduction_Help_v5.ihf 
     107SANSReductionHelp_4p2.ihf 
     108SANS_Analysis_Docs_v3.00.ihf 
     109SANSAnalysisHelp(B).ihf 
     110SANS_Model_Docs_v3.00.ihf 
     111SANS_Model_Docs_v3.01.ihf 
     112USANSReductionHelp_v2.20.ihf 
     113USANSReductionHelp_v2.00.ihf 
     114USANSReductionHelp_v1.ihf 
     115SANS_Analysis_Docs_09JUN06.ihf 
     116SANS_Model_Docs_09JUN06.ihf 
     117Put in Igor Help Files 
     118NCNR_Help_Files 
     119 
     120------------------- 
     121"OLD" Igor Extensions could be any of the following: 
     122 
     123SANS_Analysis.xop 
     124NCNR_Extensions 
     125Mac_XOP 
     126Win_XOP 
     127------------------- 
    44128 
    45129 
    46130 
    47 May 2008 SRK 
     131 
     132June 2008 SRK 
  • sans/Dev/trunk/NCNR_User_Procedures/InstalledVersion.txt

    r373 r384  
    1 PACKAGE_VERSION=6.003;SANS_RED_VERSION=5.10;SANS_ANA_VERSION=4.00;USANS_RED_VERSION=2.21; 
     1PACKAGE_VERSION=6.004;SANS_RED_VERSION=5.10;SANS_ANA_VERSION=4.00;USANS_RED_VERSION=2.21; 
    22 
    33Only the first line of the file is read in. 
     
    66 
    77These are the current versions as of: 
    8 29 MAY 2008 SRK 
     811 JUN 2008 SRK 
    99 
  • sans/Dev/trunk/NCNR_User_Procedures/SANS/Analysis/Models/Packages/FilesToRemove++.itx

    r362 r384  
    11IGOR 
    2 WAVES/T IExtFolders     IExtFiles       IHFolders 
     2WAVES/T IExtFolders 
    33BEGIN 
    4         "Put in Igor Extensions"        "SANS_Analysis.xop"     "Put in Igor Help Files" 
    5         "NCNR_Extensions"       "NCNR_Extensions"       "NCNR_Help_Files" 
     4        "Put in Igor Extensions" 
     5        "NCNR_Extensions" 
     6        "Mac_XOP" 
     7        "Win_XOP" 
    68END 
    79X SetScale/P x 0,1,"", IExtFolders; SetScale y 0,0,"", IExtFolders 
     10 
     11WAVES/T IExtFiles       IHFolders 
     12BEGIN 
     13        "SANS_Analysis.xop"     "Put in Igor Help Files" 
     14        "NCNR_Extensions"       "NCNR_Help_Files" 
     15END 
    816X SetScale/P x 0,1,"", IExtFiles; SetScale y 0,0,"", IExtFiles 
    917X SetScale/P x 0,1,"", IHFolders; SetScale y 0,0,"", IHFolders 
  • sans/Dev/trunk/NCNR_User_Procedures/SANS/Analysis/Models/Packages/NCNR_Install.ipf

    r372 r384  
    2424                Abort "You've already run the installer. If you want to re-install, you'll need a fresh copy from the NCNR website." 
    2525        endif 
     26         
     27        // check for install problems 
     28        // locked folders, OS errors _err will be non-zero if there is an error 
     29        Variable UP_err,IH_err,IE_err 
     30        UP_err = FolderPermissionCheck("User Procedures:") 
     31        IH_err = FolderPermissionCheck("Igor Help Files:") 
     32        IE_err = FolderPermissionCheck("Igor Extensions:")       
     33//      Print UP_err,IH_err,IE_err 
     34 
     35        String alertStr="" 
     36        if(UP_err != 0) 
     37                alertStr += "User Procedures has no write permission.\r" 
     38        endif 
     39        if(IH_err != 0) 
     40                alertStr += "Igor Help Files has no write permission.\r" 
     41        endif 
     42        if(IE_err != 0) 
     43                alertStr += "Igor Extensions has no write permission.\r" 
     44        endif 
     45         
     46        if(UP_err != 0 || IH_err != 0 || IE_err != 0) 
     47                alertStr += "You will need to install manually." 
     48                DoAlert 0,alertStr 
     49                return(0) 
     50        endif 
     51         
    2652         
    2753        // check the platform 
     
    319345        endif 
    320346         
     347        // check for permissions 
     348        Variable UP_err,IH_err,IE_err 
     349        UP_err = FolderPermissionCheck("User Procedures:") 
     350        IH_err = FolderPermissionCheck("Igor Help Files:") 
     351        IE_err = FolderPermissionCheck("Igor Extensions:") 
     352         
     353        Print UP_err,IH_err,IE_err 
     354         
     355        String alertStr="" 
     356        if(UP_err != 0) 
     357                alertStr += "User Procedures has no write permission. Error = "+num2Str(UP_err)+"\r" 
     358        else 
     359                alertStr += "User Procedures permission is OK.\r" 
     360        endif 
     361        if(IH_err != 0) 
     362                alertStr += "Igor Help Files has no write permission. Error = "+num2Str(IH_err)+"\r" 
     363        else 
     364                alertStr += "Igor Help Files permission is OK.\r" 
     365        endif 
     366        if(IE_err != 0) 
     367                alertStr += "Igor Extensions has no write permission. Error = "+num2Str(IE_err)+"\r" 
     368        else 
     369                alertStr += "Igor Extensions permission is OK.\r" 
     370        endif 
     371         
     372        if(UP_err != 0 || IH_err != 0 || IE_err != 0) 
     373                alertStr += "You will need to install manually." 
     374        endif 
     375         
     376        Notebook $nb text="\r\r**Folder Permissions**\r" 
     377        Notebook $nb text=AlertStr +"\r" 
     378         
     379         
    321380        Notebook $nb text="\r\r**InstalledVersion.txt**\r" 
    322381        Notebook $nb text=textStr +"\r" 
     
    465524        return(0) 
    466525End 
     526 
     527//check each of the three folders 
     528// folder string MUST have the trailing colon 
     529Function FolderPermissionCheck(folderStr) 
     530        String folderStr 
     531        Variable refnum 
     532        String str="delete me" 
     533         
     534        String igorPathStr,resultStr="" 
     535        PathInfo Igor 
     536        igorPathStr = S_Path 
     537         
     538        NewPath /Q/O tmpPath, igorPathStr+folderStr 
     539 
     540         
     541        Open/Z/P=tmpPath refnum as "test.txt" 
     542        if(V_flag != 0) 
     543                return(V_flag) 
     544        else 
     545                FBinWrite refnum,str 
     546                Close refnum 
     547                 
     548//              Print "folder OK" 
     549                DeleteFile/Z/P=tmpPath  "test.txt" 
     550        endif 
     551         
     552         
     553        return(V_flag) 
     554end 
  • sans/Dev/trunk/NCNR_User_Procedures/SANS/Analysis/Models/Packages/Wrapper_v40.ipf

    r380 r384  
    118118 
    119119 
    120 //obvious use 
     120//obvious use, now finds the most recent data loaded, finds the folder, and pops the menu with that selection... 
     121// 
    121122Function W_LoadDataButtonProc(ba) : ButtonControl 
    122123        STRUCT WMButtonAction &ba 
     
    130131                        endif 
    131132                        Execute "A_LoadOneDData()" 
     133                         
     134                        ControlUpdate/W=WrapperPanel popup_0 
     135                        //instead of a simple controlUpdate, better to pop the menu to make sure that the other menus follow 
     136                        // convoluted method to find the right item and pop the menu. 
     137 
     138                        // data is plotted, so get the "new" top graph 
     139                        topGraph= WinName(0,1)  //this is the topmost graph, and should exist, but... 
     140                        if(cmpstr(topGraph,"")==0) 
     141                                return(0) 
     142                        endif 
     143                        String list,folderStr 
     144                        Variable num 
     145                        list = TraceNameList(topGraph,";",1)            //want the last item in the list 
     146                        num= ItemsInList(list) 
     147                        FolderStr = StringFromList(num-1,list,";") 
     148                        folderStr = folderStr[0,strlen(folderStr)-3]            //remove the "_i" that the loader enforced 
     149                        list = W_DataSetPopupList() 
     150                        num=WhichListItem(folderStr,list,";",0,0) 
     151                        if(num != -1) 
     152                                PopupMenu popup_0,mode=num+1,win=WrapperPanel 
     153                                ControlUpdate/W=WrapperPanel popup_0 
     154                                 
     155                                // fake mouse up 
     156                                Struct WMPopupAction ps 
     157                                ps.eventCode = 2                //fake mouse up 
     158        //                      ps.popStr = str 
     159                                DataSet_PopMenuProc(ps) 
     160                                 
     161                                // new data set has been selected, always uncheck the "use cursors", other checkboxes are benign. 
     162                                CheckBox check_0,win=WrapperPanel,value=0 
     163                        endif 
    132164                        break 
    133165        endswitch 
    134166 
    135 //      ControlUpdate/W=WrapperPanel popup_0 
    136         //instead of a simple controlUpdate, better to pop the menu to make sure that the other menus follow 
    137         // but not sure how to get the most recently loaded file as the selected item - bring the  
    138         // wrapper panel back to the top - then pop -  
    139167 
    140168        return 0 
     
    398426//                      print "str = ",str 
    399427                        //set the item in the coef popup, and pop it 
    400                         PopupMenu popup_2 mode=(num+1) 
     428                        PopupMenu popup_2 win=WrapperPanel,mode=(num+1) 
    401429                         
    402430                        Struct WMPopupAction ps 
     
    11551183        STRUCT WMCheckboxAction &cba 
    11561184 
    1157         String topGraph= WinName(0,1)   //this is the topmost graph      
     1185        String topGraph= WinName(0,1)   //this is the topmost graph 
     1186        if(cmpstr(topGraph,"")==0)      //no graphs, uncheck and exit 
     1187                CheckBox check_0,value=0 
     1188                return(0) 
     1189        endif 
     1190                 
    11581191        String ciStr = CsrInfo(A , topGraph) 
    11591192         
Note: See TracChangeset for help on using the changeset viewer.