[Programlama aracı] Wizard 1.0 yayınlandı, açık kaynak belge yönetim sistemi

Sihirbaz, açık kaynaklı bir belge yönetim sistemidir. Bu proje 2017 yılında benim tarafımdan geliştirildi. İlk başta şirket içinde Swagger belgelerini yönetebilen bir araç yapmak istedim, ancak son iki yıldır aralıklarla ona çeşitli fonksiyonlar ekliyorum. Şimdi nihayet 1.0 sürümünü yayınlamaya karar verildi, şu anda üç tür belge yönetimini destekliyor

  • Markdown : Ayrıca Ar-Ge ekibinin günlük iletişiminde en sık kullanılan belge türü olan Wizard'ın en önemli belge türüdür.Sihirbazda Editor.md projesi belge şablonları, forma Json, görüntü yapıştırma yükleme vb. Eklenerek genişletilmiştir. Özellikleri

  • Çalım : OpenAPI 3.0 spesifikasyonunu destekler, Swagger'ın resmi düzenleyicisini yerleştirir, özel geliştirme yoluyla Sihirbaz projesine entegre eder, belge şablonlarını, tam ekran düzenlemeyi ve otomatik belge senkronizasyonunu destekler

  • Tablo : Bu belge türü, Sihirbazda gömülü olan x-elektronik tablo projesini kullanan bir Excel elektronik tablosuna benzer ve henüz mükemmel değildir

Şu anda esas olarak aşağıdaki işlevleri içerir

  • Swagger, Markdown, Masa tipi belge yönetimi
  • Belge değişiklik geçmişi yönetimi
  • Belge değişiklik farklılıklarının karşılaştırılması
  • Kullanıcı yetki yönetimi
  • Proje grubu yönetimi
  • LDAP birleşik kimlik doğrulama
  • Belge arama, etiket arama
  • Okuma modu
  • Belge yorumları
  • bildirim
  • Belge paylaşımı
  • İstatistik işlevi

Sihirbazın özelliklerini hızlı bir şekilde deneyimlemek istiyorsanız, iki yol vardır.

  • Çevrimiçi deneyim için lütfen adresini ziyaret edin. Şu anda işlev deneyiminin yalnızca bir kısmı sağlanmaktadır. İşlev önizlemesi ve talimatlar için lütfen Wiki'ye bakın.
  • Eksiksiz bir Sihirbaz hizmeti oluşturmak için Docker'ı kullanın
  • Projenin kök dizinini girin, docker-compose up'ı çalıştırın, hızlı bir şekilde bir Sihirbaz hizmeti oluşturabilirsiniz, http: // localhost: 8080 adresini ziyaret edin.

Menşei

Herkesi geliştirme belgeleri yazmaya teşvik etmek için, başlangıçta bir belge yönetim aracı olarak ShowDoc projesini seçtik, o zamanlar ekip de çok küçüktü ve herkes Markdown'u bazı basit geliştirme belgeleri yazmak için doğrudan kullanıyordu. Daha sonra ekibin büyümesi, ön ve arka uçların ayrılması ve ekibin iş bölümünün sadece Markdown kullanılarak iyileştirilmesi zorlaşmaya başladı.Bu sırada, geliştirme belgeleri oluşturmak için ilk olarak açık kaynak dünyasında popüler olan Swagger'ı kullanmayı düşündük. Ama bu kadar çok Swagger belgesinde, onu muhafaza etmek için bir yer olmalı?

Swagger, projedeki dokümanlar için yeterli değildir.Sadece API dokümanlarının yönetimi için uygundur.Tasarım dokümanları, akış şemaları, mimari dokümanlar, teknik çözümler, veritabanı değişiklikleri ve bir arada tutulması gereken diğer dokümanlar gibi daha birçok doküman vardır. Bu nedenle, boş zamanımı geliştirmek için kullanmaya karar verdim. Markdown ve Swagger'ı destekleyen belge yönetim aracı , Sihirbaz projesidir.

İlk başta Go dilini geliştirme için kullanmayı planladım, ancak birkaç gün içinde Golang'ı Web proje geliştirme için kullanmanın çok verimsiz olduğunu (hızlı geliştirme verimliliği, performans değil, Golang API arayüzü geliştirme için hala çok iyi) ve yaygın olarak kullanılan birçok işlevin gerekli olduğunu buldum. Kendi başıma uygulamak için Golang'ı kullanmayı bıraktım ve onun yerine geliştirme için PHP'nin Laravel çerçevesini kullandım. Dolayısıyla, proje 27 Temmuz 2017'de oluşturulmuş olmasına rağmen, gerçek başlangıç zamanı 31 Temmuz 2017 olarak kabul edilmelidir.

