Learn More

Our Biggest Update Ever

The most powerful DotNetNuke Forms & Template Module just added a world of new flexibility. This update is so big we got a little carpal tunnel syndrome, just typing up the list of new features. You're going to love what we've packed inside. Come take a look...

What's New in Version 4 of XMod Pro?

  • Build Dynamic Registration Forms:

    Don't be limited by the default registration process. Build stylish, accessible, custom registration forms for your DotNetNuke website. Include the basic user information like Name, Address, Username, Password as well as custom profile properties you may have defined in your site. You can even automatically add them to one or more roles. You can code and customize every aspect of the registration form from design & layout to actions, thank you/success messages, alert emails and more. Additionally, with the added Custom Form Actions and Conditional Redirects (new features listed below) you can customize user redirects and more.
  • Build Custom Login Forms:

    Simple, easy, and as beautiful as you can make it. Leverage the full power of XMod Pro forms to craft the ultimate DNN login form. Beyond the login action, further customize your login forms with Custom Form Actions and Conditional Redirects for user redirects, additional actions in your database, special error/messages and more.

  • Awesome New Editor

    Add and Remove Roles from Users:

    Ever wanted to allow people to automatically sign up for a service? Now you can. Create a form that will automatically add them to a DNN security role upon successful submission of the form. If they later want to stop the service, you can create a form that will remove them from the role.
  • Awesome New Editor:

    XMod Pro's editors keep getting better with each successive release. In version 4, we've taken a huge leap forward to increase your productivity. The new editor has color syntax highlighting, line numbers, auto-complete of XMod Pro tags and properties, search and replace, block indenting/outdenting, and multiple un-do. It even has pop-up tag designers that will prompt you for the tag properties and then generate the tag for you.
  • DNN Search Integration:

    Using a custom query, combined with field tokens and your text, you can make sure the DNN search engine indexes and returns exactly the information you want from your custom XMod Pro built solutions and custom database records.
  • Secured Feeds:

    Feeds can be used to supply RSS, XML, Comma-Delimited (CSV), Excel exports, JSON data, and just about anything that can be output in a text-based format. Now they`re even more powerful because you can enable them to be viewed only by members of specific DotNetNuke security roles. See the Easy AJAX section for a great new feature that leverages feeds.
  • Easy AJAX:

    AJAX is such an important part of websites these days, we've added a number of new features to make this easier for you to implement:

    • Display Inline Feeds
      AJAX Buttons, Links, and Clickable Images: Simply give these buttons the URL you want to retrieve and the element on the page into which you want to place the results and you are done. You can even specify a "loading..." image and XMod Pro will automatically place it in there. You can use these in both forms and templates.
    • Load Feeds Inline: Now you can embed your feeds directly into your DotNetNuke pages quickly and easily. Similar to the AJAX buttons, you specify the name of the feed you want and where in your page to put it. You can have your feed automatically load when the page loads, or load in response to a button, image, or link click. You can even provide a "loading..." image that will display and then hide when the process is complete.
  • jQuery Ready:

    We use jQuery all the time in our client and personal development projects. If you do any jQuery scripting you quickly become familiar with the jQuery ready function stub you put into almost every single page. We're helping with that burden by adding it to our new features. Now all you have to do is put a jQueryReady tag in your DNN form or template and XMod Pro will automatically register the jQuery ready block in your page. Even better, it uses a closure to protect your code`s scope from other script in the page and also allows you to use the dollar sign ($) shortcut. All you have to do is start entering your jQuery or Javascript code.
  • Conditional Redirects:

    After successfully submitting the form, you can now send your DotNetNuke users to different URLs depending on values from the form. For instance, if the user is submitting a feedback form and selects the "Sales Department" from the Department drop-down list, they can be redirected to the Sales page. If they chose Technical Support, they can be sent to the help desk.
  • Silent Posts:

    Sometimes you just need to send some data to a URL but you don't want to send the user there as well. Perhaps you've created a newlsetter sign-up form but you use MailChimp to send your newsletters. Now your form can silently send that signup data to MailChimp and redirect the user to your own thank-you page.
  • Enhanced Template Builder:

    You can now have more configuration options. Choose which columns to include in your template, whether to include a detail template, choose which command buttons (add, edit, etc.) to include, set their display (button, image, link) and text, and even set which roles are allowed to perform those actions.
  • Custom Form Actions:

    XMod Pro has always provided the tools to go beyond built-in programming to customize it further for you or your client`s needs with custom form controls, custom template tags and, of course, your own Javascript, HTML, and CSS. Now, Developers can also create custom Actions with their server-side code that perform whatever functionality desired. The Action executes after successful submission of the form and any data has been saved to the database but before emails are sent and the user is redirected. Your actions will receive the form`s values and environmental data (like Portal ID and user information). They can use that information to complete their processes and then even modify the form values based on the results, passing them along to the next action in the chain. By doing this, your actions can affect emails and redirection and any actions that execute after your action.

  • Global Forms & Templates

    Share Forms and Templates Across Portals:

    We've implemented an new ability to make forms and templates "global" in scope. Global forms and templates can be used on all of your site's portals. This greatly simplifies maintenance for multi-portal sites since you only have to make changes in one place and those changes will automatically propagate to all your portals.
  • Improved Database Interactions in Forms:

    With these you can:
    • Use that newly created record's ID in your form's success template
    • Display a friendly "duplicate record" message to your user, prompting them to try again
    • Display errors thrown by your database when trying to save a record
    • Work with a value returned from your stored procedure
  • Better Email Notifications:

    We continue to improve email handling. Emails can now have a "Reply-To" property set and they can use secure SMTP servers (like Gmail) if your site is configured to use them.

