11

The DefaultScavengeStrategy is responsible for scavenging (freeing up) memory from your caches when your application is maxing out on its memory resources, as determined by the configured cache size limits. The warning that you are seeing indicates that memory usage was maxing out for the specified cache, based on your configured maximum cache sizes, and so ...


10

Sitecore has registered this as a bug and provided a custom SitecoreItemCrawler. The Sitecore issue number is 471497 and the public reference numbers for this issue are 124202, 103362, 127177.


8

If you do not want to disable cache size limits (which in our situation can cause memory issues when building large indexes on Azure WebApps), you can use the following Sitecore setting to change the "web[isLanguageFallbackValid]" and "master[isLanguageFallbackValid]" sizes: <sitecore> <settings> <setting name="Caching.SmallCacheSize" ...


8

Since version 4.0, Sitecore PowerShell Extensions includes a -WithParent parameter to the Get-ChildItem command. This includes the item itself, thus making this much simpler: Get-ChildItem -Recurse . -WithParent | Where-Object { $_.Fields["__Enable item fallback"] -ne $null } | ForEach-Object { $_.Editing.BeginEdit() $_.Fields["__Enable item ...


7

I think that scripting this task is the way to go in your case. Note that the script below doesn't update all templates' standard values, but only for templates under User Defined. If that doesn't suit you, feel free to adjust the path. $templates = Get-ChildItem 'master:/sitecore/templates/User Defined' -Recurse | ? { $_.TemplateId -eq '{AB86861A-...


6

Shell website is a Sitecore site used by Sitecore backend. <!-- ENABLE ITEM AND LANGUAGE FALLBACK PER SITE Using attribute patching below you can pick which fallback mode to enable (item-level or field-level or both) for each site Consult official documentation on how to enable fallback feature in complex multi-site environments. ...


6

Sitecore support finally got back to me. This functionality is working in Sitecore 9.0.2, but it requires a setting that's not in the Sitecore.config and is currently undocumented. To get this to work, add the following setting in a patch: <setting name="LanguageFieldFallback.AllowStandardValuesForSharedLanguageFallback" value="true" /> Then if you ...


5

Step 2. From what I can see you've patched settings for two sites: shell and website If your goal is to enable language fallback for SXA sites you have to do the same for them. The difference is that SXA sites definitions are stored in a database, so you have to update items. Find your site definition item: /sitecore/content/Folder/Tenant/Site/Settings/...


4

You can call Item.IsFallback, which returns true if the item in question is fallback item. Source: https://doc.sitecore.net/sitecore_experience_platform/setting_up_and_maintaining/language_fallback/setting_up/language_fallback__changes_to_apis


4

In short; I probably wouldn't do it. Background The issue here is; that Language Fallback is a mechanism that not only affects your content delivery; it also affects behaviour inside the Sitecore clients themselves (Experience Editor and Content Editor). These both run in the context of the "shell" site. For a solution wide approach, see the answer ...


4

Well, you don't provide much of a context. But API wise, it would come out like this: foreach (Item item in ListOfItems) { item.Editing.BeginEdit(); item.Fields[FieldIDs.EnableLanguageFallback].Value = "1"; item.Editing.EndEdit(); } For the Shared version of Language Fallback, change the constant. ...


4

You could probably write a custom event handler for the item:versionAdded event. In the event handler you can extract the item the event was fired for and inspect for any data source items below it in the tree, adding versions to the data source items as you go. Just be careful you don't end up in a loop, as saving an item from an event handler will cause ...


4

@chorpo hit the nail on the head, Get-ChildItem does not get current item, but the children underneath the current Item. You will need to do a Get-Item as well to get/update the values of the current item. You should be able to kill two birds with one stone by getting both children and current items and appending: $path = "." $root = Get-Item $path $items ...


4

Is this correct behavior of a bug? This as a bug. This code simply does what it says. It will not work with language fallback which is not expected. Is there any hidden mechanism to enable language fallback on list components? Nope, you have to overwrite it or ask support for a hotfix. I cannot find it registered in the section so I ...


4

This is not a glass mapper issue, but instead a miss on the full Enforce Language Presence implementation. Per Sitecore documentation: 1) Enable the enforceVersionPresence attribute This attribute is applicable to a <site> definition element. Patch it in appropriately. <site name="mysite"> <patch:attribute name="...


4

First of all. Items don't have versions, only field values do. So enabling field level fallback does exactly what you would expect. Item level fallback is a virtual construct. Secondly, what you're doing breaks with Sitecore's recommendation that state: You should not use both item- and field-level fallback on the same item because it makes it difficult ...


3

Root cause was - Item existed in EN version and when trying to preview in other language it should fallback to EN. Now twist here was EN version had publishing restrictions so effectively item didn't existed in any language versions which somehow gives error, from Item-level Language Fallback module, in page when trying to use preview mode. I have fixed ...


3

If you want to enable language fallback. Yes, below configuration needs to be set. It can be set in Sitecore.LanguageFallback.config or on <site> nodes in Sitecore.config. Both are same. But its recommended using patch files for any modifications. <sites> <site name="shell"> <patch:attribute name="enableItemLanguageFallback"&...


3

The third options seems the best to me. Just create a simple template with 1 field APIKey, not shared off course. And for each language, add a version and set the APIKey to your unique value. On a sidenote, the Helix documentation contains information about how to manage your configurations and settings. It is not always recommended to put everything in ....


3

Agreed - the first 2 approaches are risky because you are changing core Sitecore templates and in upgrades you could lose those changes easily. One option would be to create a template with a field for API Key and a droplink sourced to the languages to select the language. LanguageApiLink - Data - Api Key (Single-line Text) - Language (...


3

You are calling Get-ChildItem cmdlet that's why update is only applied to children. You should do the same also with Get-Item cmdlet to make it work also for current item. Should be like this: $item = Get-Item . $item.Editing.BeginEdit() $item.Fields["__Enable item fallback"].Value = "1" $item.Editing.EndEdit() . is representing current item. How to add ...


3

I face similar situation before. I approached this way: As I inherit all my templates from "content" template, which is a custom empty template inherited from sitecore standard Template. For me enabling item level fallback on "content" template __standardValues worked.


3

If you want to enable Language Fallback you must add patch or this file must exist /App_Config/Include/Sitecore.LanguageFallback.config or any custom config that include the settings. <configuration xmlns:patch="http://www.sitecore.net/xmlconfig/"> <sitecore> <settings> <setting name="LanguageFieldFallback....


3

To check if an item you are accessing is a fallback use the IsFallback property: Sitecore.Data.Items.Item.IsFallback. To get the actual language being used you could use the method Sitecore.Data.Items.Item.GetFallbackItem() and check the language on that. It's possible that you could do this more efficiently while looking at that method by using the ...


3

I used the rules engine to fix this. I created a rule under Item Saved (/sitecore/system/Settings/Rules/Item Saved/Rules/Language Fallback) that sets the enable item fallback to true on every save. It looks like this: where the item is the my-root-item item or one of its descendants set __Enable item fallback value to 1 You can add any condition you ...


3

You need to configure four settings: Enable site-level language fallback Specify the language fallback rules Enable item level fallback Enable field level fallback Sounds like you have configured the first two settings (please ensure you are looking at the correct version of Sitecore too) Please ensure you review this full list here


2

The Problem I have most often seen this issue occur when using versioned media on multi-lingual sites. If your media item is a versioned media item and you don't have a version for the Spanish language then when the field falls back it will try to point at the Spanish version of the item. Since the Spanish version doesn't exist, you would get a 404. ...


2

You can use property IsFallBack. As per sitecore's documentation The Sitecore.Data.Item class The following properties have been added to the class: OriginalLanguage – a property that returns the original language for the current item. If the item is not a fallback item, it returns the item.Language. IsFallback – a property that returns ...


2

You're on the right track. The problem you have is; you're checking Item for Versions. Any versions - not related to your current Context.Language. While this is still not ideal, you could loop around your array like this: @foreach (var detailPage in detailPages) { var currentItem = Sitecore.Context.Database.GetItem(detailPage.ID, Sitecore.Context....


2

Finally I fixed it by following the below steps: Enable language settings at site level in config file under configuration as below: <site name="custom-portal" hostName="portal" virtualFolder="/" physicalFolder="/" rootPath="/sitecore/content/portal" startItem="/home" database="web" domain="extranet" allowDebug="true" cacheHtml="true" htmlCacheSize="...


Only top voted, non community-wiki answers of a minimum length are eligible