Bagikan melalui


Pelacakan dependensi untuk komponen solusi

Solusi terbuat dari komponen solusi. Anda akan menggunakan area solusi di Microsoft Dataverse untuk membuat atau menambahkan komponen solusi. Anda dapat melakukan tindakan ini secara terprogram menggunakan pesan AddSolutionComponentRequest atau pesan yang membuat atau memperbarui komponen solusi yang mencakup parameter SolutionUniqueName.

Komponen solusi sering tergantung pada komponen solusi lainnya. Anda tidak dapat menghapus komponen solusi yang memiliki dependensi pada komponen solusi lain. Misalnya, pita kustom biasanya memerlukan sumber daya web gambar atau skrip untuk menampilkan ikon dan melakukan tindakan menggunakan skrip. Selama pita kustom ada dalam solusi, sumber daya web tertentu yang digunakannya diperlukan. Agar dapat menghapus sumber daya web, Anda harus menghapus referensi di pita kustom. Dependensi komponen solusi ini dapat dilihat dalam aplikasi dengan mengklik Tampilkan dependensi.

Topik ini menjelaskan jenis komponen solusi yang dapat anda sertakan dalam solusi dan ketergantungannya satu sama lain.

Semua Komponen Solusi

Daftar lengkap jenis komponen solusi tersedia terletak di rangkaian pilihan global componenttype sistem. Rentang nilai yang didukung untuk properti ini tersedia dengan menyertakan file OptionSets.cs atau OptionSets.vb dalam proyek Anda. Namun, sebagian besar jenis komponen solusi yang tercantum di sana hanyalah untuk penggunaan internal dan daftar tidak memberikan informasi tentang Relasi di antara komponen solusi.

Dependensi komponen solusi

Dependensi komponen solusi membantu memastikan bahwa Anda memiliki pengalaman yang andal bekerja dengan solusi. Tindakan ini mencegah tindakan yang biasanya Anda lakukan dengan melanggar penyesuaian yang ditentukan dalam solusi secara tidak sengaja. Dependensi ini adalah yang memungkinkan solusi terkelola untuk diinstal dan dicopot hanya dengan mengimpor atau menghapus solusi.

Kerangka solusi secara otomatis melacak dependensi untuk komponen solusi. Setiap operasi pada komponen solusi secara otomatis menghitung dependensi ke komponen lain dalam sistem. Informasi dependensi digunakan untuk mempertahankan integritas sistem dan mencegah operasi yang dapat menyebabkan kondisi yang tidak konsisten.

Sebagai hasil dari pelacakan ketergantungan, perilaku berikut diberlakukan:

  • Penghapusan komponen dicegah jika komponen lain dalam sistem tergantung padanya.

  • Ekspor solusi akan memperingatkan pengguna jika ada komponen yang hilang yang dapat menyebabkan kegagalan saat mengimpor solusi tersebut di sistem lain.

    Peringatan selama ekspor dapat diabaikan jika pengembang solusi bermaksud bahwa solusi hanya akan diinstal di organisasi dengan komponen dependen yang diharapkan ada. Misalnya, bila Anda membuat solusi yang dirancang untuk diinstal melalui solusi "dasar" yang telah terinstal sebelumnya.

  • Impor solusi gagal jika semua komponen yang diperlukan tidak disertakan dalam solusi dan juga tidak ada dalam sistem target.

    • Selain itu, bila anda mengimpor solusi terkelola semua komponen yang diperlukan harus sesuai dengan jenis paket solusi. Komponen dalam solusi terkelola hanya dapat bergantung pada komponen terkelola lainnya.

    Ada tiga jenis dependensi komponen solusi:

    Solusi Internal
    Dependensi internal dikelola oleh Dataverse. Mereka ada saat komponen solusi tertentu tidak dapat ada tanpa komponen solusi lainnya.

    Diterbitkan
    Dependensi yang dipublikasikan dibuat saat dua komponen solusi saling terkait dan kemudian dipublikasikan. Untuk menghapus jenis ketergantungan ini, Asosiasi harus dihapus dan entitas dipublikasikan lagi.

    Tidak dipublikasikan
    Dependensi yang tidak dipublikasikan berlaku untuk versi komponen solusi bisa dipublikasi yang tidak dipublikasikan dan diperbarui. Setelah komponen solusi dipublikasikan, ia akan menjadi dependensi yang dipublikasikan.

    Dependensi internal solusi adalah dependensi bila tindakan dengan komponen solusi memerlukan tindakan untuk komponen solusi lainnya. Misalnya, jika Anda menghapus entitas, Anda harus menduga bahwa semua atribut entitas akan dihapus dengannya. Relasi entitas dengan entitas lain juga akan dihapus.

    Namun, ketergantungan internal dapat menyebabkan ketergantungan yang dipublikasikan dan masih memerlukan intervensi manual. Misalnya, jika Anda menyertakan bidang pencarian pada formulir entitas, lalu menghapus entitas utama pada relasi, Anda tidak dapat menyelesaikan penghapusan tersebut hingga Anda menghapus bidang pencarian dari formulir entitas terkait, lalu mempublikasikan formulir itu.

    Bila Anda melakukan tindakan yang terprogram dengan solusi, Anda dapat menggunakan pesan yang terkait dengan entitas Dependency. Lihat entitas dependensi untuk pesan yang dapat Anda gunakan untuk mengidentifikasi dependensi yang mungkin ada sebelum Anda menghapus komponen atau Menghapus instalan solusi.

