From ab36d804e3fe444a2cff19090a5b996f15c3ed0b Mon Sep 17 00:00:00 2001
From: Marina Bertolino <marina.bertolino@c-s.fr>
Date: Tue, 2 May 2017 16:08:02 +0200
Subject: [PATCH] BUG: mantis-1379 documentation link in applications

---
 .../app/otbMultivariateAlterationDetector.cxx |  2 ++
 .../otbClassificationMapRegularization.cxx    |  2 ++
 .../app/otbComputeConfusionMatrix.cxx         |  2 ++
 .../app/otbComputeImagesStatistics.cxx        |  2 ++
 .../otbComputeOGRLayersFeaturesStatistics.cxx |  1 +
 .../otbComputePolylineFeatureFromImage.cxx    |  2 ++
 .../app/otbDSFuzzyModelEstimation.cxx         |  2 ++
 .../app/otbFusionOfClassifications.cxx        |  2 ++
 .../app/otbImageClassifier.cxx                |  2 ++
 .../app/otbKMeansClassification.cxx           |  2 ++
 .../app/otbMultiImageSamplingRate.cxx         |  2 ++
 .../app/otbOGRLayerClassifier.cxx             |  1 +
 .../app/otbPolygonClassStatistics.cxx         |  2 ++
 .../app/otbPredictRegression.cxx              |  2 ++
 .../app/otbSOMClassification.cxx              |  2 ++
 .../app/otbSampleExtraction.cxx               |  2 ++
 .../app/otbSampleSelection.cxx                |  2 ++
 .../app/otbTrainImagesClassifier.cxx          |  2 ++
 .../app/otbTrainRegression.cxx                |  2 ++
 .../app/otbTrainVectorClassifier.cxx          |  2 ++
 .../app/otbVectorClassifier.cxx               |  2 ++
 .../app/otbVectorDataDSValidation.cxx         |  1 +
 .../app/otbHomologousPointsExtraction.cxx     |  2 ++
 .../app/otbDimensionalityReduction.cxx        |  2 ++
 .../app/otbDomainTransform.cxx                |  2 ++
 .../AppEdge/app/otbEdgeExtraction.cxx         |  2 ++
 .../AppEdge/app/otbLineSegmentDetection.cxx   |  2 ++
 .../AppFiltering/app/otbDespeckle.cxx         |  2 ++
 .../AppFiltering/app/otbSmoothing.cxx         |  2 ++
 .../app/otbBundleToPerfectSensor.cxx          |  1 +
 .../AppFusion/app/otbPansharpening.cxx        |  1 +
 .../app/otbHyperspectralUnmixing.cxx          |  2 ++
 .../app/otbVertexComponentAnalysis.cxx        |  2 ++
 .../AppImageUtils/app/otbColorMapping.cxx     |  2 ++
 .../AppImageUtils/app/otbCompareImages.cxx    |  2 ++
 .../app/otbConcatenateImages.cxx              |  2 ++
 .../AppImageUtils/app/otbConvert.cxx          |  2 ++
 .../AppImageUtils/app/otbDEMConvert.cxx       |  2 ++
 .../app/otbDownloadSRTMTiles.cxx              |  1 +
 .../AppImageUtils/app/otbExtractROI.cxx       |  2 ++
 .../AppImageUtils/app/otbManageNoData.cxx     |  2 ++
 .../app/otbMultiResolutionPyramid.cxx         |  2 ++
 .../AppImageUtils/app/otbPixelValue.cxx       |  2 ++
 .../AppImageUtils/app/otbQuicklook.cxx        |  2 ++
 .../AppImageUtils/app/otbReadImageInfo.cxx    |  2 ++
 .../AppImageUtils/app/otbRescale.cxx          |  2 ++
 .../AppImageUtils/app/otbSplitImage.cxx       |  2 ++
 .../AppImageUtils/app/otbTileFusion.cxx       |  2 ++
 .../AppIndices/app/otbRadiometricIndices.cxx  |  2 ++
 .../Applications/AppKMZ/app/otbKmzExport.cxx  |  2 ++
 .../AppMathParser/app/otbBandMath.cxx         |  2 ++
 .../AppMathParserX/app/otbBandMathX.cxx       |  2 ++
 .../app/otbLocalStatisticExtraction.cxx       |  2 ++
 .../app/otbBinaryMorphologicalOperation.cxx   |  2 ++
 .../otbGrayScaleMorphologicalOperation.cxx    |  2 ++
 .../app/otbMorphologicalClassification.cxx    |  1 +
 ...tbMorphologicalMultiScaleDecomposition.cxx |  2 +-
 .../app/otbMorphologicalProfilesAnalysis.cxx  |  2 ++
 .../app/otbOpticalCalibration.cxx             |  2 ++
 .../app/otbConvertCartoToGeoPoint.cxx         |  2 ++
 .../app/otbConvertSensorToGeoPoint.cxx        |  2 ++
 .../app/otbGenerateRPCSensorModel.cxx         |  2 ++
 .../app/otbGridBasedImageResampling.cxx       |  2 ++
 .../AppProjection/app/otbImageEnvelope.cxx    |  2 ++
 .../app/otbObtainUTMZoneFromGeoPoint.cxx      |  2 ++
 .../app/otbOrthoRectification.cxx             |  2 ++
 .../app/otbRefineSensorModel.cxx              |  2 ++
 .../app/otbRigidTransformResample.cxx         |  2 ++
 .../AppProjection/app/otbSuperimpose.cxx      |  2 ++
 .../app/otbVectorDataReprojection.cxx         |  2 ++
 .../app/otbSARCalibration.cxx                 |  2 ++
 .../AppSARCalibration/app/otbSARDeburst.cxx   |  4 +--
 .../app/otbSARDecompositions.cxx              |  2 ++
 .../app/otbSARPolarMatrixConvert.cxx          |  2 ++
 .../AppSARPolarSynth/app/otbSARPolarSynth.cxx |  2 ++
 .../app/otbComputeModulusAndPhase.cxx         |  2 ++
 .../app/otbConnectedComponentSegmentation.cxx |  2 ++
 .../app/otbHooverCompareSegmentation.cxx      |  2 ++
 .../app/otbLSMSSegmentation.cxx               |  1 +
 .../app/otbLSMSSmallRegionsMerging.cxx        |  1 +
 .../app/otbLSMSVectorization.cxx              |  2 ++
 .../app/otbMeanShiftSmoothing.cxx             |  1 +
 .../AppSegmentation/app/otbSegmentation.cxx   |  2 ++
 .../AppStereo/app/otbBlockMatching.cxx        |  2 ++
 .../app/otbDisparityMapToElevationMap.cxx     |  2 ++
 .../AppStereo/app/otbFineRegistration.cxx     |  2 ++
 .../AppStereo/app/otbGeneratePlyFile.cxx      |  2 ++
 .../AppStereo/app/otbStereoFramework.cxx      |  2 +-
 .../otbStereoRectificationGridGenerator.cxx   |  2 ++
 .../AppTest/app/otbTestApplication.cxx        |  2 ++
 .../app/otbHaralickTextureExtraction.cxx      |  2 ++
 .../app/otbSFSTextureExtraction.cxx           |  2 ++
 .../app/otbRasterization.cxx                  |  2 ++
 .../app/otbConcatenateVectorData.cxx          |  1 +
 .../AppVectorUtils/app/otbOSMDownloader.cxx   |  2 ++
 .../app/otbVectorDataExtractROI.cxx           |  2 ++
 .../app/otbVectorDataSetField.cxx             |  2 ++
 .../app/otbVectorDataTransform.cxx            |  2 ++
 .../include/otbWrapperApplication.h           | 25 +++++++++++++++++++
 .../src/otbWrapperApplication.cxx             |  1 +
 .../src/otbWrapperCommandLineLauncher.cxx     | 12 +++++----
 101 files changed, 216 insertions(+), 9 deletions(-)

diff --git a/Modules/Applications/AppChangeDetection/app/otbMultivariateAlterationDetector.cxx b/Modules/Applications/AppChangeDetection/app/otbMultivariateAlterationDetector.cxx
index 43096fac43..65ee96289d 100644
--- a/Modules/Applications/AppChangeDetection/app/otbMultivariateAlterationDetector.cxx
+++ b/Modules/Applications/AppChangeDetection/app/otbMultivariateAlterationDetector.cxx
@@ -105,6 +105,8 @@ private:
     SetDocExampleParameterValue("in1", "Spot5-Gloucester-before.tif");
     SetDocExampleParameterValue("in2", "Spot5-Gloucester-after.tif");
     SetDocExampleParameterValue("out", "detectedChangeImage.tif");
+
+  otbAppDocLink();
   }
 
   void DoUpdateParameters() ITK_OVERRIDE
diff --git a/Modules/Applications/AppClassification/app/otbClassificationMapRegularization.cxx b/Modules/Applications/AppClassification/app/otbClassificationMapRegularization.cxx
index ff108e34ad..97699b4ff7 100644
--- a/Modules/Applications/AppClassification/app/otbClassificationMapRegularization.cxx
+++ b/Modules/Applications/AppClassification/app/otbClassificationMapRegularization.cxx
@@ -121,6 +121,8 @@ private:
     SetDocExampleParameterValue("ip.onlyisolatedpixels", "true");
     SetDocExampleParameterValue("ip.nodatalabel", "10");
     SetDocExampleParameterValue("ip.undecidedlabel", "7");
+
+    otbAppDocLink();
   }
 
   void DoUpdateParameters() ITK_OVERRIDE
diff --git a/Modules/Applications/AppClassification/app/otbComputeConfusionMatrix.cxx b/Modules/Applications/AppClassification/app/otbComputeConfusionMatrix.cxx
index 2506be333b..7fb18699cc 100644
--- a/Modules/Applications/AppClassification/app/otbComputeConfusionMatrix.cxx
+++ b/Modules/Applications/AppClassification/app/otbComputeConfusionMatrix.cxx
@@ -178,6 +178,8 @@ private:
   SetDocExampleParameterValue("ref.vector.in","VectorData_QB1_bis.shp");
   SetDocExampleParameterValue("ref.vector.field","Class");
   SetDocExampleParameterValue("ref.vector.nodata","255");
+
+  otbAppDocLink();
   }
 
   void DoUpdateParameters() ITK_OVERRIDE
diff --git a/Modules/Applications/AppClassification/app/otbComputeImagesStatistics.cxx b/Modules/Applications/AppClassification/app/otbComputeImagesStatistics.cxx
index f25d8bac29..3a2ac5ede9 100644
--- a/Modules/Applications/AppClassification/app/otbComputeImagesStatistics.cxx
+++ b/Modules/Applications/AppClassification/app/otbComputeImagesStatistics.cxx
@@ -74,6 +74,8 @@ private:
    // Doc example parameter settings
    SetDocExampleParameterValue("il", "QB_1_ortho.tif");
    SetDocExampleParameterValue("out", "EstimateImageStatisticsQB1.xml");
