2018年3月29日 星期四

[經驗分享]開源知識管理平台 - BookStackApp



在專業領域精進的過程中,經驗的累積極其重要,從中可以淬取精華重新加以梳理之後整理成冊,做為後進者的操作指引。

而團隊作業或是企業經營,這樣的知識管理可以做為技能傳承,減少學習的時間;資料隨時查閱與同步,確保所有人使用的是最新版本。

在個人使用,則可當做自身的筆記資料,隨時回頭查閱。



需要項目


我在 2008 年開始導入知識管理平台,當時評估套件的重點項目如下:
  • 具有繁體中文介面,這一點根本是天條
  • 具有權限管理功能
  • 具有視覺化編輯器 (WYSIWYG),以降低使用者上手門檻
  • 支援目錄功能,以方便內容較多的知識可以快速翻閱
  • 支援匯出 PDF、HTML 等格式,方便傳送以及列印
  • 支援 LDAP/AD 驗證,達成單一簽入
  • 支援 Code Block,以便於程式碼內容閱讀
  • 支援插入圖片、附檔
  • 支援留言與回覆功能
  • 支援歷史版本功能
  • 支援標籤 (Tag) 功能



市面方案


在當時來說,我最一開始看到的方案,是它。




微軟產品的好處是上手容易,也方便與其它 Windows 系統搭配使用。










當時在比較階段,國內幾款也在我的名單之中,其中最讓我有興趣試試的是新人類資訊的 WebISO,具有文件管理與知識管理功能,操作介面也相當不錯。

但是,這幾套系統的價格費用都不低,所以我都用不起。





沒錢方案


沒錯,花錢能解決問題,但是承襲我過去的文章,各位都知道問題在那裡,一刀斃命。


這張投影片真好用,一次製作常常用到(誤)



山不轉路轉,路不轉人轉。

咱們改走開源軟體這條路。




開源方案一


最早在評估時是以 WebISO 為目標,所以首先找到的方案是它。




它功能眾多,介面看起來亦很專業... 用著用著發現社群版少了很多重要功能,果斷放棄。




開源方案二


接下來改變方向,以 Wiki 式的系統為主,所以陸續找到了幾款 Wiki Like 的平台。




既然說是 Wiki 式的系統,第一個當然看的是維基百科所採用的 MediaWiki。

不過在當時,他的功能還是以 Wiki 的 Code 語法來寫,在視覺化編輯還沒有良好支援,所以也捨棄它。



繼續尋找,終於讓我找到一套既是開源,功能又強大的套件了。




這一套 MindTouch Core 功能完整,模組豐富。有趣的是,雖然我把他安裝在 Linux 上,但他所運作的環境是 PHP 搭配 C#,很有意思。

用他做為研發知識庫使用非常理想,系統也很穩定,已經使用許多年。

不過看到這裡先不要高興,因為 MindTouch Core 社群版收起來了。





開源方案三


MindTouch Core 已經不再維護,原有架好的系統雖然還能繼續使用,但總是不太安心。




在評估了多款開源套件之後,暫時選定了 XWiki 做為下一個替代方案。

但我後來也沒有用他,除了運作效率較差以外,其它是有些功能用起來有點問題,或是我需要的功能剛好就是缺了那麼一點。

這並不代表 XWiki 不好,只是剛好我需要的他缺少。




開源方案四


天無絕人之路,亦可以說是絕處逢生,又或者是運氣不錯,2018 年找到了。



目前我已確定採用 BookStackApp 做為下一代的知識管理平台,它可以符合開頭我所列出的需求,操作介面也相當美觀與簡潔,這傢伙根本是為了我而開發的吧 (笑)

補充 BookStackApp 其它說明:

  • 自由與開源軟體,採 MIT 授權
  • 具有 MarkDown 編輯器,以免除研發者習慣轉換
  • 繁體中文介面我已製作 70%,近期會放上 Github
  • 整合外部驗證機制,包含 Github、Google、Slack、AzureAD... 等
  • 以「書本-章節-頁面」為知識建構的模式,適合收納相關內容以及閱讀習慣



功能:書本翻閱


進入系統後,最常用的就是書本清單,可以查看平台上已有的撰寫好的知識書本。

書本檢視



點選任意一本進入後,即可看到此書的介紹、章節與頁面資訊。

翻閱書本


依據想要查看的內容,點選章節或頁面,即可到達相關的知識內容。

查看頁面內容






功能:內容編輯


在頁面按下編輯後,即可切換至視覺畫編輯器模式(或是 MarkDown 編輯器,以設定為主)。

內容編輯


這個操作畫面清爽簡單,稍有文書概念者都能操作,對一般使用者來說並不困難,容易推行。

除了基本的圖文功能,BookStackApp 整合了 Draw.io 這款優秀的線上流程圖繪製工具,用起來幾乎就如在同一個系統內的無縫體驗。

點選視覺化編輯器上的流程圖按鈕,即會自動帶出 draw.io 的繪製畫面,當繪製完成以後按下存檔,內容就出現在我們的內容裡了。


整合 draw.io 繪製工具


內嵌 draw.io 繪製圖表


如果想要回頭編修流程圖,隨時在嵌入的流程圖上點兩下,立刻帶出 draw.io 繪製工具讓您進行修改。



功能:文件匯出


在知識傳遞上,總會有文件提交或是印製成冊的需求,在這部份 BookStackApp 也沒缺少,目前支援 PDF 文件檔、HTML 網頁檔、CSV 文字檔三種。

匯出為 HTML 網頁檔


匯出 HTML 網頁檔為例,所匯出的是單一檔案,圖片內嵌,而且支援了書本的目錄功能,直接點選就可以跳至相關章節或頁面,極其方便!

如果是匯出 PDF,還會有頁碼、版本、編修者等資訊,不過目前的版本匯出 PDF 後中文內容有問題,我還在修正中,待完成後會與繁體中文化一併釋出。




功能:繁體中文


官方版本雖然有內建中文,但它是簡體中文,對我們來說還是少了親切感。

增加繁體中文選擇


目前我正在製作繁體中文語系檔,待成熟度較高後會置於 Github 分享。




結論


我們使用 Wiki 式的知識管理多年,都已經具有高黏著度,在團隊作業下更是資料共通的重要系統。

在沒有經費的情況下,只要多花點心思與時間,總是能找到屬於你的開源套件,沒有好不好用,只有適不適合。


04/27 更新:在 v0.21 版本已經併入由我所製作提交的繁體中文語系,可以選用囉。