Śledzenie zależności składników rozwiązania

Rozwiązania składają się z jednego lub więcej składników. Obszar Rozwiązania jest używany w programie Microsoft Dataverse do tworzenia i dodawania składników rozwiązania. Te akcje można wykonać programowo przy użyciu komunikatu AddSolutionComponentRequest lub wszelkich komunikatów, które tworzą lub aktualizują składniki rozwiązań zawierające parametr SolutionUniqueName.

Składniki rozwiązania są często zależały od innych składników rozwiązania. Nie można usunąć składnika rozwiązania, który ma zależności od innych składników rozwiązania. Na przykład dostosowana wstążka zazwyczaj wymaga zasobów sieciowych do wyświetlania ikon i wykonywania działań za pomocą skryptów. Tak długo, jak dostosowywana wstążka znajduje się w rozwiązaniu, jest wymagane użycie określonych zasobów sieciowych. Aby można było usunąć te zasoby sieciowe, na dostosowywanej wstążce należy usunąć do nich odwołania. Odwołania do składników rozwiązania mogą być wyświetlone w aplikacji poprzez kliknięcie Wyświetl odwołania.

W tym temacie opisano typy składników rozwiązania, które można dodać do rozwiązań oraz to, w jaki sposób od siebie zależą.

Wszystkie składniki rozwiązania

Kompletną listę dostępnych typów składników rozwiązania znaleźć można w globalnym zestawie opcji componenttype. Obsługiwany zakres wartości tej właściwości jest dostępny po dołączeniu pliku OptionSets.cs lub OptionSets.vb do projektu. Wiele wymienionych typów składników rozwiązania jest jednak przeznaczonych wyłącznie do użytku wewnętrznego i lista nie zawiera informacji o relacjach między składnikami rozwiązania.

Zależności składników rozwiązania

Zależności składników rozwiązania zapewniają stabilne działanie rozwiązania. Zapobiegają one niezamierzonemu uszkodzeniu dostosowań zdefiniowanych w rozwiązaniu na skutek wykonywania typowych akcji. Zależności składników umożliwiają instalowanie i odinstalowywanie zarządzanego rozwiązania w prosty sposób, przez zaimportowanie lub usunięcie rozwiązania.

Struktura rozwiązań umożliwia automatyczne śledzenie zależności pomiędzy składnikami rozwiązania. Każda operacja na składniku rozwiązania powoduje automatyczne obliczenie zależności między innymi składnikami systemu. Informacje o zależnościach służą do zachowania integralności systemu i zapobiegania operacjom, które mogłyby spowodować stan niespójności.

W wyniku śledzenia zależności wymuszane jest przestrzeganie następujących zachowań:

  • Usunięcie składnika jest zabronione, jeśli istnieje zależny od niego inny składnik w systemie.

  • Wyeksportowanie rozwiązania powoduje wyświetlenie ostrzeżenia dla użytkownika w przypadku brakujących składników, które mogłyby spowodować niepowodzenie podczas importowania danego rozwiązania do innego systemu.

    Podczas eksportowania można zignorować ostrzeżenia, jeśli deweloper rozwiązania zakłada, że rozwiązanie ma zostać zainstalowane w organizacji, w której zbędne składniki zależne będą dostępne. Na przykład podczas tworzenia rozwiązania, które ma zostać zainstalowane jako nakładka wstępnie zainstalowanego rozwiązania „podstawowego”.

  • Import rozwiązania kończy się niepowodzeniem, jeśli wszystkie wymagane składniki nie zostaną uwzględnione w rozwiązaniu, a także nie będą istnieć w systemie docelowym.

    • Ponadto podczas importowania rozwiązania zarządzanego wszystkie wymagane składniki muszą być zgodne z typem pakietu rozwiązania. Składnik w rozwiązaniu zarządzanym może mieć zależność dotyczącą innego zarządzanego składnika.

    Istnieją trzy typy zależności składników rozwiązania:

    Rozwiązanie wewnętrzne
    Zależności wewnętrzne są zarządzane przez Dataverse. Występują w przypadku, gdy dany składnik rozwiązania nie może istnieć bez innego składnika rozwiązania.

    Opublikowany
    Zależności opublikowane są tworzone w przypadku, gdy dwa składniki rozwiązania zostają powiązane relacją, a następnie opublikowane. Aby usunąć zależność tego typu, należy usunąć skojarzenie, a potem ponownie opublikować encje.

    Nieopublikowana
    Nieopublikowane zależności dotyczą nieopublikowanej wersji składnika rozwiązania, który można opublikować, a który jest aktualizowany. Po opublikowaniu składnika rozwiązania, zależność staje się opublikowaną zależnością.

    Zależności wewnętrzne w ramach rozwiązania to takie zależności, w których działania w ramach składnika rozwiązania wymagają, aby akcja wykonana przez jeden składnik rozwiązania wpływała na inny składnik rozwiązania. Na przykład usunięcie encji powinno powodować usunięcie wszystkich atrybutów encji. Wszystkie relacje z innymi encjami także zostaną usunięte.

    Zależność wewnętrzna może jednak prowadzić do powstania zależności opublikowanej i wymagać interwencji wykonywanych ręcznie. Na przykład jeśli formularz encji zawiera pole wyszukiwania, a encja podstawowa w relacji zostanie usunięta, nie można zakończyć operacji usuwania, dopóki pole wyszukiwania nie zostanie usunięte z powiązanego formularza encji i formularz nie zostanie opublikowany.

    Podczas programistycznego wykonywania akcji za pomocą rozwiązań można korzystać z wiadomości powiązanych z encją Dependency. Zobacz encja zależności, aby zapoznać się z komunikatami, które mogą zostać użyte w celu zidentyfikowania istniejących zależności przed usunięciem składnika lub odinstalowaniem rozwiązania.

Powszechne składniki rozwiązania

Są to składniki rozwiązania wyświetlane w aplikacji oraz składniki, z którymi użytkownik pracuje bezpośrednio podczas dodawania lub usuwania składników rozwiązania za pomocą strony rozwiązania. Każdy inny typ składnika rozwiązania będzie zależny od jednego lub więcej z tych składników rozwiązania.

Wstążki aplikacji (DostosowanieWstążki) Encja (Encja) Raport (Raport)
Szablonu artykułu (KBSzablonArtykułu) Profil zabezpieczeń pól (ProfilZabezpieczeńPól) Przetwarzanie komunikatu zestawu SDK (PrzetwarzanieKomunikatuZestawuSDK)
Rola połączenia (RolaPołączenia) Szablon korespondencji seryjnej (SzablonKorespondencjiSeryjnej) Rola zabezpieczeń (Rola)
Szablon kontraktu (SzablonKontraktu) Zestaw opcji (ZestawOpcji) Punkt końcowy usługi (PunktKońcowyUsługi)
Formularz pulpitu nawigacyjnego lub encji (FormularzSystemy) Zestaw dodatków plug-in (ZestawDodatkówPlugIn) Mapa witryny (MapaWitryny)
Szablon wiadomości e-mail (SzablonEmail) Proces (Przepływ pracy) Zasoby sieci web (ZasobySieci)

Wstążki aplikacji (DostosowanieWstążki)

Dostosowania wstążek dotyczące szablonów wstążek aplikacji i wstążek encji. Wstążki aplikacji nie zawierają definicji wstążek na poziomie encji lub formularza.

Wstążki aplikacji niestandardowej często zawierają opublikowane zależności odnosząc się do zasobów sieciowych. Zasoby sieciowe służą do określania ikon przycisków wstążki i funkcji języka JavaScript w celu określania, kiedy są wyświetlane elementy wstążek lub jakie operacje są wykonywane, gdy jest używany dany formant wstążki. Zależności są tworzone tylko wtedy, gdy w definicjach wstążek jest używana dyrektywa $webresource: do powiązania zasobu sieciowego ze wstążką. Więcej informacji: dyrektywa $webresource

Szablonu artykułu (KBSzablonArtykułu)