+
+   otbAppDocLink();
   }
 
   void DoUpdateParameters() ITK_OVERRIDE
diff --git a/Modules/Applications/AppClassification/app/otbComputeOGRLayersFeaturesStatistics.cxx b/Modules/Applications/AppClassification/app/otbComputeOGRLayersFeaturesStatistics.cxx
index 75a39d9d72..00fbd684cc 100644
--- a/Modules/Applications/AppClassification/app/otbComputeOGRLayersFeaturesStatistics.cxx
+++ b/Modules/Applications/AppClassification/app/otbComputeOGRLayersFeaturesStatistics.cxx
@@ -72,6 +72,7 @@ private:
     SetDocExampleParameterValue("outstats", "results.xml");
     SetDocExampleParameterValue("feat", "perimeter");
 
+  otbAppDocLink();
   }
 
   void DoUpdateParameters() ITK_OVERRIDE
diff --git a/Modules/Applications/AppClassification/app/otbComputePolylineFeatureFromImage.cxx b/Modules/Applications/AppClassification/app/otbComputePolylineFeatureFromImage.cxx
index dbba180f46..392ab08cf8 100644
--- a/Modules/Applications/AppClassification/app/otbComputePolylineFeatureFromImage.cxx
+++ b/Modules/Applications/AppClassification/app/otbComputePolylineFeatureFromImage.cxx
@@ -112,6 +112,8 @@ private:
     SetDocExampleParameterValue("expr", "\"(b1 > 0.4)\"");
     SetDocExampleParameterValue("field", "NONDVI");
     SetDocExampleParameterValue("out", "PolylineFeatureFromImage_LI_NONDVI_gt.shp");
+
+    otbAppDocLink();
   }
 
   void DoUpdateParameters() ITK_OVERRIDE
diff --git a/Modules/Applications/AppClassification/app/otbDSFuzzyModelEstimation.cxx b/Modules/Applications/AppClassification/app/otbDSFuzzyModelEstimation.cxx
index 52fb24e3eb..7a25125040 100644
--- a/Modules/Applications/AppClassification/app/otbDSFuzzyModelEstimation.cxx
+++ b/Modules/Applications/AppClassification/app/otbDSFuzzyModelEstimation.cxx
@@ -180,6 +180,8 @@ private:
     SetDocExampleParameterValue("maxnbit", "4");
     SetDocExampleParameterValue("optobs", "true");
     SetDocExampleParameterValue("out", "DSFuzzyModelEstimation.xml");
+
+    otbAppDocLink();
   }
 
   void DoUpdateParameters() ITK_OVERRIDE
diff --git a/Modules/Applications/AppClassification/app/otbFusionOfClassifications.cxx b/Modules/Applications/AppClassification/app/otbFusionOfClassifications.cxx
index 30939d816a..43f715b27e 100644
--- a/Modules/Applications/AppClassification/app/otbFusionOfClassifications.cxx
+++ b/Modules/Applications/AppClassification/app/otbFusionOfClassifications.cxx
@@ -169,6 +169,8 @@ private:
     SetDocExampleParameterValue("nodatalabel","0");
     SetDocExampleParameterValue("undecidedlabel","10");
     SetDocExampleParameterValue("out","classification_fused.tif");
+
+    otbAppDocLink();
   }
 
   void DoUpdateParameters() ITK_OVERRIDE
diff --git a/Modules/Applications/AppClassification/app/otbImageClassifier.cxx b/Modules/Applications/AppClassification/app/otbImageClassifier.cxx
index 7dfced632b..7aa14c137a 100644
--- a/Modules/Applications/AppClassification/app/otbImageClassifier.cxx
+++ b/Modules/Applications/AppClassification/app/otbImageClassifier.cxx
@@ -127,6 +127,8 @@ private:
     SetDocExampleParameterValue("imstat", "EstimateImageStatisticsQB1.xml");
     SetDocExampleParameterValue("model", "clsvmModelQB1.svm");
     SetDocExampleParameterValue("out", "clLabeledImageQB1.tif");
+
+    otbAppDocLink();
   }
 
   void DoUpdateParameters() ITK_OVERRIDE
diff --git a/Modules/Applications/AppClassification/app/otbKMeansClassification.cxx b/Modules/Applications/AppClassification/app/otbKMeansClassification.cxx
index 3e817d0a89..ff42a351e6 100644
--- a/Modules/Applications/AppClassification/app/otbKMeansClassification.cxx
+++ b/Modules/Applications/AppClassification/app/otbKMeansClassification.cxx
@@ -220,6 +220,8 @@ private:
     SetDocExampleParameterValue("maxit", "1000");
     SetDocExampleParameterValue("ct", "0.0001");
     SetDocExampleParameterValue("out", "ClassificationFilterOutput.tif");
+
+    otbAppDocLink();
   }
 
   void DoUpdateParameters() ITK_OVERRIDE
diff --git a/Modules/Applications/AppClassification/app/otbMultiImageSamplingRate.cxx b/Modules/Applications/AppClassification/app/otbMultiImageSamplingRate.cxx
index 3f10c18120..9c290be546 100644
--- a/Modules/Applications/AppClassification/app/otbMultiImageSamplingRate.cxx
+++ b/Modules/Applications/AppClassification/app/otbMultiImageSamplingRate.cxx
@@ -182,6 +182,8 @@ private:
     SetDocExampleParameterValue("out", "rates.csv");
     SetDocExampleParameterValue("strategy", "smallest");
     SetDocExampleParameterValue("mim","proportional");
+
+    otbAppDocLink();
   }
 
   void DoUpdateParameters()
diff --git a/Modules/Applications/AppClassification/app/otbOGRLayerClassifier.cxx b/Modules/Applications/AppClassification/app/otbOGRLayerClassifier.cxx
index 1add64f928..97cf6226ec 100644
--- a/Modules/Applications/AppClassification/app/otbOGRLayerClassifier.cxx
+++ b/Modules/Applications/AppClassification/app/otbOGRLayerClassifier.cxx
@@ -91,6 +91,7 @@ private:
     SetDocExampleParameterValue("feat", "perimeter");
     SetDocExampleParameterValue("cfield", "predicted");
 
+    otbAppDocLink();
   }
 
   void DoUpdateParameters() ITK_OVERRIDE
diff --git a/Modules/Applications/AppClassification/app/otbPolygonClassStatistics.cxx b/Modules/Applications/AppClassification/app/otbPolygonClassStatistics.cxx
index d7d8091848..acabbc68e7 100644
--- a/Modules/Applications/AppClassification/app/otbPolygonClassStatistics.cxx
+++ b/Modules/Applications/AppClassification/app/otbPolygonClassStatistics.cxx
@@ -123,6 +123,8 @@ private:
     SetDocExampleParameterValue("vec", "variousVectors.sqlite");
     SetDocExampleParameterValue("field", "label");
     SetDocExampleParameterValue("out","polygonStat.xml");
+
+    otbAppDocLink();
   }
 
   void DoUpdateParameters() ITK_OVERRIDE
diff --git a/Modules/Applications/AppClassification/app/otbPredictRegression.cxx b/Modules/Applications/AppClassification/app/otbPredictRegression.cxx
index 1267ee393a..c9bba80a72 100644
--- a/Modules/Applications/AppClassification/app/otbPredictRegression.cxx
+++ b/Modules/Applications/AppClassification/app/otbPredictRegression.cxx
@@ -178,6 +178,8 @@ private:
     SetDocExampleParameterValue("imstat", "EstimateImageStatisticsQB1.xml");
     SetDocExampleParameterValue("model", "clsvmModelQB1.svm");
     SetDocExampleParameterValue("out", "clLabeledImageQB1.tif");
+
+    otbAppDocLink();
   }
 
   void DoUpdateParameters() ITK_OVERRIDE
diff --git a/Modules/Applications/AppClassification/app/otbSOMClassification.cxx b/Modules/Applications/AppClassification/app/otbSOMClassification.cxx
index d058700183..7c123d1ccf 100644
--- a/Modules/Applications/AppClassification/app/otbSOMClassification.cxx
+++ b/Modules/Applications/AppClassification/app/otbSOMClassification.cxx
@@ -174,6 +174,8 @@ private:
     SetDocExampleParameterValue("bi", "1.0");
     SetDocExampleParameterValue("bf", "0.1");
     SetDocExampleParameterValue("iv", "0");
+
+    otbAppDocLink();
   }
 
   void DoUpdateParameters() ITK_OVERRIDE
diff --git a/Modules/Applications/AppClassification/app/otbSampleExtraction.cxx b/Modules/Applications/AppClassification/app/otbSampleExtraction.cxx
index d02d7edf32..0f3ee04db5 100644
--- a/Modules/Applications/AppClassification/app/otbSampleExtraction.cxx
+++ b/Modules/Applications/AppClassification/app/otbSampleExtraction.cxx
@@ -115,6 +115,8 @@ private:
     SetDocExampleParameterValue("outfield.prefix.name","band_");
     SetDocExampleParameterValue("field", "label");
     SetDocExampleParameterValue("out","sample_values.sqlite");
+
+    otbAppDocLink();
   }
 
   void DoUpdateParameters()
diff --git a/Modules/Applications/AppClassification/app/otbSampleSelection.cxx b/Modules/Applications/AppClassification/app/otbSampleSelection.cxx
index 53114a7959..d12ce42334 100644
--- a/Modules/Applications/AppClassification/app/otbSampleSelection.cxx
+++ b/Modules/Applications/AppClassification/app/otbSampleSelection.cxx
@@ -223,6 +223,8 @@ private:
     SetDocExampleParameterValue("field", "label");
     SetDocExampleParameterValue("instats","apTvClPolygonClassStatisticsOut.xml");
     SetDocExampleParameterValue("out","resampledVectors.sqlite");
+
+    otbAppDocLink();
   }
 
   void DoUpdateParameters()
diff --git a/Modules/Applications/AppClassification/app/otbTrainImagesClassifier.cxx b/Modules/Applications/AppClassification/app/otbTrainImagesClassifier.cxx
index c841489f79..65b84607cf 100644
--- a/Modules/Applications/AppClassification/app/otbTrainImagesClassifier.cxx
+++ b/Modules/Applications/AppClassification/app/otbTrainImagesClassifier.cxx
@@ -82,6 +82,8 @@ public:
     SetDocExampleParameterValue( "classifier.libsvm.opt", "false" );
     SetDocExampleParameterValue( "io.out", "svmModelQB1.txt" );
     SetDocExampleParameterValue( "io.confmatout", "svmConfusionMatrixQB1.csv" );
+
+    otbAppDocLink();
   }
 
   void DoUpdateParameters() ITK_OVERRIDE
