İş Akışı Verilerinden Yeni Belge Sürümü Oluşturma¶
Amaç¶
Doğrulanmış iş akışı verilerinden PDF oluşturun ve bunu mevcut bir belgenin yeni sürümü olarak saklayın.
Neler Öğreneceksiniz¶
- şunu kullanarak belge sürümü oluşturma:
$Documents.NewVersion - oluşturulan PDF içeriğini bu sürüme ekleme
- düzeltmeler boyunca kararlı belge kimliğini koruma
Zorluk ve Tahmini Süre¶
- Zorluk: İleri
- Tahmini süre: 25 dakika
Varsayılan Bilgiler¶
Belge arşivlerini, dosya tanımlayıcılarını, iş sonrası komut dizilerini, HTML'yi ve XML biçimlendirmesini anlamalısınız.
Gerekli Okumalar¶
Ön Koşullar¶
- bir test belge arşivi ve sürüm oluşturma izni
- şurada saklanan mevcut bir test belge kimliği
DocumentId
Örneğe Genel Bakış¶
Form bir belge kimliği, başlık ve güvenli gövde metni toplar. İş sonrası komut dizisi yeni bir sürüm açar ve oluşturulmuş bir PDF ekler.
Adımlar¶
Kararlı Belge Kimliğini Koruma¶
Hedef belgenin kimliğini şurada saklayın: DocumentId. Bir sürüm yeni bir sürüm kaydı alır, ancak aynı kararlı belge kimliğine bağlı kalır.
İş Sonrası Komut Dizisinde Sürüm Oluşturma¶
1 2 3 4 | |
Sabit ve gözden geçirilmiş bir şablon kullanın; oluşturma işleminden önce yerine konan değerleri doğrulayın. Döndürülen document/version işlemi ve dosya oluşturmayı denetimli tek bir sunucu tarafı adımında tutun.
Yüklenen Dosyayı Değiştirmeden Önce Kopyalama¶
Kaynak yüklemenin değiştirilmeden kalması gerekiyorsa önce kopyalayın ve döndürülen dosya kimliğini süreç verilerinde saklayın:
1 2 3 4 5 6 | |
transformWithAReviewedModule dosya türüne uygun, test edilmiş bir komut dizisi modülü işlevini temsil eder; platform genelinde kullanılabilen bir değişken değildir. İçeriği yüklemeden önce dosya türünü ve boyutunu doğrulayın; biçime özgü mantığı görev düzenlemesinin dışında tutun.
Alt kayıtlar zaten bir dosya kimliğine başvuruyorsa ve gereksinim dosyanın içeriğini yerinde değiştirmekse, şunu çağırın: $Files.SetBase64(existingFileId, output) aynı yetkilendirilmiş kimlikle. Bu, başvuruyu korur; ancak o kimliğe sahip herkesin gördüğü içeriği de değiştirir. Önceki içeriğin kullanılabilir kalması gerekiyorsa bir kopya kullanın ve yalnızca hedeflenen başvuruyu güncelleyin.
Nasıl Çalışır¶
NewVersion mevcut belge kimliğini hedefler ve yeni bir düzeltme oluşturur. AddPDF sağlanan HTML'yi işler ve sonucu bu düzeltmeye ekler. Önceki sürüm, arşiv ilkesine göre kullanılabilir kalır.
Sonucu Doğrulama¶
- Tanımı içe aktarın ve erişilebilir bir test belge kimliği girin.
- Bir başlık ve gövde gönderin.
- Belgede artık bir ek sürüm ve bir PDF dosyası bulunduğunu doğrulayın.
- Önceki sürümün değişmediğini ve arşiv izni olmayan bir kullanıcının erişiminin reddedildiğini doğrulayın.
Hata ve Sınır Durumları¶
- Eksik veya erişilemeyen bir belge kimliğini test edin ve sahipsiz dosya ya da kısmi sürüm kalmadığını doğrulayın.
- Belirsiz bir hatanın ardından yeniden deneyin ve iş akışının yinelenen sürümler oluşturmadığını doğrulayın.
- İşaretlemeye benzeyen girdileri test edin ve doğrulama ya da temizleme politikasının bunları amaçlandığı gibi ele aldığını doğrulayın.
- Çalışma kopyasını değiştirin ve özgün yüklemenin değişmediğini doğrulayın; ayrıca yerinde yapılan bir güncellemenin dosya kimliğini koruduğunu doğrulayın.
Güvenlik ve Taşınabilirlik Notları¶
- Sürüm oluşturmadan önce belgeyi geçerli kiracıda çözümleyin ve yetkilendirin.
- PDF oluşturma öncesinde güvenilmeyen metni doğrulayın veya temizleyin ve kiracıya özgü uzak varlıkları yüklemeyin.
- İş sonrası komut dizisi yeniden denenebilecekse üretimde kullanmadan önce bir idempotency işaretçisi ekleyin.
- Hem kaynak hem hedef dosya kimlikleri için yetkilendirme yapın, boyutu ve MIME türünü doğrulayın ve biçime özgü bir yazıcıyla gelişigüzel içeriği asla dönüştürmeyin.
İndirin ve Kendiniz Deneyin¶
Belge sürümü tanımını indirin.
Sorun Giderme¶
- Belge bulunamadı: Kimliğin geçerli alanadındaki erişilebilir bir belgeye ait olduğunu doğrulayın.
- Yinelenen sürümler: Bir tamamlanma işaretçisi kaydedin ve işlemi yeniden denemeden önce bunu kontrol edin.
- Güvensiz veya bozuk işaretleme: Yerine konan tüm değerlerin şablonun doğrulama ve temizleme politikasına uyduğunu doğrulayın.
- Özgün yükleme beklenmedik şekilde değişti: Dönüştürme işleminin şu öğenin döndürdüğü kimliği hedeflediğini doğrulayın
$Files.Copykaynak kimliğini değil.