實戰Semantic MediaWiki,會議紀錄範例
出自台灣中等學校資訊管理人學會
目錄 |
[編輯] 前言
筆者寫過幾篇Semantic MediaWiki的文章,發覺回應不是很熱烈,主要原因可能是文章太過偏於技術性;本文用範例的方式來解說Semantic MediaWiki,並在操作細節處輔以影片,希望能協助讀者快速上手使用Semantic MediaWiki。
最近也將文章掛了上Google Analytics,發覺點閱率最高的還是MediaWiki設定的文章,其實它真正有趣的地方在於結合Semantic MediaWiki及Semantic Forms的技術,可以提升MediaWiki成為輕量級的應用程式設計平台,本文也希望能充分表達出這樣的情境。
有關Semantic MediaWiki的介紹及技術性細節,可以參考以下幾篇文章,本文著重於Semantic MediaWiki的實戰應用。
[編輯] 情境規劃
本篇文章以會議紀錄來做為Semantic MediaWiki的範例,不知道讀者的組織中是用什麼方式來管理會議紀錄呢?我想大部份組織還是以Word來管理居多,在開會時有人是會議紀錄,開啟Word來紀錄,然後在會後再傳給與會人員。
運用Semantic MediaWiki來管理會議紀錄有以下的好處,筆者不打算在此深入分析Semantic MediaWiki與Word間做會議紀錄的優劣,是否適用還需動手體會。
- 運用Semantic MediaWiki來製作會議紀錄可將紀錄的工作分散在每位與會人員的身上,會議中仍可指派會議紀錄,但每人可針對本身熟悉的議題在會議進行中紀錄,增進會議紀錄的品質及效率。
- 藉由Semantic MediaWiki的功能在文章中加入屬性、關係及類別;相當於實作一個羽量級的會議紀錄管理系統,在會議紀錄累積到一定的量之後,可以查詢如每個人所參與的會議、某個議題在哪些會議討論過?
- 會議紀錄的存檔與發佈,Semantic MediaWiki架構在MediaWiki網站平台上,做好的會議紀錄統一集中於網站管理與發佈,與會人員皆可以最快的方式存取最新的資訊;採用單一檔案如Word來管理或許功能強大,但資訊管理工作容易集中於少數人身上,而造成組織記憶的瓶頸。
[編輯] Semantic Template規劃
每個會議紀錄最好有相同的格式,而Semantic Template可以幫助我們達成這個目標,所謂的Semantic Template其實就是MediaWiki的樣版(Template),但在用途上運用樣版變數,將傳入的樣版變數值在樣版中解析為Semantic MediaWiki語法。
主要的好處是每個會議紀錄引用樣版可統一格式,在樣版中改變內容會反應到各個會議紀錄上,另個好處是簡化Semantic MediaWiki的使用,使用者只需瞭解如何呼叫樣版而不需要瞭解諸多Semantic MediaWiki的細節。
下面是筆者規劃的會議紀錄樣版,主要用來規劃會議紀錄的制式欄位,您可將此Semantic Template複製到您的網站當中,可以直接影片看操作過程比較快^^;當然可依您的需求自由修改樣版。
此樣版有用到筆者製作的多值輸入函式,安裝方式可參考再談Semantic MediaWiki(下)一文。
== 會議摘要 ==
* 會議時間:[[開始時間:={{{開始時間}}}]] ~ [[結束時間:={{{結束時間}}}]]
* 應與會人員:{{#multiattribute:應與會人員|{{{應與會人員}}}}}
* 列席人員:{{#multiattribute:列席人員|{{{列席人員}}}}}
* 未出席人員:{{#multiattribute:未出席人員|{{{未出席人員}}}}}
* 會議主持:[[會議主持:={{{會議主持}}}]]
* 會議記錄:[[會議記錄:={{{會議記錄}}}]]
[[Category:會議]]
[編輯] Semantic Template快捷鍵
我們在有了樣版之後,接下來再引用樣版的部份,若是要使用者去找到樣版頁面,然後再手動複製到所需頁面,這樣就太遜了。
我們有兩種方式提供使用者引用樣版,一種是使用在編輯時的快捷鍵,按下去後可以自動打出樣版;另一種方式比較高級,則是使用Semantic Forms的方式。
底下我們先介紹運用快捷鍵的方式,若要增加快捷鍵則必須是MediaWiki網站的管理者,才能夠修改MediaWiki:Common.js頁面;以下的程式碼片段為使用Semantic Template的方式,詳細可參考影片連結的作法。
mwCustomEditButtons[mwCustomEditButtons.length] = {
"imageFile": "",
"speedTip": "[會議紀錄]",
"tagOpen": "== 會議摘要 ==\n\n",
"tagClose": "== 會議議程 ==\n\n== 工作追蹤 ==\n\n== 會議記錄 ==\n\n",
"sampleText": "{{會議\n|開始時間=2008-01-01 10:00\n|結束時間=2008-01-101 12:00\n|應與會人員=王爸爸,王小明\n|列席人員=\n|未出席人員=\n|會議主持=王爸爸\n|會議記錄=王小明\n}}\n\n"};
在我們實際使用Semantic Template時會發現下方的屬性名稱是紅色的,也就是屬性還未設定型態,所以我們在Semantic Template所輸入的值實際上並不會儲存到資料庫當中,底下的影片示範如何為屬性值設定型態。
[編輯] Semantic Forms規劃
另外一種方式是採用Semantic Forms,可以視覺化的輸入會議資訊;下面的影片先示範如何建構最基本的Semantic Forms,再於後續小節加強Semantic Forms的細節設計。
[編輯] 加入預設頁面
== 會議議程 == == 相關工作 == == 會議記錄 == [[Category:家庭會議]]
<fieldset><legend>會議內容</legend>
{{{field|free text|rows=11|preload=會議表單預設內容}}}
</fieldset>
[編輯] 結語
本文的目的並不是給讀者一個完全適用您的解決方案,而是藉由本文激發您的想像能力,看本範例可以在您的組織中如何運用,以及Semantic MediaWiki有何需改進之處都可來信與筆者討論。