diff --git a/Modules/Applications/AppClassification/app/otbTrainRegression.cxx b/Modules/Applications/AppClassification/app/otbTrainRegression.cxx
index 0e9fc02dfe..921ea20dd8 100644
--- a/Modules/Applications/AppClassification/app/otbTrainRegression.cxx
+++ b/Modules/Applications/AppClassification/app/otbTrainRegression.cxx
@@ -174,6 +174,8 @@ void DoInit() ITK_OVERRIDE
   SetDocExampleParameterValue("io.out", "regression_model.txt");
   SetDocExampleParameterValue("io.imstat", "training_statistics.xml");
   SetDocExampleParameterValue("classifier", "libsvm");
+
+  otbAppDocLink();
 }
 
 void DoUpdateParameters() ITK_OVERRIDE
diff --git a/Modules/Applications/AppClassification/app/otbTrainVectorClassifier.cxx b/Modules/Applications/AppClassification/app/otbTrainVectorClassifier.cxx
index f24a4f6567..3acfdc0f03 100644
--- a/Modules/Applications/AppClassification/app/otbTrainVectorClassifier.cxx
+++ b/Modules/Applications/AppClassification/app/otbTrainVectorClassifier.cxx
@@ -66,6 +66,8 @@ protected:
     SetDocAuthors( "OTB Team" );
     SetDocSeeAlso( " " );
 
+    otbAppDocLink();
+
     Superclass::DoInit();
   }
 
diff --git a/Modules/Applications/AppClassification/app/otbVectorClassifier.cxx b/Modules/Applications/AppClassification/app/otbVectorClassifier.cxx
index 7d7cdfdc74..f71bdc2ae1 100644
--- a/Modules/Applications/AppClassification/app/otbVectorClassifier.cxx
+++ b/Modules/Applications/AppClassification/app/otbVectorClassifier.cxx
@@ -145,6 +145,8 @@ private:
     SetDocExampleParameterValue("out", "svmModel.svm");
     SetDocExampleParameterValue("feat", "perimeter  area  width");
     SetDocExampleParameterValue("cfield", "predicted");
+
+    otbAppDocLink();
   }
 
   void DoUpdateParameters() ITK_OVERRIDE
diff --git a/Modules/Applications/AppClassification/app/otbVectorDataDSValidation.cxx b/Modules/Applications/AppClassification/app/otbVectorDataDSValidation.cxx
index 3790c9f5fc..abd98ff2ea 100644
--- a/Modules/Applications/AppClassification/app/otbVectorDataDSValidation.cxx
+++ b/Modules/Applications/AppClassification/app/otbVectorDataDSValidation.cxx
@@ -103,6 +103,7 @@ private:
     SetDocExampleParameterValue("descmod", "DSFuzzyModel.xml");
     SetDocExampleParameterValue("out", "VectorDataDSValidation.shp");
 
+    otbAppDocLink();
   }
 
   void DoUpdateParameters() ITK_OVERRIDE
diff --git a/Modules/Applications/AppDescriptors/app/otbHomologousPointsExtraction.cxx b/Modules/Applications/AppDescriptors/app/otbHomologousPointsExtraction.cxx
index 2364078553..7c00321195 100644
--- a/Modules/Applications/AppDescriptors/app/otbHomologousPointsExtraction.cxx
+++ b/Modules/Applications/AppDescriptors/app/otbHomologousPointsExtraction.cxx
@@ -198,6 +198,8 @@ private:
     SetDocExampleParameterValue("in2","sensor_stereo_right.tif");
     SetDocExampleParameterValue("mode","full");
     SetDocExampleParameterValue("out","homologous.txt");
+
+    otbAppDocLink();
   }
 
   void DoUpdateParameters() ITK_OVERRIDE
diff --git a/Modules/Applications/AppDimensionalityReduction/app/otbDimensionalityReduction.cxx b/Modules/Applications/AppDimensionalityReduction/app/otbDimensionalityReduction.cxx
index 4f2a55afa3..b6cfe5d440 100644
--- a/Modules/Applications/AppDimensionalityReduction/app/otbDimensionalityReduction.cxx
+++ b/Modules/Applications/AppDimensionalityReduction/app/otbDimensionalityReduction.cxx
@@ -180,6 +180,8 @@ private:
     SetDocExampleParameterValue("in", "cupriteSubHsi.tif");
     SetDocExampleParameterValue("out", "FilterOutput.tif");
     SetDocExampleParameterValue("method", "pca");
+
+    otbAppDocLink();
   }
 
   void DoUpdateParameters() ITK_OVERRIDE
diff --git a/Modules/Applications/AppDomainTransform/app/otbDomainTransform.cxx b/Modules/Applications/AppDomainTransform/app/otbDomainTransform.cxx
index e5c0e8a583..85509ba816 100644
--- a/Modules/Applications/AppDomainTransform/app/otbDomainTransform.cxx
+++ b/Modules/Applications/AppDomainTransform/app/otbDomainTransform.cxx
@@ -169,6 +169,8 @@ private:
     SetDocExampleParameterValue("in", "input.tif");
     SetDocExampleParameterValue("mode.wavelet.form", "haar");
     SetDocExampleParameterValue("out", "output_wavelet_haar.tif");
+
+    otbAppDocLink();
   }
 
   void DoUpdateParameters() ITK_OVERRIDE
diff --git a/Modules/Applications/AppEdge/app/otbEdgeExtraction.cxx b/Modules/Applications/AppEdge/app/otbEdgeExtraction.cxx
index 62556358c9..021f4480c2 100644
--- a/Modules/Applications/AppEdge/app/otbEdgeExtraction.cxx
+++ b/Modules/Applications/AppEdge/app/otbEdgeExtraction.cxx
@@ -122,6 +122,8 @@ SetParameterDescription("out", "Output image containing the edge features.");
 SetDocExampleParameterValue("in", "qb_RoadExtract.tif");
 SetDocExampleParameterValue("channel", "1");
 SetDocExampleParameterValue("out", "Edges.tif");
+
+otbAppDocLink();
 }
 
 void DoUpdateParameters() ITK_OVERRIDE
diff --git a/Modules/Applications/AppEdge/app/otbLineSegmentDetection.cxx b/Modules/Applications/AppEdge/app/otbLineSegmentDetection.cxx
index 824613351f..c918f9f888 100644
--- a/Modules/Applications/AppEdge/app/otbLineSegmentDetection.cxx
+++ b/Modules/Applications/AppEdge/app/otbLineSegmentDetection.cxx
@@ -85,6 +85,8 @@ private:
     // Doc example parameter settings
     SetDocExampleParameterValue("in", "QB_Suburb.png");
     SetDocExampleParameterValue("out", "LineSegmentDetection.shp");
+
+    otbAppDocLink();
   }
 
   void DoUpdateParameters() ITK_OVERRIDE
diff --git a/Modules/Applications/AppFiltering/app/otbDespeckle.cxx b/Modules/Applications/AppFiltering/app/otbDespeckle.cxx
index bbfdf67b95..2f481a6d9f 100644
--- a/Modules/Applications/AppFiltering/app/otbDespeckle.cxx
+++ b/Modules/Applications/AppFiltering/app/otbDespeckle.cxx
@@ -124,6 +124,8 @@ private:
     SetDocExampleParameterValue("filter","lee");
     SetDocExampleParameterValue("filter.lee.rad", "5");
     SetDocExampleParameterValue("out", "despeckle.tif");
+
+    otbAppDocLink();
   }
 
   void DoUpdateParameters() ITK_OVERRIDE
diff --git a/Modules/Applications/AppFiltering/app/otbSmoothing.cxx b/Modules/Applications/AppFiltering/app/otbSmoothing.cxx
index 804c53d732..6306b4f858 100644
--- a/Modules/Applications/AppFiltering/app/otbSmoothing.cxx
+++ b/Modules/Applications/AppFiltering/app/otbSmoothing.cxx
@@ -121,6 +121,8 @@ private:
     SetDocExampleParameterValue("type.anidif.timestep", "0.1", exId);
     SetDocExampleParameterValue("type.anidif.nbiter", "5", exId);
     SetDocExampleParameterValue("type.anidif.conductance", "1.5", exId);
+
+    otbAppDocLink();
   }
 
   void DoUpdateParameters() ITK_OVERRIDE
diff --git a/Modules/Applications/AppFusion/app/otbBundleToPerfectSensor.cxx b/Modules/Applications/AppFusion/app/otbBundleToPerfectSensor.cxx
index 3a63a73b31..237b97024d 100644
--- a/Modules/Applications/AppFusion/app/otbBundleToPerfectSensor.cxx
+++ b/Modules/Applications/AppFusion/app/otbBundleToPerfectSensor.cxx
@@ -83,6 +83,7 @@ private:
     SetDocExampleParameterValue("inxs", "QB_Toulouse_Ortho_XS.tif");
     SetDocExampleParameterValue("out", "BundleToPerfectSensor.png uchar");
 
+    otbAppDocLink();
   }
 
   void DoUpdateParameters() ITK_OVERRIDE
diff --git a/Modules/Applications/AppFusion/app/otbPansharpening.cxx b/Modules/Applications/AppFusion/app/otbPansharpening.cxx
index 191816fc78..85faaeb46a 100644
--- a/Modules/Applications/AppFusion/app/otbPansharpening.cxx
+++ b/Modules/Applications/AppFusion/app/otbPansharpening.cxx
@@ -135,6 +135,7 @@ private:
     SetDocExampleParameterValue("inxs", "QB_Toulouse_Ortho_XS.tif");
     SetDocExampleParameterValue("out", "Pansharpening.tif uint16");
 
+    otbAppDocLink();
   }
 
   void DoUpdateParameters() ITK_OVERRIDE
diff --git a/Modules/Applications/AppHyperspectral/app/otbHyperspectralUnmixing.cxx b/Modules/Applications/AppHyperspectral/app/otbHyperspectralUnmixing.cxx
index 34473e2818..9d118f36dc 100644
--- a/Modules/Applications/AppHyperspectral/app/otbHyperspectralUnmixing.cxx
+++ b/Modules/Applications/AppHyperspectral/app/otbHyperspectralUnmixing.cxx
@@ -135,6 +135,8 @@ private:
     SetDocExampleParameterValue("ie", "cupriteEndmembers.tif");
     SetDocExampleParameterValue("out", "HyperspectralUnmixing.tif double");
     SetDocExampleParameterValue("ua", "ucls");
+
+    otbAppDocLink();
   }
 
   void DoUpdateParameters() ITK_OVERRIDE
