Yönetim Havuzu Üzerinden Arama Verilerini Yönetme¶
Amaç¶
Paylaşılan arama değerlerini her forma eklemeden veya genel kullanıcılara bakım işlemi erişimi vermeden yönetmek için küçük bir yönetim ekranı sağlayın.
Neler Öğreneceksiniz¶
- arama verilerinin bakımını son kullanıcı iş akışı görevlerinden ayırma
- ilişkisel satırları yinelenen form tablosuna yükleme
- yeni satırlara kararlı tanımlayıcılar atama ve değişiklikleri kalıcı hale getirme
- başvurulan iş verilerini silmek yerine etkin olmayan değerleri koruma
Zorluk ve Tahmini Süre¶
- Zorluk: Orta
- Tahmini süre: 25 dakika
Varsayılan Bilgiler¶
Havuzlar, formlar, yinelenen tablo satırları, XML yolları, ilişkisel şemalar, iş öncesi ve iş sonrası işlemler hakkında bilgi sahibi olmalısınız.
Gerekli Okumalar¶
Ön Koşullar¶
- süreç tanımlarını ve ilişkisel şemaları içe aktarma veya oluşturma izni
- yönetim havuzlarını açabilen bir yönetici kimliği
- veritabanı yazma işlemlerini doğrulamak için temiz bir test alanadı
Örneğe Genel Bakış¶
Örnek; bir yönetim havuzu, bir kullanıcı görevi, bir form ve bir ilişkisel tablo içerir:
1 2 3 4 5 | |
Örnek, alanı kullanarak devre dışı bırakma yöntemini kullanır. Active Mevcut iş akışı kayıtlarında bir kategori kodu saklanabilir; bu nedenle, geçmiş verilerin hâlâ başvurduğu bir değeri silmek yerine satırı devre dışı bırakmak daha güvenlidir.
Adımlar¶
Yönetim Havuzu Oluşturma¶
- Adı şu olan bir havuz oluşturun
Lookup Data Administration. - Yönetim havuzu ayarını etkinleştirin.
- Adı şu olan bir başlatıcı görev ekleyin
Manage Categories. - Bir
Saveaksiyonunu şu doğrulama grubuyla ekleyinSave.
Yönetim havuzu, bakım giriş noktalarını normal süreç kataloğunun dışında tutar. Sunucu tarafı izinlerin yerini almaz; hedef alanadında hangi yöneticilerin görevi açıp yürütebildiğini doğrulayın.
İlişkisel Tabloyu Tanımlama¶
Şu şemayı oluşturun TutorialLookup ve şu tabloyu Categories şu alanlarla:
| Alan | Tür | Amaç |
|---|---|---|
Id | Guid | kararlı birincil anahtar |
Code | VarChar(30) | entegrasyonlar veya süreç verileri tarafından saklanan kararlı değer |
Name | VarChar(100) | kullanıcıya gösterilen etiket |
Active | Bit | değerin seçilebilir kalıp kalmayacağını belirler |
öğesini Id birincil anahtar olarak kullanın. Üretim tasarımında ayrıca Code için gerekli benzersizlik kuralını veritabanı veya sunucu doğrulama katmanında uygulayın.
Yinelenen Formu Oluşturma¶
Şuna bağlı bir tablo içerik denetimi ekleyin Categories/Category ve şu alanlar için sütunlar oluşturun Code, Nameve Active.
- şunları zorunlu kılın:
CodeveNamedoğrulama grubu içinSave - satır kimliği yolunu şu şekilde ayarlayın
Id - öğretici formunda satır eklenmesine ve silinmesine izin verin
- bir satıra daha önce başvurulmuş olabilecekse silmek yerine devre dışı bırakmayı tercih edin
Zorunlu kurallar yinelenen satırın içindeki denetimlere ait olduğundan ve aksiyonla aynı Save grubu kullandığından doğrulama, düzeltilmesi gereken satır ve alanda gösterilir. Kısıtlama aynı satırdaki birden fazla değere bağlıysa tablo satırı kuralı kullanın. Satır geri bildirimi kullanılabilirliği artırsa da kalıcılık veya güvenlik sınırı oluşturmadığından kritik benzersizlik ve yetkilendirme denetimlerini sunucuda tekrarlayın.
Mevcut Satırları İş Öncesinde Yükleme¶
1 2 3 4 5 | |
Bu işlem, geçerli ilişkisel satırları işlenmeden önce yinelenen formda kullanılabilir hâle getirir.
İş Sonrasında Kimlikleri Atama ve Kaydetme¶
1 2 3 4 5 6 7 8 9 10 11 | |
İçe aktarmadan önce kimlik atamak, her yeni satıra kararlı bir birincil anahtar verir. Mevcut satırlar kimliklerini korur ve ilgisiz yinelenen kayıtlar olarak eklenmek yerine güncellenir.
Belirleyici Bir Sorguyla Arama Verisini Kullanma¶
Son kullanıcı formunda açılır listeyi yalnızca etkin satırları seçen ve şu alana göre sıralayan bir tablo veri kaynağına bağlayın Nameardından Codeöğesini kullanın Code saklanan değer, öğesini ise Name başlık olarak kullanın. Açık sıralama listeyi kararlı tutar; benzersizlik Code kuralı, koda göre aramanın en fazla bir mantıksal kayıt döndürmesini sağlar. Sıralanmamış ve benzersiz olmayan bir sonuçtan gelişigüzel ilk satırı asla seçmeyin.
Tam sorgu yapısı için Tablo Veri Kaynağı bölümüne bakın. Son kullanıcıların tabloya yazma değil, etkin arama satırlarına okuma erişimi alması için bakım formunu kullanan formdan ayrı tutun.
Nasıl Çalışır¶
Form XML'i geçici bir düzenleme gösterimidir. İş öncesi, ilişkisel satırları bu gösterime aktarır; iş sonrası ise düzenlenen gösterimi tekrar tabloya aktarır. İlişkisel tablo, diğer süreçler ve açılır liste sorguları tarafından kullanılan ortak kaynak olarak kalır.
Örnek, bakım işlemini kullanımdan kasıtlı olarak ayırır. Ayrı bir son kullanıcı formu yalnızca etkin satırları sorgulamalı ve arama tablosunu güncelleme izni almamalıdır.
Sonucu Doğrulama¶
- Tanımı temiz bir test alanadına aktarın.
- Şunu açın
Lookup Data Administrationyetkili bir yönetici olarak. - Şunu ekleyin
GENERAL — Generalve etkin durumda tutun. - Şunu seçin
Save. - Yönetim görevini yeniden başlatın ve satırın aynı kimlikle yüklendiğini doğrulayın.
- Adı değiştirip kaydedin ve mevcut satırın yinelenmek yerine güncellendiğini doğrulayın.
- öğesini
Activefalse olarak ayarlayın ve satırın geçmiş başvurular için saklanmaya devam ettiğini doğrulayın.
Hata ve Sınır Durumları¶
- Bir satırı şu olmadan kaydetmeyi deneyin:
CodeveyaName; doğrulamaSavegrubu bunu reddetmelidir. - Geçersiz satırın ve alanın görünür biçimde belirtildiğini doğrulayın; ardından yalnızca o satırı düzeltip yeniden kaydedin.
- Aynı kodu iki kez ekleyin; öğretici riski açıklar ancak üretimde kullanımdan önce sunucu tarafında benzersizlik kuralı gerektirir.
- Aynı görünen ada sahip iki satır oluşturun ve ikincil
Codesıralamanın kayıtları kararlı bir sırada tuttuğunu doğrulayın. - Havuzu yönetici olmayan bir kullanıcı olarak açın ve bakım giriş noktasının kullanılamadığını doğrulayın.
- Kaydetme işlemini tekrarlayın ve kararlı satır kimliklerinin yinelenen eklemeleri önlediğini doğrulayın.
Güvenlik ve Taşınabilirlik Notları¶
- Tanımda kiracı, kullanıcı, grup veya ortam tanımlayıcısı bulunmaz.
- Yönetim görünürlüğü tek güvenlik sınırı değildir; havuza ve tabloya hedef alanadının sunucu tarafı yetkilendirme politikasını uygulayın.
- Kullanıcı girdisinden şema veya tablo adlarını kabul etmeyin.
- Yeni seçimlerde etkin olmayan değerleri göstermeyin; ancak geçmiş kayıtları görüntülerken koruyun.
- Üretimde bu kalıbı kullanmadan önce
Codeiçin benzersiz bir dizin veya eşdeğer sunucu tarafı doğrulama ekleyin.
İndirin ve Kendiniz Deneyin¶
Yönetim arama süreci tanımını indirin.
Sorun Giderme¶
- Satırlar yüklenmiyor: Adları schema/table ve
Categories/Categoryiş öncesindeki XPath'i doğrulayın. - Her kaydetme yinelenen kayıtlar oluşturuyor: Mevcut satırların şunu koruduğunu doğrulayın:
IdveIdöğesinin tablonun birincil anahtarı olduğunu doğrulayın. - Yeni satırlar kaydedilemiyor: İş sonrasının şunu atadığını doğrulayın:
Script.NewId()şu durumdaIdboş. - Genel kullanıcılar bakım görevini açabiliyor: Hedef alanadındaki yönetim havuzu ve tablo yetkilendirmesini gözden geçirin.
Sırada Ne Öğrenmeli?¶
- Tekrarlanan Form Satırlarını İlişkisel Tabloda Kalıcılaştırma
- REST API'sindeki Verilerle Açılır Listeyi Doldurma
- Tablo Veri Kaynağı