New in XMod Pro 4.9

  • ADDED: <xmod:Markdown> template tag to render markdown-formatted content as HTML. The tag even has a Bootstrap property to add Bootstrap-specific classes to the output if you're using that CSS framework in your skin.
  • ADDED: <Markdown> form control. The control is not required to render markdown using the <xmod:Markdown> template tag. However, it provides an attractive, syntax-highligted editing environment complete with line numbers (should you want that).
  • FIXED: Inline editor is no longer over-lapped by the Persona Bar in DNN 9.2+.
  • FIXED: The Inline editor's success message is now displayed to the right of the dialog buttons. You no longer have to scroll down to see it.
  • POSSIBLE BREAKING CHANGE: Only applies to very old DNN implementations. XMod Pro now requires .NET 3.5 or later for DNN versions lower than 9.2. Practically speaking, this should not affect most users since DNN has been requiring .NET 3.5 since version 5. If you are running DNN 9.2 or later, XMP still requires .NET 4.5 or later.

New in XMod Pro 4.8

  • ADDED: Robots property added to the <MetaTags> control
  • ADDED: You can now specify external database connections for the DNN search integration (on the Configure XMod Pro page of the module). Previously, only the default DNN database was available.
  • ADDED: The <Email> form action now allows you to attach multiple files to an email.
  • ADDED: The <Email> form action now allows you to specify a site root-relative path by using the tilde character (~).
  • FIXED: Issue where pressing the <CancelButton> in an edit form still processed the <Redirect> directive. Redirects specified via <Redirect> are no longer processed when the user Cancels out of a form. However, redirects specified on the <CancelButton> tag itself are still processed as before.
  • UPDATED: Better error handling when a referenced <ControlDataSource> in a form did not exist or contained incorrect syntax (i.e. additional double-quotes) that invalidated the underlying ASP.NET control.
  • UPDATED: Better error handling for <ListBox> control when referencing a <ControlDataSource>

New in XMod Pro 4.7

  • ADDED: XMod Pro Exchange integration. Now you can browse the free community exchange of solutions, forms, templates, and feeds and install many of them directly from within XMod Pro's Control Panel.
  • ADDED: "ShowIf" property on the form Panel tag to allow hide/show functionality based on basic value expressions.
  • ADDED: Enable ControlDataSource to use stored procedures. Specify CommandType="StoredProcedure".
  • ADDED: Chrome/FF/Opera users can resize the form builder editing area; Sorry IE and Edge Users.
  • ADDED: Multi-form: Dynamically load form from Add/Edit buttons/links/images. These controls now have a Form property which takes the name of the form to load.
  • ADDED: FormBuilder: New controls are now inserted above the validation summary if one exists.
  • ADDED: [[Module:Title]] token to list of tokens available in the form/template editor toolbars.