Szablon zawierający standardowe atrybuty artykułu. Istnieją zawsze wewnętrzne zależności między szablonami artykułów a encją KbArticle.

Rola połączenia (RolaPołączenia)

Rola opisująca relację między dwoma rekordami. Każda rola połączenia określa typy rekordów encji, które mogą być połączone przy użyciu roli połączenia. Spowoduje to utworzenie opublikowanej zależności między rolą połączenia a encją.

Szablon kontraktu (SzablonKontraktu)

Szablon zawierający standardowe atrybuty kontraktu. Istnieją zawsze wewnętrzne zależności między szablonami kontraktów a encją kontraktu.

Formularz pulpitu nawigacyjnego lub encji (FormularzSystemy)

Rekordy encji formularza systemowego służą do definiowania formularzy pulpitów i encji. Gdy element SystemForm jest używany jako formularz encji, tworzona jest wewnętrzna zależność od danej encji. Jeśli jako pulpit nawigacyjny jest używany SystemForm, nie istnieją wewnętrzne zależności. Zarówno formularze encji, jak i pulpity nawigacyjne, mają zwykle opublikowane zależności dotyczące ich zawartości. Formularz encji może zawierać pola wyszukiwania zależne od relacji między encjami. Zarówno pulpity nawigacyjne, jak i formularze encji mogą zawierać wykresy lub podsiatki, które będą tworzyły opublikowaną zależność w widoku, który z kolei zawierać będzie wewnętrzną zależność od encji. Opublikowana zależność zasobu sieciowego może zostać utworzona z powodu zawartości wyświetlanej na pulpicie nawigacyjnym lub formularzu albo w sytuacji, gdy formularz zawiera biblioteki języka JavaScript. Formularze encji zawierają opublikowane zależności dla wszystkich atrybutów wyświetlanych jako pola w formularzu.

Szablon wiadomości e-mail (SzablonEmail)

Szablon wiadomości e-mail zawierający jej standardowe atrybuty. Szablon wiadomości e-mail zazwyczaj zawiera pola, które wstawiają dane z określonych atrybutów encji. Szablon wiadomości e-mail można połączyć z określoną encją podczas jej tworzenia, dzięki czemu może stanowić wewnętrzną zależność od encji. Globalny szablon wiadomości e-mail nie jest skojarzony z określonym obiektem, ale może zawierać opublikowane zależności między atrybutami encji, które służą do przekazywania danych. Proces (przepływ pracy) jest często konfigurowany do wysyłania wiadomości e-mail przy użyciu szablonu wiadomości e-mail tworzącego opublikowaną zależność z przepływem pracy.

Encja (Encja)

Struktura podstawowa używana do modelowania danych i zarządzania nimi w programie Dataverse. Wykresy, formularze, relacje encji, wyświetlenia i atrybuty skojarzone z encją są usuwane automatycznie po usunięciu encji ze względu na wewnętrzne zależności między nimi. Encje często zawierają opublikowane zależności powiązane z procesami, pulpitami nawigacyjnymi i szablonami wiadomości e-mail.

Profil zabezpieczeń pól (ProfilZabezpieczeńPól)

Profil definiujący poziom dostępu do zabezpieczonych atrybutów.

Szablon korespondencji seryjnej (SzablonKorespondencjiSeryjnej)

Szablon dokumentu korespondencji seryjnej zawierający standardowe atrybuty dokumentu korespondencji seryjnej. Szablon korespondencji seryjnej jest publikowany z zależnością od encji, z którą jest skojarzony.

Zestaw opcji (ZestawOpcji)

Zestaw opcji definiuje zestaw możliwych opcji. Atrybut listy wyboru używa zestaw opcji w celu zdefiniowania dostępnych opcji. Zestaw opcji globalnej może zawierać wiele atrybutów listy wyboru, aby wprowadzone opcje były zawsze identyczne i można je było utrzymywać w jednym miejscu. Zależność opublikowana występuje w przypadku, gdy atrybut listy wyboru odwołuje się do zestawu opcji globalnej. Nie można usunąć zestawu opcji globalnej, która jest używana przez atrybut listy wyboru.