diff --git a/Modules/Applications/AppHyperspectral/app/otbVertexComponentAnalysis.cxx b/Modules/Applications/AppHyperspectral/app/otbVertexComponentAnalysis.cxx
index ae7474cdb8..a86468ea8d 100644
--- a/Modules/Applications/AppHyperspectral/app/otbVertexComponentAnalysis.cxx
+++ b/Modules/Applications/AppHyperspectral/app/otbVertexComponentAnalysis.cxx
@@ -80,6 +80,8 @@ private:
     SetDocExampleParameterValue("in", "cupriteSubHsi.tif");
     SetDocExampleParameterValue("ne", "5");
     SetDocExampleParameterValue("outendm", "VertexComponentAnalysis.tif double");
+
+    otbAppDocLink();
   }
 
   void DoUpdateParameters() ITK_OVERRIDE
diff --git a/Modules/Applications/AppImageUtils/app/otbColorMapping.cxx b/Modules/Applications/AppImageUtils/app/otbColorMapping.cxx
index 2bfbceb715..e2d3ddf893 100644
--- a/Modules/Applications/AppImageUtils/app/otbColorMapping.cxx
+++ b/Modules/Applications/AppImageUtils/app/otbColorMapping.cxx
@@ -393,6 +393,8 @@ private:
     SetDocExampleParameterValue("method", "custom");
     SetDocExampleParameterValue("method.custom.lut", "ROI_QB_MUL_1_SVN_CLASS_MULTI_PNG_ColorTable.txt");
     SetDocExampleParameterValue("out", "Colorized_ROI_QB_MUL_1_SVN_CLASS_MULTI.tif");
+
+    otbAppDocLink();
  }
 
   void DoUpdateParameters() ITK_OVERRIDE
diff --git a/Modules/Applications/AppImageUtils/app/otbCompareImages.cxx b/Modules/Applications/AppImageUtils/app/otbCompareImages.cxx
index a20f9716be..b8694d0801 100644
--- a/Modules/Applications/AppImageUtils/app/otbCompareImages.cxx
+++ b/Modules/Applications/AppImageUtils/app/otbCompareImages.cxx
@@ -130,6 +130,8 @@ private:
     SetDocExampleParameterValue("roi.starty", "30");
     SetDocExampleParameterValue("roi.sizex", "150");
     SetDocExampleParameterValue("roi.sizey", "200");
+
+    otbAppDocLink();
   }
 
   void DoUpdateParameters() ITK_OVERRIDE
diff --git a/Modules/Applications/AppImageUtils/app/otbConcatenateImages.cxx b/Modules/Applications/AppImageUtils/app/otbConcatenateImages.cxx
index 453a5718fe..4f6dc3d167 100644
--- a/Modules/Applications/AppImageUtils/app/otbConcatenateImages.cxx
+++ b/Modules/Applications/AppImageUtils/app/otbConcatenateImages.cxx
@@ -85,6 +85,8 @@ private:
     // Doc example parameter settings
     SetDocExampleParameterValue("il", "GomaAvant.png GomaApres.png");
     SetDocExampleParameterValue("out", "otbConcatenateImages.tif");
+
+    otbAppDocLink();
   }
 
   void DoUpdateParameters() ITK_OVERRIDE
diff --git a/Modules/Applications/AppImageUtils/app/otbConvert.cxx b/Modules/Applications/AppImageUtils/app/otbConvert.cxx
index 6143f6d9ec..440a1105e3 100644
--- a/Modules/Applications/AppImageUtils/app/otbConvert.cxx
+++ b/Modules/Applications/AppImageUtils/app/otbConvert.cxx
@@ -138,6 +138,8 @@ private:
     SetDocExampleParameterValue("in", "QB_Toulouse_Ortho_XS.tif");
     SetDocExampleParameterValue("out", "otbConvertWithScalingOutput.png uint8");
     SetDocExampleParameterValue("type", "linear");
+
+    otbAppDocLink();
   }
 
   void DoUpdateParameters() ITK_OVERRIDE
diff --git a/Modules/Applications/AppImageUtils/app/otbDEMConvert.cxx b/Modules/Applications/AppImageUtils/app/otbDEMConvert.cxx
index 284023b040..848c9481d8 100644
--- a/Modules/Applications/AppImageUtils/app/otbDEMConvert.cxx
+++ b/Modules/Applications/AppImageUtils/app/otbDEMConvert.cxx
@@ -71,6 +71,8 @@ private:
     // Doc example parameter settings
     SetDocExampleParameterValue("in", "QB_Toulouse_Ortho_Elev.tif");
     SetDocExampleParameterValue("out", "outputDEM");
+
+    otbAppDocLink();
 }
 
 void DoUpdateParameters() ITK_OVERRIDE
diff --git a/Modules/Applications/AppImageUtils/app/otbDownloadSRTMTiles.cxx b/Modules/Applications/AppImageUtils/app/otbDownloadSRTMTiles.cxx
index 5e111adb2f..d70087ad38 100644
--- a/Modules/Applications/AppImageUtils/app/otbDownloadSRTMTiles.cxx
+++ b/Modules/Applications/AppImageUtils/app/otbDownloadSRTMTiles.cxx
@@ -133,6 +133,7 @@ private:
     SetDocExampleParameterValue("mode", "list");
     SetDocExampleParameterValue("mode.list.indir", "/home/user/srtm_dir/");
 
+    otbAppDocLink();
   }
 
   void DoUpdateParameters() ITK_OVERRIDE
diff --git a/Modules/Applications/AppImageUtils/app/otbExtractROI.cxx b/Modules/Applications/AppImageUtils/app/otbExtractROI.cxx
index 73673b675f..29802ca98c 100644
--- a/Modules/Applications/AppImageUtils/app/otbExtractROI.cxx
+++ b/Modules/Applications/AppImageUtils/app/otbExtractROI.cxx
@@ -117,6 +117,8 @@ private:
     SetDocExampleParameterValue("sizex", "150");
     SetDocExampleParameterValue("sizey", "150");
     SetDocExampleParameterValue("out", "ExtractROI.tif");
+
+    otbAppDocLink();
   }
 
   void DoUpdateParameters() ITK_OVERRIDE
diff --git a/Modules/Applications/AppImageUtils/app/otbManageNoData.cxx b/Modules/Applications/AppImageUtils/app/otbManageNoData.cxx
index efe57c30f6..82e05e60d7 100644
--- a/Modules/Applications/AppImageUtils/app/otbManageNoData.cxx
+++ b/Modules/Applications/AppImageUtils/app/otbManageNoData.cxx
@@ -121,6 +121,8 @@ private:
     SetDocExampleParameterValue("out", "QB_Toulouse_Ortho_XS_nodatamask.tif uint8");
     SetDocExampleParameterValue("mode.buildmask.inv", "255");
     SetDocExampleParameterValue("mode.buildmask.outv", "0");
+
+    otbAppDocLink();
   }
 
   void DoUpdateParameters() ITK_OVERRIDE
diff --git a/Modules/Applications/AppImageUtils/app/otbMultiResolutionPyramid.cxx b/Modules/Applications/AppImageUtils/app/otbMultiResolutionPyramid.cxx
index 6db1761301..eb5598f8ee 100644
--- a/Modules/Applications/AppImageUtils/app/otbMultiResolutionPyramid.cxx
+++ b/Modules/Applications/AppImageUtils/app/otbMultiResolutionPyramid.cxx
@@ -110,6 +110,8 @@ private:
     SetDocExampleParameterValue("sfactor", "2");
     SetDocExampleParameterValue("vfactor", "0.6");
     SetDocExampleParameterValue("fast", "false");
+
+    otbAppDocLink();
   }
 
   void DoUpdateParameters() ITK_OVERRIDE
diff --git a/Modules/Applications/AppImageUtils/app/otbPixelValue.cxx b/Modules/Applications/AppImageUtils/app/otbPixelValue.cxx
index 573b84d849..24dd0ba98b 100644
--- a/Modules/Applications/AppImageUtils/app/otbPixelValue.cxx
+++ b/Modules/Applications/AppImageUtils/app/otbPixelValue.cxx
@@ -87,6 +87,8 @@ private:
     SetDocExampleParameterValue("coordx", "50");
     SetDocExampleParameterValue("coordy", "100");
     SetDocExampleParameterValue("cl", "Channel1");
+
+    otbAppDocLink();
   }
 
   void DoUpdateParameters() ITK_OVERRIDE
diff --git a/Modules/Applications/AppImageUtils/app/otbQuicklook.cxx b/Modules/Applications/AppImageUtils/app/otbQuicklook.cxx
index 3e6f6a03b1..f5f39a13e2 100644
--- a/Modules/Applications/AppImageUtils/app/otbQuicklook.cxx
+++ b/Modules/Applications/AppImageUtils/app/otbQuicklook.cxx
@@ -117,6 +117,8 @@ private:
     // Doc example parameter settings
     SetDocExampleParameterValue("in", "qb_RoadExtract.tif");
     SetDocExampleParameterValue("out", "quicklookImage.tif");
+
+    otbAppDocLink();
   }
 
   void DoUpdateParameters() ITK_OVERRIDE
diff --git a/Modules/Applications/AppImageUtils/app/otbReadImageInfo.cxx b/Modules/Applications/AppImageUtils/app/otbReadImageInfo.cxx
index bb2bc08e75..be45483a39 100644
--- a/Modules/Applications/AppImageUtils/app/otbReadImageInfo.cxx
+++ b/Modules/Applications/AppImageUtils/app/otbReadImageInfo.cxx
@@ -246,6 +246,8 @@ private:
 
     // Doc example parameter settings
     SetDocExampleParameterValue("in", "QB_Toulouse_Ortho_XS.tif");
+
+    otbAppDocLink();
   }
 
   void DoUpdateParameters() ITK_OVERRIDE
diff --git a/Modules/Applications/AppImageUtils/app/otbRescale.cxx b/Modules/Applications/AppImageUtils/app/otbRescale.cxx
index 1900f92eca..5213819a95 100644
--- a/Modules/Applications/AppImageUtils/app/otbRescale.cxx
+++ b/Modules/Applications/AppImageUtils/app/otbRescale.cxx
@@ -86,6 +86,8 @@ private:
     SetDocExampleParameterValue("out", "rescaledImage.png uchar");
     SetDocExampleParameterValue("outmin", "0");
     SetDocExampleParameterValue("outmax", "255");
+
+    otbAppDocLink();
   }
 
   void DoUpdateParameters() ITK_OVERRIDE
diff --git a/Modules/Applications/AppImageUtils/app/otbSplitImage.cxx b/Modules/Applications/AppImageUtils/app/otbSplitImage.cxx
index 06778671d6..4f4dc8fef4 100644
--- a/Modules/Applications/AppImageUtils/app/otbSplitImage.cxx
+++ b/Modules/Applications/AppImageUtils/app/otbSplitImage.cxx
@@ -74,6 +74,8 @@ private:
   // Doc example parameter settings
     SetDocExampleParameterValue("in", "VegetationIndex.hd");
     SetDocExampleParameterValue("out", "splitImage.tif");