Komponen solusi umum

Berikut adalah komponen solusi yang ditampilkan di aplikasi dan komponen yang akan Anda gunakan secara langsung saat menambahkan atau menghapus komponen solusi menggunakan halaman solusi. Setiap jenis komponen solusi lainnya akan tergantung pada satu atau beberapa komponen solusi untuk eksis.

Pita Aplikasi (RibbonCustomization) Entitas (Entitas) Laporan (Laporan)
Templat Artikel (KBArticleTemplate) Profil Keamanan Bidang (FieldSecurityProfile) Langkah Pemrosesan Pesan SDK (SDKMessageProcessingStep)
Peran Koneksi (ConnectionRole) Templat Penggabungan Surat (MailMergeTemplate) Peran keamanan (Peran)
Templat Kontrak (ContractTemplate) Set Rangkaian Pilihan (OptionSet) titik akhir layanan (ServiceEndpoint)
Dasbor atau Formulir Entitas (SystemForm) Perakitan Plug-in (PluginAssembly) Peta Situs (Peta Situs)
Templat Email (EmailTemplate) Proses (Alur Kerja) Sumber Daya Web (WebResource)

Pita aplikasi (RibbonCustomization)

Penyesuaian pita untuk pita aplikasi dan template pita entitas. Pita aplikasi tidak mencakup definisi pita pada tingkat entitas atau formulir.

Pita aplikasi kustom sering telah mempublikasikan dependensi pada sumber daya web. Sumber daya web digunakan untuk mendefinisikan ikon tombol pita dan fungsi JavaScript untuk mengontrol Kapan elemen pita ditampilkan atau tindakan apa yang dilakukan saat kontrol pita tertentu digunakan. Dependensi hanya dibuat bila definisi pita menggunakan direktif $webresource: untuk mengaitkan sumber daya web ke pita. Informasi lebih lanjut: direktif $webresource

Template Artikel (KBArticleTemplate)

Template yang berisi atribut standar artikel. Selalu ada ketergantungan internal antara template artikel dan entitas KbArticle.

Peran sambungan (ConnectionRole)

Peran yang menjelaskan relasi antara dua rekaman. Setiap peran sambungan menentukan jenis rekaman entitas yang dapat ditautkan menggunakan peran sambungan. Hal ini membuat dependensi yang dipublikasikan antara peran sambungan dan entitas.

template kontrak (ContractTemplate)

Template yang berisi atribut standar artikel kontrak. Selalu ada ketergantungan internal antara template kontrak dan entitas kontrak.

Dasbor atau formulir entitas (SystemForm)

Rekaman entitas formulir sistem digunakan untuk menentukan dasbor dan formulir entitas. Bila SystemForm digunakan sebagai formulir entitas ada ketergantungan internal pada entitas. Bila SystemForm digunakan sebagai dasbor tidak ada dependensi internal. Formulir entitas dan dasbor biasanya telah mempublikasikan dependensi yang terkait dengan kontennya. Formulir entitas mungkin memiliki bidang pencarian yang tergantung pada relasi entitas. Dasbor dan formulir entitas mungkin berisi diagram atau subkisi yang akan membuat dependensi yang dipublikasikan pada tampilan, yang kemudian memiliki ketergantungan internal pada entitas. Ketergantungan yang dipublikasikan pada sumber daya web dapat dibuat karena konten yang ditampilkan dalam dasbor atau formulir atau formulir berisi pustaka JavaScript. Formulir entitas telah mempublikasikan dependensi pada atribut yang ditampilkan sebagai bidang dalam formulir.

Template email (EmailTemplate)

Template yang berisi atribut standar pesan email. Template email biasanya mencakup bidang yang memasukkan data dari atribut entitas yang ditentukan. Template email dapat ditautkan ke entitas tertentu saat dibuat sehingga dapat berupa ketergantungan internal pada entitas. Template email global tidak terkait dengan entitas tertentu, namun mungkin telah mempublikasikan dependensi pada atribut entitas yang digunakan untuk menyediakan data. Proses (alur kerja) sering dikonfigurasi untuk mengirim email menggunakan template email yang membuat dependensi yang dipublikasikan dengan alur kerja.

Entitas (Entity)

Struktur utama yang digunakan untuk memodelkan dan mengelola data di Dataverse. Diagram, formulir, Relasi entitas, tampilan, dan atribut yang terkait dengan entitas akan dihapus secara otomatis bila entitas dihapus karena dependensi internal di antara keduanya. Entitas sering telah mempublikasikan dependensi dengan proses, dasbor, dan template email.

