diff --git a/Framework/Algorithms/inc/MantidAlgorithms/AnyShapeAbsorption.h b/Framework/Algorithms/inc/MantidAlgorithms/AnyShapeAbsorption.h
index 8e387758a60503d2437da2242522f064c77aad04..efb56371700853f41259c9d8a052d4485c286cf0 100644
--- a/Framework/Algorithms/inc/MantidAlgorithms/AnyShapeAbsorption.h
+++ b/Framework/Algorithms/inc/MantidAlgorithms/AnyShapeAbsorption.h
@@ -88,6 +88,12 @@ public:
   AnyShapeAbsorption();
   /// Algorithm's name
   const std::string name() const override { return "AbsorptionCorrection"; }
+  
+  const std::vector<std::string> seeAlso() const override {
+    return{ "SetSampleMaterial", "CreateSampleShape", "DefineGaugeVolume", "CylinderAbsorption", 
+      "FlatPlateAbsorption", "AnnularRingAbsorption", "CuboidGaugeVolumeAbsorption" };
+  }
+
   /// Summary of algorithms purpose
   const std::string summary() const override {
     return "Calculates an approximation of the attenuation due to absorption "
diff --git a/Framework/Algorithms/inc/MantidAlgorithms/ConvertToHistogram.h b/Framework/Algorithms/inc/MantidAlgorithms/ConvertToHistogram.h
index 762f8298b577c9a06930351f268f0ea7e7ddd0ff..75f844d8f4958a0e221026506dc831cd6d2c5d73 100644
--- a/Framework/Algorithms/inc/MantidAlgorithms/ConvertToHistogram.h
+++ b/Framework/Algorithms/inc/MantidAlgorithms/ConvertToHistogram.h
@@ -46,7 +46,9 @@ public:
     return "Converts a workspace containing point data into one containing "
            "histograms.";
   }
-
+  const std::vector<std::string> seeAlso() const override {
+    return{ "ConvertToPointData" };
+  }
   /// Algorithm's category for identification overriding a virtual method
   const std::string category() const override { return "Transforms\\Axes"; }
 
diff --git a/Framework/Algorithms/inc/MantidAlgorithms/ConvertToPointData.h b/Framework/Algorithms/inc/MantidAlgorithms/ConvertToPointData.h
index ad628c2de7a59a68778ea2814b7599ba6b65b955..0de1a55f30498b21be23469c1a20e96831491afc 100644
--- a/Framework/Algorithms/inc/MantidAlgorithms/ConvertToPointData.h
+++ b/Framework/Algorithms/inc/MantidAlgorithms/ConvertToPointData.h
@@ -46,7 +46,9 @@ public:
     return "Converts a workspace containing histogram data into one containing "
            "point data.";
   }
-
+  const std::vector<std::string> seeAlso() const override {
+    return{ "ConvertToHistogram" };
+  }
   /// Algorithm's category for identification overriding a virtual method
   const std::string category() const override { return "Transforms\\Axes"; }
 
diff --git a/Framework/Algorithms/inc/MantidAlgorithms/CreatePSDBleedMask.h b/Framework/Algorithms/inc/MantidAlgorithms/CreatePSDBleedMask.h
index 05a492c96117909428bebbee9de939962af8a97a..5f2aa11ed92fda921e4618d2e7ab45a127a07b5a 100644
--- a/Framework/Algorithms/inc/MantidAlgorithms/CreatePSDBleedMask.h
+++ b/Framework/Algorithms/inc/MantidAlgorithms/CreatePSDBleedMask.h
@@ -57,7 +57,9 @@ public:
     return "Runs a diagnostic test for saturation of PSD tubes and creates a "
            "MaskWorkspace marking the failed tube spectra.";
   }
-
+  const std::vector<std::string> seeAlso() const override {
+    return{ "IdentifyNoisyDetectors" };
+  }
   const std::string category() const override;
 
 private:
diff --git a/Framework/Algorithms/inc/MantidAlgorithms/PhaseQuadMuon.h b/Framework/Algorithms/inc/MantidAlgorithms/PhaseQuadMuon.h
index d47ca50770df2ce0664f44d5d00f3a376ef35a3c..20b3ec2ef6333dc26d4cababc0c49693fa38f7ed 100644
--- a/Framework/Algorithms/inc/MantidAlgorithms/PhaseQuadMuon.h
+++ b/Framework/Algorithms/inc/MantidAlgorithms/PhaseQuadMuon.h
@@ -44,7 +44,9 @@ public:
   const std::string summary() const override {
     return "Generates a quadrature phase signal.";
   }
-
+  const std::vector<std::string> seeAlso() const override {
+    return{ "MuonMaxent" };
+  }
   /// Algorithm's version for identification overriding a virtual method
   int version() const override { return 1; }
   /// Algorithm's category for identification overriding a virtual method