New in XMod Pro 4.6

  • ADDED: <xmod:Each> tag. This enables you to split a delimited string and iterate through each one, rendering out HTML for each one. You can use the following child template tags to achieve the layout you want: <FirstItemTemplate>, <LastItemTemplate>, <ItemTemplate>, <AlternatingItemTemplate>, <SeparatorTemplate>. Additionally, in each template, you can use the following placeholders: {index} (1-based number of the item); {count} (the total number of items); and {value} (the text of the item)
  • ADDED: <xmod:NavigateUrl> tag. This allows you to call the DNN API function NavigateUrl to produce URLs based on the site's configured URL provider. You can specify the following properties: TabId and ControlKey. The tag also allows child <Parameter Name="..." Value="..." /> tags to pass URL Parameters to the NavigateUrl function.
  • ADDED: Code Folding! The code editors now support collapsible code blocks making it easier to navigate longer forms, templates, and feeds. Click the arrows in the gutter or hit CTRL+Q.
  • ADDED: Custom module settings ([[Module:settingName]]) can now contain tokens. This allows you another layer of abstraction to achieve a more dynamic template. For instance, you could create a module setting named "ItemKey" with a value of [[Url:prodId]]. In your <ListDataSource>, you could have a <Parameter Name="id" Value='[[Module:ItemKey]]' /> tag. At run-time, this would evaluate to: <Parameter Name="id" Value='[[Url:prodId]]' /> allowing you to specify different URL parameters on different module instances, but still using the same Template.
  • ADDED: AddUser Action: System-defined Verification Email now automatically sent for Verified registration types. Send- VerificationEmail is now ignored.
  • ADDED: AddUser Action: System-defined Public registration Email is now automatically sent for Public registration types.
  • ADDED: AddUser Action: System-defined Private registration Email is now automatically sent for Private registration types.
  • ADDED: AddUser Action: If Send User Registration Notifications is enabled for the site, the Administrator will get the System-defined Admin registration Email.

New in XMod Pro 4.5

  • ADDED: SEO-Friendly Pager called "HyperlinkPager". Set the <Pager Type="Hyperlink" /> and it will use it, passing the page, search, and sort information via the URL. Note that each click on the pager is a brand new request of the server just like any HTML hyperlink. So other modules on the page may lose their state. This pager should be used if your priority is crawlable results.
  • ADDED: Manage Forms and Manage Templates grids now have a new column that shows whether a form/template is in-use on the site. This feature is not available for global forms/templates or for feeds.
  • ADDED: You can now have server-side-only comments. The syntax is: [-- your comment here --] Comments can span multiple lines and can comment-out server-side code. 
  • ADDED: Overridable <AddUser> error messages for: ErrMsgDuplicateEmail, ErrMsgDuplicateUser, ErrMsgDuplicateUsername, ErrMsgInvalidEmail, ErrMsgInvalidPassword, ErrMsgInvalidUsername
  • ADDED: Overridable <UpdateUser> error messages for: ErrMsgUserNotFound, ErrMsgInvalidPassword, ErrMsgOther
  • ADDED: Granular CSS classes to <Pager>. FirstPageCssClass, NextPageCssClass, LastPageCssClass, PrevPageCssClass, CurrentPageCssClass
  • ADDED: Encoding property to Feeds. It Defaults to UTF-8.
  • ADDED: Auto-generation of an OnClientClick delete confirmation dialog when generating a template.
  • ADDED: Auto-generation of an <xmod:ReturnLink> tag in DetailTemplates created by template generator.

New in XMod Pro 4.4

  • ADDED: SQL Azure Database Compatibility
  • ADDED: New <Include> and <xmod:Include> tags that allow you to inject raw text into the page. Very handy for inserting often used HTML snippets or shared blocks of text/html/script.
  • ADDED: Enabled [[ConnectionString:connStrName]] tokens in FormBuilder, TemplateBuilder, and FeedBuilder.
  • ADDED: Database Tools page will now automatically create a Clustered Primary Key Index on the first Identity field it finds. This is good in general for performance of the table, but it's also required for SQL Azure compatibility.
  • ADDED: You can now use pipe (|) characters in your module settings by escaping them as double pipes (||)
  • ADDED: Properties for Error Message Overrides in AddUser form Action. Messages for:ErrMsgLoginFailed, ErrMsgNotApproved, ErrMsgLockout

