Sitecore Web forms for marketers 2.4 file upload on content delivery server error (WFFM) - sitecore

Web Form For Marketers 2.4 question
Situation: I'm getting technical error on a form with file upload field when form is submitted from content delivery server. Sofar I could identify that the problem happens on CD servers because there is no reference to master database. I appreciate that WFFM documenation says that FileUpload field works with master database, but at the same the documentation also mentions possibility to use "remoteWfmService". But even after configuring web service I see similar "null reference exception" in logs. Is it possible to make WFFM work without adding reference to Master database to configuration files?

Make sure you have an entry in your connectionStrings.config called remoteWfmService on your CD server. It should look something similar to this:
<add name="remoteWfmService" connectionString="url=http://[masterserver]/sitecore%20modules/shell/Web%20Forms%20for%20Marketers/Staging/WfmService.asmx;user=[domain\username];password=[password];timeout=60000" />
See section 2.11.1 of the Web Forms for Marketers reference.
You also need to change the following setting in /App_Config/Include/forms.config file.
<!-- Sets the name of the master database -->
<setting name="WFM.MasterDatabase" value="web"/>
This isn't mentioned in the reference guide for some reason, but is looks like this same error as on this post by Alex Shyba.

Related

Sitecore freezes when trying to define WFFM (Web Forms For Marketers) restricted placeholders

I have the latest version of WFMM (Web Forms For Marketers) for Sitecore. When I try to define the restricted placeholders from Desktop -> All Applications -> Web Forms for Maketers -> Restricted Placeholders everything freezes, including IIS.
I have no errors in the browser console or Sitecore's log.txt.
I has same issue with Sitecore 8.0 rev. 150621 (Update-4) and Web Forms for Marketers 8.0 rev. 150625. Sitecore Support helped me:
The //*[contains(#Allowed Controls, '{0}')] query runs on all items from the database. We apologize for any inconvenience this issue may have caused.
I changed the query to search items only under the root item: .//*[contains(#Allowed Controls, '{0}')]
Could you please follow the steps below to address the issue:
Copy the attached Sitecore.Support.406505.dll assembly to /bin folder.
Change the implementation class for forms:selectplaceholders command in forms.config file:
from
<command name="forms:selectplaceholders" type="Sitecore.Forms.Core.Commands.RestrinctingPlaceholders,Sitecore.Forms.Core" />
to
<command name="forms:selectplaceholders" type="Sitecore.Support.Forms.Core.Commands.RestrinctingPlaceholders,Sitecore.Support.406505" />
Here is the linked to the mentioned dll: Sitecore.Support.406505.dll
Restricting Placeholder dialog is an quick way to add WFFM sublayout form and view form to Allowed Controls field in placeholder settings. Selection of placeholders is maintained on last step of installation of module. Everything is already installed, you just need to follow manual poststeps(attach DB, etc). You can continue without solving this problem.
And if you don't have a huge amount of placeholders then it is quicker to do it using Allowed Controls field rather than trying to find root of the problem.

Sitecore WFFM Form Report is not showing form data

I have installed WFFM on Sitecore 8.0 Update-3, and created a demo form with few fields. After submitting form I am getting success message, in log files as well didn't find any error.
But if I am checking Reports with Form Reports button (Sitecore Functionality), it is not showing any data.
I can see data in reporting database WFFM tables.
Does anyone know how we can show form data on Form Reports Page?
-Yogesh
Make sure you have run the WFFM_Analytics.sql script on your reporting database. It can be found under /Data/WFFM_Analytics.sql
Also check your error logs for an aggregation error. If you are getting that you need to follow this post: http://sitecorefootsteps.blogspot.co.uk/2015/06/sitecore-8-wffm-data-aggregation-error.html
Make sure that your have included the Visitor Identification in the head. For MVC this would be #Html.Sitecore().VisitorIdentification().
Finally remember that the data will not be written until the session end, so it might be worth setting the session timeout to 2 minutes when testing. Then it wont take so long for the data to be stored.
EDIT
Are you using an IOC Container on your project? I had an issue with SimpleInjector blocking the ajax calls to the form reports data. Check your browser console for javascript errors, specifically calls to /api/sitecore/FormReports/GetFormFieldsStatistics returning error 500.
If you are getting those, check this post on a way to fix it with SimpleInjector - other IoC containers may have similar issues. http://www.sitecorenutsbolts.net/2015/07/27/Simple-Injector-and-WFFM-Controller-Injection-Woes/
-Richard
We recently were faced with the same issue. Data was being stored in the SQL database correctly, but the form reports were coming up blank. As #Richard pointed out, we saw 404 errors in the console on the reports page.
I was able to solve our issue by updating our custom 404 logic to ignore paths beginning with "/api".

Sitecore - Handle 500 errors separately per site in multisite setup