Zestaw dodatków plug-in (ZestawDodatkówPlugIn)

Zestaw zawierający jeden lub większą liczbę typów dodatków plug-in. Dodatki plug-in są powiązane ze zdarzeniami, które z kolei są zwykle skojarzone z encją. Powoduje to utworzenie opublikowanej zależności.

Proces (Przepływ pracy)

Zestaw reguł logicznych definiujących kroki niezbędne w celu automatyzacji określonego procesu, zadania lub zestawu działań biznesowych. Procesy zawierają wiele czynności tworzących opublikowane zależności dla innych składników rozwiązania, do których odwołuje się proces. Każdy proces zawiera także zależność od encji, z którą jest skojarzony.

Raport (Raport)

Podsumowanie danych w czytelnym układzie. Raport zawiera opublikowane zależności między encjami lub atrybutami dołączonymi do raportu. Każdy raport musi również zostać skojarzony z kategorią raportu tworząc zależność wewnętrzną dot. składnika rozwiązania o nazwie Kategoria powiązana z raportem (KategoriaRaportu). Raporty mogą być skonfigurowane w odniesieniu do podraportów w taki sposób, że utworzona zostanie zależność z raportem nadrzędnym.

Przetwarzanie komunikatu zestawu SDK (PrzetwarzanieKomunikatuZestawuSDK)

Etap potoku wykonania, który ma zostać wykonany przez dodatek plug-in.

Rola zabezpieczeń (Rola)

Zbiór uprawnień związanych z zabezpieczeniami. Role przypisywane do użytkowników umożliwiają autoryzowanie ich dostępu do systemu Dataverse. Formularze encji można powiązać z określonymi rolami zabezpieczeń w celu ograniczenia możliwości wyświetlania tego formularza. Spowoduje to utworzenie opublikowanej zależności między rolą zabezpieczeń a formularzem.

Uwaga

Do rozwiązania można dodać tylko role zabezpieczeń pochodzące z jednostki biznesowej organizacji. Tylko użytkownik z dostępem do odczytu tych ról zabezpieczeń może dodawać je do rozwiązania.

Punkt końcowy usługi (PunktKońcowyUsługi)

Punkt końcowy usługi, z którym można się skontaktować.

Mapa witryny (MapaWitryny)

Dane XML używane do sterowania okienkiem nawigacji w aplikacji. Mapa witryny może być połączona z wyświetlaniem zasobu sieciowego w formie HTML lub ikona na mapie witryny może używać zasobu sieciowego w formie obrazu. W przypadku zastosowania dyrektywy $webresource: do ustanowienia tych skojarzeń tworzona jest opublikowana zależność. Więcej informacji: dyrektywa $webresource

Zasoby sieci web (ZasobySieci)

Dane odpowiadające plikom używanym przy tworzeniu stron sieci Web. Zasoby sieci Web udostępniają składniki po stronie klienta dostarczające niestandardowe elementy interfejsu użytkownika. Zasoby sieci Web mogą zawierać opublikowane zależności odnoszące się do formularzy encji, wstążek czy MapyWitryny. W przypadku zastosowania dyrektywy $webresource: do ustanowienia skojarzeń w ramach wstążki lub MapyWitryny, tworzona jest opublikowana zależność. Więcej informacji znajdziesz tutaj: dyrektywa $webresource.

Uwaga

Zasoby sieci Web mogą zależeć od innych zasobów sieci Web na podstawie łączy względnych. Zasób sieci Web w formacie HTML może na przykład używać skryptów CSS lub zasób sieci Web typu skrypt. Zasób sieci Web programu Silverlight wyświetlany poza formularzem encji lub na wykresie musi zawierać zasób sieci Web typu HTML, który będzie jego hostem. Te zależności nie są śledzone jako zależności rozwiązań.

Zobacz także

Koncepcje związane z rozwiązaniami
Usuwanie zależności
Strategia dotycząca środowisk
Praca z rozwiązaniami przy użyciu interfejsów API zestawu SDK
Wykaz encji w rozwiązaniu
Wykaz encji SkładnikRozwiązania