Index: ild_tools/jenkins_bumps_docs.py
===================================================================
--- build_tools/jenkins_bumps_docs.py	(revision 6b13570fdf9de09aa124e4d076705e02b17846c5)
+++ 	(revision )
@@ -1,81 +1,0 @@
-"""
-Scrip to clone tagged version of bumps to SasView build system
-
-bumps must be at the same level as the Jenkins %WORKSPACE (i.e. Jenkins_job_name)
-
-../Jenkins_job_name/ == ../%WORKSPACE/
-
-../Jenkins_job_name/                  - Working dir for Jenkins jobs
-
-../Jenkins_job_name/build_tools/      - working directory for build files
-
-../bumps/                             - directory for bumps files.
-                                      - see ../Jenkins_job_name/docs/sphinx-docs/build-sphinx.py   
-
-"""
-
-
-import subprocess
-import os
-import shutil
-import errno, stat
-
-
-BUMPS_BRANCH = "v0.7.5.5"
-BUMPS_REPO = 'https://github.com/bumps/bumps'
-CURRENT_SCRIPT_DIR = os.path.dirname(os.path.abspath(__file__))
-BUMPS_TARGET = os.path.join(CURRENT_SCRIPT_DIR,  "..", "..", "bumps")
-
-
-if os.path.isdir(BUMPS_TARGET):
-    os.chdir(BUMPS_TARGET)
-    out_tag=subprocess.check_output(["git","tag"])
-    os.chdir(CURRENT_SCRIPT_DIR)
-    if (out_tag.rstrip() in BUMPS_BRANCH):
-        print "bumps version " + BUMPS_BRANCH + " is allready on disk - exit git clone bumps"
-        quit()
-
-
-
-
-
-def _remove_dir(dir_path):
-    """Removes the given directory."""
-    if os.path.isdir(dir_path):
-        print "Removing \"%s\"... " % dir_path
-        shutil.rmtree(dir_path,ignore_errors=False,onerror=errorRemoveReadonly)
-           
-
-
-def errorRemoveReadonly(func, path, exc):
-    excvalue = exc[1]
-    if func in (os.rmdir, os.remove) and excvalue.errno == errno.EACCES:
-        # change the file to be readable,writable,executable: 0777
-        os.chmod(path, stat.S_IRWXU | stat.S_IRWXG | stat.S_IRWXO)  
-        # retry
-        func(path)
-    else:
-        print "Error"
-
-
-
-def clean():
-    """
-    Clean the Bumps target directory.
-    """
-    print "=== Remove old Bumps Target ==="
-    _remove_dir(BUMPS_TARGET)
-
-
-clean()
-
-
-
-
-
-p = subprocess.Popen(["git","clone", "--branch="+BUMPS_BRANCH,"--depth=1", BUMPS_REPO, BUMPS_TARGET],
-                     stdin=subprocess.PIPE, 
-                     stdout=subprocess.PIPE) 
-
-output = p.communicate('S\nL\n')[0]
-print output
Index: docs/sphinx-docs/build_sphinx.py
===================================================================
--- docs/sphinx-docs/build_sphinx.py	(revision 9bf64f65441fe276eb820729b6f98aa17921310c)
+++ docs/sphinx-docs/build_sphinx.py	(revision 2fb09c45b38fabcf2370ba6a7b104a494ed35de3)
@@ -27,4 +27,5 @@
 SASVIEW_BUILD = os.path.abspath(os.path.join(CURRENT_SCRIPT_DIR, "..", "..", "build", "lib"+platform))
 SASVIEW_DOCS = os.path.join(SASVIEW_BUILD, "doc")
+SASVIEW_TEST = os.path.join(SASVIEW_SRC, "..", "sasview", "test", "media")
 
 SPHINX_BUILD = os.path.join(CURRENT_SCRIPT_DIR, "build")
@@ -34,4 +35,5 @@
 SPHINX_SOURCE_MODELS = os.path.join(SPHINX_SOURCE, "user", "models")
 SPHINX_SOURCE_PERSPECTIVES = os.path.join(SPHINX_SOURCE, "user", "perspectives")