İlk başta, Wizard projesi fikri nispeten basitti.Sadece Markdown belgesini ve Swagger belgesini bir araya getirmek için kullanıldı ve basit bir yönetim arayüzü sağlamak için yeterliydi, ancak ekipte kullanıldığı için, kuruluşta bir belge yönetimi olarak kullanıldığı görüldü. Araçlar açısından, basit belge yönetimi işlevlerini sağlamak yeterli değildir.Örneğin, izin kontrolü, belge değişiklik geçmişi, belge arama, belge sınıflandırması ve diğer işlevsel gereksinimler sürekli olarak önerilmekte ve bu da Sihirbaz projesinin giderek daha mükemmel işlevlerine katkıda bulunmuştur. .

  • Kullanıcı yetki yönetimi Gitlab'ın yalnızca kullanıcı kimliğinde ayırt edilen izin yönetimi yöntemine bakın yönetici ile genel kullanıcı , Oluşturarak Kullanıcı grubu Kullanıcı izinlerini ayrıntılı olarak yönetmek için ve her proje, kullanıcılara ayrı ayrı okuma ve yazma izinleri verilmesini destekler.
  • Proje gruplama Sihirbazda belge projeye göre düzenlenmiştir.Başlangıçta tamam olduğu anlaşılmıştır.Daha sonra daha fazla proje ortaya çıkmış ve proje yapısını bir dizin şeklinde organize etmek için proje gruplama işlevi ortaya çıkmıştır.
  • Belge revizyon geçmişi Bir belge her değiştirildiğinde, Sihirbaz, belgenin yanlış şekilde değiştirilmesinden kaynaklanan kayıpları önlemek için bir anlık görüntü kaydedecektir. Belge, belge geçmişi aracılığıyla hızlı bir şekilde geri yüklenebilir. Belgenin değiştirilmesi, eklenmesi ve silinmesi gibi temel işlemler denetim günlüğüne kaydedilir. Son etkinliklerin biçimi görüntülenir.
  • Belge farkı karşılaştırması Ekip yardımında, birçok kişi genellikle aynı belgeyi değiştirir.Çatışmaları önlemek için, belge değiştirildikten sonra, başkaları eski tarihi sürümü gönderdiğinde, sistem kullanıcıya belgenin içeriğinin değiştiğini bildirir ve kullanıcı belge karşılaştırma işlevini kullanabilir Belgede nelerin değiştiğini öğrenin.
  • Okuma modu Belgeleri ve teknik çözümleri görüntülemek için bir projektör kullanırken, gereksiz paraziti azaltmak için, daha iyi bir görüntüleme deneyimi sağlamak üzere yalnızca belgenin içeriğini görüntülemek için okuma modunu kullanın.
  • Belge arama İhtiyacınız olan belgeyi hızlı bir şekilde bulmak için arama işlevini kullanın. Şu anda belgeyi belge başlığına göre arayabilirsiniz ve gelecekte tam metin arama işlevi eklenecektir.
  • LDAP desteği Birçok şirket, şirketin çalışan hesaplarını tek tip olarak yönetmek için LDAP'yi kullanır. Çalışanlar, şirket içindeki tüm sistemlerde Jira, Wiki, Gitlab vb. Gibi çeşitli sistemlerde oturum açmak için aynı hesabı kullanır. Sihirbaz ayrıca LDAP için destek sağlar. , Şirketin birleşik hesap sistemine hızlı bir şekilde erişmek için yalnızca birkaç basit yapılandırma gerekir.
  • Belge eki , Belge paylaşımı , İstatistik , Belge sıralama , Şablon yönetimi , Belge yorumları ...

Kod hakkında

Proje Laravel çerçevesi kullanılarak geliştirildi ve mevcut sürüm en son 5.8'e yükseltildi (başlangıçta 5.4 idi ve baştan sona yükseltildi). Geliştirme verimliliğini artırmak ve mimariyi özlü tutmak için, geliştirme sürecinde her zaman çok fazla harici bileşen kullanmaktan kaçındık ve Laravel tarafından sağlanan çeşitli bileşenlerden mümkün olduğunca faydalandık. Doğrulama , yetki , Etkinlikler , Posta , Bildirimler Vb Laravel çerçevesini öğrenmek için çok uygundur.

Wu lehçesinin basitten karmaşığa bölünme diyagramı
önceki
Tacı takmak istiyorum | Yeni BMW 3 Serisini yakından deneyimleyin
Sonraki
İlk yarı-Gao Lin golü kırdı, Luo Jing'i emekliye ayırdı ve fırsatı kaçırdı, Hengda geçici olarak Suning 1-0 önde
Yüksek enerjili ön, kalça kontrolü avantajları: Xinke yastık deneyimi paylaşımı
Wang Dalei 2, Süper Lig asist listesinde 12. sırada yer alan takımdaki asistlerde ligde asist yaptı
Yabancı medyaya maruz kalan OnePlus 7 Pro render: kavisli ekran + kaldırma kamerası
Somut Olmayan Miras Ustası Suining | Tang Dongfeng: Miao Ailesi'nin Kağıt Kesme İnsanlarının Kültürel Altın Makası
Patlayıcı model potansiyeline sahip olan Çinli V6, bir ayda sadece 2 adet sattı, bu da V7'nin hatası!
Kılıç, resmi olarak piyasaya sürülen 5G, ZTE Tianji Axon 10 Pro serisine atıfta bulunuyor
Her ikisi de Japon ikinci sınıf lüks, Acura ve Lexus, aşılamaz bir boşluk var!
Bir haftadır görmedim, çok özledim. Haftalık kuyruk raporu söz verdiğimiz gibi yine burada!
Test Sürüşü | Yeni nesil K3: AI oynamak alışılmadık bir şey değil ve arazi dışına çıkma gücü olağanüstü!
Parçalanmış yığından toplanan Adidas posteri oldukça gelişmiş
Güle güle mutlu futbol! Bakambu 7 dakikada bir destek sahneledi
To Top