首頁‎ > ‎電子期刊‎ > ‎Semantic MediaWiki‎ > ‎

實戰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(下)一文。

Semantic Template操作實錄

 
== 會議摘要 ==
* 會議時間:[[開始時間:={{{開始時間}}}]] ~ [[結束時間:={{{結束時間}}}]]
* 應與會人員:{{#multiattribute:應與會人員|{{{應與會人員}}}}}
* 列席人員:{{#multiattribute:列席人員|{{{列席人員}}}}}
* 未出席人員:{{#multiattribute:未出席人員|{{{未出席人員}}}}}
* 會議主持:[[會議主持:={{{會議主持}}}]]
* 會議記錄:[[會議記錄:={{{會議記錄}}}]]

[[Category:會議]]

Semantic Template快捷鍵

我們在有了樣版之後,接下來再引用樣版的部份,若是要使用者去找到樣版頁面,然後再手動複製到所需頁面,這樣就太遜了。

我們有兩種方式提供使用者引用樣版,一種是使用在編輯時的快捷鍵,按下去後可以自動打出樣版;另一種方式比較高級,則是使用Semantic Forms的方式。

底下我們先介紹運用快捷鍵的方式,若要增加快捷鍵則必須是MediaWiki網站的管理者,才能夠修改MediaWiki:Common.js頁面;以下的程式碼片段為使用Semantic Template的方式,詳細可參考影片連結的作法。

使用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 MediaWiki的屬性型態

Semantic Forms規劃

另外一種方式是採用Semantic Forms,可以視覺化的輸入會議資訊;下面的影片先示範如何建構最基本的Semantic Forms,再於後續小節加強Semantic Forms的細節設計。

基本Semantc Forms

加入預設頁面

SemanticForms加入預設頁面

 
== 會議議程 ==

== 相關工作 ==

== 會議記錄 ==

[[Category:家庭會議]]

  
 
 <fieldset><legend>會議內容</legend>
{{{field|free text|rows=11|preload=會議表單預設內容}}}
</fieldset>

結語

本文的目的並不是給讀者一個完全適用您的解決方案,而是藉由本文激發您的想像能力,看本範例可以在您的組織中如何運用,以及Semantic MediaWiki有何需改進之處都可來信與筆者討論。


Comments