Ana içeriğe geç

Belge Yönetimi

Yapılandırılmış profillere, denetimli erişime ve ayrı sürümlere sahip iş belgeleri koleksiyonları oluşturmak için belge yönetimini kullanın. Bir belge kullanıcı tarafından oluşturulabilir veya bir iş akışı tarafından üretilebilir; belge kaydı, onu oluşturan süreç iş akışından ayrı kalır.

Belge Modeli

Kavram Amaç Sözleşme örneği
Belge Revizyonları boyunca tanımlanan iş kaydı. Örnek sözleşme.
Sürüm Kendi kayıt kimliği, dosyaları ve oluşturulma ayrıntıları olan belirli bir revizyon. Sürümler 1.0.0 ve 1.0.1.
Dosya Belge içeriğini veya destekleyici materyali barındıran ek. contract.txt ve schedule.txt örneklerdeki.
Standart meta veriler Bir sürümü tanımlayan yerleşik bilgiler. Title, açıklama, sürüm numarası, oluşturan kişi ve oluşturulma tarihi.
İçerik türü Profil formunu ve veri modelini belgeyle ilişkilendirir. Contract, dayanağı ContractProfile form şablonudur.
Profil Bu içerik türünün formu aracılığıyla girilen yapılandırılmış iş verileri. Sözleşme numarası EXAMPLE-001 ve yürürlük tarihi 2026-01-01.
Dizin Yayımlanmış belge ailesini bulma yeri. Documentation → Contracts.
Belge ACL'si Dizindeki konumundan bağımsız olarak belgeye yönelik erişim kuralları. Güvenlik Contract Access profili, okuyucu ve düzenleyici gruplarını içerir.

Tek başına dosya yüklemek bir belge kaydı oluşturmaz. Kayıt; dosyaları meta verilere, sürümlere ve erişim kurallarına bağlar. İçerik türü, belgeye profil formu ekler; içerik türü yoksa belgede standart meta veriler ve dosyalar bulunur ancak ilişkili bir profil formu olmaz. Güvenlik profili erişim kurallarını sağlar ve içerik türünden ayrıdır.

Belge arşivi ayrıca süreç tanımındaki Documentsöğelerinden de ayrıdır; bunlar süreç tanımına HTML içeriği ekler.

Sözleşme Koleksiyonu Oluşturun

Kılavuzlarda, aynı özelliği her hedef kitlenin bakış açısından göstermek için kurgusal bir Örnek sözleşme kullanılır:

  1. Geliştirici bir ContractProfile form şablonu tanımlar ve Contract kaynak süreç tanımından içerik türünü yayımlar. Profilde şu alanlar bulunur: Number ve EffectiveDate.
  2. Sistem yöneticisi, şunları hazırlar: Documentation → Contracts belge dizini ve Contract Access sözleşme okuyucuları ve düzenleyicileri için uygun kurallara sahip güvenlik profili.
  3. Kullanıcı Örnek sözleşmeoluşturur, şu seçeneği belirler: Contractseçer, şu bilgileri girer: EXAMPLE-001 ve 2026-01-01; ardından sözleşme ve çizelge dosyalarını ekler. Belge ekranından kaydetmek kaydı yayımlar.
  4. Sözleşme içeriği değiştiğinde düzenleyici yeni bir sürüm oluşturur. Önceki yayımlanmış sürüm Geçmiş'te kullanılabilir kalır. Yalnızca profil değerini güncellemek, meta veri değişikliğidir; otomatik olarak yeni sürüm oluşturmaz.

Bkz. İçerik Türleri ve Profiller geliştirici kurulumuyla ilgili bilgi için, yönetici örneği erişim yapılandırması için ve kullanıcı örneği günlük prosedür için. Bunlar örnek adlar ve değerlerdir; yerleşik türler veya dizinler değildir.

Bir Uygulama Yolu Seçin

Sunucu Tarafı Otomasyonu

Belge kayıtlarını oluşturmak ve almak için $Documents sunucu tarafı komut dizilerinde kullanın. Döndürülen Document dosyaları, profil verilerini, güvenliği ve yaşam döngüsü işlemlerini sunar. Bunlar sunucu otomasyonu API'leridir; tarayıcı formu genel değişkenleri değildir. Kullanıcı tarafından sağlanan hedeflerle kullanmadan önce aşağıdaki yetkilendirme kurallarını inceleyin.

