Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Sumber daya konfigurasi tampilan kontrol sumber daya (RCDC) adalah sumber daya yang ditentukan pengguna yang dapat Anda gunakan untuk mengontrol bagaimana sumber daya lain di penyimpanan data Microsoft Identity Manager 2016 SP1 (MIM) muncul di antarmuka pengguna (UI) kepada pengguna akhir. Setiap sumber daya RCDC berisi file konfigurasi XML yang dapat Anda ubah untuk menambahkan, memodifikasi, atau menghapus teks UI dan kontrol UI. Meskipun MIM 2016 SP1 menyediakan beberapa sumber daya RCDC default, Anda juga dapat membuat sumber daya RCDC kustom untuk sumber daya kustom. Untuk informasi selengkapnya tentang menggunakan UI RCDC di Portal FIM, lihat pengenalan Mengonfigurasi dan Menyesuaikan portal FIM dalam dokumentasi FIM.
Masalah yang diketahui
Nilai default dalam banyak kontrol RCDC tidak didukung.
Dalam rilis ini, mengatur nilai default dalam kontrol dalam kontrol sumber daya tidak didukung kecuali untuk kontrol tombol opsi. Anda dapat mengatasi masalah ini untuk kotak drop-down dengan menentukan nilai default yang tidak terkait dengan nilai apa pun untuk memaksa pengguna mengubah pilihan. Untuk mengatasi masalah ini dengan kontrol lain, Anda perlu menggunakan alur kerja otorisasi untuk menyediakan nilai default selama pengiriman permintaan.
Struktur dasar
Data XML untuk sumber daya RCDC terdiri dari satu elemen XML ObjectControlConfiguration.
Nota
Untuk skema XSD lengkap, lihat Lampiran A: Skema XSD default.
Berikut ini adalah skema XSD untuk elemen ObjectControlConfiguration:
<xsd:element name="ObjectControlConfiguration"\>
<xsd:complexType\>
<xsd:sequence\>
<xsd:element ref="my:ObjectDataSource" minOccurs="0" maxOccurs="32"/>
<xsd:element ref="my:XmlDataSource" minOccurs="0" maxOccurs="32"/>
<xsd:element ref="my:Panel"/>
<xsd:element ref="my:Events" minOccurs="0" maxOccurs="1"/>
</xsd:sequence>
<xsd:attribute ref="my:TypeName"/>
<xsd:anyAttribute processContents="lax" namespace="http://www.w3.org/XML/1998/namespace"/>
</xsd:complexType>
</xsd:element>
Elemen ObjectControlConfiguration berisi elemen berikut:
ObjectDataSource: Elemen ini menentukan TypeName dari kelas sumber data yang digunakan Resource Control (RC). Untuk deskripsi dan definisi skema, lihat bagian Sumber data berikut dalam dokumen ini. Elemen ObjectControlConfiguration dapat berisi hingga 32 node elemen ObjectDataSource.
XmlDataSource: Ini adalah sumber data sederhana yang paling umum digunakan untuk menentukan desain halaman ringkasan. Untuk deskripsi dan definisi skema, lihat bagian Sumber data berikut dalam dokumen ini. ObjectControlConfiguration : elemen dapat berisi hingga 32 node elemen XmlDataSource.
Panel: Administrator dapat menyesuaikan tata letak halaman RCDC dengan memodifikasi elemen di dalam elemen Panel. Untuk informasi selengkapnya, lihat bagian Panel nanti di dokumen ini. Elemen ObjectControlConfiguration hanya boleh memiliki satu elemen Panel.
Peristiwa: Administrator tidak dapat menyediakan kode yang disesuaikan di belakang, fitur ini terbatas. Ini adalah Peristiwa yang dapat dipancarkan oleh panel atau kontrol, berdasarkan perubahan status. Untuk informasi selengkapnya, lihat bagian Peristiwa nanti di dokumen ini. Elemen ObjectControlConfiguration dapat berisi satu elemen Peristiwa secara opsional. Secara umum, penggunaan Peristiwa kustom tidak didukung kecuali secara khusus dikembangkan dalam penyempurnaan selanjutnya.
Sumber data
Microsoft Identity Manager menggunakan sumber data sebagai cara untuk mengikat data ke komponen UI. Ini membantu memfasilitasi pemisahan data dari lapisan presentasi. Ada dua jenis sumber data dalam data konfigurasi sumber daya RCDC: ObjectDataSource dan XmlDataSource.
ObjectDataSources menentukan kelas Microsoft .NET yang menyediakan data ke RC. Ada set tetap jenis ObjectDataSources yang tersedia asalkan administrator dapat memilih untuk digunakan saat menulis RCDC.
XMLDataSources menyediakan cara sederhana untuk menyusun data berbasis XML, dan dapat digunakan oleh administrator untuk menyediakan data yang disesuaikan. Data XML harus ditentukan langsung di RCDC, kecuali Anda menggunakan struktur XML bawaan yang telah ditentukan sebelumnya. Struktur XML bawaan digunakan untuk menghasilkan halaman ringkasan di RC.
Dalam RCDC, Anda dapat mengikat sumber data ini ke atribut kontrol UI yang ditentukan dalam RCDC untuk menghasilkan UI.
Elemen ObjectDataSource
Microsoft Identity Manager menyediakan jenis sumber data umum dalam tabel berikut yang tersedia untuk semua jenis sumber daya (kecuali jika dicatat).
| TypeName | Deskripsi | Pengikatan dua arah | Sintaks pengikatan |
|---|---|---|---|
| PrimaryResourceObjectDataSource | Ini mewakili sumber daya FIM 2010 yang sedang dibuat, diedit, atau dilihat. Jalur dalam string pengikatan adalah nama atribut. Jenis sumber daya ditentukan oleh atribut TargetObjectType dari RCDC daripada di RCDC. Atribut ConfigurationData. | Ya |
[AttributeName] nilai atribut objek yang diberikan oleh namanya. |
| PrimaryResourceDeltaDataSource | Sumber data ini membangun XML delta yang membandingkan status asli dan status sumber daya FIM 2010 saat ini. XML delta yang dihasilkan digunakan oleh kontrol ringkasan RC untuk merender UI untuk permintaan yang dikirimkan pengguna. | Tidak |
DeltaXml Ini digunakan dengan kontrol ringkasan untuk menampilkan delta. |
| PrimaryResourceRightsDataSource | Sumber data ini menyediakan hak sebaris untuk setiap atribut sumber daya FIM 2010. Ini memungkinkan RC untuk menentukan terlebih dahulu pengiriman izin mana yang dimiliki pengguna pada atribut tersebut lalu merender UI untuk atribut tersebut dengan tepat. | Tidak | [AttributeName] |
| SchemaDataSource | Sumber data ini dapat digunakan untuk mengakses informasi terkait skema, seperti nama tampilan, deskripsi, apakah atribut diperlukan atau tidak, serta informasi jenis sumber daya. | Tidak |
[AttributeName].Required nilai Boolean yang menunjukkan apakah atribut harus memiliki nilai yang valid. [AttributeName].DisplayNameString Nilai yang menunjukkan Nama Tampilan pengikatan. [AttributeName].DescriptionString Nilai yang menunjukkan Deskripsi pengikatan. [AttributeName].StringRegexString nilai yang menunjukkan String Regex pengikatan. [AttributeName].DisplayName [AttributeName].Description [AttributeName].IntegerValueMinimum [AttributeName].IntegerValueMaximum [AttributeName].LocalizedAllowedValues |
| DomainDataSource | Sumber data ini menyediakan enumerasi domain, berdasarkan sumber daya konfigurasi domain. Sumber data ini hanya dapat digunakan di RCDC yang untuk sumber daya grup dan sumber daya pengguna. | Ya | Domain |
Berikut ini adalah contoh cuplikan RCDC yang mengikat tiga sumber data ke kontrol UocTextBox untuk mengedit atribut Deskripsi grup:
<my:ObjectDataSource my:TypeName="PrimaryResourceObjectDataSource" my:Name="object" my:Parameters=""/>
<my:ObjectDataSource my:TypeName="SchemaDataSource" my:Name="schema"/>
<my:ObjectDataSource my:TypeName="PrimaryResourceRightsDataSource" my:Name="rights"/>
<my:Control my:Name="Description" my:TypeName="UocTextBox" my:Caption="{Binding Source=schema, Path=Description.DisplayName}" my:RightsLevel="{Binding Source=rights, Path=Description}">
<my:Properties>
<my:Property my:Name="Required" my:Value="{Binding Source=schema, Path=DisplayName.Required}"/>
<my:Property my:Name="Rows" my:Value="3"/>
<my:Property my:Name="Columns" my:Value="60"/>
<my:Property my:Name="MaxLength" my:Value="450"/>
<my:Property my:Name="Text" my:Value="{Binding Source=object, Path=Description, Mode=TwoWay}"/>
</my:Properties>
</my:Control>
Elemen XMLDataSource
Dengan menggunakan elemen XMLDataSource, Anda dapat menentukan data kustom yang dapat digunakan RCDC untuk sumber daya tertentu. Dalam hal ini, data XML harus ditentukan dalam RCDC. Sebagai alternatif, sumber data ini dapat digunakan untuk mereferensikan struktur data XML bawaan untuk merender UI untuk halaman ringkasan. Anda mengontrol jenis XMLDataSource yang akan digunakan saat Anda menentukannya di RCDC.
| TypeName | Deskripsi | Pengikatan dua arah | Sintaks pengikatan |
|---|---|---|---|
| XMLDataSource | Sumber data mewakili data XML. Data dapat dalam format XSL atau XSL yang disematkan:
|
Tidak |
Xpath[;namespaces]di mana Xpath adalah xml xpath yang valid untuk memilih catatan yang diperlukan, paling sering "/" (root).
namespaces adalah daftar opsional string prefiks=URI. String dibatasi oleh titik koma seperti yang diperlukan agar Xpath berfungsi terhadap XML namespace. |
| ReferenceDeltaDataSource | Sumber data mewakili delta atribut referensi multinila. Ini hanya digunakan pada RCDC untuk Grup dan Set. Meskipun sumber data tidak terbatas pada Grup atau Set, sumber data memerlukan perubahan kode di host RCDC untuk mengirimkan delta tersebut. Saat ini, Grup dan Set adalah satu-satunya host yang mengenali sumber data ini. |
Ya |
[AttributeName].Add di mana [AttributeName] mewakili atribut referensi dan data yang dikembalikan adalah penambahan delta.
[AttributeName].Remove di mana [AttributeName] mewakili atribut referensi dan data yang dikembalikan adalah penghapusan delta. DeltaXml |
| RequestDetailsDataSource | Sumber data mewakili atribut RequestParameter dari objek Permintaan. Parameter menetapkan jumlah maksimum nilai atribut yang akan ditampilkan per atribut multinilai. Ini hanya digunakan di RCDC untuk Permintaan. <my:ObjectDataSource my:TypeName="RequestDetailsDataSource" my:Name="requestDetails" my:Parameters="1000" /> |
Tidak | DeltaXml |
| RequestStatusDataSource | Sumber data mewakili RequestStatusDetails atribut objek Permintaan. Ini hanya digunakan di RCDC untuk Permintaan. | Tidak | DeltaXml |
Untuk menentukan sumber data XML kustom, gunakan XML berikut:
<my:XmlDataSource my:Name="MyCustomData" >
%Insert custom, properly formatted XML data here%
</my:XmlDataSource>
Untuk menggunakan kontrol ringkasan bawaan XSL, tentukan sumber data sebagai berikut:
<my:XmlDataSource my:Name="summaryTransformXsl" my:Parameters="Microsoft.IdentityManagement.WebUI.Controls.Resources.DefaultSummary.xsl" />
Jika Anda membuat RCDC untuk jenis sumber daya kustom, Anda dapat menggunakan metode ini untuk merender halaman ringkasan secara otomatis untuk sumber daya kustom tersebut.
Berikut ini adalah contoh cara membuat tab ringkasan di RCDC, menggunakan elemen PrimaryResourceDeltaDataSource dengan elemen XMLDataSource dengan menggunakan XSL bawaan:
<my:ObjectDataSource my:TypeName="PrimaryResourceDeltaDataSource" my:Name="delta" />
<my:XmlDataSource my:Name="summaryTransformXsl" my:Parameters="Microsoft.IdentityManagement.WebUI.Controls.Resources.DefaultSummary.xsl" />
<my:Grouping my:Name="summaryGroup" my:Caption="Summary” my:IsSummary="true">
<my:Control my:Name="summaryControl" my:TypeName="UocHtmlSummary" my:ExpandArea="true">
<my:Properties>
<my:Property my:Name="ModificationsXml" my:Value="{Binding Source=delta, Path=DeltaXml}" />
<my:Property my:Name="TransformXsl" my:Value="{Binding Source=summaryTransformXsl, Path=/}" />
</my:Properties>
</my:Control>
</my:Grouping>
Sebagai alternatif, pengguna dapat mengganti elemen XmlDataSource yang ditentukan sebelumnya dengan format berikut untuk menentukan tata letak halaman ringkasan yang dikustomisasi. Sebagai referensi, RINGKASAN XSL FIM 2010 default disertakan dalam Lampiran B: Ringkasan Default XSL, nanti dalam dokumen ini.
<my:XmlDataSource my:Name="summaryTransformXsl">
Insert valid XSL code here
</my:XmlDataSource>
Skema untuk sumber data
Skema XSD berikut menghasilkan dua jenis sumber data:
<xsd:element name="ObjectDataSource">
<xsd:complexType>
<xsd:sequence/>
<xsd:attribute ref="my:TypeName"/>
<xsd:attribute ref="my:Name"/>
<xsd:attribute ref="my:Parameters"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="XmlDataSource">
<xsd:complexType mixed="true">
<xsd:sequence>
<xsd:any minOccurs="0" maxOccurs="unbounded" processContents="lax"/>
</xsd:sequence>
<xsd:attribute ref="my:Name"/>
<xsd:attribute ref="my:Parameters"/>
</xsd:complexType>
</xsd:element>
Elemen peristiwa
Elemen Peristiwa menentukan status Kontrol yang berubah. Ekstensibilitas fitur ini terbatas karena Anda tidak dapat menulis fungsi yang disesuaikan (Handler) untuk menentukan perilaku setelah peristiwa dipicu. Elemen Peristiwa yang sama dapat digunakan dalam elemen Panel. Untuk informasi selengkapnya, lihat bagian Panel nanti di dokumen ini.
Berikut ini adalah skema XSD untuk elemen Peristiwa:
<xsd:element name="Events">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="my:Event" minOccurs="1" maxOccurs="16"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="Event">
xsd:complexType>
<xsd:simpleContent>
<xsd:extension base="xsd:string">
xsd:attribute ref="my:Name"/>
<xsd:attribute ref="my:Handler"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
Peristiwa adalah elemen kosong, dan memiliki atribut berikut:
Nama: Ini adalah nama unik suatu peristiwa. Satu-satunya peristiwa yang didukung di ObjectControlConfiguration adalah peristiwa Muat. Kejadian ini dipicu ketika halaman pertama kali dimuat.
Handler: Ini adalah nama unik handler. Ketika peristiwa dipicu, biasanya metode program dipanggil untuk menangani perubahan status kontrol. Kasus berikut ini tidak didukung:
- Menghapus handler yang ada dari kontrol yang ada.
- Membuat handler baru.
- Melampirkan handler ke kontrol yang sudah ada atau baru.
Berikut ini adalah contoh elemen Peristiwa:
<my:Events>
<my:Event my:Name="Load" my:Handler="OnLoad"/>
</my:Events>
Elemen panel
Elemen Panel adalah elemen inti dalam tata letak RCDC. Berikut ini adalah skema XSD untuk elemen Panel:
<xsd:element name="Panel">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="my:Grouping" minOccurs="1" maxOccurs="16"/>
</xsd:sequence>
<xsd:attribute ref="my:Name"/>
<xsd:attribute ref="my:DisplayAsWizard"/>
<xsd:attribute ref="my:Caption"/>
<xsd:attribute ref="my:AutoValidate"/>
</xsd:complexType>
</xsd:element>
Elemen Panel berisi elemen berulang, Pengelompokan. Untuk informasi selengkapnya, lihat bagian Pengelompokan di dokumen ini.
Elemen Panel memiliki atribut berikut:
Nama: Nama Panel. Ini adalah atribut jenis string yang diperlukan.
DisplayAsWizard: Atribut ini saat ini tidak digunakan lagi. Atribut VerbContext yang sesuai pada RCDC mengatur apakah tata letak sumber daya berada dalam mode Wizard atau mode Tab. Jika diatur ke 0 (Mode buat), itu juga dalam mode Wizard. Jika tidak, itu dalam mode Tab. Untuk informasi selengkapnya, lihat Pengantar Mengonfigurasi dan Menyesuaikan Portal FIM dalam dokumentasi.
Keterangan: Atribut ini saat ini tidak digunakan lagi. Pengguna dapat menentukan keterangan untuk halaman dengan menyertakan Grup yang hanya berisi informasi header. Untuk informasi selengkapnya, lihat bagian Pengelompokan di dokumen ini.
Validasi Otomatis: Ini adalah atribut Boolean opsional. Ketika diatur ke validasi true dipicu terhadap setiap kontrol pada tab saat ini. Secara default, jika atribut hilang, atribut diatur ke true. Ini dapat digunakan dalam kombinasi dengan properti RegularExpression. Untuk informasi selengkapnya, lihat "RegularExpression" di bagian selanjutnya dari dokumen ini.
Elemen pengelompokan
Elemen Pengelompokan menentukan tata letak keseluruhan Panel. Ini bertindak sebagai kontainer yang mengelompokkan kontrol individual ke dalam bagian dan tab yang berbeda. Berikut ini adalah skema XSD untuk elemen Pengelompokan:
<xsd:element name="Grouping">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="my:Help" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="my:Control" minOccurs="1" maxOccurs="256"/>
<xsd:element ref="my:Events" minOccurs="0" maxOccurs="1"/>
</xsd:sequence>
<xsd:attribute ref="my:Name"/>
<xsd:attribute ref="my:Caption"/>
<xsd:attribute ref="my:Description"/>
<xsd:attribute ref="my:Enabled"/>
<xsd:attribute ref="my:Visible"/>
<xsd:attribute ref="my:IsHeader"/>
<xsd:attribute ref="my:IsSummary"/>
</xsd:complexType>
</xsd:element>
Ada tiga jenis elemen Pengelompokan:
Pengelompokan Header: Pengelompokan Header bersifat opsional. Hanya ada satu Pengelompokan Header di Panel . Pengelompokan Header muncul di atas panel sebagai keterangan. Hanya satu UocCaptionControl yang dapat digunakan dalam pengelompokan ini. Untuk contoh Pengelompokan Header, lihat bagian Sampel.
Pengelompokan Konten : Diperlukan setidaknya satu Pengelompokan Konten. Mungkin ada beberapa Pengelompokan Konten di Panel. Pengelompokan Konten muncul sebagai konten utama halaman RCDC. Setiap Pengelompokan Konten muncul sebagai tab di Panel yang sama dan dapat menahan dari 1 hingga 256 kontrol. Lihat bagian Contoh untuk contoh Pengelompokan Konten.
Pengelompokan Ringkasan : Pengelompokan Ringkasan bersifat opsional. Hanya ada satu Pengelompokan Ringkasan di Panel. Pengelompokan Ringkasan muncul sebagai tab terakhir Panel. Hanya satu kontrol UocHtmlSummary yang dapat digunakan dalam Pengelompokan Ringkasan untuk menampilkan perubahan yang telah dilakukan pengguna sebelum mengirimkan permintaan. Lihat bagian Contoh untuk contoh Pengelompokan Ringkasan.
Setiap jenis Pengelompokan berisi elemen berikut:
Bantuan: Elemen ini menyediakan teks Bantuan dalam tab. Anda juga dapat menggunakannya untuk menambahkan tautan ke file Bantuan untuk tab.
Kontrol: Untuk informasi tentang elemen ini, lihat bagian Kontrol dalam dokumen ini. Setiap pengelompokan harus memiliki 1 hingga 256 kontrol secara inklusif, tergantung pada jenis pengelompokan.
Peristiwa: Untuk informasi tentang elemen ini, lihat bagian Peristiwa dalam dokumen ini. Setiap pengelompokan dapat, sebagai opsi, memiliki satu Peristiwa. Peristiwa yang didukung dalam elemen Pengelompokan adalah sebagai berikut:
- BeforeLeave: Kejadian ini dipicu saat pengguna siap untuk meninggalkan tab dalam pengelompokan konten.
- AfterEnter: Kejadian ini dipicu saat pengguna siap memasukkan tab dalam pengelompokan konten.
Pengelompokan dapat berisi tujuh atribut berikut:
Nama: Ini adalah nama yang diperlukan dari Pengelompokan. Nama harus unik dalam Panel.
Keterangan: Keterangan muncul sebagai keterangan header dalam Pengelompokan Header. Ini muncul sebagai keterangan tab dari pengelompokan Konten atau Ringkasan.
Description: Atribut string opsional, Description hanya berfungsi saat digunakan dalam Pengelompokan Konten. Gunakan elemen ini untuk memberi pengguna akhir beberapa detail tentang informasi dalam tab yang sama.
Nota
Jika atribut ini digunakan dalam Pengelompokan Ringkasan, XML dianggap tidak valid. Jika atribut ini digunakan dalam Pengelompokan Header, XML dianggap valid tetapi diabaikan.
Diaktifkan: Atribut Boolean opsional, Diaktifkan diatur ke true saat hilang. Jika Diaktifkan diatur ke false, pengguna akhir akan melihat tab Dinonaktifkan. Atribut ini hanya berfungsi dalam pengelompokan Konten.
Nota
Jika atribut ini digunakan dalam Pengelompokan Ringkasan, XML dianggap tidak valid. Jika atribut ini digunakan dalam Pengelompokan Header, XML dianggap valid tetapi diabaikan.
Terlihat : Anda dapat menyembunyikan tab halaman RCDC atau judulnya dengan mengatur atribut ini ke false. Secara default, atribut opsional jenis Boolean ini diatur ke true. Atribut ini hanya berfungsi pada Pengelompokan Konten.
Nota
Ketika hanya ada satu Pengelompokan Konten di Panel, fitur ini tidak berfungsi. Ketika ada lebih dari satu Pengelompokan Konten di Panel, itu bersifat seperti yang dijelaskan sebelumnya.
IsHeader: Atribut ini adalah atribut Boolean opsional yang menentukan apakah Pengelompokan adalah Pengelompokan Header. Jika atribut ini tidak ditentukan, atribut ini diatur ke false.
IsSummary: Ini adalah atribut Boolean opsional yang menentukan apakah Pengelompokan adalah pengelompokan Ringkasan. Jika atribut ini tidak ditentukan, atribut ini diatur ke false.
Contoh untuk jenis elemen Pengelompokan
Bagian ini berisi contoh untuk elemen Pengelompokan.
Contoh: Pengelompokan Header
Gambar berikut menunjukkan contoh Pengelompokan Header:
Header GroupingPengelompokan Header
XML berikut menghasilkan contoh Pengelompokan Header. Di XML, Pengelompokan Header adalah area dengan teks keterangan "Pengelompokan Header Sampel."
<!--Sample for a Header Grouping-->
<my:Grouping my:Name="HeaderGroupingSample" my:IsHeader="true">
<my:Control my:Name="SampleHeaderCaption" my:TypeName="UocCaptionControl" my:ExpandArea="true" my:Caption="Sample Header Grouping">
<my:Properties>
<my:Property my:Name="MaxHeight" my:Value="32"/>
<my:Property my:Name="MaxWidth" my:Value="32"/>
</my:Properties>
</my:Control>
</my:Grouping>
<!--End of Header Grouping Sample-->
Contoh: Pengelompokan Konten
Gambar berikut menunjukkan contoh Pengelompokan Konten:
Content GroupingPengelompokan Konten
XML berikut menghasilkan sampel Pengelompokan Konten. Di XML, Pengelompokan Konten adalah area dengan teks keterangan "Pengelompokan Konten Sampel."
<!--Sample for a Content Grouping-->
<my:Grouping my:Name="ContentGroupingSample" my:Caption="Sample Content Grouping" my:Description="Some description for content grouping">
<my:Control my:Name="DisplayName" my:TypeName="UocTextBox" my:Caption="Display name" my:Description="This is the display name of the set.">
<my:Properties>
<my:Property my:Name="Required" my:Value="True"/>
<my:Property my:Name="MaxLength" my:Value="128"/>
<my:Property my:Name="Text" my:Value="{Binding Source=object, Path=DisplayName, Mode=TwoWay}"/>
</my:Properties>
</my:Control>
</my:Grouping>
<!--End of Content Grouping Sample-->
Contoh: Pengelompokan Ringkasan
Gambar berikut menunjukkan sampel Pengelompokan Ringkasan:
Summary GroupingPengelompokan Ringkasan
XML berikut menghasilkan sampel Pengelompokan Ringkasan. Di XML, Pengelompokan Ringkasan adalah area dengan teks keterangan "Pengelompokan Ringkasan Sampel."
<!--Sample for a Summary Grouping-->
<my:Grouping my:Name="Summary" my:Caption="Sample Summary Grouping" my:IsSummary="true">
<my:Control my:Name="SummaryControl" my:TypeName="UocHtmlSummary" my:ExpandArea="true">
<my:Properties>
<my:Property my:Name="ModificationsXml" my:Value="{Binding Source=delta, Path=DeltaXml}"/>
<my:Property my:Name="TransformXsl" my:Value="{Binding Source=summaryTransformXsl, Path=/}"/>
</my:Properties>
</my:Control>
</my:Grouping>
<!--End of Summary Grouping Sample-->
Elemen Bantuan
Elemen Bantuan dapat disertakan dalam elemen Pengelompokan atau Kontrol sebagai elemen opsional. Jika digunakan dalam Pengelompokan, itu harus menjadi elemen pertama yang digunakan. Ini memberikan Bantuan tekstual kepada pengguna akhir untuk membantu mereka memberikan informasi yang akurat. Skema XSD berikut adalah untuk elemen Bantuan:
<xsd:element name="Help">
<xsd:complexType>
<xsd:sequence/>
<xsd:attribute ref="my:HelpText"/>
<xsd:attribute ref="my:Link"/>
</xsd:complexType>
</xsd:element>
Kode sampel XML berikut menghasilkan elemen Bantuan:
<my:Help my:HelpText="Some Help Text for Group Basic Info" my:Link="03e258a0-609b-44f4-8417-4defdb6cb5e9.htm#bkmk_grouping_GroupingBasicInfo" />
Elemen kontrol
Elemen Pengelompokan berisi satu atau beberapa elemen Kontrol. Kontrol adalah elemen utama dalam RCDC. Anda dapat menyesuaikan elemen Pengelompokan dengan menentukan elemen Kontrol berbeda yang dikandungnya. Skema XSD berikut adalah untuk elemen Kontrol:
<xsd:element name="Control">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="my:Help" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="my:CustomProperties" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="my:Options" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="my:Buttons" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="my:Properties" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="my:Events" minOccurs="0" maxOccurs="1"/>
</xsd:sequence>
<xsd:attribute ref="my:Name"/>
<xsd:attribute ref="my:TypeName"/>
<xsd:attribute ref="my:Caption"/>
<xsd:attribute ref="my:Enabled"/>
<xsd:attribute ref="my:Visible"/>
<xsd:attribute ref="my:Description"/>
<xsd:attribute ref="my:ExpandArea"/>
<xsd:attribute ref="my:Hint"/>
<xsd:attribute ref="my:AutoPostback"/>
<xsd:attribute ref="my:RightsLevel"/>
</xsd:complexType>
</xsd:element>
Elemen Kontrol berisi elemen berikut:
Bantuan: Elemen ini diabaikan. Ini hanya berfungsi dalam Pengelompokan.
CustomProperties: Elemen ini tidak didukung.
Opsi: Elemen ini hanya digunakan dalam kombinasi dengan UocDropDownList atau UocRadioButtonList Controls. Ini tidak berfungsi dengan Kontrol lainnya. Lihat bagian Opsi dalam dokumen ini untuk struktur elemen ini. Lihat bagian Kontrol individual dari dokumen ini untuk melihat bagaimana Opsi digunakan oleh kontrol.
Tombol: Elemen ini hanya digunakan dalam kombinasi dengan UocListView Control. Ini tidak berfungsi untuk kontrol lain. Untuk informasi selengkapnya, lihat bagian UocListView di dokumen ini.
Properti: Elemen ini digunakan di semua Kontrol untuk menentukan perilaku tambahan Kontrol. Untuk informasi tentang elemen ini, lihat bagian Properti dalam dokumen ini.
Peristiwa : Untuk struktur elemen ini, lihat bagian Peristiwa sebelumnya dalam dokumen ini. Lihat bagian Kontrol individu dari dokumen ini untuk melihat peristiwa mana yang digunakan dalam kontrol.
Elemen Kontrol dapat berisi 10 atribut berikut:
Nama: Ini adalah Nama kontrol. Nama Kontrol harus unik dalam setiap panel. Ini adalah atribut jenis string yang diperlukan.
TypeName: Atribut ini menentukan jenis Kontrolnya. Ini adalah atribut jenis string yang diperlukan. Lihat bagian Kontrol Individu dalam dokumen ini untuk setiap nama kontrol.
Keterangan: Anda dapat menggunakan atribut ini untuk menyertakan keterangan untuk kontrol. Keterangan biasanya adalah nama tampilan data yang ditampilkan atau dimasukkan kontrol. Anda dapat secara eksplisit menentukan nilai untuk keterangan atau mengikatnya dengan informasi nama tampilan atribut skema. Keterangan muncul di sisi paling kiri kontrol berukuran normal. Jika kontrol mencakup layar penuh, keterangan akan muncul di atas kontrol. Ini adalah atribut opsional jenis string. Untuk informasi tentang cara mengikat sumber data dengan atribut atau nilai properti, lihat bagian Properti.
Contoh berikut menunjukkan bagaimana keterangan dapat digunakan secara eksplisit:
<my:Control my:Name="ExplicitAlias" my:TypeName="UocTextBox" my:Caption="Explicit Alias">…<my:Control/>Contoh berikut menunjukkan bagaimana keterangan dapat digunakan dengan sumber data. Jika Anda telah menggunakan templat untuk sumber data yang diperlihatkan sebelumnya dalam dokumen ini, sumber data Anda adalah skema. Kami menyarankan agar Anda mengikat DisplayName atribut dengan atribut Keterangan.
<my:Control my:Name="DynamicAlias" my:TypeName="UocTextBox" my:Caption="{Binding Source=schema, Path=Alias.DisplayName, Mode=OneWay}">…<my:Control/>Diaktifkan: Ini adalah atribut opsional jenis Boolean. Dengan mengatur nilai atribut ini ke false, pengguna dapat menonaktifkan Kontrol. Nilai default diatur ke true.
Terlihat : Ini adalah atribut opsional jenis Boolean. Anda dapat menggunakan atribut ini untuk menyembunyikan seluruh kontrol. Nilai default diatur ke true.
Deskripsi: Gunakan atribut opsional jenis string ini untuk menyertakan deskripsi untuk membantu pengguna akhir memahami apa yang harus mereka masukkan ke dalam kontrol atau apa yang dilakukan kontrol. Anda dapat secara eksplisit menentukan nilai untuk deskripsi atau mengikatnya dengan informasi deskripsi atribut skema.
Deskripsi muncul di sisi paling kiri kontrol berukuran normal di bawah keterangan. Jika kontrol mencakup layar penuh, deskripsi akan muncul di bagian atas kontrol di bawah keterangan. Untuk informasi tentang cara mengikat sumber data dengan atribut atau nilai properti, lihat bagian Properti dalam dokumen ini.
Contoh berikut menunjukkan bagaimana Deskripsi dapat digunakan secara eksplisit:
<my:Control my:Name="ExplicitAlias" my:TypeName="UocTextBox" my:Caption="Explicit Alias" my:Description="This is explicit description.">…<my:Control/>Contoh ini memperlihatkan bagaimana Deskripsi dapat digunakan dengan sumber data. Jika Anda telah menggunakan templat untuk sumber data yang diperlihatkan sebelumnya dalam dokumen ini, sumber data Anda skema. Sebaiknya Anda mengikat Description atribut dengan atribut Description.
<my:Control my:Name="DynamicAlias" my:TypeName="UocTextBox" my:Caption="{Binding Source=schema, Path=Alias.DisplayName, Mode=OneWay}" my:Description="{Binding Source=schema, Path=Alias.Description, Mode=OneWay}">…<my:Control/>ExpandArea: Atribut ini menunjukkan apakah kontrol mencakup layar penuh. Ini adalah atribut opsional jenis Boolean. Nilai default diatur ke false.
Nota
Atribut Keterangan dan Deskripsi dinonaktifkan saat atribut ini diatur ke true. Gunakan kontrol UocLabel untuk memberikan keterangan untuk kontrol yang diperluas.
Hint: Ini adalah atribut opsional jenis string. Teks dalam atribut Petunjuk membantu pengguna akhir memutuskan apa itu input yang valid untuk kontrol. Petunjuk muncul di bawah kontrol.
AutoPostback : Ini adalah atribut opsional jenis Boolean. Nilai defaultnya adalah false. Jika diatur ke false, me-refresh halaman mungkin tidak menyegarkan kontrol. Untuk informasi tentang AutoPostback, cari properti kontrol UI Microsoft ASP.NET dengan nama yang sama.
RightsLevel: Ini adalah atribut opsional jenis string. Anda hanya dapat mengikat atribut ini dengan hak sebaris dengan sumber data. Kontrol diaktifkan atau dinonaktifkan secara dinamis, berdasarkan hak pengguna. Untuk informasi tentang cara mengikat sumber data dengan atribut atau nilai properti, lihat bagian Properti dalam dokumen ini.
Contoh ini menunjukkan bagaimana atribut RightsLevel dapat digunakan dengan sumber data. Jika Anda telah menggunakan templat untuk sumber data yang diperlihatkan sebelumnya dalam dokumen ini, sumber data Anda hak. Gunakan nama atribut sebagai Jalur.
Elemen properti
Anda dapat menggunakan elemen Properti untuk menyesuaikan perilaku setiap kontrol lebih lanjut. Properti adalah elemen kosong. Skema XSD berikut adalah untuk elemen Properti:
<xsd:element name="Properties">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="my:Property" minOccurs="1" maxOccurs="32"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="Property">
<xsd:complexType>
<xsd:simpleContent>
<xsd:extension base="xsd:string">
<xsd:attribute ref="my:Name"/>
<xsd:attribute ref="my:Value"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
Setiap Properti memiliki dua atribut yang diperlukan berikut:
Nama: Atribut jenis string ini adalah nama unik Properti. Kontrol yang berbeda memiliki properti yang berbeda. Ada beberapa properti umum yang dapat digunakan oleh semua kontrol. Untuk informasi selengkapnya tentang nama apa yang tersedia untuk kontrol tertentu, lihat bagian Properti umum dan Kontrol individual dari dokumen ini.
Nilai: Ini adalah nilai Properti. Jenis data nilai bergantung pada properti tempatnya ditetapkan. Lihat bagian berikut untuk format nilai yang diizinkan untuk properti tertentu.
Mengikat Properti dengan konten sumber data
Beberapa properti dapat terikat dengan informasi dari sumber data. Gunakan format string berikut untuk membuat pengikatan ini. Lihat deskripsi untuk properti individual di bagian Kontrol individual dari dokumen ini untuk mempelajari cara mengikat properti dengan sumber data.
<my:Property my:Name="Required" my:Value="[Formatted String]"/>
Formatted String := “{Binding “ + [SourceExpression] + “,” + [PathExpression] + “,” + [ModeExpression]? + “}
SourceExpression:= “Source=” + [ObjectDataSourceName]
PathExpression:= “Path=” + [AttributeName]|[AttributePropertyName]
ModeExpression:= “Mode=” + [ModeChoice]
ModeChoice:= “OneWay”|”TwoWay”
ObjectDataSourceName:= The value of any string assign to node /ObjectControlConfiguration/ObjectDataSource/Name.
AttributeName:= valid schema attribute name from the data source.
AttributePropertyName:= valid property name of a schema attribute from the data source.
XML berikut ini memperlihatkan cara mengikat sumber data ke elemen Properti:
<my:Property my:Name="Text" my:Value="{Binding Source=object, Path=DisplayName, Mode=TwoWay}"/>
<my:Property my:Name="Required" my:Value="{Binding Source=schema, Path=DisplayName.Required}"/>
Properti umum
Semua kontrol RCDC yang ditentukan dalam dokumen ini dapat memiliki properti umum yang dijelaskan di bagian ini. Anda dapat menggunakan Properti ini bersama dengan Properti lain yang khusus untuk kontrol yang berbeda.
diperlukan : Properti ini menunjukkan bahwa bidang tersebut adalah bidang yang diperlukan atau bidang opsional. Bidang yang diperlukan harus diisi dengan nilai. Nilai kosong tidak didukung untuk input string. Bidang opsional dapat dibiarkan kosong. Jika bidang ini adalah bidang yang diperlukan tanpa nilai yang diisi, pesan kesalahan muncul di atas kontrol input. Anda dapat secara eksplisit menentukan apakah bidang diperlukan atau opsional. Anda juga dapat mengikat bidang dengan informasi skema pengikatan tertentu antara atribut dan jenis sumber daya. Secara default, jika properti ini hilang, itu berarti bahwa kontrol adalah kontrol input opsional.
Contoh berikut menggunakan nilai eksplisit untuk properti ini:
<my:Property my:Name="Required" my:Value="True"/>Ini adalah contoh yang menggunakan sumber data dinamis untuk properti ini. Jika Anda telah menggunakan templat untuk sumber data yang diperlihatkan di bagian sebelumnya dari dokumen ini, sumber data Anda adalah skema. Gunakan
<attribute name>.Requiredsebagai Jalur.<my:Property my:Name="Required" my:Value="{Binding Source=schema, Path=DisplayName.Required}"/>ReadOnly: Dengan mengatur properti ini ke true, pengguna akhir mengalami kontrol dalam mode baca-saja. Ini adalah atribut opsional jenis Boolean. Nilai default diatur ke false. Namun, terkadang perilaku properti ini ditimpa oleh jenis hak yang dimiliki seseorang pada data yang diikat dengan kontrol. Misalnya, jika pengguna tidak memiliki hak untuk memperbarui bidang dan bidang terikat dengan hak sebaris, pengguna melihat data dalam mode baca-saja bahkan properti ini diatur ke false.
RegularExpression: Properti ini menentukan batasan yang diberlakukan pada nilai dalam kontrol. Format nilai properti ini adalah format yang didukung dalam standar .NET StringRegex. Untuk informasi selengkapnya, lihat .NET Framework Regular Expressions. Jika kontrol digunakan untuk memasukkan nilai, nilai diperiksa terhadap batasan yang ditentukan dalam properti ini ketika pengguna mencoba meninggalkan halaman saat ini. Pesan kesalahan muncul di atas kontrol yang memiliki input yang tidak valid. Pengguna dapat secara eksplisit menentukan ekspresi reguler string. Pengguna juga dapat mengikatnya dengan informasi skema atribut tertentu. Secara default, jika properti ini hilang, itu berarti bahwa kontrol tidak memeriksa batasan apa pun pada string input.
Contoh berikut menggunakan nilai eksplisit untuk properti ini:
<my:Property my:Name="RegularExpression" my:Value="[A-Z]*"/>Ini adalah contoh yang menggunakan sumber data dinamis untuk properti ini. Jika Anda telah menggunakan templat untuk sumber data yang diperlihatkan sebelumnya dalam dokumen ini, sumber data Anda adalah skema. Gunakan
<attribute name>.StringRegexsebagai Jalur.<my:Property my:Name="RegularExpression" my:Value="{Binding Source=schema, Path=Alias.StringRegex, Mode=OneWay}"/>Terlihat : Ini adalah atribut opsional jenis Boolean. Anda dapat menggunakan atribut ini untuk menyembunyikan seluruh kontrol. Nilai default diatur ke true.
Elemen Opsi
Elemen Opsi menyertakan satu atau beberapa subnode Opsi. Elemen Opsi hanya digunakan dengan UocRadioButtonList dan kontrol UocDropDownList. Untuk detail tentang cara menggunakan kontrol ini, lihat bagian Kontrol individual dari dokumen ini.
Skema XSD berikut adalah untuk elemen Opsi:
<xsd:element name="Options">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="my:Option" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="Option">
<xsd:complexType>
<xsd:simpleContent>
<xsd:extension base="xsd:string">
<xsd:attribute ref="my:Value"/>
<xsd:attribute ref="my:Caption"/>
<xsd:attribute ref="my:Hint"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
Elemen Opsi memiliki atribut berikut:
Nilai: Ini adalah atribut jenis string yang diperlukan. Atribut nilai harus unik dalam kontrol yang sama. Hanya A hingga Z, karakter yang tidak peka huruf besar/kecil yang dapat digunakan.
Keterangan: Atribut yang diperlukan ini adalah nama tampilan dari setiap Opsi.
Petunjuk: Ini adalah atribut opsional. Gunakan atribut ini untuk memberikan informasi dan petunjuk lebih lanjut kepada pengguna akhir.
Variabel lingkungan
Variabel lingkungan berikut dapat digunakan dalam konfigurasi RCDC apa pun:
| Variabel | Deskripsi |
|---|---|
<LoginID> |
Menampilkan ID pengguna yang saat ini masuk. |
<LoginDomain> |
Menampilkan domain pengguna yang saat ini masuk. |
<Today> |
Menampilkan tanggal dan waktu saat ini |
<FromToday_nnn> |
Menampilkan tanggal saat ini, ditambah nnn dan waktu, di mana nnn adalah bilangan bulat. |
<ObjectID> |
ID sumber daya utama RCDC. |
<Attribute_xxx> |
Mengembalikan atribut tertentu, xxx, dari sumber daya utama RCDC. |
Men-debug file konfigurasi XML
Saat mengembangkan atau memodifikasi file konfigurasi XML untuk RCDC, Anda dapat membantu mengurangi kesalahan dengan memvalidasi XML terhadap file XSD dengan menggunakan editor seperti Microsoft Visual Studio. Untuk informasi selengkapnya, lihat Pengantar Alat XML di Visual Studio 2005.
Mengkustomisasi file Bantuan
Jika Anda membuat sumber daya dan atribut baru, Anda mungkin ingin memperbarui file Bantuan yang ada di Portal FIM dengan konten untuk sumber daya yang disesuaikan. File bantuan di Portal FIM dalam format .htm, dan dapat diedit secara manual. Untuk informasi selengkapnya tentang membuat atribut kustom, lihat Pengenalan Sumber Daya Kustom dan Manajemen Atribut dalam dokumentasi FIM 2010.
Penting
Informasi tentang dasar-dasar pemformatan atau pengeditan HTML tidak disediakan dalam artikel ini. Pengguna diharapkan tahu cara mengedit file HTML.
Lokasi file Bantuan
Semua file Bantuan untuk Portal MICROSOFT Identity Manager 2016 SP1 terletak di folder <ProgramFiles>\Common Files\Microsoft Shared\Web Server Extensions\12\Template\Layouts\MSILM2\Help\1033\html di server layanan MIM.
Menemukan file Bantuan tertentu
Semua file Bantuan untuk Portal FIM dinamai dengan pengidentifikasi unik global (GUID). Untuk menemukan file yang benar untuk sumber daya kustom Anda:
Di Portal FIM, buka file Bantuan di halaman Portal yang ingin Anda kustomisasi.
Klik kanan file Bantuan dan pilih properti .
Sorot dan salin file
<GUID\>.htmdi bidang Alamat URL.Telusuri ke folder tempat file Bantuan disimpan dan cari file tersebut.
Menambahkan konten untuk atribut dalam elemen Pengelompokan yang ada
Untuk menambahkan konten deskriptif untuk atribut baru dalam elemen Pengelompokan (tab) yang ada:
Identifikasi dan temukan file Bantuan yang sesuai.
Menggunakan editor HTML, buka file .
Temukan tempat Anda ingin menambahkan konten. Biasanya, ini dalam paragraf tambahan, misalnya:
<p xmlns="">A new paragraph with customized information.</p>Ini mungkin juga item yang disisipkan ke dalam daftar yang sudah ada, misalnya:
<li class="unordered"><b>First Name</b> – The first name of the User.<br> <li class="unordered"><b>Last Name</b> - The last name of the User.<br> <li class="unordered"><b>Added a new line</b><br>
Menambahkan konten untuk elemen Pengelompokan yang sudah ada
Sebagian besar halaman Portal FIM memiliki beberapa elemen Pengelompokan (atau tab), dan file Bantuan yang menyertainya memiliki bagian marka buku yang terkait dengan setiap elemen Pengelompokan. Marka buku dalam HTML ditentukan di bagian . Misalnya, ini adalah HTML untuk tab Info Kerja dari file Bantuan untuk halaman Buat Pengguna di Portal FIM:
<a name="bkmk_grouping_WorkInfo" xmlns=""></a><h3 class="subHeading" xmlns="">Work Info</h3><p class="subHeading" xmlns=""></p><div class="subSection" xmlns="">
Ini direferensikan oleh elemen Pengelompokan WorkInfo dalam file XML Data Konfigurasi untuk Konfigurasi untuk Pembuatan Pengguna RCDC. Nama file \<GUID\>.htm dan bookmark ditentukan dalam parameter my:Link:
<my:Grouping my:Name="WorkInfo" my:Caption="%SYMBOL_WorkInfoTabCaption_END%" my:Enabled="true" my:Visible="true"> <my:Help my:HelpText="%SYMBOL_WorkInfoTabHelpText_END%" my:Link="5e18a08b-4b20-48b8-90c6-c20f6cbeeb44.htm#bkmk_grouping_WorkInfo"/>
Sampel kontrol sederhana
Bagian ini menyediakan sampel untuk membuat kontrol kotak teks sederhana yang berbeda.
Gambar berikut menunjukkan beberapa kontrol kotak teks sederhana dalam mode yang berbeda:
Simple text-box controlskontrol kotak teks sederhana
Segmen kode berikut membuat kontrol kotak teks pertama, yang menggunakan teks eksplisit untuk semua atribut dan properti:
<!-- Sample for a simple control to use explicit information. (with hints)-->
<my:Control my:Name="ExplicitControl" my:TypeName="UocTextBox" my:Caption="Explicit Control" my:Description="This is explicit description." my:Hint="This is a Hint (enter any text).">
<my:Properties>
<my:Property my:Name="Required" my:Value="True"/>
<my:Property my:Name="RegularExpression" my:Value="[A-Z]*"/>
<my:Property my:Name="Text" my:Value="Enter Information Here"/>
</my:Properties>
</my:Control>
<!-- End of Sample for a simple control to use explicit information.-->
Segmen kode berikut membuat kontrol kotak teks kedua, yang menggunakan teknik pengikatan dinamis untuk menautkan kontrol dengan sumber data yang berbeda:
<!-- Sample for a simple control to use stored data information.-->
<my:Control my:Name="DynamicControl" my:TypeName="UocTextBox" my:Caption="{Binding Source=schema, Path=DisplayName.DisplayName, Mode=OneWay}" my:Description="{Binding Source=schema, Path=DisplayName.Description, Mode=OneWay}" my:RightsLevel="{Binding Source=rights, Path=DisplayName, Mode=OneWay}">
<my:Properties>
<my:Property my:Name="Required" my:Value="{Binding Source=schema, Path=DisplayName.Required, Mode=OneWay}"/>
<my:Property my:Name="RegularExpression" my:Value="{Binding Source=schema, Path=DisplayName.StringRegex, Mode=OneWay}"/>
<my:Property my:Name="Text" my:Value="{Binding Source=object, Path=DisplayName, Mode=TwoWay}"/>
</my:Properties>
</my:Control>
<!-- End of Sample for a simple control to use stored data information.-->
Segmen kode berikut membuat label ketiga yang diperluas dan kontrol kotak teks:
<!-- Sample for a simple expanded control with caption control.-->
<my:Control my:Name="SampleExpandLabel" my:TypeName="UocLabel" my:ExpandArea="true">
<my:Properties>
<my:Property my:Name="Text" my:Value="This is an expanded control."/>
</my:Properties>
</my:Control>
<my:Control my:Name="ExpandedControl" my:TypeName="UocTextBox"
my:ExpandArea="true">
<my:Properties>
<my:Property my:Name="Required" my:Value="false"/>
<my:Property my:Name="Columns" my:Value="40"/>
<my:Property my:Name="Text" my:Value="Expanded control (enter text)"/>
</my:Properties>
</my:Control>
<!-- End of Sample for a simple expanded control.-->
Segmen kode berikut membuat kontrol kotak teks yang dinonaktifkan keempat. Meskipun kontrol ini tidak menampilkan perbedaan yang terlihat antara status yang dinonaktifkan dan status diaktifkan, pengguna tidak dapat lagi memasukkan data dalam kotak teks.
<!-- Sample for a simple disabled control.-->
<my:Control my:Name="DisabledControl" my:TypeName="UocTextBox" my:Caption="Disabled Control" my:Description="This is disabled simple control." my:Enabled="false">
<my:Properties>
<my:Property my:Name="Required" my:Value="false"/>
<my:Property my:Name="MaxLength" my:Value="128"/>
<my:Property my:Name="Text" my:Value="Disabled control"/>
</my:Properties>
</my:Control>
<!-- End of Sample for a simple disabled control.-->
Pengaturan individual
Bagian ini men dokumen kontrol individual yang disediakan dengan Microsoft Identity Manager 2016 SP1.
UocButton
Nama: UocButton
Deskripsi: Ini adalah kontrol tombol sederhana yang dapat Anda gunakan untuk memicu tindakan tertentu. Namun, karena Anda tidak dapat menentukan handler Anda sendiri, penggunaan kontrol ini terbatas.
Properti:
Semua properti umum: Untuk informasi tentang properti ini, lihat Properti umum.
Teks : Properti ini menentukan teks yang muncul pada tombol . Ini adalah atribut opsional jenis string. Teks mengambil nilai string eksplisit.
Peristiwa:
- OnButtonClicked: Peristiwa dipancarkan saat tombol diklik.
Contoh:
kontrol UocButton
Segmen XML berikut menghasilkan tombol kontrol UocButton sederhana:
<!--Sample enabled simple button control-->
<my:Control my:Name="ButtonControl" my:TypeName="UocButton" my:Caption="SampleButton" my:Description="This is a simple button."
my:Hint="Click the button">
<my:Properties>
<my:Property my:Name="Required" my:Value="True"/>
<my:Property my:Name="Text" my:Value="Click Me"/>
</my:Properties>
</my:Control>
<!--End of sample enabled simple button control -->
UocCaptionControl
Nama: UocCaptionControl
Deskripsi: Kontrol ini digunakan untuk menampilkan keterangan halaman RCDC. Kontrol ini dirancang untuk hanya digunakan sebagai kontrol tunggal dalam Pengelompokan Header. Menggunakannya dalam konteks lain dapat menyebabkan masalah penyajian atau kesalahan portal.
Mode: Baca saja (OneWay)
Properti:
Semua properti umum: Untuk informasi tentang properti ini, lihat Properti umum.
MaxHeight: Properti ini menentukan tinggi maksimum ikon di bagian keterangan. Properti ini bersifat opsional. Properti ini mengambil nilai bilangan bulat dalam piksel. Nilai defaultnya adalah 32 piksel.
Peristiwa:
- Tidak ada peristiwa untuk kontrol ini.
Contoh:
UocCaptionControl controlkontrol UocCaptionControl
Segmen kode berikut menghasilkan Keterangan Header :
<!--Sample header caption control-->
<my:Control my:Name="SampleHeaderCaption" my:TypeName="UocCaptionControl" my:ExpandArea="true" my:Caption="Header Caption" my:Description="Description Starts here.">
<my:Properties>
<my:Property my:Name="MaxHeight" my:Value="32"/>
<my:Property my:Name="MaxWidth" my:Value="32"/>
</my:Properties>
</my:Control>
<!--End of sample header caption control-->
Segmen kode berikut menghasilkan Keterangan Konten Eksplisit:
<my:Control my:Name="SampleContentCaption" my:TypeName="UocCaptionControl" my:ExpandArea="true" my:Caption="Sample Explicit Content Caption" my:Description="Explicit content caption with smaller icon">
<my:Properties>
<my:Property my:Name="MaxHeight" my:Value="20"/>
<my:Property my:Name="MaxWidth" my:Value="20"/>
</my:Properties>
</my:Control>
<!--End of sample caption-->
Segmen kode berikut menghasilkan Nama Tampilan keterangan dinamis:
<!--Sample content dynamic caption-->
<my:Control my:Name="Caption3" my:TypeName="UocCaptionControl" my:Caption="{Binding Source=schema, Path=DisplayName.DisplayName, Mode=OneWay}" my:Description="{Binding Source=schema, Path=DisplayName.Description, Mode=OneWay}"/>
<!--End of sample caption -->
UocCheckBox
Nama: UocCheckBox
Deskripsi: Ini adalah kontrol kotak centang sederhana. Sebaiknya pengguna mengikat kontrol ini dengan data jenis Boolean. Kontrol ini dapat digunakan sebagai kontrol baca-saja atau kontrol yang dapat diperbarui, berdasarkan data yang diikatnya.
Nota
Dalam rilis ini, saat menggunakan kontrol kotak centang dalam mode edit untuk menampilkan atribut Boolean, jika atribut tidak memiliki nilai yang ditetapkan sebelumnya, Kontrol Sumber Daya menambahkan nilai false ke atribut saat OK diklik dalam mode edit. Cara kerjanya adalah selalu membuat atribut Boolean yang mengasumsikan bahwa tidak ada sama dengan false, atau menggunakan kontrol lain seperti tombol radio untuk atribut Boolean.
Properti:
Semua properti umum: Untuk informasi tentang properti ini, lihat Properti umum.
defaultValue: Ini adalah properti opsional jenis Boolean. Nilai default diatur ke false. Bidang ini menentukan perilaku default kotak centang. Ini dapat ditentukan secara eksplisit.
Diperiksa : Ini adalah properti opsional jenis Boolean. Nilai default diatur ke false. Nilai ini menimpa properti DefaultValue saat ada bersama dengan DefaultValue. Bidang ini menentukan perilaku kotak centang. Seperti DefaultValue, ini dapat ditentukan secara eksplisit atau terikat dengan data dari server.
Teks : Ini adalah atribut opsional jenis string. Teks diperlihatkan di sebelah kanan kotak centang. Anda dapat menggunakan properti ini untuk menentukan teks yang menyediakan informasi lebih lanjut kepada pengguna akhir.
Peristiwa:
- CheckedChanged: Saat kotak centang mengubah statusnya, peristiwa ini dipancarkan.
Contoh:
Dalam contoh berikut, pengikatan kustom dibuat antara jenis sumber daya kustom dan atribut IsConfigurationType. XML digunakan dalam RCDC dari jenis sumber daya kustom.
UocCheckBox controlkontrol UocCheckBox
Segmen kode berikut menghasilkan kotak centang dinamis , seperti yang diperlihatkan sebagai Kotak Centang Dinamis pada gambar sebelumnya. Jenis pengikatan ini lebih serbaguna dan berguna daripada kotak centang eksplisit. Atribut harus termasuk dalam jenis sumber daya saat ini.
<!--Sample dynamic check box-->
<my:Control my:Name="SampleDynamicCheckBox" my:TypeName="UocCheckBox" my:Caption="Dynamic Check Box" my:Description="This is a dynamic check box. It saves to data source." my:RightsLevel="{Binding Source=rights, Path=IsConfigurationType}">
<my:Properties>
<my:Property my:Name="Text" my:Value="{Binding Source=schema, Path=IsConfigurationType.DisplayName, Mode=OneWay}"/>
<my:Property my:Name="Checked" my:Value="{Binding Source=object, Path=IsConfigurationType, Mode=TwoWay}"/>
</my:Properties>
</my:Control>
<!--End of sample dynamic check box -->
UocCommonMultiValueControl
Nama: UocCommonMultiValueControl
Description: Ini adalah kontrol kotak teks multibaris yang mendukung pemformatan string khusus. Setiap nilai di antara entri multinilai dipisahkan satu sama lain oleh titik koma (;) atau pemisah baris dalam kotak teks. Sebaiknya ikat kontrol ini dengan data jenis multinila, string pendek, dan bilangan bulat. Kontrol ini mendukung mode baca-saja dan mode yang dapat diperbarui.
Properti:
Semua properti umum: Untuk informasi tentang properti ini, lihat Properti umum.
DataType: Ini adalah atribut jenis string yang diperlukan. Anda dapat menentukan ini sebagai string , bilangan bulat, atau jenis DateTime secara eksplisit. Anda juga dapat mengikat atribut dengan properti DataType atribut skema. Jenis Referensi Multinilai harus ditangani oleh UOCListView atau UOCIdentityPicker. Boolean multinilai bukan tipe data yang didukung.
Baris: Ini adalah atribut opsional jenis bilangan bulat. Anda dapat menentukan tinggi kotak dalam jumlah karakter. Nilai default diatur ke 1.
Kolom: Ini adalah atribut opsional jenis bilangan bulat. Anda dapat menentukan berapa lebar kotak dalam jumlah karakter. Nilai default diatur ke 20.
Value: Ini adalah atribut opsional jenis string. Anda hanya dapat mengikat atribut ini dengan sumber data.
Peristiwa:
- ValueListChanged: Kejadian ini dipicu saat nilai saat ini dalam kontrol berubah.
Contoh :
Dalam contoh berikut, atribut string multinilai bernama AMultiValueString dibuat dan terikat ke jenis sumber daya kustom. Contoh ini hanya berfungsi setelah pengikatan ini dibuat.
kontrol UocCommonMultiValueControl
Segmen kode berikut menghasilkan kontrol UocCommonMultiValueControl:
<!--Sample multivalue control-->
<my:Control my:Name="SampleDynamicMultiValueControl" my:TypeName="UocCommonMultiValueControl" my:Caption="{Binding Source=schema, Path=AMultiValueString.DisplayName, Mode=OneWay}" my:Description="{Binding Source=schema, Path=AMultiValueString.Description, Mode=OneWay}" my:RightsLevel="{Binding Source=rights, Path=AMultiValueString}">
<my:Properties>
<my:Property my:Name="Rows" my:Value="6"/>
<my:Property my:Name="Columns" my:Value="60"/>
<my:Property my:Name="DataType" my:Value="String"/>
<!--not supported for above property my:Value={Binding Source=schema, Path=AMultiValueString.DataType, Mode=OneWay}"/>-->
<my:Property my:Name="Value" my:Value="{Binding Source=object, Path=AMultiValueString, Mode=TwoWay}"/>
</my:Properties>
</my:Control>
<!--End of sample multivalue control -->
UocDateTimeControl
Nama: UocDateTimeControl
Deskripsi: Ini mirip dengan kontrol kotak teks, tetapi Deskripsi hanya menerima format tertentu. Dalam mode baca-saja, label akan muncul seperti label. Untuk format string input yang didukung, lihat properti DateTimeFormat di bagian ini.
Properti:
Semua properti umum: Untuk informasi tentang properti ini, lihat Properti umum.
DateTimeFormat : Ini adalah atribut opsional jenis string. Format yang didukung adalah DateTime dan DateOnly. Nilai default diatur ke format DateTime.
DateTime: Atribut diformat sebagai mm/dd/yyyy hh:mm:ss AM.
DateOnly: Atribut diformat sebagai mm/dd/yyyy.
Nota
Format DateTime dan DateOnly didukung, terlepas dari pengguna yang menentukan perbedaannya.
Value: Ini adalah atribut opsional jenis string. Anda mengikat atribut ini dengan sumber data sumber daya. Nilai atribut ini harus sesuai dengan format tanggalwaktu yang benar.
Peristiwa:
- DateTimeChanged: Saat nilai tanggalwaktu berubah, peristiwa terjadi.
Contoh:
kontrol UocDateTimeControl
Segmen kode berikut menghasilkan kontrol DateTime pertama.
<!--Sample explicit DateTime control-->
<my:Control my:Name="SampleExplicitDateTimeControl" my:TypeName="UocDateTimeControl" my:Caption="Explicit Date Time Control" my:Description="The data shown here is explicit and in date time format.">
<my:Properties>
<my:Property my:Name="DateTimeFormat" my:Value="DateTime"/>
<my:Property my:Name="Value" my:Value="11/11/2008 00:00:00"/>
</my:Properties>
</my:Control>
<!--End of sample explicit DateTime control -->
Segmen kode berikut menghasilkan kontrol DateTime kedua. Jika Anda telah menggunakan kode sampel di bagian Sumber data, atribut ExpirationTime terikat ke semua jenis sumber daya. Oleh karena itu, Anda dapat menggunakannya dengan kode berikut:
<!--Sample dynamic DateTime control-->
<my:Control my:Name="SampleDynamicDateTimeControl" my:TypeName="UocDateTimeControl" my:Caption="{Binding Source=schema, Path=ExpirationTime.DisplayName, Mode=OneWay}" my:Description="{Binding Source=schema, Path=ExpirationTime.Description, Mode=OneWay}" my:RightsLevel="{Binding Source=rights, Path=ExpirationTime}">
<my:Properties>
<my:Property my:Name="DateTimeFormat" my:Value="DateOnly"/>
<my:Property my:Name="Value" my:Value="{Binding Source=object, Path=ExpirationTime, Mode=TwoWay}"/>
</my:Properties>
</my:Control>
<!--End of dynamic explicit DateTime control -->
UocDropDownList
Nama: UocDropDownList
Description: Ini adalah kontrol kotak drop-down sederhana. Kontrol ini digunakan untuk memilih opsi dari sekumpulan pilihan yang ditentukan. Jenis data string, bilangan bulat, tanggalwaktu, dan Boolean adalah kandidat yang baik untuk kontrol ini.
Properti:
Semua properti umum: Untuk informasi tentang properti ini, lihat Properti umum.
ValuePath: Properti untuk mendapatkan atribut Nilai dari ItemSource. Saat ItemSource ditentukan sebagai Kustom, jalur nilai diatur ke Nilai. Ini mengikat dengan bidang Nilai dari elemen Opsi, seperti yang dijelaskan di bagian ini.
CaptionPath: Properti untuk mendapatkan atribut Nilai dari ItemSource. Saat ItemSource ditentukan sebagai Kustom, jalur nilai diatur ke Keterangan. Ini mengikat dengan bidang Keterangan dari elemen Opsi, seperti yang dijelaskan di bagian ini.
HintPath: Properti untuk mendapatkan atribut Nilai dari ItemSource. Saat ItemSource ditentukan sebagai Kustom, jalur nilai diatur ke Petunjuk. Ini mengikat dengan bidang Petunjuk dari elemen Opsi, seperti yang dijelaskan di bagian ini.
ItemSource: Kumpulan ListControlItems yang menentukan pilihan dalam daftar. Pengguna dapat secara eksplisit mengatur ini ke Kustom dan menggunakan elemen Opsi, seperti yang dijelaskan di bagian ini, untuk menentukan nilai string.
Nilai Terpilih : Nilai yang saat ini dipilih. Ini adalah properti jenis string yang diperlukan. Properti ini terikat dengan data string dari sumber data.
Peristiwa:
- SelectedIndexChanged : Peristiwa terjadi saat pemilihan dalam kotak drop-down berubah.
Opsi:
Untuk struktur elemen Opsi, lihat elemen Opsi .
Nilai: Nilai satu elemen Opsi dapat diatur ke string apa pun yang merupakan input valid dari sumber data yang diikat kontrol.
Keterangan: Keterangan dapat berupa nilai string apa pun.
Petunjuk: Petunjuk dapat berupa nilai string apa pun.
Contoh:
UocDropDownList controlkontrol UocDropDownList
Opsi 
Nota
Untuk membuat sampel berfungsi, Anda harus mengikat atribut jenis string yang ada cakupan dengan jenis sumber daya kustom yang diterapkan RCDC.
Segmen kode berikut menghasilkan daftar drop-down:
<!--Sample for drop-down list control-->
<my:Control my:Name="Scope" my:TypeName="UocDropDownList" my:Caption="{Binding Source=schema, Path=Scope.DisplayName}" my:RightsLevel="{Binding Source=rights, Path=Scope}">
<my:Options>
<my:Option my:Value="DomainLocal" my:Caption="Domain Local" my:Hint="to secure a local resource (i.e. a file share on your computer)" />
<my:Option my:Value="Global" my:Caption="Global" my:Hint="to secure resources across your team or division" />
<my:Option my:Value="Universal" my:Caption="Universal" my:Hint="to use this group across your organization" />
</my:Options>
<my:Properties>
<my:Property my:Name="Required" my:Value="{Binding Source=schema, Path=Scope.Required" />
<my:Property my:Name="ValuePath" my:Value="Value" />
<my:Property my:Name="CaptionPath" my:Value="Caption" />
<my:Property my:Name="HintPath" my:Value="Hint" />
<my:Property my:Name="ItemSource" my:Value="Custom" />
<my:Property my:Name="SelectedValue" my:Value="{Binding Source=object, Path=Scope, Mode=TwoWay}" />
</my:Properties>
</my:Control>
<!--End of Sample for drop-down list control-->
UocFileDownload
Nama: UocFileDownload
Deskripsi: Kontrol ini berisi hyperlink. Saat hyperlink diklik, halaman Simpan File Windows muncul. Pengguna dapat menyimpan file ke drive lokal mereka. Opsi Buka juga didukung jika Internet Explorer dapat merender format file. Jenis data yang direkomendasikan untuk menggunakan kontrol ini adalah string yang diformat (XML) dan jenis biner.
Nota
Dalam rilis Microsoft Identity Manager 2016 SP1 ini, pengguna harus menutup jendela Internet Explorer tempat mereka membuka file lalu me-refresh halaman. Setelah menyegarkan jendela Internet Explorer, pengguna kemudian dapat memulai unduhan untuk menyimpan atau membuka file yang sama lagi di jendela asli.
Properti:
Semua properti umum: Untuk informasi tentang properti ini, lihat Properti umum.
Teks : Ini adalah atribut opsional jenis string yang menentukan teks hyperlink. Pengguna dapat menentukan string eksplisit untuk properti ini.
Value: Ini adalah atribut yang diperlukan. Ini menentukan pengikatan atribut pada server yang kontennya akan diunduh.
PromptedFileName: Ini adalah atribut opsional jenis string. Ini adalah nama file yang disarankan kepada pengguna saat mereka menyimpan file yang diunduh.
ContentType: Ini adalah atribut jenis string yang diperlukan. Ini adalah jenis file tempat data disimpan. Teks atau biner adalah dua opsi string yang didukung. Jika teks adalah teks, nilai yang dikembalikan dianggap sebagai string panjang. Jika tidak, untuk biner, nilai pengembalian dianggap sebagai byte[]. Jika teks dipilih, pengguna dapat, sebagai opsi, tambahkan akhiran untuk menentukan jenis format teks. Misalnya, teks/xml valid.
Nota
Ketika nilai yang terikat ke kontrol ini kosong, kontrol kehilangan hyperlink yang akan digunakan untuk memicu tindakan pengunduhan. Ini karena tidak ada yang perlu diunduh.
Peristiwa:
- Tidak ada peristiwa untuk kontrol ini.
Contoh:
kontrol UocFileDownload
Nota
Sebelum mengunggah file sampel ini, pengguna harus membuat pengikatan antara jenis sumber daya kustom dan atribut ConfigurationData yang ada.
Segmen kode berikut menghasilkan kontrol unduhan file:
<!--Sample dynamic download control-->
<my:Control my:Name="SampleDynamicFileDownloadControl" my:TypeName="UocFileDownload" my:Caption="{Binding Source=schema, Path=ConfigurationData.DisplayName, Mode=OneWay}" my:Description="{Binding Source=schema, Path=ConfigurationData.Description, Mode=OneWay}" my:RightsLevel="{Binding Source=rights, Path=ConfigurationData}">
<my:Properties>
<my:Property my:Name="Text" my:Value="Download Dummy xml"/>
<my:Property my:Name="PromptedFileName" my:Value="DummyXML.xml"/>
<my:Property my:Name="ContentType" my:Value="text/xml"/>
<my:Property my:Name="Value" my:Value="{Binding Source=object, Path=ConfigurationData}"/>
</my:Properties>
</my:Control>
<!--End of dynamic download control -->
UocFileUpload
Nama: UocFileUpload
Deskripsi: Kontrol ini berisi kotak teks yang menampilkan lokasi file lokal yang akan diunggah, tombol telusuri file, dan tombol unggah. Saat pengguna akhir mengklik tombol Telusuri, jendela Buka File Windows muncul. Pengguna akhir dapat memilih satu file di drive lokal mereka untuk diunggah. Saat file dipilih, lokasi file ditampilkan di kotak teks. Saat tombol Unggah diklik, file diunggah ke sumber data lokal sisi klien. Isi file belum dikirimkan ke server. Jenis data yang direkomendasikan untuk menggunakan kontrol ini adalah sebagai berikut: string yang diformat (XML) atau jenis biner.
Nota
Tidak ada indikasi kemajuan atau status unggahan. Saat file diunggah ke sumber data lokal, kotak teks dikosongkan.
Properti:
Semua properti umum: Untuk informasi tentang properti ini, lihat Properti umum.
Value: Ini adalah atribut yang diperlukan. Ini menentukan pengikatan atribut skema di server tempat data diunggah.
ContentType: Ini adalah atribut opsional jenis string. Ini adalah tipe data tempat file disimpan di server. Ini dapat diatur ke Teks atau Biner. Ketika properti hilang, nilai defaultnya adalah Biner.
MaxFileSize: Ini adalah atribut opsional jenis string. MaxFileSize menentukan seberapa besar ukuran file yang diunggah. Secara default, jika properti hilang, ukuran maksimumnya adalah 1 megabyte (MB).
PromptedForNoValue: Ini adalah atribut opsional jenis string. Ini menentukan teks yang muncul kepada pengguna ketika file tidak diunggah.
Peristiwa:
- FileUploaded: Kejadian ini dipancarkan saat file berhasil diunggah.
Contoh:
kontrol UocFileUpload
Nota
Untuk membuat kode sampel berikut berfungsi, Anda harus membuat atribut jenis biner baru bernama ABinaryAttribute lalu membuat pengikatan baru antara jenis sumber daya kustom dan atribut ini.
Segmen kode berikut menghasilkan kontrol unggahan:
<!--Sample dynamic upload control-->
<my:Control my:Name="SampleDynamicFileUploadControl" my:TypeName="UocFileUpload" my:Caption="{Binding Source=schema, Path=ABinaryAttribute.DisplayName, Mode=OneWay}" my:Description="{Binding Source=schema, Path=ABinaryAttribute.Description, Mode=OneWay}” my:RightsLevel="{Binding Source=rights, Path=ABinaryAttribute}">
<my:Properties>
<my:Property my:Name="Required" my:Value="{Binding Source=schema, Path=ABinaryAttribute.Required}"/>
<my:Property my:Name="ContentType" my:Value="Binary"/>
<my:Property my:Name="Value" my:Value="{Binding Source=object, Path=ABinaryAttribute, Mode=TwoWay}"/>
</my:Properties>
</my:Control>
<!--End of dynamic upload control -->
UocFilterBuilder
Nama: UocFilterBuilder
Description: Ini adalah kontrol kompleks yang memungkinkan pengguna merender ekspresi MIM 2016 XPath. Beberapa ekspresi XPath tidak didukung. Untuk informasi tentang cara menggunakan penyusun filter, lihat Bantuan untuk penyusun filter.
Properti:
Semua properti umum: Untuk informasi tentang properti ini, lihat Properti umum.
PermittedObjectTypes: Ini menentukan daftar jenis sumber daya yang akan ditampilkan dalam pernyataan pemilihan penyusun filter. Untuk informasi tentang cara menggunakan penyusun filter, lihat Bantuan penyusun filter. String dalam format ResourceTypeA, ResourceTypeB, di mana setiap jenis sumber daya dipisahkan oleh koma ','.
Value: Ini adalah nilai yang dirender oleh penyusun filter. Hanya pengikatan dengan data jenis string yang berisi ekspresi XPath yang didukung. Atribut Filter adalah atribut yang direkomendasikan untuk mengikat kontrol ini.
PreviewButtonVisible: Ini adalah properti opsional jenis Boolean. Ketika properti ini diatur ke false, pengguna tidak melihat tombol Pratinjau. Nilai default diatur ke true. Tombol ini dapat digunakan dalam kombinasi dengan kontrol tampilan daftar untuk mempratinjau hasil ekspresi XPath.
ExcludeGroupMembership: Ini adalah properti Boolean. Ketika properti ini diatur ke true, Anda tidak dapat membuat filter yang menggunakan< Atribut Referensi >(misalnya, ResourceID) adalah anggota objek grup <>. Dengan kata lain, ketika properti ini diatur ke true, Anda tidak dapat membuat filter yang menggunakan direktori keanggotaan grup.
PreviewButtonCaption: Ini adalah string opsional. Saat PratinjauButtonVisible diatur ke true, Anda dapat menggunakan properti ini untuk memberi tombol teks yang dikustomisasi. Teks muncul pada tombol Pratinjau.
Peristiwa:
- OnFilterChanged : Kejadian ini dipicu saat konten penyusun filter berubah.
Contoh:
kontrol UocFilterBuilder
Kode sampel berikut mencakup kontrol UOCLabel, penyusun filter sederhana dengan PermittedObjectTypes, dan tampilan daftar Pratinjau. Arahkan properti ListFilter tampilan daftar dan properti Nilai penyusun filter ke atribut sumber data yang sama untuk menautkan keduanya.
Nota
Sebelum Anda menggunakan kode sampel ini, buat pengikatan baru antara atribut Filter yang ada dan jenis sumber daya kustom.
<!--Sample filter builder with preview list-->
<my:Control my:Name="ComplexFilterBuilderLabel" my:TypeName="UocLabel" my:ExpandArea="true">
<my:Properties>
<my:Property my:Name="Text" my:Value="This is a Filter Builder with preview."/>
</my:Properties>
</my:Control>
<my:Control my:Name="ComplexFilterBuilder" my:TypeName="UocFilterBuilder" my:RightsLevel="{Binding Source=rights, Path=Filter}" my:ExpandArea="true">
<my:Properties>
<my:Property my:Name="PermittedObjectTypes" my:Value="Person,Group" />
<my:Property my:Name="Value" my:Value="{Binding Source=object, Path=Filter, Mode=TwoWay}" />
<my:Property my:Name="Required" my:Value="{Binding Source=schema, Path=Filter.Required, Mode=OneWay}" />
</my:Properties>
</my:Control>
<my:Control my:Name="FilterBuilderwithpreview" my:TypeName="UocListView" my:ExpandArea="true">
<my:Properties>
<my:Property my:Name="ColumnsToDisplay" my:Value="DisplayName,ObjectType,AccountName" />
<my:Property my:Name="EmptyResultText" my:Value="There is no members according to the filter definition." />
<my:Property my:Name="PageSize" my:Value="10" />
<my:Property my:Name="ShowTitleBar" my:Value="false" />
<my:Property my:Name="ShowActionBar" my:Value="false" />
<my:Property my:Name="ShowPreview" my:Value="false" />
<my:Property my:Name="ShowSearchControl" my:Value="false" />
<my:Property my:Name="EnableSelection" my:Value="false" />
<my:Property my:Name="SingleSelection" my:Value="false" />
<my:Property my:Name="ItemClickBehavior" my:Value=" ModelessDialog "/>
<my:Property my:Name="ListFilter" my:Value="{Binding Source=object, Path=Filter}" />
</my:Properties>
</my:Control>
<!--end of sample filter builder with preview-->
UocHtmlSummary
Nama: UocHtmlSummary
Deskripsi: Anda dapat menggunakan kontrol ini untuk menentukan halaman ringkasan di halaman RCDC. Halaman ringkasan ini muncul setelah pengguna akhir mengirimkan permintaan. Kontrol ini hanya dapat digunakan dalam Pengelompokan Ringkasan, dan harus menjadi satu-satunya kontrol. Kami sangat menyarankan Agar Anda menggunakan kode sampel yang disediakan.
Nota
Kontrol ini belum diuji secara ekstensif.
Properti:
Semua properti umum: Untuk informasi tentang properti ini, lihat Properti umum.
ModifikasiXml: Properti ini harus diformat sebagai {Binding Source=delta, Path=DeltaXml}, di mana delta didefinisikan dalam header konfigurasi ObjectDataSource.
TransformXsl: Properti ini diformat sebagai {Binding Source=summaryTransformXsl, Path=/}, di mana summaryTransformXsl didefinisikan dalam header konfigurasi XmlDataSource.
Peristiwa:
- Tidak ada peristiwa untuk kontrol ini.
Contoh:
Untuk sampel kontrol ini, lihat contoh untuk Pengelompokan Ringkasan di bagian Elemen pengelompokan dokumen ini.
UocHyperLink
Nama: UocHyperLink
Deskripsi: Ini adalah kontrol hyperlink sederhana. Anda bisa menggunakan kontrol ini untuk menampilkan informasi sebagai hyperlink.
Properti:
Semua properti umum: Untuk informasi tentang properti ini, lihat Properti umum.
objectReference: Ini adalah properti opsional jenis referensi. Jika sumber daya yang valid dirujuk oleh GUID yang ditentukan dalam properti ini, hyperlink menyediakan cara bagi pengguna akhir untuk mengakses sumber daya. Ini saling eksklusif dengan properti NavigateUrl.
Teks : Ini adalah properti opsional jenis string. Anda menggunakan properti ini untuk menentukan teks yang muncul sebagai hyperlink.
NavigateUrl: Ini adalah properti opsional jenis string. Anda menggunakan properti ini untuk menentukan URL jalur lengkap yang ditautkan hyperlink. Ini saling eksklusif dengan properti ObjectReference.
Peristiwa:
- Tidak ada peristiwa untuk kontrol ini.
Contoh:
UocHyperLink controlkontrol UocHyperLink
Nota
Anda memerlukan GUID sumber daya yang valid untuk menautkan ini. Dalam hal ini, hyperlink kedua dihasilkan dengan GUID yang valid. Yang pertama bisa menjadi situs Web apa pun.
Segmen kode berikut menghasilkan hyperlink pengalihan:
<!--Sample for a hyperlink that redirects page.-->
<my:Control my:Name="RedirectHyperlink" my:TypeName="UocHyperLink" my:Caption="Redirect Hyperlink" my:Description="This is a hyperlink that takes you to other pages.">
<my:Properties>
<my:Property my:Name="NavigateUrl" my:Value="http://www.microsoft.com"/>
<my:Property my:Name="Text" my:Value="Microsoft Home Page"/>
</my:Properties>
</my:Control>
<!--End of Sample for a hyperlink that redirect page-->
Segmen kode berikut menghasilkan hyperlink yang mereferensikan sumber daya. Referensi eksplisit dapat digantikan oleh ekspresi {Binding Source=object, Path=Creator} untuk mengikat ini dengan sumber data. Ini hanya dapat valid ketika manajer sumber daya ada dan itu adalah nilai jenis referensi.
<!--Sample for a hyperlink that reference object-->
<my:Control my:Name="ReferenceHyperlink" my:TypeName="UocHyperLink" my:Caption="Reference Hyperlink" my:Description="This is a hyperlink gives you an object view of the reference object">
<my:Properties>
<my:Property my:Name="ObjectReference" my:Value="e4e048b1-9e43-415e-806c-cf44c429c34c"/>
<my:Property my:Name="Text" my:Value="View a group in FIM 2010."/>
</my:Properties>
</my:Control>
<!--End of Sample for a hyperlink that reference object-->
UocIdentityPicker
Nama: UocIdentityPicker
Deskripsi: Kontrol ini terdiri dari kotak Atasi opsional dan jendela Telusuri. Kotak Atasi opsional terdiri dari kotak teks opsional untuk memasukkan identitas, tombol Atasi untuk mengatasi identitas, dan tombol Telusuri untuk meminta jendela Telusuri pop-up. Jendela Telusuri memungkinkan pengguna untuk memilih identitas melalui kontrol tampilan daftar. Identitas yang dipilih dari jendela Telusuri tercermin dalam kotak Atasi.
Properti:
Semua properti umum: Untuk informasi tentang properti ini, lihat Properti umum.
UsageKeywords: Ini adalah properti string opsional. Anda dapat menentukan daftar cakupan pencarian yang akan digunakan di Pemilih Sumber Daya dengan menyediakan daftar kata kunci penggunaan yang didukung oleh struktur SearchScopeConfiguration, di mana setiap kata kunci dipisahkan oleh apostrof (').
Filter: Ini adalah properti string opsional. Pengguna menyediakan ekspresi XPath untuk mencakup pemilih sumber daya untuk menampilkan hanya item yang pas dalam cakupan yang ditentukan. Properti ini saling eksklusif dengan properti UsageKeywords. Ketika cakupan pencarian diterapkan, properti ini tidak berpengaruh.
ResultObjectType: Ini adalah properti string opsional. Jenis sumber daya digunakan untuk merender sumber daya dalam daftar kotak dialog pop-up. Ini digunakan dengan Filter untuk membantu Pemilih Identitas mengidentifikasi jenis sumber daya apa yang dikembalikan oleh Filter, dan merender data yang sesuai. Properti ini saling eksklusif dengan properti UsageKeywords. Ketika cakupan pencarian diterapkan, ini tidak berpengaruh. String yang diterima untuk properti ini adalah nama jenis sumber daya tunggal, valid, misalnya, Orang. Ketika filter diharapkan mengembalikan beberapa jenis sumber daya, Sumber Daya digunakan.
PreviewTitle: Ini adalah judul pratinjau yang digunakan pada tampilan daftar. Untuk informasi tentang properti ini, lihat bagian UocListView.
ListViewTitle : Ini adalah properti string opsional. Anda dapat menggunakan properti ini untuk menentukan teks yang ditampilkan di atas tampilan daftar sebagai judul.
Value: Ini adalah properti string opsional. Disarankan agar Anda mengikat ini dengan atribut skema untuk menghubungkan nilai dengan sumber data.
Mode: Ini adalah properti string opsional. Anda menggunakan properti ini untuk menentukan apakah satu nilai dapat dipilih oleh Pemilih Identitas atau beberapa identitas dapat dipilih. SingleResult dan MultipleResult adalah nilai yang diizinkan. Secara default, diatur ke SingleResult.
ObjectTypes: Ini adalah properti opsional jenis string. Anda dapat menentukan daftar jenis sumber daya yang dapat diselesaikan oleh pengguna akhir dalam kotak Atasi Pemilih Identitas. Daftar ini terdiri dari daftar nama jenis sumber daya yang dipisahkan oleh koma ','.
AttributesToSearch: Ini adalah properti opsional jenis string. Anda dapat menentukan daftar atribut yang akan digunakan untuk mengatasi item di Pemilih Identitas, di mana daftar adalah daftar atribut skema, dipisahkan oleh koma ','. Misalnya, jika AttributesToSearch diatur ke
DisplayName, Alias, pengguna dapat mencari item denganDisplayName = \<search value\>atauAlias=\<search value\>. Nama atribut yang dimasukkan di sini harus berupa atribut yang valid pada jenis sumber daya target dari sumber data yang ditentukan dalam properti Nilai. Jenis sumber daya target dapat ditemukan di bidang ObjectTypes. Semua atribut harus valid pada jenis sumber daya tertentu yang dikutip di bidang ObjectTypes.ColumnsToDisplay: Ini adalah properti opsional jenis string. Pengguna menyediakan daftar nama atribut skema, dipisahkan oleh koma ','. Atribut yang ditentukan di sini membentuk kolom tampilan daftar di Pemilih Identitas.
Baris: Ini adalah properti bilangan bulat opsional. Ini hanya berfungsi ketika Mode diatur ke MultipleResult. Gunakan properti ini untuk mengatur tinggi kotak teks Atasi ke ukuran tertentu dalam unit karakter.
MainSearchScreenText: Ini adalah properti opsional jenis string. Ini adalah teks yang dikustomisasi yang muncul saat pencarian berjalan di jendela Telusuri.
Peristiwa:
- SelectedObjectChanged: Kejadian ini dipancarkan saat pengguna mengubah sumber daya yang dipilih.
Contoh:
Nota
Agar sampel ini berfungsi, Anda harus membuat pengikatan baru antara atribut Manajer dan jenis sumber daya kustom apa pun yang diterapkan XML ini.
Segmen kode berikut menghasilkan Pemilih Identitas dalam mode SingleResult dengan menggunakan properti Filter dan ResultObjectType sebagai bagian dari RCDC:
<!--Sample for a single-selection identity picker using Filter and Result Object Type-->
<my:Control my:Name="SingleSelectionIdentityPicker" my:TypeName="UocIdentityPicker" my:Caption="A Single Selection Identity Picker" my:Description="The user is allowed to select only one entry here." my:RightsLevel="{Binding Source=rights, Path=Manager}">
<my:Properties>
<my:Property my:Name="Required" my:Value="{Binding Source=schema, Path=Manager.Required}"/>
<my:Property my:Name="Mode" my:Value="SingleResult" />
<!--Columns displayed in list view in pop-up window-->
<my:Property my:Name="ColumnsToDisplay" my:Value="DisplayName, ObjectType" />
<!--Identities will be resolved against following attribute in the resolve textbox when resolve button is clicked.-->
<my:Property my:Name="AttributesToSearch" my:Value="DisplayName, AccountName" />
<!--single valued reference type attribute is used to bind the control-->
<my:Property my:Name="Value" my:Value="{Binding Source=object, Path=Manager , Mode=TwoWay}" />
<!--Scoping the list explicitly to All Persons name contains letter "e"-->
<my:Property my:Name="Filter" my:Value="/Person[contains(JobTitle, 'Manager')]"/>
<!--Result object type specify the type is Person-->
<my:Property my:Name="ResultObjectType" my:Value="Person"/>
<my:Property my:Name="ListViewTitle" my:Value="Select only one entry" />
<my:Property my:Name="PreviewTitle" my:Value="Entry selected:" />
</my:Properties>
</my:Control>
<!--End of sample for a single-selection identity picker.-->
Gambar berikut menunjukkan Pemilih Identitas dalam mode MultipleResult:
Nota
Untuk membuat kode sampel ini berfungsi, Anda harus mengikat atribut ExplicitMember (atribut referensi multinila) ke jenis sumber daya kustom. Buat cakupan pencarian dengan properti UsageKeyword diatur ke Orang dan Grup.
Segmen kode berikut membuat Pemilih Identitas dalam mode MultipleResult:
<!--Sample for a multiselection Identity Picker uses Search Scope-->
<my:Control my:Name="multiSelectionIdentityPicker" my:TypeName="UocIdentityPicker" my:Caption="A multi Selection Identity Picker" my:Description="The user is allowed to select more than one entry here" my:RightsLevel="{Binding Source=rights, Path=ExplicitMember}">
<my:Properties>
<my:Property my:Name="Required" my:Value="{Binding Source=schema, Path=ExplicitMember.Required}"/>
<my:Property my:Name="Mode" my:Value="MultipleResult" />
<my:Property my:Name="Rows" my:Value="10" />
<!--There are existing search scopes that has key word "Person" and "Group" use both sets of search scopes here.-->
<my:Property my:Name="UsageKeywords" my:Value="Person,Group"/>
<!--Columns displayed in list view in pop-up window-->
<my:Property my:Name="ColumnsToDisplay" my:Value="DisplayName, ObjectType" />
<!--Identities will be resolved against following attribute in the resolve textbox when resolve button is clicked.-->
<my:Property my:Name="AttributesToSearch" my:Value="DisplayName, AccountName" />
<!--multi valued reference type attribute is used to bind the control-->
<my:Property my:Name="Value" my:Value="{Binding Source=object, Path=ExplicitMember , Mode=TwoWay}" />
<my:Property my:Name="ResultObjectType" my:Value="Resource"/>
<my:Property my:Name="ListViewTitle" my:Value="Select multiple entries" />
<my:Property my:Name="PreviewTitle" my:Value="Entries selected" />
</my:Properties>
</my:Control>
<!--End of sample for a multiselection Identity Picker.-->
UocLabel
Nama: UocLabel
Description: Ini adalah kontrol label teks sederhana, baca-saja. Kami menyarankan agar kontrol ini digunakan untuk menampilkan data baca-saja.
Properti:
Semua properti umum: Untuk informasi tentang properti ini, lihat Properti umum.
Teks : Ini adalah atribut jenis string. Anda menentukan properti ini dengan memberikan nilai string eksplisit atau dengan mengikatnya dengan sumber data. Pengikatan sampel yang menetapkan nilai properti ini adalah {Binding Source=object, Path=<nama atribut yang valid>.
Untuk sampel kontrol UocLabel, lihat kontrol sederhana di bagian Sampel kontrol sederhana.
UocListView
Nama: UocListView
Deskripsi: Ini adalah kontrol tampilan daftar tingkat lanjut. Ini terdiri dari tampilan daftar sederhana, pencarian sederhana opsional, kontrol pencarian tingkat lanjut opsional, kotak pratinjau pilihan opsional, dan bilah tombol tindakan. Pencarian sederhana opsional terdiri dari cakupan pencarian dan kotak teks pencarian sederhana. Kontrol pencarian tingkat lanjut adalah penyusun filter. Tampilan daftar memperlihatkan daftar sumber daya yang telah dirender sebelumnya. Ini juga dapat menampilkan hasil pencarian yang berasal dari kontrol pencarian dalam kontrol ini. Bilah Tombol Tindakan menentukan tindakan apa yang dapat diambil berdasarkan pilihan dalam tampilan daftar. Kotak Pratinjau Pilihan memperlihatkan item apa yang dipilih dari tampilan daftar.
Penting
UocListView tidak berfungsi dengan atribut referensi bernilai tunggal. Ini hanya dapat digunakan dengan atribut referensi multinila. Untuk atribut referensi bernilai tunggal, lihat UocIdentityPicker dalam dokumen ini.
Properti:
Semua properti umum: Untuk informasi tentang properti ini, lihat Properti umum.
SelectedValue: Ini adalah properti opsional jenis string yang terikat ke atribut referensi multinilai yang menerima daftar string berformat GUID.
PageSize: Ini adalah properti bilangan bulat opsional. Pengguna dapat menentukan berapa banyak entri yang pas dalam satu halaman dalam kontrol tampilan daftar. Nilai defaultnya adalah 10 entri. Bilangan bulat positif apa pun valid.
UsageKeyword : Ini adalah properti opsional jenis string. Pengguna dapat menentukan daftar kata kunci yang menentukan cakupan pencarian apa yang digunakan dalam kontrol pencarian tampilan daftar. Ada sumber daya cakupan pencarian di server FIM 2010. Atribut pada struktur SearchScopeConfiguration, yang disebut UsageKeyword, digunakan untuk mengelompokkan serangkaian cakupan pencarian. Tampilan daftar menggunakan daftar kata kunci tersebut. Setiap kata kunci dipisahkan oleh koma (,). Ini adalah kata kunci penggunaan yang digunakan pada cakupan pencarian terkait yang ingin Anda tampilkan dalam tampilan daftar ini. Ini hanya berlaku ketika properti ShowSearchControl diatur ke true.
SearchControlAutoPostback: Ini adalah properti Boolean opsional. Atur nilai properti ini ke true untuk melakukan autopostback saat pencarian dipicu. Secara default, SearchControlAutoPostback diatur ke false.
emptyResultText: Ini adalah properti opsional jenis string. Secara default, diatur ke Tidak ada item, tetapi dapat diatur ke nilai string apa pun. Teks ini muncul ketika hasil pencarian kosong.
ButtonHeight: Ini adalah properti opsional jenis bilangan bulat. Atur nilai properti ini ke nilai bilangan bulat positif apa pun. Properti ini menentukan tinggi tombol di bilah tindakan dalam piksel. Nilai defaultnya adalah 32 piksel.
ButtonWidth: Ini adalah properti opsional jenis bilangan bulat. Atur nilai properti ini ke nilai bilangan bulat positif apa pun. Properti ini menentukan lebar tombol di bilah tindakan dalam piksel. Nilai defaultnya adalah 32 piksel.
CaptionImageMaxHeight: Ini adalah properti opsional jenis bilangan bulat. Atur nilai properti ini ke bilangan bulat positif apa pun. Properti ini mendefinisikan tinggi ikon maksimum keterangan opsional. Nilai defaultnya adalah 32 piksel.
CaptionImageMaxWidth: Ini adalah properti opsional jenis bilangan bulat. Atur nilai properti ini ke bilangan bulat positif apa pun. Properti ini mendefinisikan lebar ikon maksimum keterangan opsional. Nilai defaultnya adalah 32 piksel.
CaptionImageUrl: Ini adalah properti opsional jenis string. Properti ini mendefinisikan URL yang menautkan ke gambar yang muncul sebagai gambar keterangan.
PreviewTitle: Ini adalah properti opsional jenis string. Anda menggunakan properti ini untuk menentukan teks yang muncul di atas kotak pratinjau pilihan.
EnableSelection: Ini adalah properti opsional jenis Boolean. Anda menggunakan properti ini untuk menentukan apakah tampilan daftar berada dalam mode pilihan. Jika tampilan daftar dalam mode pilihan, kolom kotak centang muncul di kolom paling kiri tampilan daftar dan kotak pratinjau pilihan muncul di bagian bawah tampilan daftar. Nilai default properti ini diatur ke true.
singleSelection: Ini adalah properti opsional jenis Boolean. Jika mode pemilihan diaktifkan untuk tampilan daftar, mengatur nilai ini ke true akan membatasi pengguna akhir untuk memilih hanya satu item dari daftar. Secara default, nilai properti ini diatur ke false. Ini berarti bahwa, secara default, pengguna akhir dapat memilih beberapa item dari daftar.
RedirectUrl: Ini adalah properti opsional jenis string. Gunakan properti ini untuk menentukan halaman yang akan dialihkan ketika item hyperlink diklik dalam daftar. URL ini dapat berisi tempat penampung yang diganti dengan nilai aktual selama runtime. Tempat penampung adalah sebagai berikut:
- {0} objectType
- {1} objectID
- {2} displayName
ShowTitleBar: Ini adalah properti opsional jenis Boolean. Gunakan properti ini untuk menentukan apakah bilah judul harus terlihat. Nilai default properti ini adalah false.
ShowActionBar: Ini adalah properti opsional jenis Boolean. Gunakan properti ini untuk menentukan apakah area bilah tindakan harus terlihat. Nilai default properti ini adalah true.
ShowPreview: Ini adalah properti opsional jenis Boolean. Gunakan properti ini untuk menentukan apakah area pratinjau harus terlihat. Nilai default properti ini adalah true.
ShowSearchControl: Ini adalah properti opsional jenis Boolean. Gunakan properti ini untuk menentukan apakah kontrol pencarian harus terlihat. Nilai default properti ini adalah true.
ResultObjectType: Ini adalah properti opsional jenis string. Gunakan properti ini untuk menentukan tipe objek yang diharapkan dari hasil pencarian. Nilai default properti ini adalah Sumber Daya. Jika hasil pencarian berisi beberapa jenis sumber daya, nilai ini harus ditentukan sebagai Sumber Daya.
ColumnsToDisplay: Ini adalah properti opsional. Gunakan properti ini untuk menentukan atribut mana yang Ingin Anda tampilkan tampilan daftarnya sebagai kolom. Nilai default properti ini adalah DisplayName, ResourceType. Setiap kolom diwakili oleh nama sistem atribut. Setiap kolom dipisahkan oleh koma ','. Anda tidak perlu menentukan nilai untuk properti ini ketika tampilan daftar digunakan dalam mode pilihan. Dalam mode pilihan, pengaturan kolom berasal dari atribut SearchScopeColumn dari cakupan pencarian yang saat ini dipilih.
ListFilter: Ini adalah properti opsional jenis string. Ini adalah jalur x yang digunakan untuk merender tampilan daftar, dan hanya berlaku ketika properti ShowSearchControl diatur ke false. Ketika nilai ini ditentukan, tampilan daftar menggunakan nilai properti ini untuk kueri dan tampilan daftar tidak dalam mode pilihan. Filter dapat terikat ke atribut string sumber daya:
<my:Property my:Name="ListFilter" my:Value="{Binding Source=object, Path=Filter}"/>atau menjadi string yang berisi beberapa variabel lingkungan yang telah ditentukan sebelumnya:
<my:Property my:Name="ListFilter" my:Value="/Approval[Request=''%ObjectID%'']"/>TargetAttribute : Ini adalah properti usang. Nilainya harus menjadi nama sistem atribut yang direferensikan multinilai. Kami menyarankan agar properti ini tidak digunakan lagi. Misalnya, dalam manajemen grup, alih-alih menggunakan:
<my:Property my:Name="TargetAttribute" my:Value="ExplicitMember"/>Pakai:
<my:Property my:Name=”ListFilter” my:Value=”/Group[ObjectID=’%ObjectID%’]/ExplicitMember”/>ItemClickBehavior: Ini adalah properti opsional jenis string. Gunakan properti ini untuk menentukan apakah Anda ingin mengklik item tampilan daftar untuk memicu postback server atau menampilkan tampilan detail item. Dua nilai opsi didukung: ModelessDialog dan Server. Nilai defaultnya adalah ModelessDialog.
SearchOnLoad : Ini adalah properti opsional jenis Boolean yang menentukan apakah kontrol tampilan daftar harus dikueri saat dimuat. Properti ini hanya berlaku ketika tampilan daftar dalam mode pilihan. Nilai default untuk properti ini adalah true. Anda dapat menonaktifkannya jika Anda berharap pengguna biasanya mengetik teks ke dalam pencarian untuk mendapatkan hasil yang bermakna. Dalam hal ini, tampilan daftar awalnya menunjukkan pesan untuk memberi tahu pengguna cara melakukan pencarian. Teks dapat dikustomisasi dengan properti berikut:
MainSearchScreenText: Properti opsional jenis string ini hanya berlaku saat SearchOnload diatur ke true. Properti ini dapat digunakan untuk menyesuaikan teks yang muncul di tengah tampilan daftar saat tampilan daftar tidak dicari secara otomatis. Nilai default untuk properti ini adalah Menemukan sumber daya dengan menggunakan pencarian, seperti yang dijelaskan sebelumnya. Anda dapat menentukan nilai untuk membuat teks lebih relevan dengan skenario Anda.
SubSearchScreenText: Properti opsional jenis string ini digunakan untuk menyesuaikan teks yang muncul setelah properti MainSearchScreenText. Biasanya, Anda tidak perlu menentukan nilai untuk properti ini kecuali Anda ingin menambahkan beberapa instruksi tambahan tentang cara menggunakan tampilan daftar.
Peristiwa:
- Tidak ada peristiwa untuk kontrol ini.
Contoh:
Untuk contoh cara menggunakan tampilan daftar bersama dengan kontrol UocFilterBuilder sebagai daftar pratinjau, lihat sampel UocFilterBuilder sebelumnya dalam dokumen ini. UocListView juga dapat digunakan tanpa penyusun filter.
UocNumericBox
Nama: UocNumericBox
Deskripsi: Ini adalah kotak teks sederhana yang hanya mengambil nilai bilangan bulat. Kontrol ini mendukung mode baca-saja dan mode yang dapat diperbarui.
Properti:
Semua properti umum: Untuk informasi tentang properti ini, lihat Properti umum.
maxValue: Ini adalah properti opsional jenis bilangan bulat. Gunakan properti ini untuk menentukan validasi sisi klien untuk kontrol. Nilai yang dimasukkan pengguna akhir tidak boleh melebihi nilai ini. Anda dapat memasukkan bilangan bulat eksplisit atau mengikat ini dengan data bilangan bulat dari sumber data dengan menggunakan {Binding Source=schema, Path=IntegerMaximum}.
MinValue: Ini adalah properti opsional jenis bilangan bulat. Gunakan properti ini untuk menentukan validasi sisi klien untuk kontrol. Nilai yang dimasukkan pengguna akhir tidak boleh lebih rendah dari nilai ini. Anda dapat memasukkan bilangan bulat eksplisit atau mengikat ini dengan data bilangan bulat dari sumber data dengan menggunakan {Binding Source=schema, Path=IntegerMinimum}.
defaultValue: Ini adalah properti opsional jenis bilangan bulat. Gunakan properti ini untuk menentukan nilai default untuk kontrol jika kontrol digunakan untuk membuat data baru. Nilai ini hanya dapat diatur secara eksplisit ke bilangan bulat statis.
Nilai : Ini adalah properti opsional jenis bilangan bulat. Saat Anda mengikat ini dengan data jenis bilangan bulat dari sumber data, nilai atribut tersebut muncul saat halaman dimuat, lalu disimpan ke sumber data setelah pengiriman.
Peristiwa:
- TextChanged: Kejadian ini dipancarkan saat nilai saat ini di dalam kontrol berubah.
Contoh:
kontrol UocNumericBox
Nota
Kode sampel berikut menghasilkan kotak numerik pertama. Kotak numerik tidak tersambung dengan sumber data atau informasi skema apa pun.
<!--Sample for an explicit Numeric Box-->
<my:Control my:Name="SampleExplicitNumericBox" my:TypeName="UocNumericBox" my:Caption="An Explicit NumericBox" my:Description="This is a dummy numeric box that is not linked with data source.">
<my:Properties>
<my:Property my:Name="MinValue" my:Value="1"/>
<my:Property my:Name="MaxValue" my:Value="100"/>
<my:Property my:Name="DefaultValue" my:Value="1"/>
</my:Properties>
</my:Control>
<!--End of sample for an explicit Numeric Box.-->
Kode sampel berikut menghasilkan kotak numerik kedua.
Nota
Agar sampel ini berfungsi, Anda harus terlebih dahulu membuat atribut baru jenis bilangan bulat yang disebut AnIntegerAttribute dan mengikatnya dengan jenis sumber daya kustom.
<!--Sample for a dynamically rendered numeric box-->
<my:Control my:Name="SampleDynamicNumericBox" my:TypeName="UocNumericBox" my:Caption="{Binding Source=schema, Path=AnIntegerAttribute.DisplayName}" my:Description="{Binding Source=schema, Path=AnIntegerAttribute.Description}" my:RightsLevel="{Binding Source=rights, Path=AnIntegerAttribute}">
<my:Properties>
<my:Property my:Name="MaxValue" my:Value="{Binding Source=schema, Path=AnIntegerAttribute.IntegerMaximum}"/>
<my:Property my:Name="MinValue" my:Value="{Binding Source=schema, Path=AnIntegerAttribute.IntegerMinimum}"/>
<my:Property my:Name="DefaultValue" my:Value="1"/>
<my:Property my:Name="Value" my:Value="{Binding Source=object, Path=AnIntegerAttribute, Mode=TwoWay}"/>
<my:Property my:Name="Required" my:Value="{Binding Source=schema, Path=AnIntegerAttribute.Required}"/>
</my:Properties>
</my:Control>
<!--End of sample for a dynamically numeric box.-->
UocPictureBox
Nama: UocPictureBox
Deskripsi: Kontrol ini digunakan untuk merender gambar, data jenis biner. Kami menyarankan agar kontrol ini digunakan dengan data jenis biner. Gambar dapat dirender baik oleh URL gambar yang disediakan, data jenis biner, atau sumber atribut yang berisi data jenis gambar.
Properti:
Semua properti umum: Untuk informasi tentang properti ini, lihat Properti umum.
ImageUrl: Ini adalah properti opsional jenis string. Masukkan URL gambar target.
MaxHeight: Ini adalah properti jenis string opsional. Ini mendefinisikan tinggi maksimum gambar yang akan dirender dalam piksel.
MaxWidth: Ini adalah properti opsional jenis string. Ini menentukan lebar maksimum gambar yang akan dirender dalam piksel.
ImageData: Ini adalah properti jenis biner. Gunakan properti ini untuk mengikat sumber data dengan gambar yang ditampilkan. Sumber data terikat harus dari biner. Anda juga dapat menggunakan bidang ini untuk mengatur gambar secara eksplisit dengan menyediakan data dalam format byte[].
ImageResource: Ini adalah properti opsional jenis biner.
AlternativeText: Ini adalah properti opsional jenis string. Properti ini muncul sebagai teks alternatif ketika gambar tidak dapat ditampilkan.
Peristiwa:
- Tidak ada peristiwa untuk kontrol ini.
Contoh:
Nota
Untuk menggunakan sampel ini, Anda harus memiliki data gambar yang sudah ada yang diikat dengan kontrol.
Segmen kode berikut menghasilkan kontrol kotak gambar yang mengikat sumber data dengan kontrol:
<!--Sample for a Picture Box control binding with a data source-->
<my:Control my:Name="SamplePictureBoxImageData" my:TypeName="UocPictureBox" my:RightsLevel="{Binding Source=rights, Path=Photo}">
<my:Properties>
<my:Property my:Name="MaxHeight" my:Value="100" />
<my:Property my:Name="MaxWidth" my:Value="100" />
<my:Property my:Name="ImageData" my:Value="{Binding Source=object, Path=Photo}" />
</my:Properties>
</my:Control>
<!--End of Sample for a Picture Box control-->
Segmen kode berikut menghasilkan kontrol kotak gambar yang mengikat gambar URL dengan kontrol:
<!--Sample for a Picture Box control bind with explicit URL-->
<my:Control my:Name="SamplePictureBoxImageUrl" my:TypeName="UocPictureBox">
<my:Properties>
<my:Property my:Name="MaxHeight" my:Value="100" />
<my:Property my:Name="MaxWidth" my:Value="100" />
<my:Property my:Name="ImageUrl" my:Value="http://www.microsoft.com/dummypicture.jpg" />
</my:Properties>
</my:Control>
<!--End of Sample for a Picture Box control-->
UocRadioButtonList
Nama: UocRadioButtonList
Description: Ini adalah daftar tombol opsi sederhana. Pilihannya saling eksklusif dalam daftar ini. Kontrol ini disarankan ketika pengguna memiliki lima opsi atau kurang untuk dipilih. Jika tidak, UOCListView disarankan.
Properti:
Semua properti umum: Untuk informasi tentang properti ini, lihat Properti umum.
ValuePath: Jalur nilai diatur ke Nilai. Ini mengikat dengan bidang Nilai dari elemen Opsi, seperti yang dijelaskan di bagian ini.
CaptionPath: Jalur nilai diatur ke Keterangan. Ini mengikat dengan bidang Keterangan dari elemen Opsi, seperti yang dijelaskan di bagian ini.
HintPath: Jalur nilai diatur ke Petunjuk. Ini mengikat dengan bidang Petunjuk dari elemen Opsi, seperti yang dijelaskan di bagian ini.
Nilai Terpilih : Nilai yang saat ini dipilih. Ini adalah properti jenis string yang diperlukan. Properti ini mengikat dengan data string dari sumber data.
Peristiwa:
SelectedIndexChanged : Peristiwa terjadi saat tombol radio yang dipilih berubah.
CheckedChanged: Ketika tombol radio mengubah statusnya, peristiwa ini dipancarkan.
Opsi:
Hanya ada dua elemen Opsi sebagai opsi untuk kontrol ini. Untuk struktur elemen Opsi, lihat elemen Opsi .
Nilai: Bidang Nilai dalam satu elemen Opsi harus diatur ke Benar atau Salah.
Keterangan: Ini bisa menjadi nilai string apa pun.
Petunjuk: Ini bisa menjadi nilai string apa pun.
Contoh:
kontrol UocRadioButtonList
Nota
Agar sampel ini berfungsi, Anda harus membuat atribut Boolean baru, ABooleanAttribute, dan mengikatnya dengan jenis sumber daya kustom Anda.
Segmen kode berikut membuat daftar tombol opsi:
<!--Sample for option button list control-->
<my:Control my:Name="SampleRadioButtonList" my:TypeName="UocRadioButtonList" my:Caption="{Binding Source=schema, Path=ABooleanAttribute.DisplayName}" my:Description="{Binding Source=schema, Path=ABooleanAttribute.Description}" my:RightsLevel="{Binding Source=rights, Path=ABooleanAttribute}">
<my:Options>
<my:Option my:Value="False" my:Caption="Set Value To False" my:Hint="By selecting this option, you are setting the value of the attribute to false." />
<my:Option my:Value="True" my:Caption="Set Value To True" my:Hint="By selecting this option, you are setting the value of the attribute to true." />
</my:Options>
<my:Properties>
<my:Property my:Name="Required" my:Value="{Binding Source=schema, Path=ABooleanAttribute.Required}" />
<my:Property my:Name="ValuePath" my:Value="Value" />
<my:Property my:Name="CaptionPath" my:Value="Caption" />
<my:Property my:Name="HintPath" my:Value="Hint" />
<my:Property my:Name="SelectedValue" my:Value="{Binding Source=object, Path=ABooleanAttribute, Mode=TwoWay}" />
</my:Properties>
</my:Control>
<!--End of Sample for option button list control-->
UocSimpleRadioButton
Nama: UocSimpleRadioButton
Description: Ini adalah kontrol tombol opsi sederhana. Penggunaan kontrol ini mirip dengan kotak centang sederhana. Ada dua tombol opsi, memperlihatkan berdampingan dengan pelabelan teks. Mengikat kontrol ke data jenis Boolean disarankan.
Properti:
Semua properti umum: Untuk informasi tentang properti ini, lihat Properti umum.
TrueText: Ini adalah properti opsional jenis string. Ini adalah teks yang muncul saat tombol opsi dipilih.
FalseText: Ini adalah properti opsional jenis string. Ini adalah teks yang muncul ketika tombol opsi tidak dipilih.
selectedItem: Ini adalah properti opsional jenis Boolean. Nilai ini menunjukkan bahwa tombol opsi dipilih. Ini dapat mengikat dengan data jenis Boolean dari sumber data. Nilai default diatur ke false.
Peristiwa:
- CheckedChanged: Saat tombol opsi berubah status dari dipilih menjadi tidak dipilih, atau sebaliknya, sinyal ini dipancarkan.
Contoh:
kontrol UocSimpleRadioButton
Nota
Untuk membuat sampel berfungsi, Anda harus membuat atribut Boolean baru ABooleanAttribute dan mengikatnya ke jenis sumber daya kustom Anda. Data RCDC diterapkan ke jenis sumber daya kustom yang sama.
Segmen kode berikut menghasilkan tombol opsi:
<!--Sample for simple option button control-->
<my:Control my:Name="SampleSimpleRadioButton" my:TypeName="UocSimpleRadioButton" my:Caption="{Binding Source=schema, Path=ABooleanAttribute.DisplayName}" my:Description="{Binding Source=schema, Path=ABooleanAttribute.Description}" my:RightsLevel="{Binding Source=rights, Path=ABooleanAttribute}">
<my:Properties>
<my:Property my:Name="Required" my:Value="{Binding Source=schema, Path=ABooleanAttribute.Required}" />
<my:Property my:Name="FalseText" my:Value="False"/>
<my:Property my:Name="TrueText" my:Value="True"/>
<my:Property my:Name="SelectedItem" my:Value="{Binding Source=object, Path=ABooleanAttribute, Mode=TwoWay}" />
</my:Properties>
</my:Control>
<!--End of Sample for simple option button control-->
UocTextBox
Nama: UocTextBox
Description: Ini adalah kotak teks sederhana yang mendukung input jenis string. Kami menyarankan agar Anda menggunakan kontrol ini untuk mengikat dengan data jenis string.
Properti:
Semua properti umum: Untuk informasi tentang properti ini, lihat Properti umum.
MaxLength: Ini adalah atribut opsional jenis bilangan bulat. Properti ini menentukan panjang maksimum untuk input string. Nilai default untuk properti ini adalah 128 karakter.
Teks : Ini adalah properti opsional jenis string. Ini adalah teks yang muncul di kotak teks. Anda dapat menentukan string eksplisit yang muncul di kotak teks selama pemuatan awal kontrol atau mengikatnya ke atribut skema jenis string.
Baris: Ini adalah properti opsional jenis bilangan bulat. Properti ini menentukan tinggi kotak teks dalam unit karakter. Nilai defaultnya adalah satu karakter.
Kolom: Ini adalah properti opsional jenis bilangan bulat. Properti ini menentukan lebar kotak teks dalam unit karakter. Nilai defaultnya adalah 20 karakter.
Wrap: Ini adalah properti opsional jenis Boolean. Dengan mengatur nilai properti ini ke true, pengguna mengaktifkan fitur Word Wrap di kotak teks. Nilai default properti ini diatur ke true.
UniquenessValidationXPath: Ini adalah properti opsional jenis string. Dibutuhkan ekspresi filter FIM XPath yang valid dan memastikan bahwa nilai yang dimasukkan oleh pengguna unik dalam sumber daya yang berada dalam cakupan filter. Misalnya, untuk memastikan bahwa nama tampilan yang diminta pengguna unik dalam semua grup keamanan yang diaktifkan email di FIM Service DB, Anda akan menggunakan XPath
/Group[DisplayName=’%VALUE%’ and Type=’MailEnabledSecurity’. Tindakan validasi dilakukan saat pengguna meninggalkan halaman. Properti ini hanya didukung di RCDC untuk pembuatan sumber daya.UniquenessErrorMessage: Ini adalah properti opsional jenis string. String ini digunakan untuk menampilkan pesan kesalahan jika validasi UniquenessValidationXPath gagal, dan dapat berupa teks eksplisit atau Variabel Sumber Daya String. Jika properti ini tidak ditentukan, pesan kesalahan default untuk validasi yang gagal adalah "%VALUE% sudah ada. Silakan coba yang lain."
Peristiwa:
- TextChanged: Kejadian ini dipancarkan saat teks di dalam kotak teks diubah.
Contoh:
Lihat bagian Sampel kontrol sederhana untuk sampel lengkap kontrol ini.
Lampiran A: Skema XSD Default
Bagian ini memperlihatkan skema XSD lengkap untuk semua RCDC default yang disediakan dengan Microsoft Identity Manager 2016 SP1.
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<xsd:schema targetNamespace="http://schemas.microsoft.com/2006/11/ResourceManagement" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:my="http://schemas.microsoft.com/2006/11/ResourceManagement" xmlns:xd="http://schemas.microsoft.com/office/infopath/2003" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:attribute name="TypeName" type="my:requiredString"/>
<xsd:attribute name="Name" type="my:requiredAlphanumericString"/>
<xsd:attribute name="Parameters" type="xsd:string"/>
<xsd:attribute name="DisplayAsWizard" type="xsd:boolean"/>
<xsd:attribute name="Caption" type="xsd:string"/>
<xsd:attribute name="AutoValidate" type="xsd:boolean"/>
<xsd:attribute name="Enabled" type="xsd:string"/>
<xsd:attribute name="Visible" type="xsd:string"/>
<xsd:attribute name="IsSummary" type="xsd:boolean"/>
<xsd:attribute name="IsHeader" type="xsd:boolean"/>
<xsd:attribute name="HelpText" type="xsd:string"/>
<xsd:attribute name="Link" type="xsd:string"/>
<xsd:attribute name="Description" type="xsd:string"/>
<xsd:attribute name="ExpandArea" type="xsd:boolean"/>
<xsd:attribute name="Hint" type="xsd:string"/>
<xsd:attribute name="AutoPostback" type="xsd:string"/>
<xsd:attribute name="RightsLevel" type="my:requiredString"/>
<xsd:attribute name="Value" type="xsd:string"/>
<xsd:attribute name="Handler" type="my:requiredString"/>
<xsd:attribute name="ImageUrl" type="xsd:string"/>
<xsd:attribute name="RedirectUrl" type="xsd:string"/>
<xsd:attribute name="ClickBehavior" type="xsd:string"/>
<xsd:attribute name="EnableMode" type="xsd:string"/>
<xsd:attribute name="ValueType" type="xsd:string"/>
<xsd:attribute name="Condition" type="xsd:string"/>
<xsd:element name="ObjectControlConfiguration">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="my:ObjectDataSource" minOccurs="0" maxOccurs="32"/>
<xsd:element ref="my:XmlDataSource" minOccurs="0" maxOccurs="32"/>
<xsd:element ref="my:Panel"/>
<xsd:element ref="my:Events" minOccurs="0" maxOccurs="1"/>
</xsd:sequence>
<xsd:attribute ref="my:TypeName"/>
<xsd:anyAttribute processContents="lax" namespace="http://www.w3.org/XML/1998/namespace"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="ObjectDataSource">
<xsd:complexType>
<xsd:sequence/>
<xsd:attribute ref="my:TypeName"/>
<xsd:attribute ref="my:Name"/>
<xsd:attribute ref="my:Parameters"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="XmlDataSource">
<xsd:complexType mixed="true">
<xsd:sequence>
<xsd:any minOccurs="0" maxOccurs="unbounded" processContents="lax"/>
</xsd:sequence>
<xsd:attribute ref="my:Name"/>
<xsd:attribute ref="my:Parameters"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="Panel">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="my:Grouping" minOccurs="1" maxOccurs="16"/>
</xsd:sequence>
<xsd:attribute ref="my:Name"/>
<xsd:attribute ref="my:DisplayAsWizard"/>
<xsd:attribute ref="my:Caption"/>
<xsd:attribute ref="my:AutoValidate"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="Grouping">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="my:Help" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="my:Control" minOccurs="1" maxOccurs="256"/>
<xsd:element ref="my:Events" minOccurs="0" maxOccurs="1"/>
</xsd:sequence>
<xsd:attribute ref="my:Name"/>
<xsd:attribute ref="my:Caption"/>
<xsd:attribute ref="my:Description"/>
<xsd:attribute ref="my:Enabled"/>
<xsd:attribute ref="my:Visible"/>
<xsd:attribute ref="my:IsHeader"/>
<xsd:attribute ref="my:IsSummary"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="Help">
<xsd:complexType>
<xsd:sequence/>
<xsd:attribute ref="my:HelpText"/>
<xsd:attribute ref="my:Link"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="Control">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="my:Help" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="my:CustomProperties" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="my:Options" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="my:Buttons" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="my:Properties" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="my:Events" minOccurs="0" maxOccurs="1"/>
</xsd:sequence>
<xsd:attribute ref="my:Name"/>
<xsd:attribute ref="my:TypeName"/>
<xsd:attribute ref="my:Caption"/>
<xsd:attribute ref="my:Enabled"/>
<xsd:attribute ref="my:Visible"/>
<xsd:attribute ref="my:Description"/>
<xsd:attribute ref="my:ExpandArea"/>
<xsd:attribute ref="my:Hint"/>
<xsd:attribute ref="my:AutoPostback"/>
<xsd:attribute ref="my:RightsLevel"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="CustomProperties">
<xsd:complexType mixed="true">
<xsd:sequence>
<xsd:any minOccurs="0" maxOccurs="unbounded" namespace="##targetNamespace" processContents="lax"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="Options">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="my:Option" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute ref="my:ValueType"/>
</xsd:complexType>
</xsd:element>
<xsd:element name="Option">
<xsd:complexType>
<xsd:simpleContent>
<xsd:extension base="xsd:string">
<xsd:attribute ref="my:Value"/>
<xsd:attribute ref="my:Caption"/>
<xsd:attribute ref="my:Hint"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
<xsd:element name="Buttons">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="my:Button" minOccurs="1" maxOccurs="8"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="Button">
<xsd:complexType>
<xsd:simpleContent>
<xsd:extension base="xsd:string">
<xsd:attribute ref="my:Name"/>
<xsd:attribute ref="my:Caption"/>
<xsd:attribute ref="my:Hint"/>
<xsd:attribute ref="my:ImageUrl"/>
<xsd:attribute ref="my:ClickBehavior"/>
<xsd:attribute ref="my:RedirectUrl"/>
<xsd:attribute ref="my:Enabled"/>
<xsd:attribute ref="my:Visible"/>
<xsd:attribute ref="my:EnableMode"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
<xsd:element name="Properties">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="my:Property" minOccurs="1" maxOccurs="32"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="Property">
<xsd:complexType>
<xsd:simpleContent>
<xsd:extension base="xsd:string">
<xsd:attribute ref="my:Name"/>
<xsd:attribute ref="my:Value"/>
<xsd:attribute ref="my:Condition"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
<xsd:element name="Events">
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="my:Event" minOccurs="1" maxOccurs="16"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="Event">
<xsd:complexType>
<xsd:simpleContent>
<xsd:extension base="xsd:string">
<xsd:attribute ref="my:Name"/>
<xsd:attribute ref="my:Handler"/>
<xsd:attribute ref="my:Parameters"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
<xsd:simpleType name="requiredString">
<xsd:restriction base="xsd:string">
<xsd:minLength value="1"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="requiredAlphanumericString">
<xsd:restriction base="xsd:string">
<xsd:pattern value="[A-Za-z0-9_]{1,128}"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="requiredAnyURI">
<xsd:restriction base="xsd:anyURI">
<xsd:minLength value="1"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="requiredBase64Binary">
<xsd:restriction base="xsd:base64Binary">
<xsd:minLength value="1"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:schema>
Lampiran B: Ringkasan Default XSL
Bagian ini memperlihatkan Ringkasan XSL lengkap yang disediakan dengan Microsoft Identity Manager 2016 SP1.
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt">
<xsl:template name="output-attribute-value">
<xsl:param name="attribute"/>
<xsl:param name="type"/>
<xsl:choose>
<xsl:when test="$type='Binary'">
<xsl:value-of select="$attribute" disable-output-escaping="yes"/>
</xsl:when>
<xsl:when test="$type='Text'">
<xsl:text xml:space="preserve" disable-output-escaping="yes">(text data)</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="translate($attribute,' ',' ')" disable-output-escaping="yes"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template name="output-modified-value">
<xsl:param name="name"/>
<xsl:param name="attribute1"/>
<xsl:param name="text1"/>
<xsl:param name="attribute2"/>
<xsl:param name="text2"/>
<xsl:param name="type"/>
<tr class="listViewRow" style="height:22px;">
<xsl:if test="position() mod 2 != 0">
<td class="commonSummaryListViewCellBR ms-vb">
<xsl:value-of select="$name" disable-output-escaping="yes"/>
</td>
<xsl:choose>
<xsl:when test="$attribute1 and $attribute1!=''">
<td class="commonSummaryListViewCellBR ms-vb">
<xsl:call-template name="output-attribute-value">
<xsl:with-param name="attribute" select="$attribute1"/>
<xsl:with-param name="type" select="$type"/>
</xsl:call-template>
</td>
</xsl:when>
<xsl:otherwise>
<td class="commonSummaryListViewCellBR ms-vb">
<xsl:copy-of select="$text1"/>
</td>
</xsl:otherwise>
</xsl:choose>
<xsl:choose>
<xsl:when test="$attribute2 and $attribute2!=''">
<td class="commonSummaryListViewCellBR ms-vb">
<xsl:call-template name="output-attribute-value">
<xsl:with-param name="attribute" select="$attribute2"/>
<xsl:with-param name="type" select="$type"/>
</xsl:call-template>
</td>
</xsl:when>
<xsl:otherwise>
<td class="commonSummaryListViewCellBR ms-vb">
<xsl:copy-of select="$text2"/>
</td>
</xsl:otherwise>
</xsl:choose>
</xsl:if>
<xsl:if test="position() mod 2 != 1">
<td class="ms-alternating commonSummaryListViewCellBR ms-vb">
<xsl:value-of select="$name" disable-output-escaping="yes"/>
</td>
<xsl:choose>
<xsl:when test="$attribute1 and $attribute1!=''">
<td class="ms-alternating commonSummaryListViewCellBR ms-vb">
<xsl:call-template name="output-attribute-value">
<xsl:with-param name="attribute" select="$attribute1"/>
<xsl:with-param name="type" select="$type"/>
</xsl:call-template>
</td>
</xsl:when>
<xsl:otherwise>
<td class="ms-alternating commonSummaryListViewCellBR ms-vb">
<xsl:copy-of select="$text1"/>
</td>
</xsl:otherwise>
</xsl:choose>
<xsl:choose>
<xsl:when test="$attribute2 and $attribute2!=''">
<td class="ms-alternating commonSummaryListViewCellBR ms-vb">
<xsl:call-template name="output-attribute-value">
<xsl:with-param name="attribute" select="$attribute2"/>
<xsl:with-param name="type" select="$type"/>
</xsl:call-template>
</td>
</xsl:when>
<xsl:otherwise>
<td class="ms-alternating commonSummaryListViewCellBR ms-vb">
<xsl:copy-of select="$text2"/>
</td>
</xsl:otherwise>
</xsl:choose>
</xsl:if>
</tr>
</xsl:template>
<xsl:template name="output-localized-attribute-value">
<xsl:param name="locale"/>
<xsl:param name="attribute"/>
<xsl:param name="type"/>
<tr class="listViewRow" style="height:22px;">
<xsl:if test="position() mod 2 != 0">
<td class="commonSummaryListViewCellBR ms-vb">
<xsl:value-of select="$locale" disable-output-escaping="yes"/>
</td>
<td class="commonSummaryListViewCellBR ms-vb">
<xsl:call-template name="output-attribute-value">
<xsl:with-param name="attribute" select="$attribute"/>
<xsl:with-param name="type" select="$type"/>
</xsl:call-template>
</td>
</xsl:if>
<xsl:if test="position() mod 2 != 1">
<td class="ms-alternating commonSummaryListViewCellBR ms-vb">
<xsl:value-of select="$locale" disable-output-escaping="yes"/>
</td>
<td class="ms-alternating commonSummaryListViewCellBR ms-vb">
<xsl:call-template name="output-attribute-value">
<xsl:with-param name="attribute" select="$attribute"/>
<xsl:with-param name="type" select="$type"/>
</xsl:call-template>
</td>
</xsl:if>
</tr>
</xsl:template>
<xsl:template match="/">
<xsl:choose>
<xsl:when test="ModifiedAttributes[@ActionType='Create']">
<!-- expected XML
<ModifiedAttributes ActionType="Create">
<Attribute Name="[attribute's system name]" DisplayName="[attribute's display name]" DataType="[all kinds of ILM data type]" InitializedValue="[the value]"/>
other <Attribute> elements
</ModifiedAttributes>
-->
<table cellspacing="0" cellpadding="3" class="commonSummaryListViewGridBorder">
<tr align="left" class="listViewHeader" style="height:22px;">
<th class="commonSummaryListViewHeaderCellBR">Attribute</th>
<th class="commonSummaryListViewHeaderCellBR">Value</th>
</tr>
<xsl:for-each select="ModifiedAttributes/Attribute">
<xsl:sort select="@DisplayName" order="ascending"/>
<tr class="listViewRow" style="height:22px;">
<xsl:if test="position() mod 2 != 0">
<td class="commonSummaryListViewCellBR ms-vb">
<xsl:value-of select="@DisplayName" disable-output-escaping="yes"/>
</td>
<xsl:if test="count(LocalizedValue)!=0">
<td class="commonSummaryListViewCellBR ms-vb">
<table cellspacing="0" style="width:100%">
<tr class="listViewHeader">
<th align="left" class="commonSummaryListViewHeaderCellBR">Language</th>
<th align="left" class="commonSummaryListViewHeaderCellBR">Status</th>
</tr>
<xsl:if test="@InitializedValue and @InitializedValue != ''">
<xsl:call-template name="output-localized-attribute-value">
<xsl:with-param name="locale" select="@Locale"/>
<xsl:with-param name="attribute" select="@InitializedValue"/>
<xsl:with-param name="type" select="@DataType"/>
</xsl:call-template>
</xsl:if>
<xsl:for-each select="LocalizedValue">
<xsl:call-template name="output-localized-attribute-value">
<xsl:with-param name="locale" select="@Locale"/>
<xsl:with-param name="attribute" select="@InitializedValue"/>
<xsl:with-param name="type" select="../@DataType"/>
</xsl:call-template>
</xsl:for-each>
</table>
</td>
</xsl:if>
<xsl:if test="count(LocalizedValue)=0">
<td class="commonSummaryListViewCellBR ms-vb">
<xsl:call-template name="output-attribute-value">
<xsl:with-param name="attribute" select="@InitializedValue"/>
<xsl:with-param name="type" select="@DataType"/>
</xsl:call-template>
</td>
</xsl:if>
</xsl:if>
<xsl:if test="position() mod 2 != 1">
<td class="ms-alternating commonSummaryListViewCellBR ms-vb">
<xsl:value-of select="@DisplayName" disable-output-escaping="yes"/>
</td>
<xsl:if test="count(LocalizedValue)!=0">
<td class="ms-alternating commonSummaryListViewCellBR ms-vb">
<table cellspacing="0" style="width:100%">
<tr class="listViewHeader">
<th align="left" class="commonSummaryListViewHeaderCellBR">Language</th>
<th align="left" class="commonSummaryListViewHeaderCellBR">Status</th>
</tr>
<xsl:if test="@InitializedValue and @InitializedValue != ''">
<xsl:call-template name="output-localized-attribute-value">
<xsl:with-param name="locale" select="@Locale"/>
<xsl:with-param name="attribute" select="@InitializedValue"/>
<xsl:with-param name="type" select="@DataType"/>
</xsl:call-template>
</xsl:if>
<xsl:for-each select="LocalizedValue">
<xsl:call-template name="output-localized-attribute-value">
<xsl:with-param name="locale" select="@Locale"/>
<xsl:with-param name="attribute" select="@InitializedValue"/>
<xsl:with-param name="type" select="../@DataType"/>
</xsl:call-template>
</xsl:for-each>
</table>
</td>
</xsl:if>
<xsl:if test="count(LocalizedValue)=0">
<td class="ms-alternating commonSummaryListViewCellBR ms-vb">
<xsl:call-template name="output-attribute-value">
<xsl:with-param name="attribute" select="@InitializedValue"/>
<xsl:with-param name="type" select="@DataType"/>
</xsl:call-template>
</td>
</xsl:if>
</xsl:if>
</tr>
</xsl:for-each>
</table>
</xsl:when>
<xsl:when test="ModifiedAttributes[@ActionType='Modify']">
<!-- expected XML
<ModifiedAttributes ActionType="Modify">
<SingleAttribute Name="[attribute's system name]" DisplayName="[attribute's display name]" DataType="[all kinds of ILM data type]" InitializedValue="[the old value]" SetValue="[the new value]"/>
other <SingleAttribute> elements
<MultipleAttribute Name="[attribute's system name]" DisplayName="[attribute's display name]" DataType="[all kinds of ILM data type]" InsertedItem="[inserted items separated by ';']" RemovedItem="[removed items separated by ';']"/>
other <MultipleAttribute> elements
</ModifiedAttributes>
-->
<table class="commonSummaryListViewGridBorder" cellspacing="0" cellpadding="3">
<xsl:if test="ModifiedAttributes[count(SingleAttribute)!=0]">
<tr align="left" class="listViewHeader">
<th class="commonSummaryListViewHeaderCellBR">Single-Value Attributes</th>
<th class="commonSummaryListViewHeaderCellBR">Old Value</th>
<th class="commonSummaryListViewHeaderCellBR">New Value</th>
</tr>
<xsl:for-each select="ModifiedAttributes/SingleAttribute">
<xsl:sort select="@DisplayName" order="ascending"/>
<xsl:if test="count(LocalizedValue)!=0">
<tr class="listViewRow">
<xsl:if test="position() mod 2 != 0">
<td class="commonSummaryListViewCellBR ms-vb">
<xsl:value-of select="@DisplayName" disable-output-escaping="yes"/>
</td>
<td colSpan="2">
<table cellspacing="0" cellpadding="0" style="width:100%">
<tr align="left" class="listViewHeader">
<th class="commonSummaryListViewHeaderCellBR">Language</th>
<th class="commonSummaryListViewHeaderCellBR">Old Value</th>
<th class="commonSummaryListViewHeaderCellBR">New Value</th>
</tr>
<xsl:if test="(@InitializedValue and @InitializedValue !='') or (@SetValue and @SetValue != '')">
<xsl:call-template name="output-modified-value">
<xsl:with-param name="name" select="@Locale"/>
<xsl:with-param name="attribute1" select="@InitializedValue"/>
<xsl:with-param name="text1">(no initial value)</xsl:with-param>
<xsl:with-param name="attribute2" select="@SetValue"/>
<xsl:with-param name="text2">(value removed)</xsl:with-param>
<xsl:with-param name="type" select="@DataType"/>
</xsl:call-template>
</xsl:if>
<xsl:for-each select="LocalizedValue">
<xsl:call-template name="output-modified-value">
<xsl:with-param name="name" select="@Locale"/>
<xsl:with-param name="attribute1" select="@InitializedValue"/>
<xsl:with-param name="text1">(no initial value)</xsl:with-param>
<xsl:with-param name="attribute2" select="@SetValue"/>
<xsl:with-param name="text2">(value removed)</xsl:with-param>
<xsl:with-param name="type" select="../@DataType"/>
</xsl:call-template>
</xsl:for-each>
</table>
</td>
</xsl:if>
<xsl:if test="position() mod 2 != 1">
<td class="ms-alternating commonSummaryListViewCellBR ms-vb">
<xsl:value-of select="@DisplayName" disable-output-escaping="yes"/>
</td>
<td colSpan="2">
<table cellspacing="0" style="width:100%">
<tr align="left" class="listViewHeader">
<th class="commonSummaryListViewHeaderCellBR">Language</th>
<th class="commonSummaryListViewHeaderCellBR">Old Value</th>
<th class="commonSummaryListViewHeaderCellBR">New Value</th>
</tr>
<xsl:if test="(@InitializedValue and @InitializedValue !='') or (@SetValue and @SetValue != '')">
<xsl:call-template name="output-modified-value">
<xsl:with-param name="name" select="@Locale"/>
<xsl:with-param name="attribute1" select="@InitializedValue"/>
<xsl:with-param name="text1">(no initial value)</xsl:with-param>
<xsl:with-param name="attribute2" select="@SetValue"/>
<xsl:with-param name="text2">(value removed)</xsl:with-param>
<xsl:with-param name="type" select="@DataType"/>
</xsl:call-template>
</xsl:if>
<xsl:for-each select="LocalizedValue">
<xsl:call-template name="output-modified-value">
<xsl:with-param name="name" select="@Locale"/>
<xsl:with-param name="attribute1" select="@InitializedValue"/>
<xsl:with-param name="text1">(no initial value)</xsl:with-param>
<xsl:with-param name="attribute2" select="@SetValue"/>
<xsl:with-param name="text2">(value removed)</xsl:with-param>
<xsl:with-param name="type" select="../@DataType"/>
</xsl:call-template>
</xsl:for-each>
</table>
</td>
</xsl:if>
</tr>
</xsl:if>
<xsl:if test="count(LocalizedValue)=0">
<xsl:call-template name="output-modified-value">
<xsl:with-param name="name" select="@DisplayName"/>
<xsl:with-param name="attribute1" select="@InitializedValue"/>
<xsl:with-param name="text1">(no initial value)</xsl:with-param>
<xsl:with-param name="attribute2" select="@SetValue"/>
<xsl:with-param name="text2">(value removed)</xsl:with-param>
<xsl:with-param name="type" select="@DataType"/>
</xsl:call-template>
</xsl:if>
</xsl:for-each>
</xsl:if>
<xsl:if test="ModifiedAttributes[count(MultipleAttribute)!=0]">
<tr align="left" class="listViewHeader">
<th class="commonSummaryListViewHeaderCellBR">Multiple-Value Attributes</th>
<th class="commonSummaryListViewHeaderCellBR">Removed Items</th>
<th class="commonSummaryListViewHeaderCellBR">Inserted Items</th>
</tr>
<xsl:for-each select="ModifiedAttributes/MultipleAttribute">
<xsl:sort select="@DisplayName" order="ascending"/>
<xsl:if test="count(LocalizedValue)!=0">
<tr class="uocSummaryTitleTR">
<xsl:if test="position() mod 2 != 0">
<td class="commonSummaryListViewCellBR ms-vb">
<xsl:value-of select="@DisplayName" disable-output-escaping="yes"/>
</td>
<td>
<table cellspacing="0" style="width:100%">
<tr align="left" class="listViewHeader">
<th class="commonSummaryListViewHeaderCellBR">Language</th>
<th class="commonSummaryListViewHeaderCellBR">Removed Items</th>
<th class="commonSummaryListViewHeaderCellBR">Inserted Items</th>
</tr>
<xsl:if test="(@RemovedItem and @RemovedItem!='') or (@InsertedItem and @InsertedItem!='')">
<xsl:call-template name="output-modified-value">
<xsl:with-param name="name" select="@Locale"/>
<xsl:with-param name="attribute1" select="@RemovedItem"/>
<xsl:with-param name="text1">(no removed item)</xsl:with-param>
<xsl:with-param name="attribute2" select="@InsertedItem"/>
<xsl:with-param name="text2">(no inserted item)</xsl:with-param>
<xsl:with-param name="type" select="@DataType"/>
</xsl:call-template>
</xsl:if>
<xsl:for-each select="LocalizedValue">
<xsl:call-template name="output-modified-value">
<xsl:with-param name="name" select="@Locale"/>
<xsl:with-param name="attribute1" select="@RemovedItem"/>
<xsl:with-param name="text1">(no removed item)</xsl:with-param>
<xsl:with-param name="attribute2" select="@InsertedItem"/>
<xsl:with-param name="text2">(no inserted item)</xsl:with-param>
<xsl:with-param name="type" select="@DataType"/>
</xsl:call-template>
</xsl:for-each>
</table>
</td>
</xsl:if>
<xsl:if test="position() mod 2 != 1">
<td class="ms-alternating commonSummaryListViewCellBR ms-vb">
<xsl:value-of select="@DisplayName" disable-output-escaping="yes"/>
</td>
<td>
<table cellspacing="0" style="width:100%">
<tr align="left" class="listViewHeader">
<th class="commonSummaryListViewHeaderCellBR">Language</th>
<th class="commonSummaryListViewHeaderCellBR">Removed Items</th>
<th class="commonSummaryListViewHeaderCellBR">Inserted Items</th>
</tr>
<xsl:if test="(@RemovedItem and @RemovedItem!='') or (@InsertedItem and @InsertedItem!='')">
<xsl:call-template name="output-modified-value">
<xsl:with-param name="name" select="@Locale"/>
<xsl:with-param name="attribute1" select="@RemovedItem"/>
<xsl:with-param name="text1">(no removed item)</xsl:with-param>
<xsl:with-param name="attribute2" select="@InsertedItem"/>
<xsl:with-param name="text2">(no inserted item)</xsl:with-param>
<xsl:with-param name="type" select="@DataType"/>
</xsl:call-template>
</xsl:if>
<xsl:for-each select="LocalizedValue">
<xsl:call-template name="output-modified-value">
<xsl:with-param name="name" select="@Locale"/>
<xsl:with-param name="attribute1" select="@RemovedItem"/>
<xsl:with-param name="text1">(no removed item)</xsl:with-param>
<xsl:with-param name="attribute2" select="@InsertedItem"/>
<xsl:with-param name="text2">(no inserted item)</xsl:with-param>
<xsl:with-param name="type" select="@DataType"/>
</xsl:call-template>
</xsl:for-each>
</table>
</td>
</xsl:if>
</tr>
</xsl:if>
<xsl:if test="count(LocalizedValue)=0">
<xsl:call-template name="output-modified-value">
<xsl:with-param name="name" select="@DisplayName"/>
<xsl:with-param name="attribute1" select="@RemovedItem"/>
<xsl:with-param name="text1">(no removed item)</xsl:with-param>
<xsl:with-param name="attribute2" select="@InsertedItem"/>
<xsl:with-param name="text2">(no inserted item)</xsl:with-param>
<xsl:with-param name="type" select="@DataType"/>
</xsl:call-template>
</xsl:if>
</xsl:for-each>
</xsl:if>
</table>
</xsl:when>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>