New in XMod Pro 4.3

  • ADDED: SQL Azure Database Compatibility
  • ADDED: New <Include> and <xmod:Include> tags that allow you to inject raw text into the page. Very handy for inserting often used HTML snippets or shared blocks of text/html/script.
  • ADDED: Enabled [[ConnectionString:connStrName]] tokens in FormBuilder, TemplateBuilder, and FeedBuilder.
  • ADDED: Database Tools page will now automatically create a Clustered Primary Key Index on the first Identity field it finds. This is good in general for performance of the table, but it's also required for SQL Azure compatibility.
  • ADDED: You can now use pipe (|) characters in your module settings by escaping them as double pipes (||)
  • ADDED: Properties for Error Message Overrides in AddUser form Action. Messages for:ErrMsgLoginFailed, ErrMsgNotApproved, ErrMsgLockout

New in XMod Pro 4.2

  • ADDED: CommandButton now works in NoItemsTemplate. You can use non-Field Tokens. (change made in Template.vb)
  • ADDED: Add Redirect Property to Command buttons (<xmod:CommandButton/Image/Link). No POST values can be passed, but you can use "." as the Redirect url and can do the redirect via GET or POST.
  • ADDED: [[DateAdd]] token now allows output of time component (HH:mm:ss).
  • ADDED: <xmod:IfEmpty> and <xmod:IfNotEmpty> template tags which will render their contents if the Value property is empty/not there or not empty/exists, respectively.
  • ADDED: Ability to override the default FormView mode (i.e. show AddForm or EditForm) via a URL parameter: "xmfvo". When this is set to "1", the module will display the AddForm. When it is "2" the EditForm will be displayed.
  • ADDED: Added [[DateAdd]] token and more User tokens to text editor toolbars.
  • ADDED: Tooltip property to <xmod:ToggleLink>
  • ADDED: Placeholder property to <TextBox> and <TextArea> This allows you to provide the user with informational text inside the control when it is empty. When the control receives focus, the placeholder text will disappear. When the control loses focus, if the control's value is still empty, the placeholder text will re-appear. The placeholder text is a usability component that exists on the user interface only. It does not get sent to the database if the control is empty when the form is submitted. NOTE: This will only work on HTML5-capable browsers that support this feature. All other browsers will simply ignore it.

New in XMod Pro 4.1

  • ADDED: "If" property to <AddToRoles> tag. This allows for conditionally adding roles to users.
  • ADDED: <AddUser> tag now passes the newly created user downstream as "__UserId". So, you can reference the new ID in <AddToRoles>, for instance and add roles (conditionally if needed) to the newly created user.
  • ADDED: <AddToRoles> has 3 new properties: StartDate, EndDate, and Culture which allow you to specify a time frame the user should be in a certain role. Culture is used to specify that the dates are in a format other than the current system's culture.
  • ADDED: Inline editor now displays the name of the form/template you're editing.
  • ADDED: FormBuilder's ControlDataSource designer now allows you to choose a column to sort on and specify the sort order.
  • ADDED: New DateAdd token. The token allows you to return a date relative to the current date. You can specify an interval such as day, week, month, or year and the number of that interval to add to the current date. A positive number will net you a date in the future. If you use a negative number, you'll get a date in the past. You can also specify a format that will be used when generating the date. 
  • ADDED: Forms can now specify a ScrollToTop property. When this is true, when the user clicks the Add or Update button, the browser will scroll to the top of the page on page load rather than trying to scroll to the bottom of the form. This is handy if you have a long form or a lot of content that you replace with a SuccessTemplate. It can help prevent the view from being less jarring to users.
  • ADDED: MS Word version of the help file (primarily for Max who uses it to update his nifty Note++ plugin for XMod Pro)