Udostępnij przez


Tworzenie poprawek w celu uproszczenia aktualizacji rozwiązań

Jeśli dodasz tabelę do rozwiązania i wyeksportujesz rozwiązanie, tabela oraz powiązane z nią zasoby, które zostaną wyeksportowane w tym rozwiązaniu. Do tych zasobów należą atrybuty, formularze, liczba wyświetleń, relacje i wizualizacje oraz wszystkie inne zasoby, które są spakowane razem z tabelą. Wyeksportowanie wszystkich obiektów może oznaczać, że obiekty we wdrożeniu docelowym mogą zostać przypadkowo zmodyfikowane lub mogą zostać przeniesione niezamierzone zależności.

Aby rozwiązać ten problem, można utworzyć i opublikować poprawki rozwiązań, które będą zawierać podrzędne składniki tabeli. Nie trzeba publikować całej tabeli i wszystkich jej zasobów. Oryginalne rozwiązanie i jedna lub kilka powiązanych poprawek mogą być zestawiane (łączone) w późniejszym czasie, tworząc zaktualizowaną wersję rozwiązania, które może zastąpić oryginalne rozwiązanie w docelowej organizacji Microsoft Dataverse.

Aktualizacje

Poprawki można stosować do rozwiązań zarządzanych lub niezarządzanych i zawierać tylko zmiany odnoszące się do tabeli i powiązanych zasobów. Poprawki nie zawierają żadnych niestandardowych składników systemu lub relacji, od których są zależne, ponieważ te składniki już istnieją w organizacji docelowej. W pewnym momencie cyklu projektowania można sporządzić nową wersję rozwiązania zawierającą w sobie poprawki w celu zastąpienia wersji oryginalnej, której te poprawki dotyczyły.

Poprawki są przechowywane w bazie danych Dataverse jako rekordy tabeli Solution. Atrybut ParentSolutionId, który nie ma wartości null oznacza, że rozwiązanie jest poprawką. Poprawki mogą być tworzone i zarządzane za pośrednictwem zestawu SDK do .NET lub lub internetowego interfejsu API; są one przydatne do tworzenia automatyzacji, na przykład skryptu instalacji produktu. Jednak aplikacja sieciowa Dataverse zapewnia różne formularze sieciowe, które umożliwiają interaktywne tworzenie i zarządzanie poprawkami.

  • Poprawki można tworzyć tylko na podstawie rozwiązania nadrzędnego przy użyciu funkcji CloneAsPatchRequest lub CloneAsPatch Action.
  • Element nadrzędny poprawki nie może sam być poprawką.
  • Poprawki mogą mieć tylko jedno rozwiązanie nadrzędne.
  • Poprawka powoduje utworzenie zależności (na poziomie rozwiązania) w rozwiązaniu nadrzędnym.
  • Poprawkę można zainstalować tylko wtedy, gdy jest obecne rozwiązanie nadrzędne.
  • Nie można zainstalować poprawki, chyba że unikatowa nazwa i główny/pomocniczy numer wersji rozwiązania nadrzędnego, w formacie zidentyfikowanym przez ParentSolutionId, nie pasują do wersji rozwiązania nadrzędnego zainstalowanego w organizacji docelowej.
  • Wersja poprawki musi mieć taki sam numer główny i pomocniczy, ale wyższy numer kompilacji i numer wydania niż numer wersji rozwiązania nadrzędnego. Nazwa wyświetlana musi być różna.
  • Jeśli rozwiązanie posiada poprawki, kolejne poprawki muszą posiadać wyższy numer wersji niż inne istniejące poprawki dla tego rozwiązania.
  • Poprawki obsługują te same operacje, co w przypadku rozwiązań, takich jak aktualizacja kumulacyjna, ale nie obsługują usuwania. Przy użyciu poprawki nie można usuwać składników z rozwiązania. Aby usunąć składniki z rozwiązania, należy dokonać uaktualnienia.
  • Poprawki wyeksportowane jako zarządzane muszą zostać zaimportowane na zarządzane rozwiązania nadrzędne. Reguła polega na tym, że ochrona przed poprawkami (zarządzanymi lub nie) musi być dopasowana do rozwiązania nadrzędnego.
  • Nie należy używać niezarządzanych poprawek w celach produkcyjnych.

Narzędzia SolutionPackager i PackageDeployer z tej wersji obsługują poprawki rozwiązań. Aby zapoznać się z opcjami wiersza polecenia związanymi z poprawkami, zapoznaj się z sekcją pomocy online dot. tego narzędzia.

Utwórz poprawkę

Utwórz poprawkę z rozwiązania niezarządzanego w organizacji, korzystając z CloneAsPatchRequestwiadomości lub akcji CloneAsPatch lub korzystając z aplikacji sieciowej. Po utworzeniu poprawki, oryginalne rozwiązanie zostaje zablokowane i nie można go zmienić ani eksportować, dopóki istnieją zależne poprawki w organizacji, które identyfikują rozwiązanie jako rozwiązanie nadrzędne. Wersja poprawki jest podobna do wersji rozwiązania oraz jest określona w następującym formacie: major.minor.build.release. Podczas tworzenia poprawki nie można wprowadzać zmian w istniejących wersjach głównych i podrzędnych.

Importowanie i eksportowanie poprawki

Użytkownik może użyć usługi organizacyjnej lub sieciowych interfejsów SDK, .NET lub API, aplikacji sieciowej lub narzędzia Package Deployer w celu wyeksportowania i zaimportowania poprawki. Odpowiedni zestaw SDK dla klas żądań .NET to ImportSolutionRequest i ExportSolutionRequest. Odpowiednimi akcjami dla interfejsu API sieci Web są ImportSolution Action i ExportSolution Action.

Przykłady poprawek

Poniższa tabela zawiera szczegółowe informacje na temat przykładu wprowadzania poprawki. Należy zauważyć, że w tym przykładzie rozwiązanie i poprawki są importowane w kolejności liczbowej i są kumulatywne, co jest zgodne z ogólnym importowaniem rozwiązań.

Nazwa poprawki Podpis
SolutionA, wersja 1.0 (niezarządzane) Zawiera entityA z sześcioma polami.
SolutionA, wersja 1.0.1.0 (niezarządzane) Zawiera obiekt entityA z 6 polami (3 zaktualizowane) i dodaje entityB z 10 polami.
SolutionA, wersja 1.0.2.0 (niezarządzane) Zawiera entityC z 10 polami.

Proces importowania przebiega następująco.

  1. Deweloper lub konfigurator najpierw importuje rozwiązanie podstawowe (SolutionA 1.0) do organizacji. Wynik to entityA z 6 polami w organizacji.
  2. Następnie zaimportowana jest poprawka 1.0.1.0 do SolutionA. Organizacja zawiera teraz obiekt entityA z 6 polami (3 zaktualizowane), plus entityB zawierającą 10 pól.
  3. I wreszcie zaimportowana jest poprawka 1.0.2.0 do SolutionA. Organizacja zawiera teraz obiekt entityA z 6 polami (3 zaktualizowane), plus entityB zawierającą 10 pól plus entityC z 10 polami.

Oto kolejny przykład

Przyjrzyjmy się kolejnemu przykładowi poprawek, które przedstawiono w poniższej tabeli.

Nazwa poprawki Podpis
SolutionA, wersja 1.0 (niezarządzane, rozwiązanie podstawowe) Zawiera tabelę Account, w której długość pola numer konta jest korygowana z 20 na 30 znaków.
SolutionB, wersja 2.0 (niezarządzane, inny dostawca) Zawiera tabelę Account, w której długość pola numer konta jest korygowana na 50 znaków.
SolutionA, wersji 1.0.1.0 (niezarządzane, poprawka) Zawiera aktualizację tabeli Account, w której długość pola numer konta jest korygowana do 35 znaków.

Proces importowania przebiega następująco:

  1. Deweloper lub konfigurator najpierw importuje rozwiązanie podstawowe (SolutionA 1.0) do organizacji. Powstaje wtedy tabela Account, której pole numeru konta wynosi 30 znaków.
  2. SolutionBjest importem. W organizacji znajduje się teraz tabela Account, której pole numeru konta wynosi 50 znaków.
  3. SolutionApoprawka 1.0.1.0 jest zaimportowana. W środowisku nadal znajduje się tabela Account, której pole numeru konta wynosi 50 znaków, tak jak przewiduje to SolutionB.
  4. Usługa SolutionB została odinstalowana. W organizacji teraz znajduje się tabela Account , której pole numeru konta wynosi 35 znaków, tak jak przewiduje to poprawka SolutionA 1.0.1.0.

Usuwanie poprawki

Poprawkę lub rozwiązanie podstawowe (nadrzędne) można usunąć przy użyciu DeleteRequest lub, w przypadku sieciowego interfejsu API, należy użyć metody HTTP DELETE. Proces usuwania jest inny w przypadku rozwiązania zarządzanego i niezarządzanego, w którym istnieje jedna lub kilka poprawek w organizacji.

W przypadku rozwiązania niezarządzanego przed odinstalowaniem rozwiązania podstawowego należy odinstalować najpierw wszystkie poprawki do rozwiązania podstawowego w odwrotnej kolejności ich pierwotnego wdrażania.

W przypadku rozwiązania zarządzanego należy po prostu odinstalować rozwiązanie podstawowe. System Dataverse automatycznie odinstalowuje poprawki w odwrotnej kolejności ich instalowania przed deinstalacją rozwiązania podstawowego. Użytkownik może również odinstalować pojedynczą poprawkę.

Aktualizuj rozwiązanie

Zaktualizowanie rozwiązania polega na dodaniu (scaleniu) wszystkich poprawek tego rozwiązania w nowej wersji rozwiązania. Następnie to rozwiązanie zostanie odblokowane i będzie można ponownie je modyfikować (tylko dla rozwiązania niezarządzanego) lub wyeksportować. W przypadku rozwiązania zarządzanego dalsze modyfikacje rozwiązania nie są dozwolone z wyjątkiem utworzenia poprawek z nowo zaktualizowanych rozwiązań. W celu połączenia poprawek w ramach rozwiązania niezarządzanego, należy użyć funkcji CloneAsSolutionRequest lub CloneAsSolution Action. Klonowanie rozwiązania powoduje utworzenie nowej wersji rozwiązania niezarządzanego, wraz ze wszystkimi jego poprawkami, z wyższym numerem wersji w formacie główny.podrzędny, takim samym unikatowym identyfikatorem i wyświetlaną nazwą.

W przypadku rozwiązania zarządzanego wygląda to nieco inaczej. Użytkownik najpierw klonuje rozwiązanie niezarządzane (A), dołączając wszystkie jego poprawki, a następnie eksportuje je jako rozwiązanie zarządzane (B). W organizacji docelowej zawierającej zarządzaną wersję rozwiązania (A) i jego poprawki, należy zaimportować rozwiązanie zarządzane (B), a następnie uruchomić DeleteAndPromoteRequest lub akcję DeleteAndPromote, aby zastąpić rozwiązanie zarządzane (A) oraz jego poprawki za pomocą zaktualizowanego rozwiązania zarządzanego (B) o wyższym numerze wersji.

Zobacz także

Używanie segmentowanych rozwiązań