+
+    otbAppDocLink();
   }
 
   void DoUpdateParameters() ITK_OVERRIDE
diff --git a/Modules/Applications/AppImageUtils/app/otbTileFusion.cxx b/Modules/Applications/AppImageUtils/app/otbTileFusion.cxx
index 569de493bd..bb33e98344 100644
--- a/Modules/Applications/AppImageUtils/app/otbTileFusion.cxx
+++ b/Modules/Applications/AppImageUtils/app/otbTileFusion.cxx
@@ -76,6 +76,8 @@ private:
     SetDocExampleParameterValue("cols","2");
     SetDocExampleParameterValue("rows","2");
     SetDocExampleParameterValue("out", "EntireImage.tif");
+
+    otbAppDocLink();
   }
 
   void DoUpdateParameters() ITK_OVERRIDE
diff --git a/Modules/Applications/AppIndices/app/otbRadiometricIndices.cxx b/Modules/Applications/AppIndices/app/otbRadiometricIndices.cxx
index 09be5e12e4..8c3129249d 100644
--- a/Modules/Applications/AppIndices/app/otbRadiometricIndices.cxx
+++ b/Modules/Applications/AppIndices/app/otbRadiometricIndices.cxx
@@ -205,6 +205,8 @@ private:
     SetDocExampleParameterValue("list", "Vegetation:NDVI Vegetation:RVI Vegetation:IPVI");
     SetDocExampleParameterValue("out", "RadiometricIndicesImage.tif");
 
+    otbAppDocLink();
+
     m_Map.clear();
 
     // Add Available choices
diff --git a/Modules/Applications/AppKMZ/app/otbKmzExport.cxx b/Modules/Applications/AppKMZ/app/otbKmzExport.cxx
index 63de8e9502..56f5292aec 100644
--- a/Modules/Applications/AppKMZ/app/otbKmzExport.cxx
+++ b/Modules/Applications/AppKMZ/app/otbKmzExport.cxx
@@ -86,6 +86,8 @@ private:
     SetDocExampleParameterValue("in", "qb_RoadExtract2.tif");
     SetDocExampleParameterValue("out", "otbKmzExport.kmz");
     SetDocExampleParameterValue("logo", "otb_big.png");
+
+    otbAppDocLink();
   }
 
 
diff --git a/Modules/Applications/AppMathParser/app/otbBandMath.cxx b/Modules/Applications/AppMathParser/app/otbBandMath.cxx
index 6f9b0624aa..7b98ba9d1b 100644
--- a/Modules/Applications/AppMathParser/app/otbBandMath.cxx
+++ b/Modules/Applications/AppMathParser/app/otbBandMath.cxx
@@ -87,6 +87,8 @@ private:
     SetDocExampleParameterValue("il", "verySmallFSATSW_r.tif verySmallFSATSW_nir.tif verySmallFSATSW.tif");
     SetDocExampleParameterValue("out", "apTvUtBandMathOutput.tif");
     SetDocExampleParameterValue("exp", "\"cos(im1b1) > cos(im2b1) ? im3b1 : im3b2\"");
+
+    otbAppDocLink();
   }
 
   void DoUpdateParameters() ITK_OVERRIDE
diff --git a/Modules/Applications/AppMathParserX/app/otbBandMathX.cxx b/Modules/Applications/AppMathParserX/app/otbBandMathX.cxx
index 9c7ea80560..4dda6c1c69 100644
--- a/Modules/Applications/AppMathParserX/app/otbBandMathX.cxx
+++ b/Modules/Applications/AppMathParserX/app/otbBandMathX.cxx
@@ -172,6 +172,8 @@ private:
     SetDocExampleParameterValue("il", "verySmallFSATSW_r.tif verySmallFSATSW_nir.tif verySmallFSATSW.tif");
     SetDocExampleParameterValue("out", "apTvUtBandMathOutput.tif");
     SetDocExampleParameterValue("exp", "\"cos(im1b1)+im2b1*im3b1-im3b2+ndvi(im3b3, im3b4)\"");
+
+    otbAppDocLink();
   }
 
   void DoUpdateParameters() ITK_OVERRIDE
diff --git a/Modules/Applications/AppMoments/app/otbLocalStatisticExtraction.cxx b/Modules/Applications/AppMoments/app/otbLocalStatisticExtraction.cxx
index a2b121e677..aaf832d025 100644
--- a/Modules/Applications/AppMoments/app/otbLocalStatisticExtraction.cxx
+++ b/Modules/Applications/AppMoments/app/otbLocalStatisticExtraction.cxx
@@ -93,6 +93,8 @@ SetDocExampleParameterValue("in", "qb_RoadExtract.tif");
 SetDocExampleParameterValue("channel", "1");
 SetDocExampleParameterValue("radius", "3");
 SetDocExampleParameterValue("out", "Statistics.tif");
+
+otbAppDocLink();
 }
 
 void DoUpdateParameters() ITK_OVERRIDE
diff --git a/Modules/Applications/AppMorphology/app/otbBinaryMorphologicalOperation.cxx b/Modules/Applications/AppMorphology/app/otbBinaryMorphologicalOperation.cxx
index 66a303d0df..fa74a38e0d 100644
--- a/Modules/Applications/AppMorphology/app/otbBinaryMorphologicalOperation.cxx
+++ b/Modules/Applications/AppMorphology/app/otbBinaryMorphologicalOperation.cxx
@@ -157,6 +157,8 @@ SetDocExampleParameterValue("channel", "1");
 SetDocExampleParameterValue("structype.ball.xradius", "5");
 SetDocExampleParameterValue("structype.ball.yradius", "5");
 SetDocExampleParameterValue("filter", "erode");
+
+otbAppDocLink();
 }
 
 void DoUpdateParameters() ITK_OVERRIDE
diff --git a/Modules/Applications/AppMorphology/app/otbGrayScaleMorphologicalOperation.cxx b/Modules/Applications/AppMorphology/app/otbGrayScaleMorphologicalOperation.cxx
index 8f7c60953f..7daf4db95e 100644
--- a/Modules/Applications/AppMorphology/app/otbGrayScaleMorphologicalOperation.cxx
+++ b/Modules/Applications/AppMorphology/app/otbGrayScaleMorphologicalOperation.cxx
@@ -140,6 +140,8 @@ SetDocExampleParameterValue("channel", "1");
 SetDocExampleParameterValue("structype.ball.xradius", "5");
 SetDocExampleParameterValue("structype.ball.yradius", "5");
 SetDocExampleParameterValue("filter", "erode");
+
+otbAppDocLink();
 }
 
 void DoUpdateParameters() ITK_OVERRIDE
diff --git a/Modules/Applications/AppMorphology/app/otbMorphologicalClassification.cxx b/Modules/Applications/AppMorphology/app/otbMorphologicalClassification.cxx
index 8362a7881e..60bd751535 100644
--- a/Modules/Applications/AppMorphology/app/otbMorphologicalClassification.cxx
+++ b/Modules/Applications/AppMorphology/app/otbMorphologicalClassification.cxx
@@ -140,6 +140,7 @@ private:
     SetDocExampleParameterValue( "sigma", "0.5" );
     SetDocExampleParameterValue( "out", "output.tif" );
 
+    otbAppDocLink();
   }
 
   void DoUpdateParameters() ITK_OVERRIDE
diff --git a/Modules/Applications/AppMorphology/app/otbMorphologicalMultiScaleDecomposition.cxx b/Modules/Applications/AppMorphology/app/otbMorphologicalMultiScaleDecomposition.cxx
index 824786a770..2a22e1fd96 100644
--- a/Modules/Applications/AppMorphology/app/otbMorphologicalMultiScaleDecomposition.cxx
+++ b/Modules/Applications/AppMorphology/app/otbMorphologicalMultiScaleDecomposition.cxx
@@ -153,7 +153,7 @@ private:
     SetDocExampleParameterValue("outconcave", "concave.tif");
     SetDocExampleParameterValue("outleveling", "leveling.tif");
 
-
+    otbAppDocLink();
   }
 
   void DoUpdateParameters() ITK_OVERRIDE
diff --git a/Modules/Applications/AppMorphology/app/otbMorphologicalProfilesAnalysis.cxx b/Modules/Applications/AppMorphology/app/otbMorphologicalProfilesAnalysis.cxx
index bc451b06d8..72c454b67e 100644
--- a/Modules/Applications/AppMorphology/app/otbMorphologicalProfilesAnalysis.cxx
+++ b/Modules/Applications/AppMorphology/app/otbMorphologicalProfilesAnalysis.cxx
@@ -170,6 +170,8 @@ private:
     SetDocExampleParameterValue( "step", "1" );
     SetDocExampleParameterValue( "profile.classification.sigma", "1" );
     SetDocExampleParameterValue( "out", "output.tif" );
+
+    otbAppDocLink();
   }
 
   void DoUpdateParameters() ITK_OVERRIDE
diff --git a/Modules/Applications/AppOpticalCalibration/app/otbOpticalCalibration.cxx b/Modules/Applications/AppOpticalCalibration/app/otbOpticalCalibration.cxx
index 584e3f0365..b2423be253 100644
--- a/Modules/Applications/AppOpticalCalibration/app/otbOpticalCalibration.cxx
+++ b/Modules/Applications/AppOpticalCalibration/app/otbOpticalCalibration.cxx
@@ -353,6 +353,8 @@ private:
     SetDocExampleParameterValue("level", "toa");
     SetDocExampleParameterValue("out", "OpticalCalibration.tif");
 
+    otbAppDocLink();
+
     m_inImageName = "";
     m_currentEnabledStateOfFluxParam=false;
   }
diff --git a/Modules/Applications/AppProjection/app/otbConvertCartoToGeoPoint.cxx b/Modules/Applications/AppProjection/app/otbConvertCartoToGeoPoint.cxx
index d16898d57b..255e00f4f1 100644
--- a/Modules/Applications/AppProjection/app/otbConvertCartoToGeoPoint.cxx
+++ b/Modules/Applications/AppProjection/app/otbConvertCartoToGeoPoint.cxx
@@ -89,6 +89,8 @@ private:
     SetDocExampleParameterValue("mapproj", "utm");
     SetDocExampleParameterValue("mapproj.utm.northhem", "true");
     SetDocExampleParameterValue("mapproj.utm.zone", "31");
+
+    otbAppDocLink();
   }
 
   void DoUpdateParameters() ITK_OVERRIDE
diff --git a/Modules/Applications/AppProjection/app/otbConvertSensorToGeoPoint.cxx b/Modules/Applications/AppProjection/app/otbConvertSensorToGeoPoint.cxx
index 9575d24a1a..eee000f1cf 100644
--- a/Modules/Applications/AppProjection/app/otbConvertSensorToGeoPoint.cxx
+++ b/Modules/Applications/AppProjection/app/otbConvertSensorToGeoPoint.cxx
@@ -97,6 +97,8 @@ private:
     SetDocExampleParameterValue("in","QB_TOULOUSE_MUL_Extract_500_500.tif");
     SetDocExampleParameterValue("input.idx","200");
     SetDocExampleParameterValue("input.idy","200");
