Szukaj…


Wprowadzenie

Unicorn to narzędzie do Sitecore, które rozwiązuje problem przenoszenia szablonów, renderowania i innych elementów bazy danych między instancjami Sitecore. Staje się to problematyczne, gdy programiści mają własne instancje lokalne - pakiety są podatne na błędy i zwykle zapominane są w drodze do produkcji. Unicorn rozwiązuje ten problem, zapisując serializowane kopie elementów Sitecore na dysku wraz z kodem - w ten sposób kopia niezbędnych elementów bazy danych dla danej bazy kodu towarzyszy mu w kontroli źródła.

Uwagi

Przydatne informacje można znaleźć tutaj:

Początkowe ustawienia

PM> Zainstaluj pakiet Unicorn

  • Po zainstalowaniu pakietu NuGet w programie Visual Studio pojawi się plik README, który pomoże w rozpoczęciu pracy.

Instalacja ręczna / instalacja ze źródła

  • Sklonuj repozytorium
  • Umieść kopię zestawu Sitecore.Kernel.dll w / lib / sitecore / v7 (dla v7 / v8)
  • Zbuduj projekt dla swojej wersji Sitecore za pomocą Visual Studio 2012 lub nowszej wersji
  • Skopiuj Unicorn.dll, Rainbow.dll, Rainbow.Storage.Sc.dll, Rainbow.Storage.Yaml.dll i Kamsar.WebConsole.dll do dowolnego projektu w dowolny sposób (odniesienie do projektu, jako odniesienie binarne itp.)
  • Skopiuj standardowe pliki konfiguracyjne * .config do folderu App_Config \ Include \ Unicorn
  • Skonfiguruj według własnych upodobań; plik instalacyjny README jest dobrym punktem wyjścia.
  • Naciśnij $ yoursite / unicorn.aspx, aby wykonać początkową serializację skonfigurowanego predykatu

Architektura dostawcy danych

Dostawca danych Unicorn ma dwa składniki: implementację specyficzną dla bazy danych i implementację Unicorn.

Implementacja Unicorn to indywidualna konfiguracja zależności Unicorn, które otrzymują automatyczną serializację. Na przykład, jeśli serializujesz dwa ustawienia UnicornDataProvider , potrzebujesz dwóch instancji UnicornDataProvider - po jednym dla każdej implementacji IPredicate .

Implementacja specyficzna dla bazy danych jest podklasą oryginalnego dostawcy danych Sitecore, który zapewnia kontener dla jednej lub więcej instancji UnicornDataProvider . Po wyjęciu z pudełka dostarczany jest UnicornSqlServerDataProvider . Możesz rzucić własną, jeśli korzystasz z Oracle. Ten dostawca skutecznie blokuje obsługę zdarzeń, umożliwiając Unicornowi przechwytywanie zmian przedmiotów, nawet jeśli używana jest zła klasa EventDisabler .

Jeśli chcesz UnicornSqlServerDataProvider wielu dostawców danych Unicorn z bazą danych, możesz utworzyć klasę wywodzącą się z UnicornSqlServerDataProvider . W tej klasie możesz wybrać:

  • Utwórz konstruktor, który wstrzykuje twojego dostawcę (-ów) za pomocą konstruktora podstawowego:
public MyDataProvider(string connectionString) :
base(connectionString, new UnicornDataProvider(), new
UnicornDataProvider(), ...)
  • Utwórz konstruktor, który wstrzykuje dostawcom za pomocą kodu (jest to lepsze, jeśli musisz konstruować zależności itp., Które nie pasują dobrze do wywołania podstawowego):
public MyDataProvider(string connectionString) : base(connectionString, null)
 {
    AddUnicornDataProvider(new UnicornDataProvider());
    // ...
 }


Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow