Opsi ekstensi adalah pengaturan yang dapat dikonfigurasi oleh pengguna dan ditentukan oleh developer ekstensi. Opsi ini menyesuaikan perilaku ekstensi untuk setiap ruang kerja. Sebagai contoh, developer dapat menentukan opsi yang memungkinkan pengguna mengontrol batas panjang SQL, sehingga ekstensi yang sama dapat menerapkan batas berbeda di ruang kerja yang berbeda.
Latar Belakang
Opsi ekstensi ditentukan oleh developer saat ekstensi didaftarkan. Pengguna kemudian dapat mengonfigurasi opsi tersebut dalam ruang kerja tertentu.
Untuk informasi lebih lanjut tentang cara developer mendaftarkan ekstensi, lihat Develop and deploy an extension: Self-managed service method.
Saat menggunakan ekstensi di ruang kerja, Anda dapat mengonfigurasi opsinya sebelum mengaktifkannya. Di halaman Workspace Configuration > Extensions, Anda dapat melihat daftar ekstensi terdaftar beserta detail seperti extension points, modul yang berlaku, dan status. Pilih cakupan, misalnya Global, dari daftar drop-down extension scope, lalu klik Settings di kolom Actions untuk mengonfigurasi ekstensi terdaftar.
Developer ekstensi dapat memanggil API GetOptionValueForProject untuk mengambil nilai konfigurasi yang ditetapkan oleh pengguna (misalnya administrator ruang kerja) untuk ekstensi di ruang kerja tertentu.
Catatan
Developer ekstensi menyediakan informasi konfigurasi dan teks terkait untuk opsi ekstensi. Platform tidak bertanggung jawab atas risiko apa pun yang terkait dengan konten tersebut.
Komponen yang didukung
Konfigurasi opsi saat ini mendukung tujuh jenis komponen formulir: text (untuk tampilan teks statis), single-line input box, multi-line input box, single-select drop-down list, multi-select drop-down list, checkbox (mendukung beberapa opsi, seperti opt1, opt2, dan opt3), dan radio button (mendukung beberapa opsi, beberapa di antaranya dapat dinonaktifkan).
Konfigurasi opsi
Saat mendaftarkan ekstensi, developer ekstensi harus menentukan opsi sebagai string JSON di bidang Option Configuration.
{
"type": "object",
"properties": {
"Component name (must be unique)": {
"type": "string",
"title": "Lihat tabel di bawah",
"x-decorator": "Lihat bagian Parameters untuk detailnya",
"x-component": "Lihat bagian Parameters untuk detailnya",
"x-decorator-props": {
"tooltip": "Deskripsi"
},
"x-component-props": {
"dataSource": "Lihat bagian Parameters untuk detailnya",
"mode": "multiple"
}
}
}
}Anda dapat merujuk ke sumber daya berikut untuk konfigurasi:
Untuk detail tentang parameter komponen, lihat Parameters.
Untuk contoh konfigurasi komponen, lihat Contoh: Tetapkan ambang batas resource CU untuk tugas SQL dan Contoh: Gunakan ketujuh jenis komponen.
Untuk informasi lebih lanjut tentang pendaftaran dan pengelolaan ekstensi, lihat Develop and deploy an extension: Self-managed service method.
Parameters
Parameter | Jenis komponen | Nilai |
title | text | Judul komponen. |
single-line input box | Judul komponen. | |
multi-line input box | Judul komponen. | |
single-select drop-down list | Judul komponen. | |
multi-select drop-down list | Judul komponen. | |
checkbox | Judul komponen. | |
radio button | Judul komponen. | |
x-decorator | text | FormItem |
single-line input box | FormItem | |
multi-line input box | FormItem | |
single-select drop-down list | FormItem | |
multi-select drop-down list | FormItem | |
checkbox | FormItem | |
radio button | FormItem | |
x-component | text | PreviewText.Input |
single-line input box | Input | |
multi-line input box | Input.TextArea | |
single-select drop-down list | Select | |
multi-select drop-down list | Select | |
checkbox | Checkbox.Group | |
radio button | Radio.Group | |
dataSource | text | opsional |
single-line input box | opsional | |
multi-line input box | opsional | |
single-select drop-down list | Sumber data berupa array objek unik. Setiap objek harus berisi | |
multi-select drop-down list | Sumber data berupa array objek unik. Setiap objek harus berisi | |
checkbox | Sumber data berupa array objek unik. Setiap objek harus berisi | |
radio button | Sumber data berupa array objek unik. Setiap objek harus berisi |
Contoh: Tetapkan ambang batas CU untuk tugas SQL
Contoh berikut menunjukkan cara menetapkan ambang batas resource CU untuk tugas SQL.
Setelah Anda memasukkan JSON Schema ke area teks Option Configuration pada formulir Register Extension, sistem secara otomatis menghasilkan kotak dialog Extension Options yang menampilkan kontrol formulir yang sesuai, seperti kotak input CU Threshold.
JSON berikut mendefinisikan konfigurasi ini:
{
"type": "object",
"properties": {
"cuNumber": {
"type": "string",
"title": "CU Threshold",
"x-decorator": "FormItem",
"x-component": "Input",
"x-decorator-props": {
"tooltip": "Masukkan ambang batas konsumsi CU untuk tugas SQL."
}
}
}
}Contoh: Gunakan ketujuh jenis komponen
Contoh berikut menunjukkan cara mengonfigurasi dan menggunakan ketujuh jenis komponen.
Setelah Anda memasukkan konfigurasi JSON ke bidang Option Configuration pada kotak dialog Register Extension, kotak dialog Extension Options akan merender ketujuh komponen formulir yang sesuai.
JSON berikut mendefinisikan konfigurasi ini:
Jika Anda ingin menggunakan ketujuh komponen sekaligus, Anda dapat menyalin JSON berikut dan memodifikasi datanya sesuai kebutuhan.
{
"type":"object",
"properties":{
"text":{
"type":"string",
"title":"Text",
"x-decorator":"FormItem",
"x-component":"PreviewText.Input",
"x-decorator-props":{
"tooltip":"Deskripsi"
},
"default":"This is text information"
},
"input":{
"type":"string",
"title":"Single-line Input Box",
"x-decorator":"FormItem",
"x-component":"Input",
"x-decorator-props":{
"tooltip":"Deskripsi"
},
"x-component-props":{
},
"default":"This is the default value"
},
"textarea":{
"type":"string",
"title":"Multi-line Input Box",
"x-decorator":"FormItem",
"x-component":"Input.TextArea",
"x-decorator-props":{
"tooltip":"Deskripsi"
},
"x-component-props":{
},
"default":"This is the default value"
},
"select":{
"type":"string",
"title":"Single-select Drop-down List",
"x-decorator":"FormItem",
"x-component":"Select",
"x-decorator-props":{
"tooltip":"Deskripsi"
},
"x-component-props":{
"dataSource":[
{
"value":"10001",
"label":"opt1"
},
{
"value":10002,
"label":"opt2"
},
{
"value":10003,
"label":"opt3",
"disabled":true
}
]
},
"default":"10001"
},
"selectmore":{
"type":"string",
"title":"Multi-select Drop-down List",
"x-decorator":"FormItem",
"x-component":"Select",
"x-decorator-props":{
"tooltip":"Deskripsi"
},
"x-component-props":{
"dataSource":[
{
"value":"10001",
"label":"opt1"
},
{
"value":10002,
"label":"opt2"
},
{
"value":10003,
"label":"opt3",
"disabled":true
}
],
"mode":"multiple"
},
"default":["10001","10002"]
},
"checkbox":{
"type":"array",
"title":"Checkbox",
"x-decorator":"FormItem",
"x-component":"Checkbox.Group",
"x-decorator-props":{
"tooltip":"Deskripsi"
},
"x-component-props":{
"dataSource":[
{
"value":"10001",
"label":"opt1"
},
{
"value":10002,
"label":"opt2"
},
{
"value":10003,
"label":"opt3",
"disabled":true
}
],
"mode":"multiple"
},
"default":["10001","10002"]
},
"radio":{
"type":"number",
"title":"Radio Button",
"x-decorator":"FormItem",
"x-component":"Radio.Group",
"x-decorator-props":{
"tooltip":"Deskripsi"
},
"x-component-props":{
"dataSource":[
{
"value":"10001",
"label":"opt1"
},
{
"value":10002,
"label":"opt2"
},
{
"value":10003,
"label":"opt3",
"disabled":true
}
],
"mode":"multiple"
},
"default":"10001"
}
}
}Untuk informasi lebih lanjut, lihat Best Practices: Prohibit the Use of the MAX_PT Function.