diff --git a/Framework/Algorithms/inc/MantidAlgorithms/SampleCorrections/MayersSampleCorrection.h b/Framework/Algorithms/inc/MantidAlgorithms/SampleCorrections/MayersSampleCorrection.h
index 9d336dc788650a1714a71adfae24b5d4f18b746a..3ee8464c1e05926a2b3745d91530f31f052655e9 100644
--- a/Framework/Algorithms/inc/MantidAlgorithms/SampleCorrections/MayersSampleCorrection.h
+++ b/Framework/Algorithms/inc/MantidAlgorithms/SampleCorrections/MayersSampleCorrection.h
@@ -39,6 +39,10 @@ public:
   int version() const override;
   const std::string category() const override;
   const std::string summary() const override;
+  const std::vector<std::string> seeAlso() const override {
+    return{ "MonteCarloAbsorption", "MultipleScatteringCylinderAbsorption",
+      "PearlMCAbsorption,VesuvioCalculateMS" };
+  }
 
 private:
   void init() override;
diff --git a/Framework/Algorithms/inc/MantidAlgorithms/Stitch1D.h b/Framework/Algorithms/inc/MantidAlgorithms/Stitch1D.h
index 973bd63c7cc8a34fd8b42037856129deedade364..5ec8ca188acb8a69ca7abec240064d32a54be627 100644
--- a/Framework/Algorithms/inc/MantidAlgorithms/Stitch1D.h
+++ b/Framework/Algorithms/inc/MantidAlgorithms/Stitch1D.h
@@ -43,6 +43,9 @@ public:
   const std::string summary() const override {
     return "Stitches single histogram matrix workspaces together";
   }
+  const std::vector<std::string> seeAlso() const override {
+    return{ "Stitch1DMany" };
+  }
   /// Does the x-axis have non-zero errors
   bool hasNonzeroErrors(Mantid::API::MatrixWorkspace_sptr ws);
 
diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/CalculateChiSquared.h b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/CalculateChiSquared.h
index 3a4279938f528d0401123112fefbafe1681eaa97..69c920dd2c17a1d2c82fd81c9f42c56688278ebf 100644
--- a/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/CalculateChiSquared.h
+++ b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/CalculateChiSquared.h
@@ -39,6 +39,9 @@ class DLLExport CalculateChiSquared : public IFittingAlgorithm {
 public:
   const std::string name() const override;
   int version() const override;
+  const std::vector<std::string> seeAlso() const override {
+    return{ ""CalculateCostFunction","Fit"" };
+  }
   const std::string summary() const override;
 
 private:
diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/CalculateCostFunction.h b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/CalculateCostFunction.h
index d66640fd091f0a6c0f0f085ab1f2034cc6d6a28f..5ecfc17ec2196d1f2f538da0df24c1369032f927 100644
--- a/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/CalculateCostFunction.h
+++ b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/CalculateCostFunction.h
@@ -42,6 +42,9 @@ class DLLExport CalculateCostFunction : public IFittingAlgorithm {
 public:
   const std::string name() const override;
   int version() const override;
+  const std::vector<std::string> seeAlso() const override {
+    return{ ""CalculateChiSquared","Fit"" };
+  }
   const std::string summary() const override;
 
 private:
diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/EstimateFitParameters.h b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/EstimateFitParameters.h
index 4e7bffa93e4ed0032f30e4c0d36bdd655f2e5216..5a1671c98cd7deafe79e5384871b946ede5b38b4 100644
--- a/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/EstimateFitParameters.h
+++ b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/EstimateFitParameters.h
@@ -37,6 +37,9 @@ class DLLExport EstimateFitParameters : public IFittingAlgorithm {
 public:
   const std::string name() const override;
   int version() const override;
+  const std::vector<std::string> seeAlso() const override {
+    return{ ""Fit","EstimatePeakErrors"" };
+  }
   const std::string summary() const override;
 
 private:
diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/EstimatePeakErrors.h b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/EstimatePeakErrors.h
index 9337aba270672b8e5d0be8a9fda44a8fbed9d98b..ae70f1f891fd7fbac5710974ad82d6e899bdc8c4 100644
--- a/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/EstimatePeakErrors.h
+++ b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/EstimatePeakErrors.h
@@ -38,6 +38,9 @@ public:
   const std::string summary() const override;
 
   int version() const override;
+  const std::vector<std::string> seeAlso() const override {
+    return{ ""Fit","EstimateFitParameters"" };
+  }
   const std::string category() const override;
 
 private:
diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/EvaluateFunction.h b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/EvaluateFunction.h
index 915b3285faaf16451e5783672913d91faeb03785..8b439df7e708ffa037f5dc84b69e9ebe61b8d090 100644
--- a/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/EvaluateFunction.h
+++ b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/EvaluateFunction.h
@@ -38,6 +38,9 @@ class DLLExport EvaluateFunction : public IFittingAlgorithm {
 public:
   const std::string name() const override;
   int version() const override;
+  const std::vector<std::string> seeAlso() const override {
+    return{ "Fit" };
+  }
   const std::string summary() const override;
 
 private:
diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/Fit.h b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/Fit.h
index a60b8da6de0437f337d657e4fc2cd0f64eb0ca29..373e7e3e1a69b7751be5eceb0c7a482d3d923545 100644
--- a/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/Fit.h
+++ b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/Fit.h
@@ -103,6 +103,9 @@ public:
   }
   /// Algorithm's version for identification overriding a virtual method
   int version() const override { return (1); }
+  const std::vector<std::string> seeAlso() const override {
+    return{ ""FitGaussian","FitGaussian","UserFunction1D","PlotPeakByLogValue","SplineBackground","EvaluateFunction"" };
+  }
 
 private:
   void initConcrete() override;
diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/FitPowderDiffPeaks.h b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/FitPowderDiffPeaks.h
index c602e18e0f11555dcbe956a1476ff8c7f1b93d42..c243f1e98755260fd1e63447278e77d2653d3164 100644
--- a/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/FitPowderDiffPeaks.h
+++ b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/FitPowderDiffPeaks.h
@@ -71,6 +71,9 @@ public:
 
   /// Algorithm's version for identification overriding a virtual method
   int version() const override { return 1; }
+  const std::vector<std::string> seeAlso() const override {
+    return{ "LeBailFit" };
+  }
 
   /// Algorithm's category for identification overriding a virtual method
   const std::string category() const override { return "Diffraction\\Fitting"; }
diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/LeBailFit.h b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/LeBailFit.h
index 05466c164ed240319e96168d10217fddabe5bfca..3ae2713cdeb28965cb66e3292c65647f64d1e2d7 100644
--- a/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/LeBailFit.h
+++ b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/LeBailFit.h
@@ -91,6 +91,9 @@ public:
 
   /// Algorithm's version for identification overriding a virtual method
   int version() const override { return 1; }
+  const std::vector<std::string> seeAlso() const override {
+    return{ ""CreateLeBailFitInput","FitPowderDiffPeaks"" };
+  }
 
   /// Algorithm's category for identification overriding a virtual method
   const std::string category() const override { return "Diffraction\\Fitting"; }
diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/NormaliseByPeakArea.h b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/NormaliseByPeakArea.h
index 36c402f6e090a7a6353c9ace571b51aebcadbe48..3d70e12bfa200a5da0234e0dceab91115c5cd7b0 100644
--- a/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/NormaliseByPeakArea.h
+++ b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/NormaliseByPeakArea.h
@@ -49,6 +49,10 @@ public:
            "input mass value.";
   }
 
+  const std::vector<std::string> seeAlso() const override {
+    return{ "MonitorEfficiencyCorUser", "Divide" };
+  }
+
   int version() const override;
   const std::string category() const override;
 
diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/PawleyFit.h b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/PawleyFit.h
index deaad15eca404f903d653e9e535509651f616a28..ed6a95a567679d578c12b29ccb9e20bf8a67cd51 100644
--- a/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/PawleyFit.h
+++ b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/PawleyFit.h
@@ -69,6 +69,9 @@ public:
   PawleyFit();
   const std::string name() const override { return "PawleyFit"; }
   int version() const override { return 1; }
+  const std::vector<std::string> seeAlso() const override {
+    return{ "PoldiPeakSearch" };
+  }
   const std::string summary() const override;
   const std::string category() const override { return "Diffraction\\Fitting"; }
 
diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/PlotPeakByLogValue.h b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/PlotPeakByLogValue.h
index 659bad57095bce63b4d4965f53521c10bb476bb4..dbb09bd65285dcdac03d7f2f60396d0753d250eb 100644
--- a/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/PlotPeakByLogValue.h
+++ b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/PlotPeakByLogValue.h
@@ -88,6 +88,9 @@ public:
 
   /// Algorithm's version for identification overriding a virtual method
   int version() const override { return 1; }
+  const std::vector<std::string> seeAlso() const override {
+    return{ "Fit" };
+  }
   /// Algorithm's category for identification overriding a virtual method
   const std::string category() const override { return "Optimization"; }
 
diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/RefinePowderInstrumentParameters3.h b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/RefinePowderInstrumentParameters3.h
index 1c02e46c59ebe5feaaf442c8fc04706ba23ea543..a85bf87310259557487a65884ea634ebfc8fbf16 100644
--- a/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/RefinePowderInstrumentParameters3.h
+++ b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/RefinePowderInstrumentParameters3.h
@@ -54,6 +54,9 @@ public:
 
   /// Algorithm's version for identification overriding a virtual method
   int version() const override { return 3; }
+  const std::vector<std::string> seeAlso() const override {
+    return{ "RefinePowderDiffProfileSeq" };
+  }
 
   /// Algorithm's category for identification overriding a virtual method
   const std::string category() const override { return "Diffraction\\Fitting"; }
diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/SplineBackground.h b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/SplineBackground.h
index c154c4c35aad3f442946f3028571ef836935538c..47f5341a0071a445842ac34ae87e40c5dd8ffdde 100644
--- a/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/SplineBackground.h
+++ b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/SplineBackground.h
@@ -47,6 +47,9 @@ public:
   const std::string name() const override { return "SplineBackground"; }
   /// Algorithm's version for identification overriding a virtual method
   int version() const override { return 1; }
+  const std::vector<std::string> seeAlso() const override {
+    return{ ""Fit","SplineInterpolation","SplineSmoothing"" };
+  }
   /// Algorithm's category for identification overriding a virtual method
   const std::string category() const override {
     return "Optimization;CorrectionFunctions\\BackgroundCorrections";
diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/SplineInterpolation.h b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/SplineInterpolation.h
index 0d4af58d67a244ad85aff9c680b2435bd2b69027..821eaec48c749e356508a070de604023585d8bf7 100644
--- a/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/SplineInterpolation.h
+++ b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/SplineInterpolation.h
@@ -49,6 +49,9 @@ public:
 
   const std::string name() const override;
   int version() const override;
+  const std::vector<std::string> seeAlso() const override {
+    return{ ""Fit","SplineBackground","SplineSmoothing"" };
+  }
   const std::string category() const override;
   const std::string summary() const override;
   std::map<std::string, std::string> validateInputs() override;
diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/SplineSmoothing.h b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/SplineSmoothing.h
index 51ed2dce5c909e38a8ad6b8c417f4e456a3a9125..1f4b8c2938fd09ed48fe86165a8e905576d330b9 100644
--- a/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/SplineSmoothing.h
+++ b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/SplineSmoothing.h
@@ -45,6 +45,9 @@ public:
 
   const std::string name() const override;
   int version() const override;
+  const std::vector<std::string> seeAlso() const override {
+    return{ ""Fit","SplineInterpolation","SplineBackground"" };
+  }
   const std::string category() const override;
   /// Summary of algorithms purpose
   const std::string summary() const override {
diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/VesuvioCalculateGammaBackground.h b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/VesuvioCalculateGammaBackground.h
index 108ccccdbd7751a2362c65f87786716422bd4c9a..637a051d8af7a4f17679b78bf23f83babdb552ba 100644
--- a/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/VesuvioCalculateGammaBackground.h
+++ b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/VesuvioCalculateGammaBackground.h
@@ -57,6 +57,9 @@ public:
     return "Calculates the background due to gamma rays produced when neutrons "
            "are absorbed by shielding.";
   }
+  const std::vector<std::string> seeAlso() const override {
+    return{ "VesuvioCorrections" };
+  }
 
   int version() const override;
   const std::string category() const override;
diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/VesuvioCalculateMS.h b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/VesuvioCalculateMS.h
index d3e19adf0d6f131582ed1ab189b83cac1e1ab244..e6c10f96567c3e8dfa27df4bea6f52df478baad3 100644
--- a/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/VesuvioCalculateMS.h
+++ b/Framework/CurveFitting/inc/MantidCurveFitting/Algorithms/VesuvioCalculateMS.h
@@ -95,6 +95,11 @@ public:
            "on a flat plate sample for VESUVIO";
   }
 
+  const std::vector<std::string> seeAlso() const override {
+    return{ "MayersSampleCorrection", "MonteCarloAbsorption",
+            "MultipleScatteringCylinderAbsorption" };
+  }
+
 private:
   void init() override;
   void exec() override;
diff --git a/Framework/CurveFitting/inc/MantidCurveFitting/Functions/UserFunction1D.h b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/UserFunction1D.h
index 5274b319fc81ab123ad40c7acae73363e49f8180..dd073bc344e49e01c82aa244c08acd823f676ec0 100644
--- a/Framework/CurveFitting/inc/MantidCurveFitting/Functions/UserFunction1D.h
+++ b/Framework/CurveFitting/inc/MantidCurveFitting/Functions/UserFunction1D.h
@@ -88,6 +88,9 @@ public:
   const std::string summary() const override {
     return "Fits a histogram from a workspace to a user defined function.";
   }
+  const std::vector<std::string> seeAlso() const override {
+    return{ "Fit" };
+  }
 
 protected:
   /// overwrite base class methods
diff --git a/Framework/LiveData/inc/MantidLiveData/ISIS/FakeISISEventDAE.h b/Framework/LiveData/inc/MantidLiveData/ISIS/FakeISISEventDAE.h
index d776a84d8e57ff70249312c0a19fb0fd777abf43..adbd54196d1c9d6c69b83f1f957fd6a03675fd67 100644
--- a/Framework/LiveData/inc/MantidLiveData/ISIS/FakeISISEventDAE.h
+++ b/Framework/LiveData/inc/MantidLiveData/ISIS/FakeISISEventDAE.h
@@ -55,6 +55,9 @@ public:
   const std::string category() const override {
     return "DataHandling\\DataAcquisition";
   }
+  const std::vector<std::string> seeAlso() const override {
+    return{ "FakeISISHistoDAE" };
+  }
 
   /// Algorithm's summary
   const std::string summary() const override {
diff --git a/Framework/LiveData/inc/MantidLiveData/ISIS/FakeISISHistoDAE.h b/Framework/LiveData/inc/MantidLiveData/ISIS/FakeISISHistoDAE.h
index 35c4dff7a37d1421b4e80c36b8e028a83417e7da..6a7a9d8f5b31427fa13e4e981306b0ff18bf14e5 100644
--- a/Framework/LiveData/inc/MantidLiveData/ISIS/FakeISISHistoDAE.h
+++ b/Framework/LiveData/inc/MantidLiveData/ISIS/FakeISISHistoDAE.h
@@ -61,6 +61,9 @@ public:
   const std::string category() const override {
     return "DataHandling\\DataAcquisition";
   }
+  const std::vector<std::string> seeAlso() const override {
+    return{ "FakeISISEventDAE" };
+  }
   /// Summary of algorithms purpose
   const std::string summary() const override {
     return "Simulates ISIS histogram DAE.";
diff --git a/Framework/MDAlgorithms/inc/MantidMDAlgorithms/Quantification/FitResolutionConvolvedModel.h b/Framework/MDAlgorithms/inc/MantidMDAlgorithms/Quantification/FitResolutionConvolvedModel.h
index dd236708ec225878d26e2f4ad265ddc15de0c618..a684b01fe70dccd6b6778dca935327c6595578d2 100644
--- a/Framework/MDAlgorithms/inc/MantidMDAlgorithms/Quantification/FitResolutionConvolvedModel.h
+++ b/Framework/MDAlgorithms/inc/MantidMDAlgorithms/Quantification/FitResolutionConvolvedModel.h
@@ -35,6 +35,9 @@ public:
     return "Fits a cuts/slices from an MDEventWorkspace using a resolution "
            "function convolved with a foreground model";
   }
+  const std::vector<std::string> seeAlso() const override {
+    return{ "SimulateResolutionConvolvedModel" };
+  }
 
   int version() const override;
   const std::string category() const override;
diff --git a/Framework/MDAlgorithms/inc/MantidMDAlgorithms/Quantification/SimulateResolutionConvolvedModel.h b/Framework/MDAlgorithms/inc/MantidMDAlgorithms/Quantification/SimulateResolutionConvolvedModel.h
index d869716128e4943b2e8f2682791041eea930d14a..9790469099ca1d80b7c347af7311d2648427738f 100644
--- a/Framework/MDAlgorithms/inc/MantidMDAlgorithms/Quantification/SimulateResolutionConvolvedModel.h
+++ b/Framework/MDAlgorithms/inc/MantidMDAlgorithms/Quantification/SimulateResolutionConvolvedModel.h
@@ -43,7 +43,9 @@ public:
   const std::string summary() const override {
     return "Runs a simulation of a model with a selected resolution function";
   }
-
+  const std::vector<std::string> seeAlso() const override {
+    return{ "FitResolutionConvolvedModel" };
+  }
   int version() const override;
 
 private:
diff --git a/Framework/PythonInterface/plugins/algorithms/BASISDiffraction.py b/Framework/PythonInterface/plugins/algorithms/BASISDiffraction.py
index 23227fbd37c46a0f850591b206c2e9e709834253..2ca360cd7ec47c65822cc239fa962e7704836ecb 100644
--- a/Framework/PythonInterface/plugins/algorithms/BASISDiffraction.py
+++ b/Framework/PythonInterface/plugins/algorithms/BASISDiffraction.py
@@ -103,6 +103,9 @@ class BASISDiffraction(DataProcessorAlgorithm):
     def summary(self):
         return "Multiple-file BASIS reduction for diffraction detectors."
 
+    def seeAlso(self):
+        return [ "AlignDetectors","DiffractionFocussing","SNSPowderReduction" ]
+        
     def PyInit(self):
         # Input validators
         array_length_three = FloatArrayLengthValidator(3)
diff --git a/Framework/PythonInterface/plugins/algorithms/CalculateSampleTransmission.py b/Framework/PythonInterface/plugins/algorithms/CalculateSampleTransmission.py
index 0c5d8382208ebce34de10cf649e0ee7b5a308b96..a30e67622793de1202585d310d0a78815c029b08 100644
--- a/Framework/PythonInterface/plugins/algorithms/CalculateSampleTransmission.py
+++ b/Framework/PythonInterface/plugins/algorithms/CalculateSampleTransmission.py
@@ -19,7 +19,10 @@ class CalculateSampleTransmission(PythonAlgorithm):
 
     def category(self):
         return 'Sample'
-
+        
+    def seeAlso(self):
+        return [ "SetSampleMaterial" ]
+        
     def summary(self):
         return 'Calculates the scattering & transmission for a given sample material and size over a given wavelength range.'
 
diff --git a/Framework/PythonInterface/plugins/algorithms/CreateEmptyTableWorkspace.py b/Framework/PythonInterface/plugins/algorithms/CreateEmptyTableWorkspace.py
index 026393dc796de4d5b908e6fdd99121d0216a0c34..684ecc99fa26e25e718091051f36f339ef1f92be 100644
--- a/Framework/PythonInterface/plugins/algorithms/CreateEmptyTableWorkspace.py
+++ b/Framework/PythonInterface/plugins/algorithms/CreateEmptyTableWorkspace.py
@@ -15,7 +15,10 @@ class CreateEmptyTableWorkspace(PythonAlgorithm):
 
     def category(self):
         return 'Utility\\Workspaces'
-
+        
+    def seeAlso(self):
+        return [ "DeleteTableRows","SortTableWorkspace" ]
+        
     def PyInit(self):
         # Declare properties
         self.declareProperty(ITableWorkspaceProperty("OutputWorkspace", "", Direction.Output),
diff --git a/Framework/PythonInterface/plugins/algorithms/ExportExperimentLog.py b/Framework/PythonInterface/plugins/algorithms/ExportExperimentLog.py
index 82f6ca11e41d3efaf03e9e8fbd230a16e6de559f..8e6e2127ab031a7f5fc6aedbe671cb9eb880530e 100644
--- a/Framework/PythonInterface/plugins/algorithms/ExportExperimentLog.py
+++ b/Framework/PythonInterface/plugins/algorithms/ExportExperimentLog.py
@@ -40,6 +40,9 @@ class ExportExperimentLog(PythonAlgorithm):
         """
         return 'DataHandling\\Logs'
 
+    def seeAlso(self):
+        return [ "ExportSampleLogsToCSVFile" ]
+        
     def PyInit(self):
         """ Declaration of properties
         """
diff --git a/Framework/PythonInterface/plugins/algorithms/ExtractMonitors.py b/Framework/PythonInterface/plugins/algorithms/ExtractMonitors.py
index 15f1a2fcf4363537084155b84c9d6230cefc5ae0..06c5c898808d1f37056c56548866caa4ba058859 100644
--- a/Framework/PythonInterface/plugins/algorithms/ExtractMonitors.py
+++ b/Framework/PythonInterface/plugins/algorithms/ExtractMonitors.py
@@ -10,7 +10,10 @@ class ExtractMonitors(DataProcessorAlgorithm):
 
     def summary(self):
         return 'Separates the monitors and/or detectors into separate workspaces.'
-
+        
+    def seeAlso(self):
+        return [ "ExtractMonitorWorkspace" ]
+        
     def PyInit(self):
         self.declareProperty(MatrixWorkspaceProperty('InputWorkspace', '',
                                                      direction=Direction.Input),
diff --git a/Framework/PythonInterface/plugins/algorithms/FitGaussian.py b/Framework/PythonInterface/plugins/algorithms/FitGaussian.py
index 8777631a52d5228667de2928441f4a64f2f8f22c..d00e3d4e329274218cbc6cece5aaa1d221966a19 100644
--- a/Framework/PythonInterface/plugins/algorithms/FitGaussian.py
+++ b/Framework/PythonInterface/plugins/algorithms/FitGaussian.py
@@ -10,7 +10,10 @@ class FitGaussian(PythonAlgorithm):
 
     def category(self):
         return "Optimization"
-
+        
+    def seeAlso(self):
+        return [ "Fit" ]
+        
     def PyInit(self):
         # input
         self.declareProperty(MatrixWorkspaceProperty("Workspace", "", Direction.Input),
diff --git a/Framework/PythonInterface/plugins/algorithms/LoadEmptyVesuvio.py b/Framework/PythonInterface/plugins/algorithms/LoadEmptyVesuvio.py
index c48ad3107bee394f17529cd313de73a6086c7a1f..e6bbaca16d55158383217b2406936cba73e1cda1 100644
--- a/Framework/PythonInterface/plugins/algorithms/LoadEmptyVesuvio.py
+++ b/Framework/PythonInterface/plugins/algorithms/LoadEmptyVesuvio.py
@@ -28,7 +28,11 @@ class LoadEmptyVesuvio(PythonAlgorithm):
         """
         return 'DataHandling\\Raw'
 #----------------------------------------------------------------------------------------
-
+    
+    def seeAlso(self):
+        return [ "LoadVesuvio" ]
+        
+#----------------------------------------------------------------------------------------
     def PyInit(self):
         self.declareProperty(FileProperty(INST_PAR_PROP, "", action=FileAction.OptionalLoad,
                                           extensions=["dat"]),
diff --git a/Framework/PythonInterface/plugins/algorithms/LoadLogPropertyTable.py b/Framework/PythonInterface/plugins/algorithms/LoadLogPropertyTable.py
index 22d6f03a55eb33fe8b3b610fd6b1aa729df51a68..440855c61af04db1b12d56bcf44ac467f76ae6bb 100644
--- a/Framework/PythonInterface/plugins/algorithms/LoadLogPropertyTable.py
+++ b/Framework/PythonInterface/plugins/algorithms/LoadLogPropertyTable.py
@@ -17,7 +17,10 @@ class LoadLogPropertyTable(PythonAlgorithm):
         """
         return "Creates a table of Run number against the log values for that run for a range of files.\
          It can use a single log value or a list of log values."
-
+         
+    def seeAlso(self):
+        return [ "LoadLog", "LoadMuonLog" ]
+        
     # same concept as built in "CreateLogPropertyTable" but loads its own workspaces and needn't hold all in memory at once
     # select log values to put in table (list)
     # special cases for:
diff --git a/Framework/PythonInterface/plugins/algorithms/LoadVesuvio.py b/Framework/PythonInterface/plugins/algorithms/LoadVesuvio.py
index 9166c9e8e4474aeab9e0c541a59c8625aaa32a3e..344005c163d6bbbb51677076a3ca0f5d0d7720d8 100644
--- a/Framework/PythonInterface/plugins/algorithms/LoadVesuvio.py
+++ b/Framework/PythonInterface/plugins/algorithms/LoadVesuvio.py
@@ -107,6 +107,12 @@ class LoadVesuvio(LoadEmptyVesuvio):
         """ Defines the category the algorithm will be put in the algorithm browser
         """
         return 'DataHandling\\Raw'
+        
+#----------------------------------------------------------------------------------------
+    
+    def seeAlso(self):
+        return [ "LoadEmptyVesuvio" ,"LoadRaw" ]
+        
 #----------------------------------------------------------------------------------------
 
     def PyInit(self):
diff --git a/Framework/PythonInterface/plugins/algorithms/MuonMaxent.py b/Framework/PythonInterface/plugins/algorithms/MuonMaxent.py
index 2ede9effc741e6184b06ff5121d5dd75bef57738..bdd3685c7566e55c4a11b510138c7f3e912f6845 100644
--- a/Framework/PythonInterface/plugins/algorithms/MuonMaxent.py
+++ b/Framework/PythonInterface/plugins/algorithms/MuonMaxent.py
@@ -34,6 +34,9 @@ class MuonMaxent(PythonAlgorithm):
 
     def category(self):
         return "Muon;Arithmetic\\FFT"
+        
+    def seeAlso(self):
+        return [ "PhaseQuad","FFT" ]
 
     def PyInit(self):
         self.declareProperty(
diff --git a/Framework/PythonInterface/plugins/algorithms/PearlMCAbsorption.py b/Framework/PythonInterface/plugins/algorithms/PearlMCAbsorption.py
index 6d18bd5d01ac181955c3da5428e2481345996947..e13ec855a8471404ac2417cb8a1c6601dab4a51e 100644
--- a/Framework/PythonInterface/plugins/algorithms/PearlMCAbsorption.py
+++ b/Framework/PythonInterface/plugins/algorithms/PearlMCAbsorption.py
@@ -13,7 +13,11 @@ class PearlMCAbsorption(PythonAlgorithm):
 
     def summary(self):
         return "Loads pre-calculated or measured absorption correction files for Pearl."
-
+        
+    def seeAlso(self):
+        return [ "MonteCarloAbsorption", "MayersSampleCorrection", 
+                 "MultipleScatteringCylinderAbsorption", "VesuvioCalculateMS" ]
+                 
     def PyInit(self):
         # Input file
         self.declareProperty(FileProperty("Filename","", FileAction.Load, ['.out','.dat']), doc="The name of the input file.")
diff --git a/Framework/PythonInterface/plugins/algorithms/RetrieveRunInfo.py b/Framework/PythonInterface/plugins/algorithms/RetrieveRunInfo.py
index 112e1b8d5e58449cce33f746c18a4c84f8209d7b..997824189508fdf415c518ad2c7806d1400a5f70 100644
--- a/Framework/PythonInterface/plugins/algorithms/RetrieveRunInfo.py
+++ b/Framework/PythonInterface/plugins/algorithms/RetrieveRunInfo.py
@@ -190,7 +190,10 @@ class RetrieveRunInfo(PythonAlgorithm):
     def summary(self):
         return "Given a range of run numbers and an output workspace name, will compile a table of info for "+\
                "each run of the instrument you have set as default."
-
+    
+    def seeAlso(self):
+        return [ "CreateLogPropertyTable" ]
+                 
     def PyInit(self):
         # Declare algorithm properties.
         self.declareProperty(
diff --git a/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/AddSampleLogMultiple.py b/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/AddSampleLogMultiple.py
index d523aabcc4c379cef205751e5e1c556cda5f5018..d5a921662a2bd51b0cd8060c0f1ece7cf73074ea 100644
--- a/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/AddSampleLogMultiple.py
+++ b/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/AddSampleLogMultiple.py
@@ -13,6 +13,9 @@ class AddSampleLogMultiple(PythonAlgorithm):
 
     def summary(self):
         return 'Add multiple sample logs to a workspace'
+        
+    def seeAlso(self):
+        return ["AddSampleLog"]
 
     def PyInit(self):
         self.declareProperty(WorkspaceProperty('Workspace', '', direction=Direction.InOut),
diff --git a/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/CalculateMonteCarloAbsorption.py b/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/CalculateMonteCarloAbsorption.py
index 00bb6453ebd3e5a73081e4bfc005c05f316f1039..21418de33fbb6ee36571a615f46c4c959eb255d0 100644
--- a/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/CalculateMonteCarloAbsorption.py
+++ b/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/CalculateMonteCarloAbsorption.py
@@ -50,7 +50,10 @@ class CalculateMonteCarloAbsorption(DataProcessorAlgorithm):
 
     def category(self):
         return "Workflow\\Inelastic;CorrectionFunctions\\AbsorptionCorrections;Workflow\\MIDAS"
-
+        
+    def seeAlso(self):
+        return [ "MonteCarloAbsorption","SimpleShapeMonteCarloAbsorption" ]
+        
     def summary(self):
         return "Calculates indirect absorption corrections for a given sample shape, using a MonteCarlo simulation."
 
diff --git a/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/ISISIndirectDiffractionReduction.py b/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/ISISIndirectDiffractionReduction.py
index a80ac5c10bc5b3a4ca56303a94210b6e5ba0141e..e88e1ec78c49e83a02f0f4d0166bd08eac72f8f2 100644
--- a/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/ISISIndirectDiffractionReduction.py
+++ b/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/ISISIndirectDiffractionReduction.py
@@ -37,6 +37,9 @@ class ISISIndirectDiffractionReduction(DataProcessorAlgorithm):
 
     def summary(self):
         return 'Performs a diffraction reduction for a set of raw run files for an ISIS indirect spectrometer'
+        
+    def seeAlso(self):
+        return [ "AlignDetectors","DiffractionFocussing","SNSPowderReduction" ]
 
     # ------------------------------------------------------------------------------
 
diff --git a/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/OSIRISDiffractionReduction.py b/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/OSIRISDiffractionReduction.py
index 3f49c6af191eb81326d8c3a2d494997dc4ad7db7..48295f8ea87d726075f49c5b03fd55ebe3473b8d 100644
--- a/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/OSIRISDiffractionReduction.py
+++ b/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/OSIRISDiffractionReduction.py
@@ -479,7 +479,10 @@ class OSIRISDiffractionReduction(PythonAlgorithm):
 
     def category(self):
         return 'Diffraction\\Reduction'
-
+        
+    def seeAlso(self):
+        return [ "ISISIndirectDiffractionReduction" ]
+        
     def summary(self):
         return "This Python algorithm performs the operations necessary for the reduction of diffraction data " + \
                "from the Osiris instrument at ISIS " + \
diff --git a/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/SimpleShapeMonteCarloAbsorption.py b/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/SimpleShapeMonteCarloAbsorption.py
index 2abf5198c05ebaaffd583e336188bd9ac85d5d28..17ed6c478bc10af23be58eebb8c658933fc2fcf5 100644
--- a/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/SimpleShapeMonteCarloAbsorption.py
+++ b/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/SimpleShapeMonteCarloAbsorption.py
@@ -38,7 +38,10 @@ class SimpleShapeMonteCarloAbsorption(DataProcessorAlgorithm):
 
     def category(self):
         return 'Workflow\\Inelastic;CorrectionFunctions\\AbsorptionCorrections;Workflow\\MIDAS'
-
+        
+    def seeAlso(self):
+        return [ "CalculateMonteCarloAbsorption","MonteCarloAbsorption" ]
+        
     def summary(self):
         return 'Calculates absorption corrections for a given sample shape.'
 
diff --git a/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/TimeSlice.py b/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/TimeSlice.py
index 441becd92311edba49574dc8e107268f0e207c70..18cfb1950772c758bd34fedf89e715ea93cbc1ce 100644
--- a/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/TimeSlice.py
+++ b/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/TimeSlice.py
@@ -59,6 +59,9 @@ class TimeSlice(PythonAlgorithm):
 
     def summary(self):
         return 'Performa an integration on a raw file over a specified time of flight range'
+    
+    def seeAlso(self):
+        return [ "Integration" ]
 
     def PyInit(self):
         self.declareProperty(StringArrayProperty(name='InputFiles'),
diff --git a/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/VesuvioDiffractionReduction.py b/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/VesuvioDiffractionReduction.py
index 20bba523daf18b598dda3c7bc13f8d16112e519d..d1928b9ec3026843f7adf980c6bd1f0b6d2952da 100644
--- a/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/VesuvioDiffractionReduction.py
+++ b/Framework/PythonInterface/plugins/algorithms/WorkflowAlgorithms/VesuvioDiffractionReduction.py
@@ -24,7 +24,10 @@ class VesuvioDiffractionReduction(DataProcessorAlgorithm):
 
     def category(self):
         return 'Diffraction\\Reduction'
-
+        
+    def seeAlso(self):
+        return [ "ISISIndirectDiffractionReduction" ]
+        
     def summary(self):
         return ('Performs diffraction reduction for VESUVIO. This algorithm is deprecated (April-2017).')
 
diff --git a/Framework/SINQ/inc/MantidSINQ/SINQTranspose3D.h b/Framework/SINQ/inc/MantidSINQ/SINQTranspose3D.h
index 52d9b8611a60b992c547b6fb3254059e52e8d34b..d4fab5b88abe7444d13a98212d561d96c2d998fb 100644
--- a/Framework/SINQ/inc/MantidSINQ/SINQTranspose3D.h
+++ b/Framework/SINQ/inc/MantidSINQ/SINQTranspose3D.h
@@ -52,7 +52,9 @@ public:
   const std::string summary() const override {
     return "SINQ specific MD data reordering";
   }
-
+  const std::vector<std::string> seeAlso() const override {
+    return{ "TransposeMD", "Transpose" };
+  }
   /// Algorithm's version
   int version() const override { return (1); }
   /// Algorithm's category for identification