Kimlik Modeli

Değer Tanımladığı Kullanım
Document.Id Tek bir sürüm kaydı $Documents.Get(id) ve belirli bir revizyona bağlantı verir.
Document.BranchId Sürümler arasındaki belge ailesi $Documents.NewVersion(branchId) ve $Documents.GetLastVersion(branchId).
Document.Version Bu aile içindeki sürüm numarası Başlangıçta Major.Minor.Revision olan bir dize 1.0.0.
FileInfo.Id Tek bir dosya kaydı Dosya işlemleri içindir; belge kimliği veya dal kimliği değildir.
Dizin kimliği Tek bir dizin $Documents.ListDocuments(folderId), GUID bekler.
Dizin yolu Adlandırılmış dizin hiyerarşisi Document.Publish('Documentation\\Contracts'), JavaScript'te ters eğik çizgileri kaçış karakteri olarak kullanarak.

NewVersion yeni bir sürüm kimliği oluşturur ve dal kimliğini korur. Açık bir sürüm numarası verilmezse mevcut en yüksek sürümün revizyon bileşenini artırır. Ailede zaten bulunan bir numara reddedilir. Bir dal kimliği için sürüm yoksa, NewVersion o dal için ilk sürümü oluşturur; işleminiz yalnızca mevcut hedefi gözden geçirmeyi amaçlıyorsa hedefin gerçekten var olduğunu doğrulayın.

Alma ve Yayımlanmış Listeler

Get bir sürüm GUID'si kabul eder ve eksik bir kayıt için null döndürür; biçimi bozuk GUID'ler komut dizisi hatasına yol açar. Sürüm kimliği yerine dal kimliğini çözümlemez.

GetLastVersion bir dal GUID'si kabul eder ve taslaklar, arşivlenenler ve silinenler dâhil tüm durumlardaki en yüksek sürüm numarasını seçer. Bu, "en son yayımlanan sürüm" anlamına gelmez. Dizin listeleri her aile için en yüksek yayımlanmış sürümü seçer ve kullanıcı kimliği kullanıldığında belge ACL filtrelemesi uygular.

ListDocuments şunları içeren bir DataTable döndürür: Id, Title, ContentType, CreateDate, CreatedBy, State, ve Version. Döndürülen sürümü kullanarak Id ile Get öğesini okuyun: BranchId. Alt dizinleri yinelemeli olarak dolaşmaz.

Yürütme Bağlamı ve Yetkilendirme

$Documents mevcut alanadında güvenilir sunucu otomasyonu olarak çalışır. Kullanıcı iş akışından çağrılsa bile normal alma ve değiştirme işlemleri o kullanıcının belge ACL'sini uygulamaz. Kiracılar arası belge hedefleri reddedilir. Kiracı yalıtımı, kiracı içindeki her kayıt için yetkilendirme sağlamaz.

ListDocuments(folderId, identity) listeleme için açık istisnadır: bu kimlik için kullanıcı yürütme bağlamı oluşturur ve döndürülen satırları filtreler. Kimliğin belirtilmemesi güvenilir komut dizisi bağlamını kullanır. Kimlik iletmek, sonraki Get, NewVersionveya belge değişikliklerinin güvenlik bağlamını değiştirmez.

Bir komut dizisini kullanıcı aksiyonu aracılığıyla kullanıma sunmadan önce, istenen işlemi ve izin verilen belge ailesini uygulamanın sunucu tarafı yetkilendirme ilkesiyle doğrulayın. Sırf mevcut kiracıya ait diye rastgele bir belge kimliğini kabul etmeyin. Tarayıcı görünürlük kuralları ve $Documents.Get bu yetkilendirmenin yerini tutmaz.

Yayımlamadan önce amaçlanan belge güvenlik profilini ayarlayın ve izin verilen ve reddedilen hesaplarla ortaya çıkan kullanıcı arayüzü erişimini test edin. Bkz. yönetici erişim kuralları.