Sitecore TDS Deployment __Standard Values - sitecore

I'm running into an issue with Hedgehog's TDS - I have some presentation details specified on my Base Page template. The presentation details reside in the __Renderings field of __Standard Values. I've set the item to "Deploy Once", but it appears that Sitecore ignores that setting on __Standard Values with the package deployment (UpdateInstallationWizard). If I update any of the presentation details on the production site, they are lost with my next deployment.
For now I've excluded the item from my production build - but it's kind of a pain.
I've opened a ticket with Hedgehog - they say it's a Sitecore problem. I opened a ticket with Sitecore - they say that UpdateInstallationWizard wasn't meant for use outside of sitecore.
Is there a good way to get around this? Should I not be specifying any presentation details in a base template?

I ran into the same issue just today. The only solution I can offer is to manually delete the previous __StandardValues and then rerun the update installation wizard.

Related

Sitecore null value exception

I had a Sitecore installation running until I made a deploy with some code changes. After that it completely broke.
Prior to this I create a new template item with a field of type "multilist with search". I didn't generate synthesis code before deploying.
Following is the exception from the IIS.
This exception is thrown on all pages. This also means that I can't access the content editor. I can't use Sitecore rocks either.
does anybody have any idea on what to do?
For right now, rename /App_Config/Include/.../Synthesis.config to Synthesis.config.disabled. That should allow you to bring the site back to a state where you can communicate with it.
Be aware that the Multilist with Search field relies on Sitecore ContentSearch - and it appears to be incorrectly configured in your solution.

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.

Custom Sitecore Microsite Resolver

We recently worked with a client to create a series of smaller sites that were composed of the same templates and components being developed for their main flagship site. These microsites needed to conform to a common layout but required the ability to have unique branding in the header as well as unique hostnames or domain names. Setting up a new site in Sitecore is a fairly straightforward process, typically – you create the new home node in the content tree then add a declaration to the web.config. In this particular scenario however, the client did not want to have to make a configuration update to deploy each new microsite – they simply wanted to create the content for it, publish it, and have it available to their audiences immediately.
I have gone through a link (https://www.sitecore.net/learn/blogs/technical-blogs/chris-sulham/posts/2015/01/quick-guide.aspx) but found incomplete information.
The general approach to solve this requirement is to store the site definition data in the Sitecore database as a 'site definition' of some kind. You will then need a processor that will initialize the sites list after the file configs have been read and update site definitions or add to the list.
#jammykam pointed to the Dynamic Sites Manager as an example of this, so you may want to start there.
Since authors typically define these new sites after Sitecore start-up, you also will need some functionality (usually a ribbon button or publishing event handler) that will let you trigger an update of the current site list in application memory with the latest data.

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.

Best practice for migrating MVC web to Sitecore

We have a couple of MVC 3.0 web application some of them combination of Web Form and MVC3.0 within on project/solution.
I'm quiet new to sitecore, could someone please help me understand following in regards to migrating the existing application to Sitecore?
On what type of scenarios should we move MVC3.0 razor views to sitecore?
What are the key gotchas migrating MVC3.0 to sitecore?
Do I need to inject anything on sitecore pipeline?
Do I need to change any of the navigation links to work under sitecore?
Any link to sitecore best practice for migrating existing web app will be good.
I followed the blog below and still unclear why and when should we convert web control and razor views to Sitecore Rendering.
Thank you.
When migrating MVC applications into a Sitecore solution you have a few options available - depending on the nature of the component you are migrating you would have to choose the most appropriate option.
I'll try and address your 5 specific questions:
1. When to use Razor views
I'm not sure if the question is "when to use a Razor view" or if the questions is "when to use Sitecore View Rendering" - I'll assume the latter.
A View Rendering is great if your are writing presentation components that do not require any business logic and only deals with rendering items. If you are contemplating adding code in your Razor view you should probably consider if a Controller Rendering would be more appropriate or perhaps customising the mvc.getModel pipeline.
2. Migration gotchas
Some of the things that may catch you out when migrating a MVC application to Sitecore.
Component based controllers - in MVC you have one controller per page. Sitecore supports the concept of ControllerRenderings that allows you to have multiple controllers on a page (note: there will always be one route controller that can be perceived as the primary).
Item routing - Sitecore has a catch all route that is effective for all paths that map to an item path. Standard MVC routes and "item routes" can happily coexist. Item routes do not currently support route parameters (e.g. you cannot specify {action} or other parameters on the item route).
MVC4 - Currently no official support for MVC4 (this won't hold true for long - but in the meantime have a look at http://herskind.co.uk/blog/2012/10/sitecore-66-mvc4)
Areas - Currently areas are not fully supported.
Not knowing what rendering types to use and when to convert existing functionality into components.
3. Pipeline customisation
You are not compelled to customise the Sitecore pipelines. I can see a few examples where it would be useful to modify pipelines in the context of a migration story. One example I recently talked about at a Sitecore User Group involved adding a ActionFilter globally (through mvc.resultExecuting pipeline) that would inject a ASP.Net MVC application into a Sitecore place holder. In my example I injected the MVC Music Store into a placeholder and had Sitecore control window dressing (headers/footers/menus). This way I could bring my existing MVC application into Sitecore without having to change it much.
4. Navigation links
If your navigation endpoints are Sitecore item routes (e.i. the path to an item on the website) you should use Sitecore's LinkManager to generate the appropriate links. If the endpoints are standard MVC routes RouteLink and ActionLink should work just fine.
I guess without a concrete example the answer will be "maybe".
5. Best practice migration blog post
I'm not aware of any blog posts or articles dealing with Sitecore MVC migration best practice. Keep in mind that full MVC support is a recent addition to Sitecore and not many seen this journey from start to end yet.
Why and when to convert to Sitecore Rendering
You end your question stating that you are still confused about when and why you would convert controls and Razor views to Sitecore renderings. Here are some indicators that something is a candidate for being a Sitecore rendering:
It is a component that can be reused on many pages.
You want to enable Sitecore users to add the component to pages. (think Page Editor)
You want to leverage Sitecore's component level caching.
You want to leverage Sitecore security to restrict who can use/see the component.
You want to control the component with personalisation, rules or run MVT on it.
In the context of MVC here are some indicators that it may not be right to convert something to a Sitecore rendering:
It relies heavily on routing and route parameters.
I'm sure many of the points in this answer could be expanded on and I know that there are no clear cut rules for this - but I hope this answer helps clear up some of the confusion...