1

What is the appropriate configuration to use for WFFM on a development environment (Sitecore 8.2)? I want to be able to create/edit forms, submit them and then view the submitted information in the form reports window.

I have been looking at the Instllation Guide here where it describes the configuration steps for CM and CD environment, but I'm not sure how it should be set up on a dev environment?

I noticed the database Sitecore_Wffm.mdf is placed into the Website\Data folder during installation, but no mention of this is made in the install guide, although a script WFFM_Analytics.sql is mentioned and should be run on the reporting database (Sitecore.Analytics.mdf).

I am currently getting the following error in the logs, so I assume something has been set up wrong, but I'm not sure what:

13960 12:15:26 ERROR Exception when storing an aggregation result into reporting database. Item will be postponed and retried later.
Exception: System.Data.SqlClient.SqlException
Message: Invalid object name 'FormFieldValues'.
Source: .Net SqlClient Data Provider
  • I'm assuming your dev environment is a single machine with SQL server running locally ? If so, attach the mdf file in SQL Server and then reference via ConnectionStrings.config. You need to be following the same approach on dev as you will across your environments wherever possible, the connection strings may change but that can be covered with config transforms – Ben Scott Feb 9 '17 at 13:17
  • can you confirm that this table is availalble @ your reporting DB. select * from sysobjects where name like '%FormFieldValues%' – Balaji Kuppuswamy Feb 9 '17 at 13:20
  • OK I've checked /sitecore/service/heartbeat.aspx which throws an error, the logs now show that there is a problem connecting to my wfm database. – Matthew Dresser Feb 9 '17 at 13:26
  • @MatthewDresser Remove Fact_FormStatisticsByContact entry from Sitecore.Analytics.Processing.Aggregation.config config and then check for this error in log files – Yogesh Sharma Feb 9 '17 at 13:42
5

By default, the form submissions from WFFM are saved to XDB (i.e. MongoDB). Assuming you are not running MongoDB locally and have set Xdb.Enabled=false locally then you can switch to using sqlFormsDataProvider (which was introduced in Sitecore 8.1)

To do so, make sure you have done the following:

  • Run the WFFM_Analytics.sql script is run on the SQL Reporting Database (Sitecore.Analytics)
  • Attach the Sitecore_Wffm.mdf database located in /Data folder (you may wish to move this next to the rest of the Sitecore databases)
  • Add the above database to your ConnectionString config, the connection should be named wffm (but please also try with wfm since there was a bug in earlier verisons)
  • Make sure you have switched over the formsDataProvider config settng to use SQL Server.

If you take a look in Sitecore.WFFM.Dependencies.config then the following settings are present:

<analytics>
    <!--Choose between different form's data providers:
    1) sqlFormsDataProvider - only form's data from wffm sql db is involved in reporting and export processes
    2) analyticsFormsDataProvider - only form's data from analytics sql and mongo db is involved in reporting (sql) and export (mongo) processes
    in this case you should be sure that xDb and tracker is on
    3) combinedFormsDataProvider - form's data from wffm sql db is used for export and data from analytics sql is used for reporting-->
    <formsDataProvider ref="/sitecore/wffm/analytics/analyticsFormsDataProvider"/>

    <sqlFormsDataProvider type="Sitecore.WFFM.Analytics.Providers.SqlFormsDataProvider, Sitecore.WFFM.Analytics">
      <param name="connectionStringName">wffm</param>
      <param name="settings" ref="/sitecore/wffm/settings" />
      <param name="connectionProvider" ref="/sitecore/wffm/analytics/connectionProvider" />
    </sqlFormsDataProvider>

  ...

Ensure you have changed the provider to <formsDataProvider ref="/sitecore/wffm/analytics/sqlFormsDataProvider"/>.

You can find more details in the Use a custom SQL provider to store form data document

0

If you have xDB enabled the installation is straight forward (refer to the Installation Guide doc for more detailed explanation)

  1. Download WFFM for your sitecore version (not the CD version of the package)
  2. Login to your Sitecore and install the package using Installation wizard.
  3. Restrict the place holder from Start -> Web form for marketer -> restrict place holder
  4. Publish your site
  5. Run ~\Website\Data\WFFM_Analytic.sql script on SQL Server Reporting DB
  6. Add the captcha configs to web.config (7. If you are using MVC there are additional scripts to be added to your layout.aspx file)

Now you have WFFM running. Go ahead and fire up Experience Editor. Find the container you have selected in step 3. Add a new form to the container and follow the wizard.

By the way, the error you are facing is because of invalid database set-up (step 5). Run the script on the reporting database again and find out what is missing.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.