Profil Keamanan Bidang (FieldSecurityProfile)

Profil yang mendefinisikan tingkat akses untuk atribut aman.

Template gabungan surat (MailMergeTemplate)

Template yang berisi atribut standar dokumen penggabungan email. Template gabungan email memiliki ketergantungan yang dipublikasikan pada entitas yang dikaitkan dengannya.

Rangkaian Pilihan (OptionSet)

Rangkaian pilihan menentukan rangkaian pilihan. Atribut daftar pilihan menggunakan rangkaian pilihan untuk menentukan pilihan yang diberikan. Beberapa atribut daftar pilihan dapat menggunakan rangkaian pilihan global sehingga pilihan yang mereka sediakan selalu sama dan dapat dipertahankan di satu tempat. Dependensi yang dipublikasikan terjadi bila atribut daftar pilihan merujuk pada rangkaian pilihan global. Anda tidak dapat menghapus rangkaian pilihan global yang digunakan oleh atribut daftar pilihan.

assembly plug-in (PluginAssembly)

Asembli yang berisi satu atau beberapa jenis plug-in. Plug-in didaftarkan ke aktivitas yang biasanya terkait dengan entitas. Hal ini membuat dependensi yang dipublikasikan.

Proses (Workflow)

Seperangkat aturan logika yang mendefinisikan langkah-langkah yang diperlukan untuk mengotomatisasi proses bisnis, tugas, atau rangkaian tindakan spesifik yang akan dilakukan. Proses menyediakan berbagai tindakan yang membuat dependensi yang dipublikasikan pada komponen solusi lainnya yang dirujuk oleh proses. Masing-masing proses juga memiliki ketergantungan yang dipublikasikan pada entitas yang dikaitkan dengannya.

Laporan (Report)

Ringkasan data dalam tata letak yang mudah dibaca. Sebuah laporan memiliki dependensi yang dipublikasikan pada entitas atau data atribut yang tercakup dalam laporan itu. Setiap laporan juga harus dikaitkan dengan kategori laporan yang membuat ketergantungan internal pada komponen solusi yang disebut kategori terkait laporan (ReportCategory). Laporan dapat dikonfigurasi untuk menjadi sublaporan yang membuat dependensi yang dipublikasikan dengan laporan induk.

Langkah pemrosesan pesan SDK (SDKMessageProcessingStep)

Tahapan pada alur eksekusi dengan plug-in untuk dieksekusi.

Peran keamanan (Role)

Pengelompokan hak istimewa keamanan. Pengguna ditetapkan peran yang mengesahkan akses mereka ke sistem Dataverse. Formulir entitas dapat dikaitkan dengan peran keamanan tertentu untuk mengontrol pengguna yang dapat melihat formulir. Hal ini membuat dependensi yang dipublikasikan antara peran keamanan dan formulir.

Catatan

Hanya peran keamanan dari unit bisnis organisasi yang dapat ditambahkan ke solusi. Hanya pengguna dengan akses baca ke peran keamanan tersebut yang dapat menambahkannya ke solusi.

Titik akhir layanan (ServiceEndpoint)

Titik akhir layanan yang dapat dihubungi.

Peta situs (SiteMap)

Data XML yang digunakan untuk mengontrol panel navigasi aplikasi. Peta situs mungkin ditautkan untuk menampilkan sumber daya web HTML atau ikon di peta situs dapat menggunakan sumber daya web gambar. Bila petunjuk $webresource: yang digunakan untuk membuat Asosiasi ini, dependensi yang dipublikasikan dibuat. Informasi lebih lanjut: direktif $webresource

Sumber daya web (WebResource)

Data yang setara dengan file yang digunakan dalam pengembangan web. Sumber daya web memberikan komponen sisi klien yang digunakan untuk menyediakan elemen antarmuka pengguna kustom. Sumber daya web mungkin telah menerbitkan dependensi dengan formulir entitas, pita, dan peta situs. Bila petunjuk $webresource: yang digunakan untuk membuat Asosiasi dalam pita atau SiteMap, dependensi yang dipublikasikan dibuat. Untuk informasi lebih lanjut, lihat direktif $webresource.

Catatan

Sumber daya web mungkin tergantung pada sumber daya web lain berdasarkan tautan relatif. Misalnya, sumber daya web HTML dapat menggunakan CSS atau sumber daya web skrip. Sumber daya web Silverlight yang ditampilkan di luar formulir entitas atau diagram harus memiliki sumber daya web HTML untuk menghost-nya. Dependensi ini tidak dilacak sebagai dependensi solusi.

Lihat juga

Konsep solusi
Menghapus dependensi
Strategi lingkungan
Bekerja dengan solusi menggunakan API SDK]
Referensi Entitas Solusi
Referensi Entitas SolutionComponent