+
+    otbAppDocLink();
   }
 
   void DoUpdateParameters() ITK_OVERRIDE
diff --git a/Modules/Applications/AppProjection/app/otbGenerateRPCSensorModel.cxx b/Modules/Applications/AppProjection/app/otbGenerateRPCSensorModel.cxx
index d0c828dca4..33d40a6115 100644
--- a/Modules/Applications/AppProjection/app/otbGenerateRPCSensorModel.cxx
+++ b/Modules/Applications/AppProjection/app/otbGenerateRPCSensorModel.cxx
@@ -104,6 +104,8 @@ private:
     SetDocExampleParameterValue("inpoints","points.txt");
     SetDocExampleParameterValue("map","epsg");
     SetDocExampleParameterValue("map.epsg.code","32631");
+
+    otbAppDocLink();
   }
 
   void DoUpdateParameters() ITK_OVERRIDE
diff --git a/Modules/Applications/AppProjection/app/otbGridBasedImageResampling.cxx b/Modules/Applications/AppProjection/app/otbGridBasedImageResampling.cxx
index 4af1fae3ba..f401e712ad 100644
--- a/Modules/Applications/AppProjection/app/otbGridBasedImageResampling.cxx
+++ b/Modules/Applications/AppProjection/app/otbGridBasedImageResampling.cxx
@@ -184,6 +184,8 @@ private:
     SetDocExampleParameterValue("out.sizex","256");
     SetDocExampleParameterValue("out.sizey","256");
     SetDocExampleParameterValue("grid.type","def");
+
+    otbAppDocLink();
   }
 
  void DoUpdateParameters() ITK_OVERRIDE
diff --git a/Modules/Applications/AppProjection/app/otbImageEnvelope.cxx b/Modules/Applications/AppProjection/app/otbImageEnvelope.cxx
index 6800a0534a..abeb06e90b 100644
--- a/Modules/Applications/AppProjection/app/otbImageEnvelope.cxx
+++ b/Modules/Applications/AppProjection/app/otbImageEnvelope.cxx
@@ -85,6 +85,8 @@ private:
    // Doc example parameter settings
     SetDocExampleParameterValue("in", "QB_TOULOUSE_MUL_Extract_500_500.tif");
     SetDocExampleParameterValue("out", "ImageEnvelope.shp");
+
+    otbAppDocLink();
   }
 
   void DoUpdateParameters() ITK_OVERRIDE
diff --git a/Modules/Applications/AppProjection/app/otbObtainUTMZoneFromGeoPoint.cxx b/Modules/Applications/AppProjection/app/otbObtainUTMZoneFromGeoPoint.cxx
index 7755d65f8c..0f1ad545d4 100644
--- a/Modules/Applications/AppProjection/app/otbObtainUTMZoneFromGeoPoint.cxx
+++ b/Modules/Applications/AppProjection/app/otbObtainUTMZoneFromGeoPoint.cxx
@@ -80,6 +80,8 @@ private:
     SetExampleComment("Obtain a UTM Zone", 0);
     SetDocExampleParameterValue("lat","10.0");
     SetDocExampleParameterValue("lon","124.0");
+
+    otbAppDocLink();
   }
 
   void DoUpdateParameters() ITK_OVERRIDE
diff --git a/Modules/Applications/AppProjection/app/otbOrthoRectification.cxx b/Modules/Applications/AppProjection/app/otbOrthoRectification.cxx
index 54ff3a79b3..11c0060394 100644
--- a/Modules/Applications/AppProjection/app/otbOrthoRectification.cxx
+++ b/Modules/Applications/AppProjection/app/otbOrthoRectification.cxx
@@ -232,6 +232,8 @@ private:
     // Doc example parameter settings
     SetDocExampleParameterValue("io.in", "QB_TOULOUSE_MUL_Extract_500_500.tif");
     SetDocExampleParameterValue("io.out","QB_Toulouse_ortho.tif");
+
+    otbAppDocLink();
   }
 
   void DoUpdateParameters() ITK_OVERRIDE
diff --git a/Modules/Applications/AppProjection/app/otbRefineSensorModel.cxx b/Modules/Applications/AppProjection/app/otbRefineSensorModel.cxx
index ade237467a..5576f727ce 100644
--- a/Modules/Applications/AppProjection/app/otbRefineSensorModel.cxx
+++ b/Modules/Applications/AppProjection/app/otbRefineSensorModel.cxx
@@ -101,6 +101,8 @@ private:
     SetDocExampleParameterValue("inpoints","points.txt");
     SetDocExampleParameterValue("map","epsg");
     SetDocExampleParameterValue("map.epsg.code","32631");
+
+    otbAppDocLink();
   }
 
   void DoUpdateParameters() ITK_OVERRIDE
diff --git a/Modules/Applications/AppProjection/app/otbRigidTransformResample.cxx b/Modules/Applications/AppProjection/app/otbRigidTransformResample.cxx
index 33a306a23c..53e7cd08b9 100644
--- a/Modules/Applications/AppProjection/app/otbRigidTransformResample.cxx
+++ b/Modules/Applications/AppProjection/app/otbRigidTransformResample.cxx
@@ -172,6 +172,8 @@ private:
     SetDocExampleParameterValue("transform.type.rotation.angle", "20");
     SetDocExampleParameterValue("transform.type.rotation.scalex", "2.");
     SetDocExampleParameterValue("transform.type.rotation.scaley", "2.");
+
+    otbAppDocLink();
   }
 
   void DoUpdateParameters() ITK_OVERRIDE
diff --git a/Modules/Applications/AppProjection/app/otbSuperimpose.cxx b/Modules/Applications/AppProjection/app/otbSuperimpose.cxx
index c0632db87a..0ec5ca5d75 100644
--- a/Modules/Applications/AppProjection/app/otbSuperimpose.cxx
+++ b/Modules/Applications/AppProjection/app/otbSuperimpose.cxx
@@ -155,6 +155,8 @@ private:
     SetDocExampleParameterValue("inr", "QB_Toulouse_Ortho_PAN.tif");
     SetDocExampleParameterValue("inm", "QB_Toulouse_Ortho_XS.tif");
     SetDocExampleParameterValue("out", "SuperimposedXS_to_PAN.tif");
+
+    otbAppDocLink();
   }
 
   void DoUpdateParameters() ITK_OVERRIDE
diff --git a/Modules/Applications/AppProjection/app/otbVectorDataReprojection.cxx b/Modules/Applications/AppProjection/app/otbVectorDataReprojection.cxx
index 3dbd085451..659f69f49c 100644
--- a/Modules/Applications/AppProjection/app/otbVectorDataReprojection.cxx
+++ b/Modules/Applications/AppProjection/app/otbVectorDataReprojection.cxx
@@ -113,6 +113,8 @@ private:
     SetDocExampleParameterValue("out.proj", "image");
     SetDocExampleParameterValue("out.proj.image.in", "ROI_QB_MUL_1.tif");
     SetDocExampleParameterValue("out.vd","reprojected_vd.shp");
+
+    otbAppDocLink();
   }
 
   void DoUpdateParameters() ITK_OVERRIDE
diff --git a/Modules/Applications/AppSARCalibration/app/otbSARCalibration.cxx b/Modules/Applications/AppSARCalibration/app/otbSARCalibration.cxx
index 9c916bc544..25105a875d 100644
--- a/Modules/Applications/AppSARCalibration/app/otbSARCalibration.cxx
+++ b/Modules/Applications/AppSARCalibration/app/otbSARCalibration.cxx
@@ -87,6 +87,8 @@ private:
     // Doc example parameter settings
     SetDocExampleParameterValue("in", "RSAT_imagery_HH.tif");
     SetDocExampleParameterValue("out", "SarRadiometricCalibration.tif" );
+
+    otbAppDocLink();
   }
 
   void DoUpdateParameters() ITK_OVERRIDE
diff --git a/Modules/Applications/AppSARCalibration/app/otbSARDeburst.cxx b/Modules/Applications/AppSARCalibration/app/otbSARDeburst.cxx
index 1297aa97d9..5784e9b3b3 100644
--- a/Modules/Applications/AppSARCalibration/app/otbSARDeburst.cxx
+++ b/Modules/Applications/AppSARCalibration/app/otbSARDeburst.cxx
@@ -69,8 +69,8 @@ private:
 
     SetDocExampleParameterValue("in","s1_iw_slc.tif");
     SetDocExampleParameterValue("out","s1_iw_slc_deburst.tif");
-    
-    
+
+    otbAppDocLink();
   }
 
   void DoUpdateParameters() ITK_OVERRIDE
diff --git a/Modules/Applications/AppSARDecompositions/app/otbSARDecompositions.cxx b/Modules/Applications/AppSARDecompositions/app/otbSARDecompositions.cxx
index c77f6fc76a..9ace67b59d 100644
--- a/Modules/Applications/AppSARDecompositions/app/otbSARDecompositions.cxx
+++ b/Modules/Applications/AppSARDecompositions/app/otbSARDecompositions.cxx
@@ -156,6 +156,8 @@ private:
 	SetDocExampleParameterValue("invv", "VV.tif");
 	SetDocExampleParameterValue("decomp", "haa");
     SetDocExampleParameterValue("out", "HaA.tif");
+
+    otbAppDocLink();
   }
 
   void DoUpdateParameters() ITK_OVERRIDE
diff --git a/Modules/Applications/AppSARPolarMatrixConvert/app/otbSARPolarMatrixConvert.cxx b/Modules/Applications/AppSARPolarMatrixConvert/app/otbSARPolarMatrixConvert.cxx
index c91a21b921..cd8e0015fe 100644
--- a/Modules/Applications/AppSARPolarMatrixConvert/app/otbSARPolarMatrixConvert.cxx
+++ b/Modules/Applications/AppSARPolarMatrixConvert/app/otbSARPolarMatrixConvert.cxx
@@ -352,6 +352,8 @@ private:
 	SetDocExampleParameterValue("invv", "VV.tif");
 	SetDocExampleParameterValue("conv", "msinclairtocoherency"); 
     SetDocExampleParameterValue("outc", "mcoherency.tif");
+
+    otbAppDocLink();
   }
 
   void DoUpdateParameters() ITK_OVERRIDE
