Sitecore aktualisiert viele Elemente bei Smart Publish

9

Ich verwende Sitecore 8.0 Update 5. Jedes Mal, wenn ich eine "Smart" -Publikation mit anderen Sprachen als Englisch mache, kann ich sehen, dass Tausende von Elementen aktualisiert werden.

%Vor%

Ich habe die Ablaufverfolgung aktiviert und in den Protokollen kann ich sehen, dass Sitecore die freigegebenen Felder dieser Elemente aktualisiert hat

%Vor%

Und die Liste läuft für so ziemlich jeden Gegenstand im Baum so weiter. Bewaffnet mit dotPeek konnte ich eine Methode in der Veröffentlichungs-Pipeline finden, die für die Bestimmung der Veröffentlichungsaktion verantwortlich ist:

%Vor%

Hier können wir sehen, dass es Artikelversionen prüft und wenn es Versionen in einer anderen Sprache als Englisch gibt, wird die Aktion auf PublishAction.PublishSharedFields gesetzt. Settings.Publishing.PublishEmptyItems wird in meinem Fall auf "false" gesetzt, sodass die Freigabe freigegebener Felder nicht ausgelöst werden sollte.

Ich dachte, dass die einzigen "System" -Elemente mit nicht-englischer Version in meiner Lösung Sprachen wären, aber als ich eines der Elemente aus den Logs anschaute, entdeckte ich eine wirklich interessante Sache: Sitecore-Standardsprachen

Dies scheint Sitecore-Standardsprache zu sein.

Dieses Verhalten führt zu einem Leistungsproblem bei der Veröffentlichung, wenn ich das Language Fallback-Modul aktiviere. ( Ссылка )

Meine Fragen sind:

  1. Ist dies ein erwartetes Verhalten für Sitecore, jedes Mal freigegebene Felder zu verschieben, wenn Sie es veröffentlichen?
  2. Ist dies ein erwartetes Verhalten für Sitecore, um freigegebene Felder auf Systemelementen zu verschieben, wenn sie nur Versionen in diesen Standardsprachen haben?
  3. Wie kann ich diese Standardsprachen deaktivieren und Versionen in diesen Sprachen entfernen? (Powershell?)
  4. Was bedeutet das Entfernen dieser Standardsprachen?
  5. Gibt es irgendetwas, das ich falsch mache, das diese Art von Verhalten verursachen kann?

UPD. In einer anderen Umgebung, in der der Grenzwert für 100.000 Elemente überschritten wird, wird der vollständige Indexneuaufbau ausgelöst, was eine ziemlich teure Operation ist. (Mit oder ohne Sprachrückfall)

Vielen Dank im Voraus!

    
BerserkerDotNet 02.03.2016, 09:08
quelle

2 Antworten

1

Ist dies ein erwartetes Verhalten für Sitecore, jedes Mal, wenn Sie veröffentlichen, freigegebene Felder zu verschieben? = & gt; Nein, aber der Code, den Sie gefunden haben, wird nicht für jeden Artikel verwendet. Diese Aktion tritt auf, wenn die Quellversion nicht gefunden wird, wenn das Element im Web vorhanden ist, aber nicht im Master. Deshalb veröffentlichen Sie entweder gemeinsam genutzte Felder (falls andere Versionen vorhanden sind) oder löschen das Element vollständig aus dem Internet (weil es im Master nicht mehr existiert).

Ist dies ein erwartetes Verhalten für Sitecore, um freigegebene Felder auf Systemelementen zu verschieben, wenn sie nur Versionen in diesen Standardsprachen haben? = & gt; Ich bin nicht in der Lage, diese Frage so zu beantworten, wie es ohne eine tiefere Untersuchung ist, für die ich zu diesem Zeitpunkt keine Zeit habe. Es tut mir leid.

Wie kann ich diese Standardsprachen deaktivieren und Versionen in diesen Sprachen entfernen? (Powershell?) = & gt; Diese Sprachen sind nicht registriert, sie werden angezeigt, da diese Elemente eine Version in diesen Sprachen enthalten. Wenn Sie also die Versionen aller Systemelemente in diesen Sprachen entfernen, werden sie nicht mehr angezeigt. Sie können eine Version in einer beliebigen Sprache erstellen, auch eine nicht vorhandene Codeversion.

Was bedeutet das Entfernen dieser Standardsprachen? = & gt; Alle Redakteure, die diese Sprache verwenden, sehen möglicherweise plötzlich Englisch (oder eine übriggebliebene Sprache) statt ihrer bevorzugten Sitecore-Bearbeitungssprache. Darüber hinaus sollte es keine Rolle spielen.

Gibt es etwas, das ich falsch mache, das zu einem solchen Verhalten führen kann? = & gt; Nicht, dass ich aus dem, was Sie bisher vorgestellt haben, sehen kann.

    
IvanL 09.03.2016 16:06
quelle
1
  

Wie kann ich diese Standardsprachen deaktivieren und Versionen in diesen Sprachen entfernen?

Wenn die Sprache unter / sitecore / system / Languages ​​registriert ist, sollte Sitecore alle Artikelversionen für die Sprache entfernen, wenn Sie die Sprache entfernen.

Wenn die Sprache nicht registriert ist (oder Sitecore aus irgendeinem Grund nicht entfernt werden kann, wenn Sie sie entfernen) unter / sitecore / system / Languages, führen Sie eine Bereinigung der Datenbank durch (Systemsteuerung & gt; Datenbank & gt; Datenbanken bereinigen) . Sitecore entfernt alle Versionen von Elementen in einer Sprache, die nicht registriert ist.

  

Was bedeutet das Entfernen dieser Standardsprachen?

Sofern Sie nicht beabsichtigen, diese Sprachen in Zukunft zu verwenden, keine wirklichen Auswirkungen.

    
Henrik Stidsen 13.07.2017 08:45
quelle

Tags und Links