Sitecore: InvalidOperationException: Post condition failed - sitecore

I'm relatively new to Sitecore.
In my Pre-Prod server I'm getting below error whenever I click on Content Editor. Page Editor seems to work fine. Please help.
InvalidOperationException: Post condition failed
Log Details are below:
Exception: System.InvalidOperationException Message: Post condition
failed Source: Sitecore.Kernel at
Sitecore.Diagnostics.Assert.ResultNotNull[T](T result, String message)
at
Sitecore.Web.UI.HtmlControls.Data.DataViewFactory.GetDataViewByName(String
name) at
Sitecore.Web.UI.HtmlControls.Data.DataViewFactory.GetDataView(String
name, String parameters) at
Sitecore.Web.UI.HtmlControls.DataContext.GetItem(String id) at
Sitecore.Web.UI.HtmlControls.DataContext.GetState(Item& root, Item&
folder, Item[]& selected

This sounds like something is not right with the config files in the site.
It's very hard to tell exactly what is the issue with that error message. And finding the issue will more than likely be a process of elimination.
I would suggest the the best course of action is to compare the configuration of the site with a known working version or a basic Sitecore install with no customisations. You can use the ShowConfig tool in Sitecore to show you all the configuration settings after the includes (as the config does not just consist of Web.config). More info on this here: -https://sitecorejohn.wordpress.com/2010/03/11/tool-to-examine-sitecore-web-config-after-accounting-for-include-files/
It's worth checking the App_config/include directory in Sitecore to see if you have any modules in place (E.g. Sitecore.MediaFramework.config) that are not in place where your site is working. You can disable these config settings by renaming the file to be .example.

I know it is an old question but in case it helps someone.
Very likely you are trying to access Sitecore Content Editor from your CD node.
Access Sitecore from CM only.

Related

Sitecore Homepage Shows Error Message, but is viewable at different URL

In my sitecore instance, (8.2 rev 170407), I'm having an issue viewing the homepage in both my dev enviroment and my staging server. Going to the homepage (the root of the server) redirects to this URL
http://[website]/sitecore/service/nolayout.aspx?item=%2f&layout=%7b00000000-0000-0000-0000-000000000000%7d&device=Default
The message says:
The resource you are looking for (or one of its dependencies) may have been removed, had its name changed, or is temporarily unavailable. Please review the following URL and make sure that it is spelled correctly.
Additional Information:
Requested URL: /
Requested Layout: {00000000-0000-0000-0000-000000000000}
Requested Device: Default
In testing this, I set the Home item to have an alias of /home, which I can visit and see the page looking fine.
This issue began when I set up Helix via the Yeoman script, and built it in VS2015. This is my first Sitecore Site so I handily accept that I made a mistake -- for example when I built the Solution for the first time it overwrote my Web.config. I had a backup of that Web.config and was able to bring the site back online but the Homepage has eluded me.
I've published, and republished. In my naive experience, I find it odd I can see the homepage at /home but not /. Any advice is appreciated, thanks.

Sitecore > Default Storefront(pbCS) installation > Product detail page returns a Null Refference Exception

I was trying to install the default Storefront site(powered by Commerce Server). It looks good at the moment, I managed to rebuild all indexes and publish the content. However, I can't reach product detail page - I receive an exception.
Example here.
I had faced with the similar issue when I tried to click on any catalog category.
The log-file contains the same error message without any details. Could you please suggest something to fix this issue?
P.S. After the finishing the installation I didn't have any products on the site. I fixed that issue:
selected the default Adventure Works catalog in the Sitecore tree(using content manager).
Filled in field CategoryDatasource(with the path to categories)
I think it might cause the error which I described above.
Thank you in advance for the help.
You have to set the catalog for the site via a home node property.

Unable to preview in content editor - Sitecore

I have added 2 pages in the content tree - index & Home Page. It was working fine until yesterday. Unable to preview 'index' in the Content editor (CE) now.
The error message is -
The requested document was not found
However, when I do Tools > Browse > Preview, from Sitecore Rocks, it opens fine. Also, I am able to preview 'Home Page' in CE without issue.
Following Mike's Solution Here, I tried to add the user 'Everyone' and removing 'extranet/Anonymous'. But the changes never Save.
Why does it happen to this page alone. No changes made to web.config and I am using only master DB.
UPDATE:
Here is what I have observed.
When 'index' is placed outside the 'en' folder, it can be previewed. Someone suggested that Sitecore is confused by the folder name with its languages. But renaming it to Test-en, also did not work.
I also tried this. Created 'index' outside 'en' folder. Then created a copy of the same inside the 'en' with the name 'index1'. I can preview index1 now, but if 'index' is deleted, it's the same issue again.
I have seen this happen a few times. On a new instance, I don't believe it is permissions, especially if you are using SIM to install (if you aren't - try it!)
Follow these steps and it should fix your issue. Make sure all instances of your browser are closed. They are known to keep hidden instances running. Stop all those tasks. Restart your IIS instance. Log Into your sitecore site with the magical password. Preview the page. You should be able to preview and in fact get the Experience Editor.
I do agree that Sitecore is confused as to the state of that it is logged in as, that is why it is important to close all browser instances.
If you still get this error, clear your logs. Do the above steps and send me your logs. I will look at them for any oddities.
Happy Sitecoring!

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.