diff --git a/CRM/DataprocessorDashlet/Dashlet.php b/CRM/DataprocessorDashlet/Dashlet.php
index 3b6d4c79521206b8dd782cbfd78238df6bf3e528..3fc2cfc4f98052f6c0691ba16eab4769d2fa1935 100644
--- a/CRM/DataprocessorDashlet/Dashlet.php
+++ b/CRM/DataprocessorDashlet/Dashlet.php
@@ -31,6 +31,8 @@ class CRM_DataprocessorDashlet_Dashlet implements Civi\DataProcessor\Output\Outp
       'class' => 'crm-select2 huge',
       'placeholder' => E::ts('- select -'),
     ));
+    $form->add('text', 'default_limit', E::ts('Default Limit'));
+    $form->add('wysiwyg', 'help_text', E::ts('Help text for this search'), array('rows' => 6, 'cols' => 80));
 
     $defaults = array();
     if ($output) {
@@ -41,6 +43,12 @@ class CRM_DataprocessorDashlet_Dashlet implements Civi\DataProcessor\Output\Outp
         if (isset($output['configuration']['title'])) {
           $defaults['title'] = $output['configuration']['title'];
         }
+        if (isset($output['configuration']['default_limit'])) {
+          $defaults['default_limit'] = $output['configuration']['default_limit'];
+        }
+        if (isset($output['configuration']['help_text'])) {
+          $defaults['help_text'] = $output['configuration']['help_text'];
+        }
       }
     }
     if (!isset($defaults['permission'])) {
@@ -49,6 +57,9 @@ class CRM_DataprocessorDashlet_Dashlet implements Civi\DataProcessor\Output\Outp
     if (empty($defaults['title'])) {
       $defaults['title'] = civicrm_api3('DataProcessor', 'getvalue', array('id' => $output['data_processor_id'], 'return' => 'title'));
     }
+    if (empty($defaults['default_limit'])) {
+      $defaults['default_limit'] = 10;
+    }
     $form->setDefaults($defaults);
   }
 
@@ -97,6 +108,8 @@ class CRM_DataprocessorDashlet_Dashlet implements Civi\DataProcessor\Output\Outp
 
     $output['permission'] = $submittedValues['permission'];
     $configuration['title'] = $submittedValues['title'];
+    $configuration['default_limit'] = $submittedValues['default_limit'];
+    $configuration['help_text'] = $submittedValues['help_text'];
     return $configuration;
   }
 
diff --git a/CRM/DataprocessorDashlet/Form/Dashlet.php b/CRM/DataprocessorDashlet/Form/Dashlet.php
index 59cff853ef0087fabb788ed11548b8ac3ec58873..01e0fb672b6143f48aff3df5511a97230cb64b61 100644
--- a/CRM/DataprocessorDashlet/Form/Dashlet.php
+++ b/CRM/DataprocessorDashlet/Form/Dashlet.php
@@ -12,6 +12,19 @@ class CRM_DataprocessorDashlet_Form_Dashlet extends CRM_DataprocessorSearch_Form
     $this->setDefaults(array('data_processor' => $this->getDataProcessorName()));
   }
 
+  /**
+   * Returns the default row limit.
+   *
+   * @return int
+   */
+  protected function getDefaultLimit() {
+    $defaultLimit = 10;
+    if (!empty($this->dataProcessorOutput['configuration']['default_limit'])) {
+      $defaultLimit = $this->dataProcessorOutput['configuration']['default_limit'];
+    }
+    return $defaultLimit;
+  }
+
 
   /**
    * Returns the name of the ID field in the dataset.
diff --git a/CRM/DataprocessorSearch/Form/AbstractSearch.php b/CRM/DataprocessorSearch/Form/AbstractSearch.php
index 1a772bc92629abeec2afff5b69b34d048c4ff6b0..aef3e30004ef5a82d80473495312d8ff1fe71f54 100644
--- a/CRM/DataprocessorSearch/Form/AbstractSearch.php
+++ b/CRM/DataprocessorSearch/Form/AbstractSearch.php
@@ -175,7 +175,7 @@ abstract class CRM_DataprocessorSearch_Form_AbstractSearch extends CRM_Dataproce
         $this->runExport($export_id);
       }
 
-      $limit = CRM_Utils_Request::retrieve('crmRowCount', 'Positive', $this, FALSE, CRM_Utils_Pager::ROWCOUNT);
+      $limit = CRM_Utils_Request::retrieve('crmRowCount', 'Positive', $this, FALSE, $this->getDefaultLimit());
       $pageId = CRM_Utils_Request::retrieve('crmPID', 'Positive', $this, FALSE, 1);
       $this->buildRows($pageId, $limit);
       $this->addExportOutputs();
@@ -183,6 +183,15 @@ abstract class CRM_DataprocessorSearch_Form_AbstractSearch extends CRM_Dataproce
 
   }
 
+  /**
+   * Returns the default row limit.
+   *
+   * @return int
+   */
+  protected function getDefaultLimit() {
+    return CRM_Utils_Pager::ROWCOUNT;
+  }
+
   protected function runExport($export_id) {
     $factory = dataprocessor_get_factory();
     self::applyFilters($this->dataProcessorClass, $this->_formValues);
@@ -340,7 +349,7 @@ abstract class CRM_DataprocessorSearch_Form_AbstractSearch extends CRM_Dataproce
     $params['total'] = 0;
     $params['status'] =E::ts('%%StatusMessage%%');
     $params['csvString'] = NULL;
-    $params['rowCount'] =  CRM_Utils_Pager::ROWCOUNT;
+    $params['rowCount'] =  $this->getDefaultLimit();
     $params['buttonTop'] = 'PagerTopButton';
     $params['buttonBottom'] = 'PagerBottomButton';
     return $params;
diff --git a/templates/CRM/DataprocessorDashlet/Form/OutputConfiguration/Dashlet.tpl b/templates/CRM/DataprocessorDashlet/Form/OutputConfiguration/Dashlet.tpl
index 56a1a996b4d7cd065568052416b79d578ff26989..175797053f20a18eee7c425d3878e7144224f36f 100644
--- a/templates/CRM/DataprocessorDashlet/Form/OutputConfiguration/Dashlet.tpl
+++ b/templates/CRM/DataprocessorDashlet/Form/OutputConfiguration/Dashlet.tpl
@@ -6,9 +6,21 @@
         <div class="clear"></div>
     </div>
 
+    <div class="crm-section">
+      <div class="label">{$form.permission.label}</div>
+      <div class="content">{$form.permission.html}</div>
+      <div class="clear"></div>
+    </div>
+
+    <div class="crm-section">
+      <div class="label">{$form.help_text.label}</div>
+      <div class="content">{$form.help_text.html}</div>
+      <div class="clear"></div>
+    </div>
+
   <div class="crm-section">
-    <div class="label">{$form.permission.label}</div>
-    <div class="content">{$form.permission.html}</div>
+    <div class="label">{$form.default_limit.label}</div>
+    <div class="content">{$form.default_limit.html}</div>
     <div class="clear"></div>
   </div>