diff --git a/Modules/Applications/AppSARPolarSynth/app/otbSARPolarSynth.cxx b/Modules/Applications/AppSARPolarSynth/app/otbSARPolarSynth.cxx
index 0e9804013c..f4daf0c6d8 100644
--- a/Modules/Applications/AppSARPolarSynth/app/otbSARPolarSynth.cxx
+++ b/Modules/Applications/AppSARPolarSynth/app/otbSARPolarSynth.cxx
@@ -150,6 +150,8 @@ private:
     SetDocExampleParameterValue("psir","-25.");
     SetDocExampleParameterValue("khir", "10.");
     SetDocExampleParameterValue("out", "newbasis.tif");
+
+    otbAppDocLink();
   }
 
   void DoUpdateParameters() ITK_OVERRIDE
diff --git a/Modules/Applications/AppSARUtils/app/otbComputeModulusAndPhase.cxx b/Modules/Applications/AppSARUtils/app/otbComputeModulusAndPhase.cxx
index ff3da89b82..c0f318bfe4 100644
--- a/Modules/Applications/AppSARUtils/app/otbComputeModulusAndPhase.cxx
+++ b/Modules/Applications/AppSARUtils/app/otbComputeModulusAndPhase.cxx
@@ -90,6 +90,8 @@ private:
     SetDocExampleParameterValue("in", "monobandComplexFloat.tif");
     SetDocExampleParameterValue("modulus", "modulus.tif");
     SetDocExampleParameterValue("phase", "phase.tif");
+
+    otbAppDocLink();
   }
 
   // DoUpdateParameters() is called as soon as a parameter value change.
diff --git a/Modules/Applications/AppSegmentation/app/otbConnectedComponentSegmentation.cxx b/Modules/Applications/AppSegmentation/app/otbConnectedComponentSegmentation.cxx
index a45a4f5dcc..aef539c34b 100644
--- a/Modules/Applications/AppSegmentation/app/otbConnectedComponentSegmentation.cxx
+++ b/Modules/Applications/AppSegmentation/app/otbConnectedComponentSegmentation.cxx
@@ -120,6 +120,8 @@ private:
    SetDocExampleParameterValue("minsize", "15");
    SetDocExampleParameterValue("obia", "\"SHAPE_Elongation>8\"");
    SetDocExampleParameterValue("out", "ConnectedComponentSegmentation.shp");
+
+    otbAppDocLink();
   }
 
   void DoUpdateParameters() ITK_OVERRIDE
diff --git a/Modules/Applications/AppSegmentation/app/otbHooverCompareSegmentation.cxx b/Modules/Applications/AppSegmentation/app/otbHooverCompareSegmentation.cxx
index f16c5b2333..59ad146ac8 100644
--- a/Modules/Applications/AppSegmentation/app/otbHooverCompareSegmentation.cxx
+++ b/Modules/Applications/AppSegmentation/app/otbHooverCompareSegmentation.cxx
@@ -198,6 +198,8 @@ private:
     SetDocExampleParameterValue("ingt", "maur_GT.tif");
     SetDocExampleParameterValue("inms", "maur_labelled.tif");
     SetDocExampleParameterValue("outgt", "maur_colored_GT.tif uint8");
+
+    otbAppDocLink();
   }
 
   void DoUpdateParameters() ITK_OVERRIDE
diff --git a/Modules/Applications/AppSegmentation/app/otbLSMSSegmentation.cxx b/Modules/Applications/AppSegmentation/app/otbLSMSSegmentation.cxx
index 847e14de5d..61c2db9c61 100644
--- a/Modules/Applications/AppSegmentation/app/otbLSMSSegmentation.cxx
+++ b/Modules/Applications/AppSegmentation/app/otbLSMSSegmentation.cxx
@@ -285,6 +285,7 @@ private:
     SetDocExampleParameterValue("tilesizex","256");
     SetDocExampleParameterValue("tilesizey","256");
 
+    otbAppDocLink();
   }
 
   void DoUpdateParameters() ITK_OVERRIDE
diff --git a/Modules/Applications/AppSegmentation/app/otbLSMSSmallRegionsMerging.cxx b/Modules/Applications/AppSegmentation/app/otbLSMSSmallRegionsMerging.cxx
index fc7a4a31e1..41c7a59689 100644
--- a/Modules/Applications/AppSegmentation/app/otbLSMSSmallRegionsMerging.cxx
+++ b/Modules/Applications/AppSegmentation/app/otbLSMSSmallRegionsMerging.cxx
@@ -121,6 +121,7 @@ private:
     SetDocExampleParameterValue("tilesizex","256");
     SetDocExampleParameterValue("tilesizey","256");
 
+    otbAppDocLink();
   }
 
   void DoUpdateParameters() ITK_OVERRIDE
diff --git a/Modules/Applications/AppSegmentation/app/otbLSMSVectorization.cxx b/Modules/Applications/AppSegmentation/app/otbLSMSVectorization.cxx
index a7dae77d1d..8ac2029dec 100644
--- a/Modules/Applications/AppSegmentation/app/otbLSMSVectorization.cxx
+++ b/Modules/Applications/AppSegmentation/app/otbLSMSVectorization.cxx
@@ -105,6 +105,8 @@ private:
     SetDocExampleParameterValue("out","vector.shp");
     SetDocExampleParameterValue("tilesizex","256");
     SetDocExampleParameterValue("tilesizey","256");
+
+    otbAppDocLink();
   }
 
   void DoUpdateParameters() ITK_OVERRIDE
diff --git a/Modules/Applications/AppSegmentation/app/otbMeanShiftSmoothing.cxx b/Modules/Applications/AppSegmentation/app/otbMeanShiftSmoothing.cxx
index 6184904bfc..4d2219190e 100644
--- a/Modules/Applications/AppSegmentation/app/otbMeanShiftSmoothing.cxx
+++ b/Modules/Applications/AppSegmentation/app/otbMeanShiftSmoothing.cxx
@@ -116,6 +116,7 @@ private:
     SetDocExampleParameterValue("thres", "0.1");
     SetDocExampleParameterValue("maxiter", "100");
 
+    otbAppDocLink();
   }
 
   void DoUpdateParameters() ITK_OVERRIDE
diff --git a/Modules/Applications/AppSegmentation/app/otbSegmentation.cxx b/Modules/Applications/AppSegmentation/app/otbSegmentation.cxx
index 054824e87c..2759e04dda 100644
--- a/Modules/Applications/AppSegmentation/app/otbSegmentation.cxx
+++ b/Modules/Applications/AppSegmentation/app/otbSegmentation.cxx
@@ -341,6 +341,8 @@ private:
     SetDocExampleParameterValue("mode","raster",1);
     SetDocExampleParameterValue("mode.raster.out", "SegmentationRaster.tif uint16",1);
     SetDocExampleParameterValue("filter", "meanshift",1);
+
+    otbAppDocLink();
   }
 
   void DoUpdateParameters() ITK_OVERRIDE
diff --git a/Modules/Applications/AppStereo/app/otbBlockMatching.cxx b/Modules/Applications/AppStereo/app/otbBlockMatching.cxx
index 3c72e961b9..064a05b9aa 100644
--- a/Modules/Applications/AppStereo/app/otbBlockMatching.cxx
+++ b/Modules/Applications/AppStereo/app/otbBlockMatching.cxx
@@ -322,6 +322,8 @@ private:
     SetDocExampleParameterValue("bm.maxhd","10");
     SetDocExampleParameterValue("mask.variancet","10");
     SetDocExampleParameterValue("io.out","MyDisparity.tif");
+
+    otbAppDocLink();
   }
 
   void DoUpdateParameters() ITK_OVERRIDE
diff --git a/Modules/Applications/AppStereo/app/otbDisparityMapToElevationMap.cxx b/Modules/Applications/AppStereo/app/otbDisparityMapToElevationMap.cxx
index 670aa90e4f..cca506163c 100644
--- a/Modules/Applications/AppStereo/app/otbDisparityMapToElevationMap.cxx
+++ b/Modules/Applications/AppStereo/app/otbDisparityMapToElevationMap.cxx
@@ -126,6 +126,8 @@ private:
     SetDocExampleParameterValue("io.lgrid","grid_epi_left.tif");
     SetDocExampleParameterValue("io.rgrid","grid_epi_right.tif");
     SetDocExampleParameterValue("io.out","dem.tif");
+
+    otbAppDocLink();
   }
 
   void DoUpdateParameters() ITK_OVERRIDE
diff --git a/Modules/Applications/AppStereo/app/otbFineRegistration.cxx b/Modules/Applications/AppStereo/app/otbFineRegistration.cxx
index ea93dd1768..4452fbc123 100644
--- a/Modules/Applications/AppStereo/app/otbFineRegistration.cxx
+++ b/Modules/Applications/AppStereo/app/otbFineRegistration.cxx
@@ -232,6 +232,8 @@ private:
     SetDocExampleParameterValue("ery", "2");
     SetDocExampleParameterValue("mrx", "3");
     SetDocExampleParameterValue("mry", "3");
+
+    otbAppDocLink();
   }
 
   void DoUpdateParameters() ITK_OVERRIDE
diff --git a/Modules/Applications/AppStereo/app/otbGeneratePlyFile.cxx b/Modules/Applications/AppStereo/app/otbGeneratePlyFile.cxx
index f401a32e96..4801e5bfc1 100644
--- a/Modules/Applications/AppStereo/app/otbGeneratePlyFile.cxx
+++ b/Modules/Applications/AppStereo/app/otbGeneratePlyFile.cxx
@@ -88,6 +88,8 @@ private:
     SetDocExampleParameterValue("indem","image_dem.tif");
     SetDocExampleParameterValue("out","out.ply");
     SetDocExampleParameterValue("incolor","image_color.tif");
+
+    otbAppDocLink();
   }
 
   void DoUpdateParameters() ITK_OVERRIDE
diff --git a/Modules/Applications/AppStereo/app/otbStereoFramework.cxx b/Modules/Applications/AppStereo/app/otbStereoFramework.cxx
index 66117b0567..d929ae28da 100644
--- a/Modules/Applications/AppStereo/app/otbStereoFramework.cxx
+++ b/Modules/Applications/AppStereo/app/otbStereoFramework.cxx
@@ -521,7 +521,7 @@ private:
     SetDocExampleParameterValue("output.res","2.5");
     SetDocExampleParameterValue("output.out","dem.tif");
 
-
+    otbAppDocLink();
   }
 
   void DoUpdateParameters() ITK_OVERRIDE
diff --git a/Modules/Applications/AppStereo/app/otbStereoRectificationGridGenerator.cxx b/Modules/Applications/AppStereo/app/otbStereoRectificationGridGenerator.cxx
index 9697553357..f40cc288c5 100644
--- a/Modules/Applications/AppStereo/app/otbStereoRectificationGridGenerator.cxx
+++ b/Modules/Applications/AppStereo/app/otbStereoRectificationGridGenerator.cxx
@@ -199,6 +199,8 @@ private:
     SetDocExampleParameterValue("io.outleft","wv2_xs_left_epi_field.tif");
     SetDocExampleParameterValue("io.outright","wv2_xs_right_epi_field.tif");
     SetDocExampleParameterValue("epi.elevation.default","400");
+
+    otbAppDocLink();
   }
 
   void DoUpdateParameters() ITK_OVERRIDE
diff --git a/Modules/Applications/AppTest/app/otbTestApplication.cxx b/Modules/Applications/AppTest/app/otbTestApplication.cxx
index 1c9505728a..396a60ed3b 100644
--- a/Modules/Applications/AppTest/app/otbTestApplication.cxx
+++ b/Modules/Applications/AppTest/app/otbTestApplication.cxx
@@ -100,6 +100,8 @@ private:
     // Doc example parameter settings
     SetDocExampleParameterValue("boolean", "true");
     SetDocExampleParameterValue("filename", "myFilename.foo");
+
+    otbAppDocLink();
   }
 
   void DoUpdateParameters() ITK_OVERRIDE
diff --git a/Modules/Applications/AppTextures/app/otbHaralickTextureExtraction.cxx b/Modules/Applications/AppTextures/app/otbHaralickTextureExtraction.cxx
index 9f59c7e3a7..bbef68085c 100644
--- a/Modules/Applications/AppTextures/app/otbHaralickTextureExtraction.cxx
+++ b/Modules/Applications/AppTextures/app/otbHaralickTextureExtraction.cxx
@@ -162,6 +162,8 @@ SetDocExampleParameterValue("parameters.xrad", "3");
 SetDocExampleParameterValue("parameters.yrad", "3");
 SetDocExampleParameterValue("texture", "simple");
 SetDocExampleParameterValue("out", "HaralickTextures.tif");
+
+otbAppDocLink();
 }
 
 void DoUpdateParameters() ITK_OVERRIDE
diff --git a/Modules/Applications/AppTextures/app/otbSFSTextureExtraction.cxx b/Modules/Applications/AppTextures/app/otbSFSTextureExtraction.cxx
index 5bad287aad..2b1ac3f8f3 100644
--- a/Modules/Applications/AppTextures/app/otbSFSTextureExtraction.cxx
+++ b/Modules/Applications/AppTextures/app/otbSFSTextureExtraction.cxx
@@ -117,6 +117,8 @@ SetDocExampleParameterValue("channel", "1");
 SetDocExampleParameterValue("parameters.spethre", "50.0");
 SetDocExampleParameterValue("parameters.spathre", "100");
 SetDocExampleParameterValue("out", "SFSTextures.tif");
+
+otbAppDocLink();
 }
 
 void DoUpdateParameters() ITK_OVERRIDE
diff --git a/Modules/Applications/AppVectorDataTranslation/app/otbRasterization.cxx b/Modules/Applications/AppVectorDataTranslation/app/otbRasterization.cxx
index de904b7db3..5fad81fb89 100644
--- a/Modules/Applications/AppVectorDataTranslation/app/otbRasterization.cxx
+++ b/Modules/Applications/AppVectorDataTranslation/app/otbRasterization.cxx
@@ -140,6 +140,8 @@ private:
     SetDocExampleParameterValue("out", "rasterImage.tif");
     SetDocExampleParameterValue("spx","1.");
     SetDocExampleParameterValue("spy","1.");
+
+    otbAppDocLink();
     }
 
   void DoUpdateParameters() ITK_OVERRIDE
diff --git a/Modules/Applications/AppVectorUtils/app/otbConcatenateVectorData.cxx b/Modules/Applications/AppVectorUtils/app/otbConcatenateVectorData.cxx
index a70e26ec0b..e98e0a4559 100644
--- a/Modules/Applications/AppVectorUtils/app/otbConcatenateVectorData.cxx
+++ b/Modules/Applications/AppVectorUtils/app/otbConcatenateVectorData.cxx
@@ -71,6 +71,7 @@ private:
     SetDocExampleParameterValue("vd", "ToulousePoints-examples.shp ToulouseRoad-examples.shp");
     SetDocExampleParameterValue("out", "ConcatenatedVectorData.shp");
 
+    otbAppDocLink();
   }
 
 
diff --git a/Modules/Applications/AppVectorUtils/app/otbOSMDownloader.cxx b/Modules/Applications/AppVectorUtils/app/otbOSMDownloader.cxx
index 7859e2b93f..935494cbd6 100644
--- a/Modules/Applications/AppVectorUtils/app/otbOSMDownloader.cxx
+++ b/Modules/Applications/AppVectorUtils/app/otbOSMDownloader.cxx
@@ -93,6 +93,8 @@ private:
     SetDocExampleParameterValue("support", "qb_RoadExtract.tif");
     SetDocExampleParameterValue("key", "highway");
     SetDocExampleParameterValue("out", "apTvUtOSMDownloader.shp");
+
+    otbAppDocLink();
   }
 
 
diff --git a/Modules/Applications/AppVectorUtils/app/otbVectorDataExtractROI.cxx b/Modules/Applications/AppVectorUtils/app/otbVectorDataExtractROI.cxx
index d525480153..c5f529685a 100644
--- a/Modules/Applications/AppVectorUtils/app/otbVectorDataExtractROI.cxx
+++ b/Modules/Applications/AppVectorUtils/app/otbVectorDataExtractROI.cxx
@@ -102,6 +102,8 @@ private:
     SetDocExampleParameterValue("io.in", "qb_RoadExtract.tif");
     SetDocExampleParameterValue("io.vd", "qb_RoadExtract_classification.shp");
     SetDocExampleParameterValue("io.out", "apTvUtVectorDataExtractROIApplicationTest.shp");
+
+    otbAppDocLink();
   }
 
   void DoUpdateParameters() ITK_OVERRIDE
diff --git a/Modules/Applications/AppVectorUtils/app/otbVectorDataSetField.cxx b/Modules/Applications/AppVectorUtils/app/otbVectorDataSetField.cxx
index df75088587..b62d1f30aa 100644
--- a/Modules/Applications/AppVectorUtils/app/otbVectorDataSetField.cxx
+++ b/Modules/Applications/AppVectorUtils/app/otbVectorDataSetField.cxx
@@ -72,6 +72,8 @@ private:
     SetDocExampleParameterValue("out", "VectorDataSetField.shp");
     SetDocExampleParameterValue("fn", "Info");
     SetDocExampleParameterValue("fv", "Sample polygon");
+
+    otbAppDocLink();
   }
 
   void DoUpdateParameters() ITK_OVERRIDE
diff --git a/Modules/Applications/AppVectorUtils/app/otbVectorDataTransform.cxx b/Modules/Applications/AppVectorUtils/app/otbVectorDataTransform.cxx
index 859ccbbe49..5dac5118d6 100644
--- a/Modules/Applications/AppVectorUtils/app/otbVectorDataTransform.cxx
+++ b/Modules/Applications/AppVectorUtils/app/otbVectorDataTransform.cxx
@@ -107,6 +107,8 @@ private:
     SetDocExampleParameterValue("in", "qb_RoadExtract.tif");
     SetDocExampleParameterValue("out", "VectorDataTransform.shp");
     SetDocExampleParameterValue("transform.ro", "5");
+
+    otbAppDocLink();
   }
 
   void DoUpdateParameters() ITK_OVERRIDE
diff --git a/Modules/Wrappers/ApplicationEngine/include/otbWrapperApplication.h b/Modules/Wrappers/ApplicationEngine/include/otbWrapperApplication.h
index c8c5357fb6..56ce4e3a41 100644
--- a/Modules/Wrappers/ApplicationEngine/include/otbWrapperApplication.h
+++ b/Modules/Wrappers/ApplicationEngine/include/otbWrapperApplication.h
@@ -775,6 +775,20 @@ public:
 
   double GetLastExecutionTiming() const;
 
+  /** documentation link */
+  void SetDocLink(const std::string & link)
+  {
+    if (!m_Doclink.compare(link) == 0) {
+      m_Doclink = link;
+      this->Modified();
+    }
+  }
+
+  const std::string& GetDocLink() const
+  {
+    return m_Doclink;
+  }
+
 protected:
   /** Constructor */
   Application();
@@ -935,6 +949,8 @@ private:
   std::string m_DocSeeAlso;
   /** Tags that define the application (ex : segmentation, OBIA).*/
   std::vector<std::string> m_DocTags;
+  /** Doc link application */
+  std::string m_Doclink;
 
   /** Chrono to measure execution time */
   itk::TimeProbe m_Chrono;
@@ -963,4 +979,13 @@ private:
 //#include "otbWrapperApplication.txx"
 //#endif
 
+// doc link application macro
+#define otbAppDocLink() \
+  { \
+  std::string link = "http://www.orfeo-toolbox.org/Applications/"; \
+  link.append(Application::GetName()); \
+  link.append(".html"); \
+  Application::SetDocLink(link); \
+  }
+
 #endif // otbWrapperApplication_h_
diff --git a/Modules/Wrappers/ApplicationEngine/src/otbWrapperApplication.cxx b/Modules/Wrappers/ApplicationEngine/src/otbWrapperApplication.cxx
index 16f2a28637..9ad9107432 100644
--- a/Modules/Wrappers/ApplicationEngine/src/otbWrapperApplication.cxx
+++ b/Modules/Wrappers/ApplicationEngine/src/otbWrapperApplication.cxx
@@ -61,6 +61,7 @@ Application::Application()
     m_DocLimitations(""),
     m_DocSeeAlso(""),
     m_DocTags(),
+    m_Doclink(""),
     m_HaveInXML(true),
     m_HaveOutXML(true),
     m_IsInXMLParsed(false)
diff --git a/Modules/Wrappers/CommandLine/src/otbWrapperCommandLineLauncher.cxx b/Modules/Wrappers/CommandLine/src/otbWrapperCommandLineLauncher.cxx
index f25b914587..d1cc388ebd 100644
--- a/Modules/Wrappers/CommandLine/src/otbWrapperCommandLineLauncher.cxx
+++ b/Modules/Wrappers/CommandLine/src/otbWrapperCommandLineLauncher.cxx
@@ -691,12 +691,14 @@ void CommandLineLauncher::DisplayHelp()
 
   std::cerr << m_Application->GetDescription() << std::endl;
   std::cerr<<std::endl;
-  std::string link = "http://www.orfeo-toolbox.org/Applications/";
-  link.append(m_Application->GetName());
-  link.append(".html");
 
-  std::cerr << "Complete documentation: " << link << std::endl;
-  std::cerr<<std::endl;
+  std::string link = m_Application->GetDocLink();
+  if (!link.empty())
+  {
+    std::cerr << "Complete documentation: " << link << std::endl;
+    std::cerr<<std::endl;
+  }
+
   std::cerr << "Parameters: " << std::endl;
 
   const std::vector<std::string> appKeyList = m_Application->GetParametersKeys(true);
-- 
GitLab