+SPHINX_SOURCE_TEST = os.path.join(SPHINX_SOURCE, "test")
 
 BUMPS_DOCS = os.path.join(CURRENT_SCRIPT_DIR, "..", "..", "..",
@@ -55,4 +57,5 @@
     _remove_dir(SPHINX_SOURCE_MODELS)
     _remove_dir(SPHINX_SOURCE_PERSPECTIVES)
+    _remove_dir(SPHINX_SOURCE_TEST)
 
 def retrieve_user_docs():
@@ -87,4 +90,11 @@
 
             copy_tree(docs, dest_dir)
+            
+    # Now pickup testdata_help.rst
+#    print os.path.abspath(SASVIEW_TEST)
+#    print os.path.abspath(SPHINX_SOURCE_TEST)
+    if os.path.exists(SASVIEW_TEST):
+       print "Found docs folder at ", SASVIEW_TEST
+       shutil.copytree(SASVIEW_TEST, SPHINX_SOURCE_TEST)       
 
 def retrieve_bumps_docs():
Index: docs/sphinx-docs/source/conf.py
===================================================================
--- docs/sphinx-docs/source/conf.py	(revision eddf6af5bcc4640826d67df071f3e5da5dd092a8)
+++ docs/sphinx-docs/source/conf.py	(revision eddf6af5bcc4640826d67df071f3e5da5dd092a8)
@@ -53,5 +53,5 @@
 # General information about the project.
 project = u'SasView'
-copyright = u'2013, The SasView Project'
+copyright = u'2015, The SasView Project'
 
 # The version info for the project you're documenting, acts as replacement for
@@ -60,7 +60,7 @@
 #
 # The short X.Y version.
-version = '3.0.0'
+version = '3.1.0'
 # The full version, including alpha/beta/rc tags.
-release = '3.0.0'
+release = '3.1.0'
 
 # The language for content autogenerated by Sphinx. Refer to documentation
Index: docs/sphinx-docs/source/index.rst
===================================================================
--- docs/sphinx-docs/source/index.rst	(revision 8042dbba6295d858218093297c3257680f194e0b)
+++ docs/sphinx-docs/source/index.rst	(revision 5a73356a9ee08ca3ab4f46b20ecd98c72b3a0842)
@@ -4,12 +4,10 @@
    contain the root `toctree` directive.
 
-SasView Documentation
-=====================
+SasView Documentation Index
+===========================
 
 .. toctree::
    :maxdepth: 1
 
-   Model Documentation <user/models/model_functions>
-   
    User Documentation <user/user>
 
Index: docs/sphinx-docs/source/test/testdata_help.rst
===================================================================
--- docs/sphinx-docs/source/test/testdata_help.rst	(revision a32aa3e14373298a264100bc214787fdafb3773f)
+++ docs/sphinx-docs/source/test/testdata_help.rst	(revision a32aa3e14373298a264100bc214787fdafb3773f)
@@ -0,0 +1,100 @@
+.. testdata_help.rst
+
+Test Data
+=========
+
+Test data sets are included as a convenience to our users. Look in the \test 
+sub-folder in your SasView installation folder.
+
+The data sets are organized based on their data structure; 1D data, 2D data, 
+SASVIEW saved states, and data in formats that are not yet implemented but 
+which are in the works for future versions.
+
+1D data sets have at least two columns of data with Intensity (assumed 
+absolute units) on the Y-axis and Q on the X-axis. 
+
+2D data sets are data sets that give the deduced intensity for each detector 
+pixel. Depending on the file extension, uncertainty and meta data may also be 
+available.
+
+Saved states are projects and analyses saved by the SasView program. A single 
+analysis file contains the data and parameters for a single fit (.fit), p(r) 
+inversion (.pr), or invariant calculation (.inv). A project file (.svs) contains 
+the results for every active analysis.
+
+Some of the available test data is described below.
+
+.. ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ
+
+1D Test Data
+^^^^^^^^^^^^
+
+AOT_Microemulsion
+  - Aerosol-OT surfactant stabilised oil-in-water microemulsion data at three 
+    contrasts: core (oil core), drop (oil core + surfactant layer), and shell 
+    (surfactant layer).
+  - Suitable for testing simultaneous fitting.
+  
+hSDS_D2O
+  - h25-sodium dodecyl sulphate solutions at two concentrations: 0.5wt% (just 
+    above the cmc), 2wt% (well above the cmc), and 2wt% but with 0.2mM NaCl 
+    electrolyte.
+  - Suitable for testing charged S(Q) models.
+
+P123_D2O
+  - Lyotropic liquid crystalline solutions of non-ionic ABA block copolymer 
+    Pluronic P123 in water at three concentrations: 10wt%, 30wt%, and 40wt%.
+  - Suitable for testing paracrystal models.
+
+ISIS_Polymer_Blend_TK49
+  - Monodisperse (Mw/Mn~1.02) 49wt% d8-polystyrene : 51wt% h8-polystyrene 
+    polymer blend.
+  - Suitable for testing Poly_GaussCoil and RPA10 models.
+
+.. ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ
+
+2D Test Data
+^^^^^^^^^^^^
+
+P123_D2O
+  - Lyotropic liquid crystalline solutions of non-ionic ABA block copolymer 
+    Pluronic P123 in water at three concentrations: 10wt%, 30wt%, and 40wt%.
+  - Suitable for testing paracrystal models.
+
+.. ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ
+
+Saved State Test Data
+^^^^^^^^^^^^^^^^^^^^^
+
+_phi_weights.txt
+
+_radius_dist.txt
+
+_THETA_weights.txt
+
+fitstate.fitv
+
+newone.svs
+
+prstate.prv
+
+sld_file.sld
+
+test.inv
+
+test002.inv
+
+.. ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ
+
+Other Test Data
+^^^^^^^^^^^^^^^
+
+1000A_sphere_sm.xml
+
+diamond.pdb
+
+dna.pdb
+
+.. ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ
+
+.. note::  This help document was last changed by Steve King, 26Jun2015
Index: docs/sphinx-docs/source/user/user.rst
===================================================================
--- docs/sphinx-docs/source/user/user.rst	(revision 28812b8c479e622f069e76c620af8135f55e76f9)
+++ docs/sphinx-docs/source/user/user.rst	(revision 2e5ca089b3452d373071786c8aa58afa098b3734)
@@ -1,4 +1,6 @@
-User Documentation
-==================
+SasView User Documentation
+==========================
+
+.. note:: In Windows use [Alt]-[Cursor left] to return to the previous page
 
 .. toctree::
@@ -37,3 +39,3 @@
    Python Shell Tool <perspectives/calculator/python_shell_help>
    
-   Test Data <test/testdata.rst>
+   Test Data <../test/testdata_help.rst>
Index: sasmodels/setup.py
===================================================================
--- sasmodels/setup.py	(revision 3a39c2e89f90377b2d15fa13b9ba9cf3b4144070)
+++ sasmodels/setup.py	(revision 038ccfe6ad2eb536e4120eb8a5bcd1c584ed0260)
@@ -111,7 +111,7 @@
     version = VERSION,
     description = "Python module for SAS scattering models",
-    author = "SAS/DANSE",
-    author_email = "sansdanse@gmail.gov",
-    url = "http://sansviewproject.svn.sourceforge.net",
+    author = "SasView Team",
+    author_email = "developers@sasview.org",
+    url = "https://github.com/SasView/sasview.git",
     
     # Place this module under the sas package
Index: sasview/README.txt
===================================================================
--- sasview/README.txt	(revision 794922220f2fb3b23dd08c648aabf87b4850596c)
+++ sasview/README.txt	(revision d47b9ce111606e7ec986edb683939984a93a9919)
@@ -2,236 +2,322 @@
 =============
 
-SasView 3.0.0
-
-    - The GUI look and feel has been refactored to be more familiar for Windows
-      users by using MDI frames. Graph windows are also now free-floating
-    - Five new models have been added: PringlesModel, CoreShellEllipsoidXTModel,
-      RectangularPrismModel, RectangularHollowPrismModel and 
-      RectangularHollowPrismInfThinWallsModel
-    - The data loader now supports ILL DAT data files and reads the full meta 
-      information from canSAS file formats
-    - Redefined convention for specifying angular parameters for anisotropic models
-    - A number of minor features have been added such as permitting a log 
-      distribution of points when using a model to simulate data, and the 
-      addition of a Kratky plot option to the linear plots
-    - A number of bugs have also been fixed
-    - Save Project and Save Analysis now work more reliably
-    - BETA: Magnetic contrast supporting full polarization analysis has been 
-            implemented for some spherical and cylindrical models
-    - BETA: Two new tools have been added:
-            * A generic scattering calculator which takes an atomic, magnetic or 
-              SLD distribution in space and generates the appropriate 2D 
-              scattering pattern. In some cases the orientationally averaged 
-              (powder) 1D scattering can also be computed. Supported formats 
-              include: SLD or text, PDB, and OMF magnetic moment distribution 
-              file.
-            * An image viewer/converter for data in image format; this reads in 
-              an image file and will attempt to convert the image pixels to 
-              data. Supported formats include: TIFF, TIF, PNG, BMP, JPG
-
-    - New in Version 2.2.1
-      - Minor patch to support CanSAS XML v1.1 file format
-      - Added DataInfo for data in the DataExplorer and plots
-      - Added Maximize/Restore button in the title bar of the graphs
-      - Added a hide button in the toolbar of the graph panel
-      - The 'x' button now deletes a graph
-      - Edit SUM Model from the menubar can now generate and save more than one sum model
-      - Reports can now be saved in pdf format on WIN and MAC
-      - Made significant improvements to the batch/grid panel and fixed several bugs
-      - Fixed a number of other minor bugs
-
-    - New in Version 2.2.0
-      - Application name changed to SasView
-      - New fully customizable Category Manager added for better management of
-        increasing number of models
-      - Improved the Grid Window functionality in the batch fitting mode
-      - Added a simpler Graph/Plot modification interface
-      - Added a new 'Data Operation' tool for addition, subtraction, multiplication,
-        division, of two data sets.
-      - The 'Sum Model' editor was extended and renamed 'Summation and Multiplication'
-        editor
-      - Added more plot symbols options for 1d plots
-      - Added improved trapping of compiling errors to the 'New model editor'
-      - Added some intelligent outputs (e.g., Rg, background, or rod diameter depending on the choice of axis scale of the plot) to the linear fits
-      - Added more models
-
-    - Feature set from Previous Versions: 	
+1- Features
+===========
+
+   - New in Version 3.1.0
+     --------------------
+     - The documentation/help has had a complete overhaul including:
+       - A completely new presentation interface (Sphinx).
+       - Proof reading!
+       - Updating for latest features.
+       - A Help (or sometimes ?) button has been added to every panel, and some
+         sub panels if appropriate, linking to the appropriate section in the
+         documentation.
+       - The model help has been split so that the Details button now brings up
+         a very short pop-up giving the equation being used while HELP goes to 
+         the section in the full documentation describing the model.
+       - Extensive help has also been added for the new optimizer engine (see 
+         below) including rules of thumb on how and when to choose a given
+         optimizer and what the parameters do.
+     - The optimizer engine has been completely replaced. The new optimizer
+       still defaults to the standard Levenberg-Marquardt algorithm. However 4
+       other optimizers are now also available. Each starts with a set of default
+       parameters which can be tuned. The DREAM optimizer takes the longest but
+       is the most powerful and yields rich information including full parameter
+       correlation and uncertainty plots. A results panel has been added to
+       accommodate this.
+       - The five new optimizers are:
+         - A Levenberg-Marquardt optimizer
+         - A Quasi-Newton BFGS optimizer
+         - A Nelder-Mead Simplex optimizer
+         - A Differential Evolution optimizer
+         - A Monte Carlo optimizer (DREAM) 
+     - New models were added:
+         - MicelleSphCoreModel (currently residing in the Uncategorized category)
+     - Existing models were updated:
+         - RectangularPrismModel
+         - RectangularHollowPrismModel
+         - RectangularHollowPrismInfThinWallsModel
+     - Infrastructure to allow SESANS data to be fit with models was added. This
+       will become available in a future release but can currently be used from 
+       the command line with some caveats.
+     - A number of bugs were fixed including a thread crashing issue and an
+       incorrect slit smearing resolution calculation.
+     - Implemented much more robust error logging to enable much easier
+       debugging in general but particularly the debugging of issues reported by
+       SasView users.
+     - A number of infrastructure tasks under the hood to enhance maintainability
+     - Upgrade from Wx 2.8 to Wx 3.0.2 which allows several new features but
+       required significant additional rework as well.
+     - Fully implemented Sphinx to the build process to produce both better
+       user documentation and developer documentation.
+     - Restructuring of the code base to more unified nomenclature and structure
+       so that the source installation tree more closely matches the installer
+       version tree.
+     - Code cleanup (an ongoing task) .
+     - Migration of the repository to github simplifying contributions from
+       non-project personnel through pull requests.
+
+   - New in Version 3.0.0
+     --------------------
+     - The GUI look and feel has been refactored to be more familiar for
+       Windows users by using MDI frames. Graph windows are also now free-
+       floating.
+     - Five new models have been added: PringlesModel, CoreShellEllipsoidXTModel,
+       RectangularPrismModel, RectangularHollowPrismModel and 
+       RectangularHollowPrismInfThinWallsModel.
+     - The data loader now supports ILL DAT data files and reads the full meta 
+       information from canSAS file formats.
+     - Redefined convention for specifying angular parameters for anisotropic
+       models.
+     - A number of minor features have been added such as permitting a log 
+       distribution of points when using a model to simulate data, and the 
+       addition of a Kratky plot option to the linear plots.
+     - A number of bugs have also been fixed.
+     - Save Project and Save Analysis now work more reliably.
+     - BETA: Magnetic contrast supporting full polarization analysis has been 
+       implemented for some spherical and cylindrical models.
+     - BETA: Two new tools have been added:
+       - A generic scattering calculator which takes an atomic, magnetic or 
+         SLD distribution in space and generates the appropriate 2D 
+         scattering pattern. In some cases the orientationally averaged 
+         (powder) 1D scattering can also be computed. Supported formats 
+         include: SLD or text, PDB, and OMF magnetic moment distribution 
+         file.
+       - An image viewer/converter for data in image format; this reads in 
+         an image file and will attempt to convert the image pixels to 
+         data. Supported formats include: TIFF, TIF, PNG, BMP, JPG.
+
+   - New in Version 2.2.1
+     --------------------
+     - Minor patch to support CanSAS XML v1.1 file format
+     - Added DataInfo for data in the DataExplorer and plots
+     - Added Maximize/Restore button in the title bar of the graphs
+     - Added a hide button in the toolbar of the graph panel
+     - The 'x' button now deletes a graph
+     - Edit SUM Model from the menubar can now generate and save more than one sum model
+     - Reports can now be saved in pdf format on WIN and MAC
+     - Made significant improvements to the batch/grid panel and fixed several bugs
+     - Fixed a number of other minor bugs
+
+   - New in Version 2.2.0
+     --------------------
+     - Application name changed to SasView
+     - New fully customizable Category Manager added for better management of
+       increasing number of models
+     - Improved the Grid Window functionality in the batch fitting mode
+     - Added a simpler Graph/Plot modification interface
+     - Added a new 'Data Operation' tool for addition, subtraction, multiplication,
+       division, of two data sets.
+     - The 'Sum Model' editor was extended and renamed 'Summation and Multiplication'
+       editor
+     - Added more plot symbols options for 1d plots
+     - Added improved trapping of compiling errors to the 'New model editor'
+     - Added some intelligent outputs (e.g., Rg, background, or rod diameter 
+       depending on the choice of axis scale of the plot) to the linear fits
+     - Added more models
+     
+   - Feature set from previous versions 	
+     -----------------------------------
+     - Perspectives Available
+       - Invariant calculator: Calculates the invariant, volume fraction, and
+         specific surface area.
+       - P(r) inversion calculator: Indirect Fourier transformation method.
+       - Fitting: the tool used for modeling and fitting 1D and 2D data to 
+         analytical model functions
+       - Tools: provides a number of useful supplementary tools such as SLD
+         calculation  
     
-    - Perspectives Available
-      - Invariant calculator: Calculates the invariant, volume fraction, and
-        specific surface area.
-      - P(r) inversion calculator: Indirect Fourier transformation method.
-      - Fitting: the tool used for modeling and fitting 1D and 2D data to 
-        analytical model functions
-      - Tools: provides a number of useful supplementary tools such as SLD
-        calculation  
-    
-    - Fitting 
-      - Includes a large number of model functions, both form factors and structure factors.
-      - Support P(Q)*S(Q) for form factors that flag they can be so multiplied.
-      - Supports Gaussian, lognormal, Shulz, rectangular and custom distribution
-        functions for models that need to include polydispersity or for orientational
-        distributions if appropriate.
-      - Anisotropic shapes and magnetic moment modeling in 2D allow for a non-uniform
-        distribution of orientations of a given axis leading to modeling and fitting
-        capabilities of non azimuthaly symmetric data.  
-      - User can choose to weight fits or not. If using weights, the user can choose
-        the error bar on each point if provided in the file, the square root
-        of the intensity or the intensity itself. 
-      - Instrumental resolution smearing of model or fits is provided with several
-        options: read the resolution/point fromt he file. Input a pinhole resolution
-        or a slit resolution.
-      - Users can define the Qrange (Qmin and Qmax) for both 1D and 2D data for
-        fitting and modeling, but not graphically.  The range can be reset to the
-        defaults (limits of q in data set for a fit) with the reset button.
-      - A mask can be applied to 2D calculation and fitting.
-      - Normalized residual plots are provided with every fit.
-      - Model function help available through detail button or from the fitting panel.
-      - Simultaneous/(advanced)constrained fitting allows for fitting a single
-        data set or several different sets simultaneously with the application
-        of advanced constraints relating fit parameters to functions of other
-        parameters (including from a different set). For example thickness of 
-        shell = sin(30) times the length.  
-      - Models that are the sum of two other models can be easily generated through the
-        SUM Model menubar item.
-      - New Python models can be added on the fly by creating an appropriate Python
-        file in the model plugin directory. Two tools are provided to help:
-        An easy to use custom model editor allows the quick generation of new Python
-        models by supplying only the parameters and their default value (box 1)
-        and the mathematical function of the model (box 2) and generating the
-        necessary *.py file.  A separate advanced model editor provides a full Python
-        file editor.  Either way once saved the model becomes immediately available 
-        to the application. 
-      - A batch fittng capability allows for the analysis of a series of data sets to
-        a sinble model and provides the results in a tabular form suitable for saving
-        or plotting the evolution of the fit parameters with error bars (from within
-        the application).
+     - Fitting 
+       - Includes a large number of model functions, both form factors and structure factors.
+       - Support P(Q)*S(Q) for form factors that flag they can be so multiplied.
+       - Supports Gaussian, lognormal, Shulz, rectangular and custom distribution
+         functions for models that need to include polydispersity or for orientational
+         distributions if appropriate.
+       - Anisotropic shapes and magnetic moment modeling in 2D allow for a non-uniform
+         distribution of orientations of a given axis leading to modeling and fitting
+         capabilities of non azimuthaly symmetric data.  
+       - User can choose to weight fits or not. If using weights, the user can choose
+         the error bar on each point if provided in the file, the square root
+         of the intensity or the intensity itself. 
+       - Instrumental resolution smearing of model or fits is provided with several
+         options: read the resolution/point fromt he file. Input a pinhole resolution
+         or a slit resolution.
+       - Users can define the Qrange (Qmin and Qmax) for both 1D and 2D data for
+         fitting and modeling, but not graphically.  The range can be reset to the
+         defaults (limits of q in data set for a fit) with the reset button.
+       - A mask can be applied to 2D calculation and fitting.
+       - Normalized residual plots are provided with every fit.
+       - Model function help available through detail button or from the fitting panel.
+       - Simultaneous/(advanced)constrained fitting allows for fitting a single
+         data set or several different sets simultaneously with the application
+         of advanced constraints relating fit parameters to functions of other
+         parameters (including from a different set). For example thickness of 
+         shell = sin(30) times the length.  
+       - Models that are the sum of two other models can be easily generated through the
+         SUM Model menubar item.
+       - New Python models can be added on the fly by creating an appropriate Python
+         file in the model plugin directory. Two tools are provided to help:
+         An easy to use custom model editor allows the quick generation of new Python
+         models by supplying only the parameters and their default value (box 1)
+         and the mathematical function of the model (box 2) and generating the
+         necessary *.py file.  A separate advanced model editor provides a full Python
+         file editor.  Either way once saved the model becomes immediately available 
+         to the application. 
+       - A batch fitting capability allows for the analysis of a series of data sets to
+         a single model and provides the results in a tabular form suitable for saving
+         or plotting the evolution of the fit parameters with error bars (from within
+         the application).
  
-    - Tools
-      - A scattering length density calculator,including some X-ray information
-        is provided.
-      - A density to vol. fraction converter is provided
-      - In application access to a Python shell/editor (PyCrust) is provided
-      - An instrument resolution calculator, including possible gravitational and
-        TOF effects is provided
-      - A slit size calculator optimized for Anton Paar Saxess is provided.
-      - A kiessig fringe thickness calculator is provided
-    - Plots and plot management
-      - A 3D graphing option (for 2d data/results) is provided with the view
-        controlled by the mouse
-      - 2D plots are shown with an intensity color bar. 2D Color map can be user
-        adjusted.
-      - Supports output of plot to a variety of graphic formats. Supported formats
-        include: png, eps, emf, jpg/jpeg, pdf, ps, tif/tiff, rawRGBbitmap(raw, rgba),
-        and scalable vector graphic (svg/svgz)
-      - Supports ouput of data in plot (1 or 2D) to limited data formats
-      - Multiple data sets can be loaded into a single graph for viewing (but a fit
-        plot can currently only have a single plot).
-      - Extensive context sensitive plot/fitting/manipulation options are available
-        through a right mouse click pop-up menu on plots.  
-    - Data management
-      - Supports 2 + column 1D ASCII data, NIST 1D and 2D data, and canSAS data
-        via plug-in mechanism which can easily allow other readers as appropriate. 
-      - 2D data is expected in Q space but for historical reasons accepts the
-        NIST 2D raw pixel format and will do conversion internally.
-      - The full data and metadata available to SasView is viewable in ASCII via
-        right clicking on a data set and choosing Data Info in the DataExplorer
-        or on the plots
-      - Supports loading a single file, multiple files, or a whole folder   
-      - An optional Data Explorer is provided (default) which simplifies managing,
-        plotting, deleting, or setup for computation. Most functions however do
-        not require access to the explorer/manager and can be accessed through
-        right click menus and the toolbar.  The data explorer can be re-started
-        from the menu bar.
-    - Data manipulation
-      - Support various 2D averaging methods : Circular, sectors, annular,
-        boxsum, boxQx and boxQy.
-      - A 2D data maks editor is provided
-      - 2D mask can be applied to the circular averaging.
-    - Miscellaneous features
-      - limited reports can be generated in pdf format
-      - Provides multiprocessor support(Windows only)
-      - Limited startup customization currently includes default startup
-        data folder and choice of default starting with data manager
-      - Limited support for saving(opening) a SasView project or a SasView analysis
-        (subproject) is provided.
-      - SasView can be launched and loaded with a file of interesty by double-clicking
-        on that file (recognized extension)
-      - A data file or data folder can be passed to SasView when launched from
-        the command line.
-      - Limited bookmarking capability to later recall the results of a fit calculation
-        is provided.
-      - Extensive help is provided through context sensitive mouse roll-over,
-        information bar (at the bottom of the panel), the console menu, and
-        access to the help files in several different ways.
-
+     - Tools
+       - A scattering length density calculator,including some X-ray information
+         is provided.
+       - A density to vol. fraction converter is provided
+       - In application access to a Python shell/editor (PyCrust) is provided
+       - An instrument resolution calculator, including possible gravitational and
+         TOF effects is provided
+       - A slit size calculator optimized for Anton Paar Saxess is provided.
+       - A kiessig fringe thickness calculator is provided
+         
+     - Plots and plot management
+       - A 3D graphing option (for 2d data/results) is provided with the view
+         controlled by the mouse
+       - 2D plots are shown with an intensity color bar. 2D Color map can be user
+         adjusted.
+       - Supports output of plot to a variety of graphic formats. Supported formats
+         include: png, eps, emf, jpg/jpeg, pdf, ps, tif/tiff, rawRGBbitmap(raw, rgba),
+         and scalable vector graphic (svg/svgz)
+       - Supports ouput of data in plot (1 or 2D) to limited data formats
+       - Multiple data sets can be loaded into a single graph for viewing (but a fit
+         plot can currently only have a single plot).
+       - Extensive context sensitive plot/fitting/manipulation options are available
+         through a right mouse click pop-up menu on plots.
+           
+     - Data management
+       - Supports 2 + column 1D ASCII data, NIST 1D and 2D data, and canSAS data
+         via plug-in mechanism which can easily allow other readers as appropriate. 
+       - 2D data is expected in Q space but for historical reasons accepts the
+         NIST 2D raw pixel format and will do conversion internally.
+       - The full data and metadata available to SasView is viewable in ASCII via
+         right clicking on a data set and choosing Data Info in the DataExplorer
+         or on the plots
+       - Supports loading a single file, multiple files, or a whole folder   
+       - An optional Data Explorer is provided (default) which simplifies managing,
+         plotting, deleting, or setup for computation. Most functions however do
+         not require access to the explorer/manager and can be accessed through
+         right click menus and the toolbar.  The data explorer can be re-started
+         from the menu bar.
+           
+     - Data manipulation
+       - Support various 2D averaging methods : Circular, sectors, annular,
+         boxsum, boxQx and boxQy.
+       - A 2D data maks editor is provided
+       - 2D mask can be applied to the circular averaging.
+         
+     - Miscellaneous features
+       - limited reports can be generated in pdf format
+       - Provides multiprocessor support(Windows only)
+       - Limited startup customization currently includes default startup
+         data folder and choice of default starting with data manager
+       - Limited support for saving(opening) a SasView project or a SasView analysis
+         (subproject) is provided.
+       - SasView can be launched and loaded with a file of interesty by double-clicking
+         on that file (recognized extension)
+       - A data file or data folder can be passed to SasView when launched from
+         the command line.
+       - Limited bookmarking capability to later recall the results of a fit calculation
+         is provided.
+       - Extensive help is provided through context sensitive mouse roll-over,
+         information bar (at the bottom of the panel), the console menu, and
+         access to the help files in several different ways.
 
 
 2- Downloading and Installing
+=============================
 	
-	*** Note 1:  Much more information is available at www.sasview.org under links.
-	             Look in the 'For Developers' section and particularly the wiki at
-	             www.sasview.org/trac/wiki.
-    *** Note 2:  If you have EXE or ZIP SasView installer, you won't need any of
-                 the following.  However it is highly recommended that any
-                 previous versions be un-installed prior to installing the
-                 new version.
-
-    2.1- System Requirements:
+   *** Note 1:  Much more information is available at www.sasview.org under links.
+	            Look in the 'For Developers' section and particularly the wiki at
+                www.sasview.org/trac/wiki.
+   *** Note 2:  If you have EXE or ZIP SasView installer, you won't need any of
+                the following.  However it is highly recommended that any
+                previous versions be un-installed prior to installing the
+                new version.
+
+   2.1- System Requirements
         - Python version >= 2.5 and < 3.0 should be running on the system
-        - We currently use Python 2.6
-
-    2.2- Installing from source:
-        - Get the code from sourceforge at https://svn.code.sf.net/p/sasview/code/
-          for trunk end with code/trunk for a this release version end in 
-          code/releases/sasview-3.0.0
-            - run 'python setup.py install' under the 'sasview-x.x.x' folder
-            - run 'python sasview.py' under the 'sasview' folder.
-        - The following modules are required (version numbers are what are used in the release build):
-            - wxPython 2.8.12.1 (NOTE: do NOT use version 2.9)
-            - matplotlib 1.1.0
-            - SciPy 0.10.1 (NOTE: Mac build uses 0.10.0)
-            - pisa 3.0.27 (DO NOT USE ver 3.0.33 on windows: it will not work!)
-            - setuptools 0.6c11
-
-            (The following three are easily installed using easy_install)
-            - lxml 2.3.0.0 (NOTE: Mac build uses 3.1.0.0)
-            - numpy 1.6.1 (NOTE: Mac build uses version 1.6.2)
-            - periodictable 1.3.0
-            
-            (The following are additional dependencies for Mac)
-            - py2app 0.7.1
-            
-            (The following are additional dependencies for Windows)
-            - comtypes 0.6.2 (for PDF support on windows systems)
-            - pywin32 build 217 (to read ms office)
-            - html5lib 0.95-dev
-            - reportlab 2.5 (NOTE: Mab build uses 2.6 though should not be needed)
-            - pyparsing 1.5.5 (required for periodictable and bundling
-              NOTE: is ALSO present on Mac Build)
-            - PIL 1.1.7 (Python Image Library - NOTE: is also present on Mac build)
-            - py2exe 0.6.9 (WIN)
+        - We currently use Python 2.7
+
+   2.2- Installing from source
+        - Get the code from GitHub at https://github.com/SasView/sasview.git
+          for this release version use: https://github.com/SasView/sasview/releases
+          - run 'python setup.py install' under the 'sasview-x.x.x' folder
+          - run 'python sasview.py' under the 'sasview' folder.
+          
+        - The following modules are required (version numbers are what are used
+          in the windows release build):
+          
+          - Common Packages
+            - reportlab 3.1.44
+            - lxml 3.4.4.0 (MAC 3.4.2.0)
+            - PIL 1.1.7
+            - xhtml2pdf 3.0.33 (MAC = not installed on build server)
+            - unittest-xml-reporting 1.12.0 (MAC 1.10.0)
+            - matplotlib Version Installed: 1.4.3 (MAC 1.1.1)
+            - bumps Version Installed: 0.7.5.6
+            - scipy Version Installed: 0.16.0b2 (MAC 0.11.0)
+            - periodictable Version Installed: 1.4.1
+            - setuptools Version Installed: 7.0 (MAC 12.0.5)
+            - sphinx Version Installed: 1.3.1 (MAC 1.3b2)
+            - pyparsing Version Installed: 2.0.3
+            - numpy Version Installed: 1.9.2 (MAC 1.6.2)
+            - html5lib Version Installed: 0.99999
+            - wx Version Installed: 3.0.2.0
+          
+          - Windows Specific Packages
+            - pywin 219
+            - py2exe 0.6.9
+            - comtypes 1.1.1
+            - MinGW w/ gcc version 4.6.1 (WIN)
             - vcredist_x86.exe (version 9.0.21022.8  -microsoft visual C 2008 
               re-distributable)
-            - subversion -1.6.0 (<1.6.1)
-            - MinGW w/ gcc version 4.6.1 (WIN)
-            - Innosetup (WIN - isetup 5.4.2-unicode).
+            - Innosetup (WIN - isetup 5.4.2-unicode) - used to create distributable
+
+            *** Note: Windows build dependencies can be set up using anaconda. Instructions
+                can be found at http://trac.sasview.org/wiki/AnacondaSetup
             
-            (On Windows, the following site has all the dependencies nicely packaged)
-            http://www.lfd.uci.edu/~gohlke/pythonlibs/
-
+          - MAC Specifc Packages
+            - py2app 0.7.1
+          
 
 3- Known Issues
-
-    3.1- All systems:
-        - very old computers may not be able to run
-        - polydispersity on multiple parameters included in a simultaneous/
+===============
+
+   3.1- All systems:
+        - The documentation window may take a few seconds to load the first time
+          it is called. Also, an internet connection is required before
+          equations will render properly. Until then they will show in their
+          original TeX format.
+        - If the documentation window remains stubbornly blank, try installing a 
+          different browser and set that as your default browser. Issues have
+          been noted with Internet Explorer 11.
+        - The copy and paste functions (^C, ^V) in the batch mode results grid
+          require two clicks: one to select the cell and a second to select the
+          contents of the cell. 
+        - The tutorial has not yet been updated and is somewhat out of date
+        - Very old computers may struggle to run the 3.x and later releases
+        - Polydispersity on multiple parameters included in a simultaneous/
           constrained fit will likely not be correct
+        - Constrained/simultaneous fit page does not have a stop button
+        - Constrained/simultaneous fit do not accept min/max limits
         - Save project does not store the state of all the windows
         - Loading projects can be very slow
         - Save Project only works once a data set has been associated with
           a model.  Error is reported on status bar.
-
-    3.2- Windows:
+        - There is a numerical precision problem with the multishell model when
+          the iner radius gets large enough (ticket #288)
+        - The angular distribution angles are not clearly defined and may in
+          some cases lead to incorrect calculations(ticket #332)
+          
+   3.2- Windows:
         - If installed to same directory as old version without first removing
           the old version, the old desktop icon will remain but point to the
@@ -240,29 +326,35 @@
           safest to uninstall old version prior to installing new version anyway.
 		
-    3.3- MAC:
-        - multiprocessing does not currently work on MAC OS
+   3.3- MAC:
+        - Application normally starts up hidden. Click icon in Dock to view/use
+          application. 
+        - Multiprocessing does not currently work on MAC OS
 		
-    3.4- Linux:
-        - None
+   3.4- Linux:
+        - Not well tested
+
 
 4- SasView website
-
-    - www.sasview.org.  This main project site is the gateway to all 
-      information about the sasview project.  It includes information
-      about the project, a FAQ page and links to all developer and user
-      information, tools and resources.
+==================
+
+   - www.sasview.org.  This main project site is the gateway to all 
+     information about the sasview project.  It includes information
+     about the project, a FAQ page and links to all developer and user
+     information, tools and resources.
+
 
 5- Frequently Asked Questions
-
-    - www.sasview.org/faq.html
+=============================
+
+   - www.sasview.org/faq.html
+
 
 6- Installer download website
-
-    - Latest release Version
-        - http://sourceforge.net/projects/sasview/files/
-    - Latest developer Windows or Ubuntu build
-        - http://build.sasview.org/
-    - Latest developer Mac OS build
-        - http://download.mantidproject.org/jenkins/view/All/job/sasview_snowleopard_32bit/
+=============================
+
+   - Latest release Version
+     - https://github.com/SasView/sasview/releases
+   - Latest developer builds
+     - https://jenkins.esss.dk/sasview/view/Master-Builds/
 
     
Index: sasview/local_config.py
===================================================================
--- sasview/local_config.py	(revision 0ea31caa7c7dff8f23817dfa04e8be1d9dd3f8d8)
+++ sasview/local_config.py	(revision 5846bb5eebffb424f9ff395021847a922503ed7a)
@@ -12,7 +12,7 @@
 __version__ = sas.sasview.__version__
 __build__ = sas.sasview.__build__
-__download_page__ = 'http://sourceforge.net/projects/sasview/files/'
-__update_URL__ = ['svn.code.sf.net', 
-                  '/p/sasview/code/trunk/sasview.latestversion']
+__download_page__ = 'https://github.com/SasView/sasview/releases'
+__update_URL__ = ['raw.githubusercontent.com',
+                  '/SasView/sasview/master/sasview.latestversion']
 
 
@@ -24,5 +24,5 @@
 
 # Debug message should be written to a file?
-__EVT_DEBUG_2_FILE__   = False
+__EVT_DEBUG_2_FILE__ = False
 __EVT_DEBUG_FILENAME__ = "debug.log"
 
@@ -39,12 +39,14 @@
 '''Reference the following website: http://www.sasview.org'''
 _acknowledgement_preamble_bullet3 =\
-'''Send us your reference for our records: sansdanse@gmail.com'''
+'''Reference the model you used if appropriate (see documentation for refs)'''
+_acknowledgement_preamble_bullet4 =\
+'''Send us your reference for our records: developers@sasview.org'''
 _acknowledgement_publications = \
-'''This work benefited from the use of the SasView application, originally 
+'''This work benefited from the use of the SasView application, originally
 developed under NSF award DMR-0520547.
 '''
 _acknowledgement =  \
 '''This work originally developed as part of the DANSE project funded by the NSF
-under grant DMR-0520547, and currently maintained by NIST, UMD, ORNL, ISIS, ESS 
+under grant DMR-0520547, and currently maintained by NIST, UMD, ORNL, ISIS, ESS
 and ILL.
 
@@ -60,5 +62,5 @@
 logging.info("icon path: %s" % icon_path)
 media_path = os.path.abspath(os.path.join(os.path.dirname(__file__), "media"))
-test_path =  os.path.abspath(os.path.join(os.path.dirname(__file__), "test"))
+test_path = os.path.abspath(os.path.join(os.path.dirname(__file__), "test"))
 
 _nist_logo = os.path.join(icon_path, "nist_logo.png")
@@ -92,12 +94,12 @@
 PLUGIN_STATE_EXTENSIONS = ['.fitv', '.inv', '.prv']
 PLUGINS_WLIST = ['Fitting files (*.fitv)|*.fitv',
-                  'Invariant files (*.inv)|*.inv',
-                  'P(r) files (*.prv)|*.prv']
+                 'Invariant files (*.inv)|*.inv',
+                 'P(r) files (*.prv)|*.prv']
 PLOPANEL_WIDTH = 415
 PLOPANEL_HEIGTH = 370
 DATAPANEL_WIDTH = 235
 DATAPANEL_HEIGHT = 700
-SPLASH_SCREEN_PATH = os.path.join(icon_path,"SVwelcome_mini.png")
-TUTORIAL_PATH = os.path.join(media_path,"Tutorial.pdf")
+SPLASH_SCREEN_PATH = os.path.join(icon_path, "SVwelcome_mini.png")
+TUTORIAL_PATH = os.path.join(media_path, "Tutorial.pdf")
 DEFAULT_STYLE = GUIFRAME.MULTIPLE_APPLICATIONS|GUIFRAME.MANAGER_ON\
                     |GUIFRAME.CALCULATOR_ON|GUIFRAME.TOOLBAR_ON
@@ -105,5 +107,5 @@
 SPLASH_SCREEN_HEIGHT = 366
 SS_MAX_DISPLAY_TIME = 2000
-WELCOME_PANEL_ON  = True
+WELCOME_PANEL_ON = True
 WELCOME_PANEL_SHOW = False
 CLEANUP_PLOT = False
@@ -131,9 +133,11 @@
 def printEVT(message):
     if __EVT_DEBUG__:
+        """
+        :TODO - Need method doc string
+        """
         print "%g:  %s" % (time.clock(), message)
-        
+
         if __EVT_DEBUG_2_FILE__:
             out = open(__EVT_DEBUG_FILENAME__, 'a')
             out.write("%10g:  %s\n" % (time.clock(), message))
             out.close()
-            
Index: sasview/setup_exe.py
===================================================================
--- sasview/setup_exe.py	(revision c971c9804d5f2a87af9c713cc5cad2957d5936e7)
+++ sasview/setup_exe.py	(revision 4cf8db97787c8036381dd16fe79a331bb012c219)
@@ -231,4 +231,8 @@
 images_dir = os.path.join(path, "images")
 test_dir = os.path.join(path, "test")
+test_1d_dir = os.path.join(path, "test\\1d_data")
+test_2d_dir = os.path.join(path, "test\\2d_data")
+test_save_dir = os.path.join(path, "test\\save_states")
+test_upcoming_dir = os.path.join(path, "test\\upcoming_formats")
 
 matplotlibdatadir = matplotlib.get_data_path()
@@ -290,7 +294,23 @@
 
 # Copying the sample data user data
-for f in findall(test_dir):
-    if not ".svn" in f:
-        data_files.append(("test", [f]))
+for f in findall(test_1d_dir):
+    if not ".svn" in f:
+        data_files.append(("test\\1d_data", [f]))
+
+# Copying the sample data user data
+for f in findall(test_2d_dir):
+    if not ".svn" in f:
+        data_files.append(("test\\2d_data", [f]))
+
+# Copying the sample data user data
+for f in findall(test_save_dir):
+    if not ".svn" in f:
+        data_files.append(("test\\save_states", [f]))
+
+# Copying the sample data user data
+for f in findall(test_upcoming_dir):
+    if not ".svn" in f:
+        data_files.append(("test\\upcoming_formats", [f]))
+
 
 # See if the documentation has been built, and if so include it.
@@ -310,5 +330,4 @@
     # install the MSVC 9 runtime dll's into the application folder
     data_files.append(("Microsoft.VC90.CRT", py26MSdll_x86))
-
 
 # NOTE:
@@ -370,5 +389,5 @@
 #initialize category stuff
 #from sas.guiframe.CategoryInstaller import CategoryInstaller
-#CategoryInstaller.check_install()
+#CategoryInstaller.check_install(s)
 
 setup(
Index: sasview/test/media/testdata_help.rst
===================================================================
--- sasview/test/media/testdata_help.rst	(revision e5160aadaf222f79b2c01f26ab49a61b1cb990d9)
+++ sasview/test/media/testdata_help.rst	(revision a32aa3e14373298a264100bc214787fdafb3773f)
@@ -23,5 +23,78 @@
 the results for every active analysis.
 
+Some of the available test data is described below.
+
 .. ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ
 
-.. note::  This help document was last changed by Steve King, 17Jun2015
+1D Test Data
+^^^^^^^^^^^^
+
+AOT_Microemulsion
+  - Aerosol-OT surfactant stabilised oil-in-water microemulsion data at three 
+    contrasts: core (oil core), drop (oil core + surfactant layer), and shell 
+    (surfactant layer).
+  - Suitable for testing simultaneous fitting.
+  
+hSDS_D2O
+  - h25-sodium dodecyl sulphate solutions at two concentrations: 0.5wt% (just 
+    above the cmc), 2wt% (well above the cmc), and 2wt% but with 0.2mM NaCl 
+    electrolyte.
+  - Suitable for testing charged S(Q) models.
+
+P123_D2O
+  - Lyotropic liquid crystalline solutions of non-ionic ABA block copolymer 
+    Pluronic P123 in water at three concentrations: 10wt%, 30wt%, and 40wt%.
+  - Suitable for testing paracrystal models.
+
+ISIS_Polymer_Blend_TK49
+  - Monodisperse (Mw/Mn~1.02) 49wt% d8-polystyrene : 51wt% h8-polystyrene 
+    polymer blend.
+  - Suitable for testing Poly_GaussCoil and RPA10 models.
+
+.. ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ
+
+2D Test Data
+^^^^^^^^^^^^
+
+P123_D2O
+  - Lyotropic liquid crystalline solutions of non-ionic ABA block copolymer 
+    Pluronic P123 in water at three concentrations: 10wt%, 30wt%, and 40wt%.
+  - Suitable for testing paracrystal models.
+
+.. ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ
+
+Saved State Test Data
+^^^^^^^^^^^^^^^^^^^^^
+
+_phi_weights.txt
+
+_radius_dist.txt
+
+_THETA_weights.txt
+
+fitstate.fitv
+
+newone.svs
+
+prstate.prv
+
+sld_file.sld
+
+test.inv
+
+test002.inv
+
+.. ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ
+
+Other Test Data
+^^^^^^^^^^^^^^^
+
+1000A_sphere_sm.xml
+
+diamond.pdb
+
+dna.pdb
+
+.. ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ
+
+.. note::  This help document was last changed by Steve King, 26Jun2015
Index: setup.py
===================================================================
--- setup.py	(revision c2ee2b18535ece303393580afde15b6413469048)
+++ setup.py	(revision 038ccfe6ad2eb536e4120eb8a5bcd1c584ed0260)
@@ -375,10 +375,10 @@
     version = VERSION,
     description = "SasView application",
-    author = "University of Tennessee",
-    author_email = "sansdanse@gmail.com",
+    author = "SasView Team",
+    author_email = "developers@sasview.org",
     url = "http://sasview.org",
     license = "PSF",
     keywords = "small-angle x-ray and neutron scattering analysis",
-    download_url = "https://sourceforge.net/projects/sansviewproject/files/",
+    download_url = "https://github.com/SasView/sasview.git",
     package_dir = package_dir,
     packages = packages,
Index: src/sas/guiframe/acknowledgebox.py
===================================================================
--- src/sas/guiframe/acknowledgebox.py	(revision 0ea31caa7c7dff8f23817dfa04e8be1d9dd3f8d8)
+++ src/sas/guiframe/acknowledgebox.py	(revision c8d22ec00ac8fa409845988c552db80f8f87b95c)
@@ -21,43 +21,46 @@
       (os.path.isfile("%s/%s.pyc" % (path, 'local_config'))):
         fObj, path, descr = imp.find_module('local_config', [path])
-        config = imp.load_module('local_config', fObj, path, descr)  
+        config = imp.load_module('local_config', fObj, path, descr)
     else:
         # Try simply importing local_config
         import local_config as config
 except:
-    # Didn't find local config, load the default 
+    # Didn't find local config, load the default
     import config
-    
+
 
 class DialogAcknowledge(wx.Dialog):
     """
     "Acknowledgement" Dialog Box
-    
+
     Shows the current method for acknowledging SasView in
     scholarly publications.
-    
+
     """
-    
+
     def __init__(self, *args, **kwds):
-        
+
         kwds["style"] = wx.DEFAULT_DIALOG_STYLE
         wx.Dialog.__init__(self, *args, **kwds)
-        
+
         self.ack = wx.TextCtrl(self, style=wx.TE_LEFT|wx.TE_MULTILINE|wx.TE_BESTWRAP|wx.TE_READONLY|wx.TE_NO_VSCROLL)
         self.ack.SetValue(config._acknowledgement_publications)
-        self.ack.SetMinSize((-1,55))
+        self.ack.SetMinSize((-1, 55))
         self.preamble = wx.StaticText(self, -1, config._acknowledgement_preamble)
         items = [config._acknowledgement_preamble_bullet1,
                  config._acknowledgement_preamble_bullet2,
-                 config._acknowledgement_preamble_bullet3]
+                 config._acknowledgement_preamble_bullet3,
+                 config._acknowledgement_preamble_bullet4]
         self.list1 = wx.StaticText(self, -1, "\t(1) " + items[0])
         self.list2 = wx.StaticText(self, -1, "\t(2) " + items[1])
         self.list3 = wx.StaticText(self, -1, "\t(3) " + items[2])
+        self.list4 = wx.StaticText(self, -1, "\t(4) " + items[3])
         self.static_line = wx.StaticLine(self, 0)
         self.__set_properties()
         self.__do_layout()
-        
+
     def __set_properties(self):
         """
+        :TODO - add method documentation
         """
         # begin wxGlade: DialogAbout.__set_properties
@@ -70,4 +73,5 @@
     def __do_layout(self):
         """
+        :TODO - add method documentation
         """
         # begin wxGlade: DialogAbout.__do_layout
@@ -78,4 +82,5 @@
         sizer_titles.Add(self.list2, 0, wx.ALL|wx.EXPAND, 5)
         sizer_titles.Add(self.list3, 0, wx.ALL|wx.EXPAND, 5)
+        sizer_titles.Add(self.list4, 0, wx.ALL|wx.EXPAND, 5)
         sizer_titles.Add(self.static_line, 0, wx.ALL|wx.EXPAND, 0)
         sizer_titles.Add(self.ack, 0, wx.ALL|wx.EXPAND, 5)
@@ -86,12 +91,14 @@
         self.Centre()
         # end wxGlade
-        
+
 
 ##### testing code ############################################################
 class MyApp(wx.App):
     """
+    Class for running module as stand alone for testing
     """
     def OnInit(self):
         """
+        Defines an init when running as standalone
         """
         wx.InitAllImageHandlers()
Index: src/sas/guiframe/config.py
===================================================================
--- src/sas/guiframe/config.py	(revision 0ea31caa7c7dff8f23817dfa04e8be1d9dd3f8d8)
+++ src/sas/guiframe/config.py	(revision 5846bb5eebffb424f9ff395021847a922503ed7a)
@@ -9,7 +9,7 @@
 __version__ = '0.0.0'
 __build__ = '1'
-__download_page__ = 'http://sourceforge.net/projects/sasview/files/'
-__update_URL__ = ['svn.code.sf.net', 
-                  '/p/sasview/code/trunk/sasview.latestversion']
+__download_page__ = 'https://github.com/SasView/sasview/releases'
+__update_URL__ = ['raw.githubusercontent.com',
+                  '/SasView/sasview/master/sasview.latestversion']
 
 
@@ -21,5 +21,5 @@
 
 # Debug message should be written to a file?
-__EVT_DEBUG_2_FILE__   = False
+__EVT_DEBUG_2_FILE__ = False
 __EVT_DEBUG_FILENAME__ = "debug.log"
 
@@ -36,12 +36,14 @@
 '''Reference the following website: http://www.sasview.org'''
 _acknowledgement_preamble_bullet3 =\
-'''Send us your reference for our records: sansdanse@gmail.com'''
+'''Reference the model you used if appropriate (see documentation for refs)'''
+_acknowledgement_preamble_bullet4 =\
+'''Send us your reference for our records: developers@sasview.org'''
 _acknowledgement_publications = \
-'''This work benefited from the use of the SasView application, originally 
+'''This work benefited from the use of the SasView application, originally
 developed under NSF award DMR-0520547.
 '''
 _acknowledgement =  \
 '''This work originally developed as part of the DANSE project funded by the NSF
-under grant DMR-0520547, and currently maintained by NIST, UMD, ORNL, ISIS, ESS 
+under grant DMR-0520547, and currently maintained by NIST, UMD, ORNL, ISIS, ESS
 and ILL.
 
@@ -85,9 +87,9 @@
 PLUGINS_WLIST = []
 PLUGIN_STATE_EXTENSIONS = []
-SPLASH_SCREEN_PATH = "images/danse_logo.png"     
+SPLASH_SCREEN_PATH = "images/danse_logo.png"
 DEFAULT_STYLE = GUIFRAME.SINGLE_APPLICATION
 SPLASH_SCREEN_WIDTH = 500
 SPLASH_SCREEN_HEIGHT = 300
-WELCOME_PANEL_ON  = False
+WELCOME_PANEL_ON = False
 TUTORIAL_PATH = None
 SS_MAX_DISPLAY_TIME = 1500
@@ -125,7 +127,10 @@
 
 def printEVT(message):
+    """
+    :TODO - need method documentation
+    """
     if __EVT_DEBUG__:
         print "%g:  %s" % (time.clock(), message)
-        
+    
         if __EVT_DEBUG_2_FILE__:
             out = open(__EVT_DEBUG_FILENAME__, 'a')
Index: src/sas/guiframe/data_processor.py
===================================================================
--- src/sas/guiframe/data_processor.py	(revision c85b0ae0ed862eeffd68ad25ce24f39467d52033)
+++ src/sas/guiframe/data_processor.py	(revision e54dbc3e09fa34ae993dfe14522c13c8bb50e315)
@@ -141,5 +141,5 @@
         self.Bind(wx.grid.EVT_GRID_CELL_LEFT_CLICK, self.OnLeftClick)
         self.Bind(wx.grid.EVT_GRID_CELL_RIGHT_CLICK, self.OnRightClick)
-        self.Bind(wx.grid.EVT_GRID_CELL_LEFT_DCLICK, self.OnLeftDoubleClick)
+        #self.Bind(wx.grid.EVT_GRID_CELL_LEFT_DCLICK, self.OnLeftDoubleClick)
         self.Bind(wx.grid.EVT_GRID_RANGE_SELECT, self.OnRangeSelect)
         self.Bind(wx.grid.EVT_GRID_ROW_SIZE, self.OnRowSize)
@@ -187,10 +187,14 @@
         if self.GetNumberCols() > 0:
             self.default_col_width = self.GetColSize(0)
-        self.Bind(wx.grid.EVT_GRID_LABEL_LEFT_CLICK, self.on_left_click)
-        self.Bind(wx.grid.EVT_GRID_LABEL_RIGHT_CLICK, self.on_right_click)
-        self.Bind(wx.grid.EVT_GRID_CELL_LEFT_CLICK, self.on_selected_cell)
-        self.Bind(wx.grid.EVT_GRID_CMD_CELL_CHANGE, self.on_edit_cell)
-        self.Bind(wx.grid.EVT_GRID_CELL_RIGHT_CLICK, self.onContextMenu)
-
+        #self.Bind(wx.grid.EVT_GRID_LABEL_LEFT_CLICK, self.on_left_click)
+        #self.Bind(wx.grid.EVT_GRID_LABEL_RIGHT_CLICK, self.on_right_click)
+        #self.Bind(wx.grid.EVT_GRID_CELL_LEFT_CLICK, self.on_selected_cell)
+        #self.Bind(wx.grid.EVT_GRID_CMD_CELL_CHANGE, self.on_edit_cell)
+        #self.Bind(wx.grid.EVT_GRID_CELL_RIGHT_CLICK, self.onContextMenu)
+
+    def OnLeftClick(self, event):
+        sheet.CSheet.OnLeftClick(self, event)
+        self.on_selected_cell(event)
+        
     def on_edit_cell(self, event):
         """
@@ -211,5 +215,4 @@
         row, col = event.GetRow(), event.GetCol()
         cell = (row, col)
-        event.Skip()
         if not flag and not flag_shift:
             self.selected_cols = []
@@ -273,4 +276,5 @@
             if cell_row > 0 and cell_row < self.max_row_touse:
                 self.axis_value.append(self.GetCellValue(cell_row, cell_col))
+        event.Skip()
 
     def on_left_click(self, event):
@@ -278,5 +282,4 @@
         Catch the left click on label mouse event
         """
-        event.Skip()
         flag = event.CmdDown() or event.ControlDown()
 
@@ -317,4 +320,5 @@
             if not self.axis_label:
                 self.axis_label = " "
+        event.Skip()
 
     def on_right_click(self, event):
@@ -1385,4 +1389,11 @@
         wx.EVT_MENU(self, self.save_menu.GetId(), self.on_save_page)
 
+        # To add the edit menu, call add_edit_menu() here.
+        self.edit = None
+        self.Bind(wx.EVT_MENU_OPEN, self.on_menu_open)
+        
+        self.Bind(wx.EVT_CLOSE, self.on_close)
+
+    def add_edit_menu(self, menubar):
         self.edit = wx.Menu()
 
@@ -1414,8 +1425,5 @@
         self.remove_menu = self.edit.Append(-1, 'Remove Column', hint)
         wx.EVT_MENU(self, self.remove_menu.GetId(), self.on_remove_column)
-
-        self.Bind(wx.EVT_MENU_OPEN, self.on_menu_open)
         menubar.Append(self.edit, "&Edit")
-        self.Bind(wx.EVT_CLOSE, self.on_close)
 
     def on_copy(self, event):
Index: src/sas/guiframe/documentation_window.py
===================================================================
--- src/sas/guiframe/documentation_window.py	(revision f202138a6e2c8473eaa18931ba791130fca4f5c6)
+++ src/sas/guiframe/documentation_window.py	(revision 7a508b6034b12b3845b63d1181489cc7ad8b0a89)
@@ -1,2 +1,17 @@
+"""
+documentation module provides a simple means to add help throughout the
+application. It checks for the existence of html2 package needed to support
+fully html panel which supports css.  The class defined here takes a title for
+the particular help panel, a pointer to the html documentation file of interest
+within the documentation tree along with a 'command' string such as a page
+anchor or a query string etc.  The path to the doc directory is retrieved
+automatically by the class itself.  Thus with these three pieces of information
+the class generates a panel with the appropriate title bar and help file
+formatted according the style sheets called in the html file.  Finally, if an
+old version of Python is running and the html2 package is not available the
+class brings up the default browser and passes the file:/// string to it.  In
+this case however the instruction portion is usually not passed for security
+reasons.
+"""
 import os
 import logging
@@ -4,10 +19,13 @@
 import webbrowser
 import urllib
+import sys
 
-wx_supports_html2 = True
+SPHINX_DOC_ENV = "SASVIEW_DOC_PATH"
+WX_SUPPORTS_HTML2 = True
 try:
     import wx.html2 as html
 except:
-    wx_supports_html2 = False
+    WX_SUPPORTS_HTML2 = False
+
 
 from gui_manager import get_app_dir
@@ -15,8 +33,22 @@
 
 class DocumentationWindow(wx.Frame):
-    def __init__(self, parent, id, path, url_instruction, title, size=(850, 540)):
-        wx.Frame.__init__(self, parent, id, title, size=size)
+    """
+    DocumentationWindow inherits from wx.Frame and provides a centralized
+    coherent framework for all help documentation.  Help files must be html
+    files stored in an properly organized tree below the top 'doc' folder.  In
+    order to display the appropriate help file from anywhere in the gui, the
+    code simply needs to know the location below the top level where the
+    help file resides along with the name of the help file.
+    called
+    (self, parent, dummy_id, path, url_instruction, title, size=(850, 540))
 
-        SPHINX_DOC_ENV = "SASVIEW_DOC_PATH"
+    :param path: path to html file beginning AFTER /doc/ and ending in the
+    file.html
+    :param url_instructions: anchor string or other query e.g. '#MyAnchor
+    :param title - text to place in the title bar of the help panel
+    """
+    def __init__(self, parent, dummy_id, path, url_instruction, title, size=(850, 540)):
+        wx.Frame.__init__(self, parent, dummy_id, title, size=size)
+
         if SPHINX_DOC_ENV in os.environ:
             docs_path = os.path.join(os.environ[SPHINX_DOC_ENV])
@@ -27,24 +59,35 @@
             docs_path = os.path.join(get_app_dir(), "doc")
 
+        #note that filepath for mac OS, at least in bundle starts with a
+        #forward slash as /Application, while the PC string begins C:\
+        #It seems that mac OS is happy with four slashes as in file:////App...
+        #Two slashes is not sufficient to indicate path from root.  Thus for now
+        #we use "file:///" +... If the mac behavior changes may need to make the
+        #file:/// be another constant at the beginning that yields // for Mac
+        #and /// for PC.
+        #Note added June 21, 2015     PDB
         file_path = os.path.join(docs_path, path)
-        url = "file:///" + urllib.quote(file_path,'\:')+ url_instruction
+        url = "file:///" + urllib.quote(file_path, r'/\:')+ url_instruction
 
         if not os.path.exists(file_path):
             logging.error("Could not find Sphinx documentation at %s \
             -- has it been built?", file_path)
-        elif wx_supports_html2:
+        elif WX_SUPPORTS_HTML2:
             # Complete HTML/CSS support!
             self.view = html.WebView.New(self)
             self.view.LoadURL(url)
             self.Show()
-        else: 
+        else:
             logging.error("No html2 support, popping up a web browser")
             #For cases that do not build against current version dependency
-            # Wx 3.0 we provide a webbrowser call - this is particularly for 
+            # Wx 3.0 we provide a webbrowser call - this is particularly for
             #Red hat used at SNS for which Wx 3.0 is not available.  This
-            #does not deal with issue of math in docs of course. 
+            #does not deal with issue of math in docs of course.
             webbrowser.open_new_tab(url)
 
 def main():
+    """
+    main loop function if running alone for testing.
+    """
     app = wx.App()
     DocumentationWindow(None, -1, "index.html", "", "Documentation",)
Index: src/sas/guiframe/gui_manager.py
===================================================================
--- src/sas/guiframe/gui_manager.py	(revision 7801df83258dc0f0d45838a3596f5e58f88bbcd3)
+++ src/sas/guiframe/gui_manager.py	(revision aceae8c38140858fcfa27a6ad898198ba1cdaa9c)
@@ -24,4 +24,5 @@
 import logging
 import httplib
+import traceback
 
 
@@ -1296,4 +1297,6 @@
         #replace or add a new menu for the current plugin
         pos = self._menubar.FindMenu(str(self._applications_menu_name))
+        if pos == -1 and self._applications_menu_pos > 0:
+            pos = self._applications_menu_pos
         if pos != -1:
             menu_list = self._current_perspective.populate_menu(self)
@@ -1302,9 +1305,9 @@
                     self._menubar.Replace(pos, menu, name)
                     self._applications_menu_name = name
+                self._applications_menu_pos = pos
             else:
                 self._menubar.Remove(pos)
                 self._applications_menu_name = None
-            #get the position of the menu when it first added
-            self._applications_menu_pos = pos
+                self._applications_menu_pos = -1
         else:
             menu_list = self._current_perspective.populate_menu(self)
@@ -1316,6 +1319,8 @@
                         if help_pos == -1:
                             self._menubar.Append(menu, name)
+                            self._applications_menu_pos = -1
                         else:
                             self._menubar.Insert(help_pos-1, menu, name)
+                            self._applications_menu_pos = help_pos - 1
                     else:
                         self._menubar.Insert(self._applications_menu_pos, menu, name)
@@ -2036,5 +2041,5 @@
         """
         try:
-            conn = httplib.HTTPConnection(config.__update_URL__[0],
+            conn = httplib.HTTPSConnection(config.__update_URL__[0],
                                           timeout=3.0)
             conn.request("GET", config.__update_URL__[1])
@@ -2042,8 +2047,14 @@
             content = res.read()
             conn.close()
+            logging.info("connected to GitHub. sasview.latestversion = %s"
+                         % (content))
         except:
+            msg = traceback.format_exc()
+            logging.info(msg)
+            logging.info("failed to connect to GitHub")
             content = "0.0.0"
 
         version = content.strip()
+        logging.info("Latest SasView version number: %s" % (version))
         if len(re.findall('\d+\.\d+\.\d+$', version)) < 0:
             content = "0.0.0"
@@ -2166,5 +2177,6 @@
         # different place than they would otherwise.
         from documentation_window import DocumentationWindow
-        DocumentationWindow(self, -1, "index.html", "", "SasView Documentation")
+        _TreeLocation = "user/user.html"
+        DocumentationWindow(self, -1, _TreeLocation, "", "SasView Documentation")
 
     def set_manager(self, manager):
Index: src/sas/models/media/model_functions.rst
===================================================================
--- src/sas/models/media/model_functions.rst	(revision 5e880fe151fbbfd475a657688918da68ca70cf87)
+++ src/sas/models/media/model_functions.rst	(revision ee9fa94ad234dea9b74e46361b38743f09195c2c)
@@ -20,5 +20,7 @@
 
 
-.. note::  The contents of this document are awaiting proof reading. Feb2015
+.. note::  The contents of this document are presented in good faith and are 
+           believed to be mostly correct and accurate, however they have not 
+           yet been rigorously checked for errors. June2015
 
 
@@ -83,26 +85,4 @@
 =======================
 
-Contents
---------
-1. Background_
-
-2. Model_ Functions
-
- 2.1 Shape-based_ Functions
- 
- 2.2 Shape-independent_ Functions
- 
- 2.3 Structure-factor_ Functions
- 
- 2.4 Customised_ Functions
-
-3. References_
-
-
-
-.. ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ
-
-
-
 .. _Background:
 
@@ -290,4 +270,6 @@
 - sph_bessel_jn_
 
+Also see the documentation on :ref:`Adding_your_own_models` under Fitting Data. 
+
 
 
Index: src/sas/perspectives/fitting/basepage.py
===================================================================
--- src/sas/perspectives/fitting/basepage.py	(revision 7116dffde263f183ef154ca77cdc37ffa1a3bf8f)
+++ src/sas/perspectives/fitting/basepage.py	(revision 2c8dc199897f6f98c46091ea563218c898baf57a)
@@ -2850,7 +2850,7 @@
         if self.model != None:
             name = self.formfactorbox.GetValue()
-            _PageAnchor = '#' + name
+            _PageAnchor = '#' + name.lower()
             _doc_viewer = DocumentationWindow(self, -1, _TreeLocation,
-                                              _PageAnchor, name + "Help")
+                                              _PageAnchor, name + " Help")
         else:
             _doc_viewer = DocumentationWindow(self, -1, _TreeLocation, "",
Index: src/sas/perspectives/fitting/fitpage.py
===================================================================
--- src/sas/perspectives/fitting/fitpage.py	(revision f3dc56c3c2d24a02b2aaa75e99da99e696784faf)
+++ src/sas/perspectives/fitting/fitpage.py	(revision 2b58fa56dcb7802ff6819c1296d30740e047d4f0)
@@ -3115,4 +3115,5 @@
                     mag_on_button.Show(True)
                 mag_help_button.Show(False)
+                mag_angle_help_button.Show(False)
                 if mag_on_button.IsShown():
                     if self.magnetic_on:
Index: src/sas/perspectives/fitting/media/fitting.rst
===================================================================
--- src/sas/perspectives/fitting/media/fitting.rst	(revision b404a3decbabc5235d7b5fdffbfb0ffc19c10150)
+++ src/sas/perspectives/fitting/media/fitting.rst	(revision d896039755eb74d6be50a0af2352aed06507b178)
@@ -17,6 +17,4 @@
    Polarisation/Magnetic Scattering <mag_help>
 
-   Information on the SasView Optimisers - Local <optimizer.rst>
-
-   Information on the SasView Optimisers - Web <https://github.com/bumps/bumps/blob/master/doc/guide/optimizer.rst>
+   Information on the SasView Optimisers <optimizer.rst>
    
Index: src/sas/perspectives/fitting/pagestate.py
===================================================================
--- src/sas/perspectives/fitting/pagestate.py	(revision acf8e4a58aad50df871a259b771db1d582942abb)
+++ src/sas/perspectives/fitting/pagestate.py	(revision a15e75428603d97dea2f7a7aa8da0b557e9c3151)
@@ -545,8 +545,5 @@
                     paramval_string += CENTRE % param + "\n"
 
-        text_string = "\n\n\n" + title + "\n\n" + file + \
-                      "\n" + q_name + \
-                      "\n" + chi2 + \
-                      "\n\n" + paramval
+        text_string = "\n\n\n%s\n\n%s\n%s\n%s\n\n%s" % (title, file, q_name, chi2, paramval)
 
         title_name = self._check_html_format(title_name)
Index: src/sas/perspectives/fitting/report_dialog.py
===================================================================
--- src/sas/perspectives/fitting/report_dialog.py	(revision 2f4b43041eaa7b7f496750f223a299cb33cd268e)
+++ src/sas/perspectives/fitting/report_dialog.py	(revision a15e75428603d97dea2f7a7aa8da0b557e9c3151)
@@ -44,5 +44,5 @@
                 self.report_html = self.report_list[0] % \
                                     "memory:img_fit0.png"
-            elif len(self.report_list) == 2:
+            elif len(self.report_list[2]) == 2:
                 self.report_html = self.report_list[0] % \
                                     ("memory:img_fit0.png",