We're running Sitecore in a multi-site configuration and currently have custom 404 pages for each of our sites.
What we would also like is to have custom 500 pages for each site. I haven't found much on how that works (if it does) in Sitecore, and was hoping the community had some insight into how to set up custom 500 pages in a multi-site Sitecore setup. Currently, we have one 500 page the two sites share. This is fine in development, but in production we don't want to expose the fact that these sites share the same box.
Well as per my knowledge, what you can do is you can directly set a URL to be executed (.i.e. it goes to your common Custom Error Page), where you decide the site-specific error details to be shown.
Considering that you are using IIS 7.0 or 7.5, please follow the steps as below:
Open IIS Manager
Go to your Site, in the Sites Section.
Click on Error Pages in the IIS Section.
Next, you will move to the Error pages set by IIS. Go to Error code 500, select it and click on Edit in Actions Pane.
Now select the option of Execute a URL and select a common page, say /sitecore/MyErrorPage/500ErrorPage.aspx and then, handle site-specific error messages in that particular page.
Hope this Helps!
Regards,
Varun Shringarpure
A 500 error is a server error so Sitecore can't process it. It should be a generic flat HTML file configured is IIS or the web.config
You can override the processor "Sitecore.Pipelines.HttpRequest.ExecuteRequest, Sitecore.Kernel" to handle Sitecore error like item not found, layout not found etc. See more details here: http://www.sitecore.net/Community/Technical-Blogs/John-West-Sitecore-Blog/Posts/2013/04/Handling-Errors-in-the-Sitecore-ASPNET-CMS.aspx
But when handling 500 errors you should do it outside of Sitecore, think about what happens if you serve your 500 error page in Sitecore but Sitecore is down due to for example sql connection issues or timeouts? Your users will end I a redirect loop.
Take a look at the Error Module on the marketplace. I think it will give you want you want.

Can't Open Web forms for marketers Form Designer or Security Manager

I have had WFFM running on a Sitecore instance for a while, but it has recently stopped working. When I go to "Form Designer" on an existing form, I get the standard Sitecore "The requested document was not found" page.
Requested URL: /applications/modules/web
User Name: sitecore\admin
Site Name: shell
If the page you are trying to display exists, please check that an
appropriate prefix has been added to the IgnoreUrlPrefixes setting in
the web.config.
Note that the requested URL is stated as /applications/modules/web instead of /applications/modules/web forms for marketers.
A lot of development has occurred on this site recently, so I'm not sure when exactly this started happening.
Additional: info:
Folder and file permissions are correct.
I've tried reinstalling the WFFM package, and made sure that all the files are in place.
Several processors have been added to the HttpBeginRequest pipeline, but I removed them all to test if they were the cause - they weren't.
I haven't upgraded Sitecore since WFFM was working and the version is correct.
No errors are logged
EDIT
This also seems to be affecting the Sitecore Security Editor:
Requested URL: /appl
User Name: sitecore\admin
Site Name: shell
If the page you are trying to display exists, please check that an
appropriate prefix has been added to the IgnoreUrlPrefixes setting in
the web.config.
EDIT 2
Further investigation with this is making me think it is related to the Requested URL. I originally thought the the "Not found" page was displaying the requested url incorrectly. However, if I attempt to goto mysite.com/sitecore/shell/applications/fake folder with spaces/fake page with spaces I get this error message:
Requested URL: /applications/fake folder with spaces/fake page with
spaces
User Name: sitecore\admin
Site Name: shell
If the page you are trying to display exists, please check that an
appropriate prefix has been added to the IgnoreUrlPrefixes setting in
the web.config.
As you can see the Requested Url is correct in the error message. So in relation to my problem, I think maybe Sitecore is requesting the wrong URL in the first place.
Additionally if I go to the go the following url by typing directly into the browser, then the Security Editor opens as expected:
mysite.com/sitecore/shell/Applications/Security/User-Editor
This is quite old now but I thought I'd provide an update for anyone else who encounters the problem.
Unfortunately, Sitecore support weren't able to help beyond pointing out that setting the addAspxExtension attribute to 'true' in the link provider seemed to solve the problem. This may have been acceptable except that extensionless URLs were important to the customer.
In the end I had to amend my link provider so that addAspxExtension is set to 'true' in the web config, and then I set it to false inside the GetItemUrl method for specified sites only.
So now whenever the context site is 'Shell' or 'Admin' etc, the extensions are added by default, but switched off in my main website.
Of course, this is a work around. I still don't know how to actually fix the problem
So the first thing that I am going to tell you is that I suspect that there is something wrong with your site declaration for Sitecore Modules. In your web.config, there's a site declaration for "modules_shell" and "modules_website". Those are where the code files that run the modules are usually located... a shell folder to run the parts that run in the Sitecore shell and a web folder to run the part that is accessed by the externally facing site. Please check your site declarations (and the form.config file) to make sure that you're not in live mode or something like that. I would definitely say that this is where you should start looking.
The next thing is to say that your comments about Sitecore not serving a url in the /sitecore/shell directory is really not surprising. Sitecore processes all requests unless you specifically tell it to ignore requests (like setting it in the IgnoreUrlPrefixes in web.config), it's going to try processing it. Like going to /sitecore/shell/applications gives me a layout error because it doesn't have anything set to handle that request. Now your error suggests that there is something wrong with Site declarations.. however, even if they were all right, it still wouldn't work.

Missing Webforms for Marketers Data

I'm attempting to troubleshoot a Sitecore system that has the Webforms for Marketers module installed.
I have submitted a contact form from the front-end but when I look at the form reports, there is only legacy data on the "Data" tab. If I look in the "Usability Report" tab, I can indeed see my submitted data.
There are several save actions set up, one of which is the Save to Database, and another is Send Mail. Neither seem to be firing.
Since the data is under the Usability report, it would seem that something is working but I'm not sure how to troubleshoot where the issue originates from.
One key piece of info is the site has recently been moved from one server to another. The connection strings work as far as I can tell, however. Also, there is no CD/CM separation, just a Master => Web publishing setup, though it seems like at one time before I got my hands on it, there was a staging server. Like I said though, the connection strings seem in order.
Any ideas?
Turns out I think it did have to do with a previous staging server. I removed the following from ConnectionStrings.config
<add name="remoteWfmService" connectionString="url=http://{mysite}/sitecore%20modules/shell/Web%20Forms%20for%20Marketers/Staging/WfmService.asmx;user={myuser};password={mypass};timeout=60000"/>
Once that came out, everything started working as expected.