<h3>Parameters</h3>
<ul>
  <li><b><em>(optional)</em> action = </b>"default"
    <p>Actions:</p>
    <ul>
      <li><b><em>default</em></b> - The default action.  If the user is logged in, the logoutform action will be displayed.  If the user is not logged in the login action will be called.
      <li><b><em>login</em></b> - Display the login form.</li>
      <li><b><em>logoutform</em></b> - Display output about your current username, and actions to change your settings, or logout.  If the user is not logged in, this action does nothing.</li>
      <li><b><em>changesettings</em></b> - Display the change settings form for logged in users.  If the user is not logged in, this action does nothing.</li>
      <li><b><em>forgotpw</em></b> - Display the forgot password form.</li>
      {* <li><b><em>silent (deprecated)</em> - Creates and assigns some smarty variables containing info about the currently logged in user.</li> *}
      <li><b><em>lostusername</em></b> - Display the lostusername form (if the system is properly setup to handle lost username requests, and the user is not currently logged in.</li>
      <li><b><em>reset_session</em></b> - Provide a javascript controlled template to allow the manual, or automatic pinging of the user session.  This template can be used to remind the user that his login session is about to expire, and to trigger its reset.  Normally this method is not required as any page that displays the FrontEndUser controls would handle this, just requiring the user to view a page on a regular basis.  However, if there are pages with alot of content requiring extensive reading, this may be a useful solution.</li>
      <li><b><em>viewuser</em></b> - Display a report for a single user, requires use of the uid parameter.</li>
    </ul>
  </li>
{*
  <li><b><em>(optional)</em> form = </b>"name"
  <p>Forms:</p>
  <div class = </b>"warning">Note: The form parameter is deprecated.  Please us the standard action parameter for accessing different MAMS forms directly.</div>
  <ul>
   <li><b><em>login</em> - Display the login form <em>(see action = </b>login)</em></li>
   <li><b><em>logout</em> - Display the logout form <em>(see action = </b>logoutform)</em></li>
   <li><b><em>changesettings</em> - Display the change settings form <em>(see action = </b>changesettings)</em></li>
   <li><b><em>forgotpw</em> - Display the forgot password form <em>(see action = </b>forgotpw)</em></li>
   <li><b><em>lostusername</em> - Display the lost username form. <em>(see action = </b>lostusername)</em></li>
  <li><b><em>silent</em>  = </b>  <em>(see action = </b>silent)</em> Display nothing, but export properties and other smarty variables for the currently logged in user.  If no user is logged in, then no variables are exported.</li>
  </ul>
  </li>
  *}

  <li><b><em>(optional)</em> returnto = </b>"page"
    <p>Used with the login, logout, and changesettings forms, this parameter contains the page id or alias of a page to redirect to, when the form has been successfully completed</p>
    <p>Note: That on login this can be overridden under some circumstances.</p>
  </LI>
  <li><b><em>(optional)</em> only_groups = </b>"group1, group2, group3"
     <p>Used with the login forms.  Basically only allows users to login if they belong to that particular group(s).</p>
  </li>
  <li><b><em>(optional)</em> lostun_group = </b>"group"
     <p>Used with the lostusername form, this feature specifies the frontend user group to assume tht users are members of.</p>
  </li>
  <li><b><em>(optional)</em> nocaptcha = </b>"1"
    <p>Used with the login and verify forms, This will disable captcha on the form. By default, if the Captcha module is installed, validation of a captcha image will be required for login.  This is a security measure intented to prevent brute force attacks.</p>
  </li>
  <li><b><em>(optional)</em> uid = </b>null
    <p>Used with the viewuser action.  This parameter is required to specify which user to view the details of.</p>
  </li>
  <li><b><em>(optional)</em> inline = </b>true
    <p>Used with the login action, this parameter indicates that the result of the form submission should replace the original input tag.</p>
  </li>
  <li><b><em>(optional)</em> logintemplate = </b>string
    <p>This parameter allows overriding the default login form template with the name of a different one.</p>
  </li>
  <li><b><em>(optional)</em> logouttemplate = </b>string
    <p>This parameter allows overriding the default logout template with the name of a different one.</p>
  </li>
  <li><b><em>(optional)</em> changesettingstemplate = </b>string
    <p>This parameter allows overriding the default changesettings form template with the name of a different one.</p>
  </li>
  <li><b><em>(optional)</em> forgotpwtemplate = </b>string
    <p>This parameter allows overriding the default forgot password form template with the name of a different one.</p>
  </li>
  <li><b><em>(optional)</em> lostuntemplate = </b>string
    <p>This parameter allows overriding the lost username form template with the name of a different one.</p>
  </li>
  <li><b><em>(optional)</em> viewusertemplate = </b>string
    <p>This parameter allows overriding the default viewuser template with the name of a different one.</p>
  </li>
  <li><b><em>(optional)</em> afterverifytemplate = </b>string
    <p>This parameter allows overriding the default after verification template with the name of a different one.</p>
  </li>
  <li><b><em>(optional)</em> resetsessiontemplate = </b>string
    <p>This parameter allows overriding the default reset session form template with the name of a different one.</p>
  </li>
  <li><b><em>(optional)</em> verifyformtemplate = </b>string
    <p>This parameter allows overriding the default verification form template with the name of a different one.</p>
  </li>
</ul>
<p><strong>Tip:</strong> You can use the &#123;xt_module_hint} plugin from CMSExt, or the &#123;cms_module_hint} plugin in CMSMS 2.0 to set these parameters on a global, per-page-template, or per-page basis without having to adjust every call, and while still maintaining pretty URL's.</p>

<h3>Using Different Templates.</h3>
<p>It is possible to specify different templates for many of the MAMS module templates.  It is also flexible.  You can use global content blocks, or file based templates or
 any other smarty resource as a template.</p>
<ul>
  <li>Template names ending with .tpl
    <p>If the specified template name is not a smarty resource, but ends with the extension <code>.tpl</code>, then MAMS (actually CMSExt) will assume that you want a file template from the module directory, or from the module_custom directory <em>(see <a href="http://docs.cmsmadesimple.org">http://docs.cmsmadesimple.org</a> for a description of the module_custom stuff)</em>.
  </li>
  <li>globalcontent:gcb_name
    <p>Specifying a template in this syntax allows you to use a global content block as as replacement template.</p>
  </li>
  <li>template:gcb_name
    <p>Specifying a template in this syntax allows you to use a page template as as replacement template.</p>
  </li>
  <li>cms_template:name
    <p>Specifying a template in this syntax allows you to use a template from within Design Manager as as replacement template.</p>
  </li>
  <li>file:filename.tpl
    <p>Using this syntax allows you to use a file based template from within the smarty templates dir <em>(usually tmp/templates)</em>.
  </li>
</ul>
<p>These methods can be used with the logintemplate, logouttemplate, changesettingstemplate, and forgotpwtemplate parameters.</p>
<p>Note: These parameters may not be passed to the various forms from the primary &#123;MAMS} call.  Instead, you should use the &#123;xt_module_hint} tag on the page where the various forms or views will be displayed. i.e:
<pre><code>&#123;xt_module_hint module = MAMS changesettingstemplate = 'global_content:mychangesettings'}</code></pre>
  .</p>