DokuWiki的發現之旅


★DokuWiki介紹

       Wiki是什么?是一種允許一群用戶用簡單的描述來創建和連接一組網頁的社會計算系統,可以讓人們在web的基礎上對Wiki文本進行瀏覽、創建和更改,是一種人類的知識的網絡系統,有助於在一個社群內共享某個領域的知識。

       DokuWiki是什么?是一個符合標准、簡單易用的Wiki,主要用於創建任何類型的文件。它適用於開發團體、工作小組和小型企業。它有簡單而強大的語法,確保數據文件在Wiki外仍然可以閱讀,並簡化了結構化文本的創建。所有數據都保存在純文本文件中--不需要數據庫。

★DokuWiki相遇

       事情是這個樣子的:之前公司的主要產品是一款APP,首先我們需要定義接口文檔,方便前后端同時開發。剛開始使用傳統的方式--萬能的Word+SVN,SVN主要用於文檔的版本控制和協作。剛開始接口少,更新完文檔之后,吼一嗓子,同事就會同步最新的文檔,貌似還很順利。隨着接口越來越多,修改越來越頻繁,這種靠吼的同步方式,就顯得效率低下。同時也暴露了一些弊端,雖然有版本控制,會存儲歷史記錄,但是SVN對這種非簡單格式的文本不能記錄文檔的具體變化,也就不能對比歷史記錄修改了什么,當對接口歷史追溯的時候,就顯得捉襟見肘,這就造成溝通和維護成本比較高。這時就亟待一個接口文檔的管理系統解決以上問題。

       首先第一個要求必須是Web應用,這樣客戶端只需要瀏覽器,可以方便在線修改后及時同步更新。其次是可以部署到本地的,最好是開源,我們的接口文檔屬於內部人員查看,不能暴露給第三方,雖然某些系統可以提供在線服務,但是安全性得不到保證。還有比較重要的一點就是,上手容易,門檻較低,最好有統一的接口模板,不用每次重新寫,開發人員寫代碼已屬不易,何必跟自己過不去呢。於是在網上一番搜索,總結了現在市面上比較流行的接口管理或者文檔管理系統,由於時間和水平有限,覆蓋面可能只有一小部分,只針對某類比較典型的框架或系統進行分析,僅代表個人觀點

       1、Swagger是一個規范和完整的框架,用於生成、描述、調用和可視化 RESTful 風格的 Web 服務。Swagger文檔的編寫可以采用兩種方式,一是手動編寫Swagger文檔,大概看了一下swagger的語法,還挺復雜的,暫且不討論。二是可以從代碼注釋中自動生成,這也是目前公司所采用的,這種方式語法簡潔,使用方便,一鍵生成固定的文檔格式,還可以在線調試接口,確實是開發利器。但是這種方式做為一種文檔管理系統還是有一些局限性。例如不能查看接口的文檔修改歷史,只能通過代碼中的注釋和版本管理工具進行對比,還有就是沒有搜索的功能,所以我們現在是使用swagger作為輔助文檔和在線調試的工具。

20170827191115007

       2、ShowDoc一個適合IT團隊的在線文檔分享工具,使用Markdown編輯實時預覽,也可以編輯模板一鍵插入,有歷史版本可以追溯,使用簡單,功能專注,還有word文檔導出功能,確實作為一個接口文檔管理系統功能已經夠用了,個人來說比較喜歡。但是考慮到公司以后的發展,需要在線存儲文件,更精細化的權限控制等功能,這些ShowDoc暫時無法實現,只能忍痛割愛了。同類型的產品還有MinDoc小幺雞等,做的都還可以,可以試用對比一下。

image

       3、RAP是一個阿里巴巴旗下的阿里媽媽前端團隊出品的mock工具,這類工具主要通過接口定義,自動生成模擬數據,前端不再依賴於后端開發進度可以獨立開發,並且可以生成復雜邊界數據,實現自動化測試,多人在線編輯提高協作效率。同類工具還有YApiEasyMock,EasyMock是同事極力推薦的,可以結合swagger模擬生成數據,這點確實很方便,還有其他一些比較適用的功能,以后有機會可以試用一下。這類工具確實很方便,但是不太滿足現階段公司的文檔需求,以后可以根據業務發展選用該類工具。

image

      4、Confluence被認為是最好用的企業級Wiki和知識管理工具,大型企業用的比較多,功能很強大。在他們官網上體驗了一把,由於國外速度比較慢,很多功能沒有試用,不做評價。查了下相關資料,配置麻煩,而且還是收費的……雖說可以破解,但是也懶得折騰了。

       5、DokuWiki是什么上面都已經介紹過了,為什么最終會選用它呢?首先是不需要數據庫這點吸引我在服務器上部署一套試用,因為公司的服務器資源有限,上面跑的還有正式應用……不敢瞎折騰,所以要盡量少的影響正式環境。剛開始使用,第一感覺就是丑、功能少、配置麻煩,但是想想好不容易(裝了個PHP環境~)部署到服務器上不能輕易放棄啊,就在網上搜各種教程。發現了復旦大學物理教學實驗中心的網站,該網站就是使用DokuWiki搭建的,雖然頁面復古了些,但是作為一個實驗室內信息共享的平台已經很完善了,里面也有一些DokuWiki的入門文章,從而認識到Wiki這種分享信息的形式發展潛力,wiki是任何人都可以編輯的網頁,然后以超鏈接的形式將信息聯系起來,構建一個有靈魂的知識網絡系統,堅定了自己使用DokuWiki的信心。從這之后就開始了DokuWiki的折騰之旅,中間也是遇到了各種問題,入門和使用起來也不是很方便,但是通過各種插件也可以滿足大多數功能,下一篇就談一下自己是怎樣使用的。

   image


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM