苦勞網2.0改版計畫

2005/06/06

組織發展與改版的需求

在過去,我們是完全以工作站成員(秘書處)為中心,進行所有的維護工作。包括寫稿、上稿、剪報,這些工作都是由內部成員負擔。但漸漸地,隨著組織的發展,我們結合了更多的朋友,組成不同功能的小組,不同程度地參與了苦勞網的工作,但是到目前為止,網站的維護,仍然是由二、三位秘書處成員在執行,無法發揮擴大結合的功能,於是我們開始思考如何在網站的技術與版面調整上,增加擴大參與的可能性。

不同於一般強調web2.0概念,單純以「平台」架構,讓參與者提供內容的網站,苦勞網的重要特色,仍在於本身對內容的生產能力,以及觀點的提供,因此,在功能組成的各方面,我們有不同的思考模式:

改版的實際需求

【剪報與分類整理的分享】

剪報介面與目前製作「網摘」或「書籤」的作法(如Hemidemi或My share),有類似之處。同樣的道理,我們希望將剪報介面開放出去,作為與更多朋友結合的最主要項目。

首先要說明的,我們並不是要做一個提供任何瀏覽者可以註冊帳號,然後我們提供剪報服務的,就像Hemidemi或是My share那樣,跟我們一起剪報的朋友,一定都是有一定的合作關係的,這些參與者並不是無限制開放的,所以人數也不會無止境的增多,大概會在一定的範圍之內。

【先從一個整合的頁面看起】

請參考這個頁面,這是呈現一個分類文章的整合頁面,目前它還不夠理想,但已反映了一些想法。

以下是一個憑空想像的頁面:

-條目-討論-編輯-移動-分類(tag)整理區塊 -分類整理修改歷程RSS輸出-相關tag列表-

分類整理

category

相片 可與flickr的tag產生關聯

RSS閱讀器 可結合其他網摘站之tag

此分類下的文章列表區塊(可選擇依重要性、依張貼者、依評論、依張貼時間、依新聞時間呈現,預設值為依張貼時間止呈現重要文章)

■文章一標題及連結 所屬tag列表 可以呈現不同作者的摘要或簡評--回應連結

■文章二標題及連結 所屬tag列表 可以呈現不同作者的摘要或簡評--回應連結

: 更多文章... 組成成分的說明

* category-tag-article

原則上採取使用者自訂的tag做為分類方式。一個tag具有整合許多文章、構成一個完整的整理頁面的功能,它又是wiki的條目,一個tag等於一個條目;也就是說條目(tag)之上,還有category,如此,構成一個category-tag-article的三層結構,也等於網摘與wiki的結合。

* tag與其他web2.0網站tag的結合:

例如,可以指定該tag的頁面,自動讀取某一帳號,或某一公共tag的圖片,置入整合性頁面裡,可以不需要自行架構相簿,同時又可以讓相片單獨產生與flickr組群分享的功能,同樣的道理,也可以和其他網摘網站的tag的RSS做結合,以豐富相關資料的讀取。

是不是要使用類似flickr這樣的服務,不是最重要的問題,最重要的還是無論是相片,或者是檔案,都必須與整個分類系統充分地整合,可以在分類的整合頁面裡,跟文章列表一起出現。

使用flickr的好處是,它提供了相當容易使用的介面,以及與網頁結合的解決方案,同時相簿透過flickr的分享模式,可以在網站之外,另外建立不同的結合介面、同時,與flickr結合,也可有效地降低頻寬和空間的壓力。如果在flickr的set或tag採取和整個分類架構結合方式,利用 flickr的API跟網站「無接縫」地結合起來(指不需要再經過flickr的介面,就可以順利地瀏覽相簿),是可以考慮的做法。

不過flickr的欄位,和苦勞網要求的欄位不見得能完全對應,最好是連張貼相片的介面,都可以跟張貼文章的介面整合起來。這樣,我們在依作者、張貼者、資料來源……等方式搜尋資料的時候,也都可以把同樣作者、張貼者、資料來源的相簿列進去。

* 各種討論的屬性:

o 對於categoy及條目(tag)的討論,屬於工作方法的討論,可以是整理的意見、暫存的資料、還未完成的整理……等,僅提供參與工作者加入。 o 摘要:針對文章,開放共同剪報的使用者,可以寫作自己的短評、摘要,並可依據不同的條件呈現於文章列表中。 o 評論:針對文章,開放一般瀏覽者發表。

* RSS的輸出:

每一個category及條目(tag)的修改(新增資料),都可以輸出RSS。

【單篇文章的頁面】

一篇文章的組成成分

* 標題:

需要支援多行標題。

* 內文:

需要支援HTML,並可選擇是否自動折行。

* 時間的問題:

需要區分「新聞時間」和「剪報時間」,剪報時間可自動產生。

* 作者的問題:

需要區分「作者」、「來源」、「提供者」。

* o 作者:指該篇文章的原始作者 o 來源:指該篇文章的出處,在新聞稿等則為發稿單位。 o 提供者:製作這篇剪報的人。

* 摘要及分類標籤(見前段)。

* 相關文章列表:

類似flickr的頁面,可以選擇呈現其所屬的tag、以及新聞提供者、作者、來源的文章列表,並可依不同的頁面屬性控制其預設值(例如,在發稿介面預設呈現「來源」的文章列表、由特定tag連入該頁面時,呈現該tag之列表)。

* 特殊控制項(後詳)

* 檔案:

檔案上傳,雖然有諸多的問題,但有的時候,仍然是必要的,目前苦勞網剪報介面的做法是,張貼文章的介面,就可以附加檔案(有一些CMS也都可以做到這一點),最好是要能夠附加多個檔案。

* comment、trackback

每一篇文章跟著comment,這是目前部落格常用的做法,對於討論的進行很有幫助,所以每一篇文章要有comment的功能,要能夠完全跟部落格的方式相同,在文章下方就可以直接回應(留email),同時為了防spam,要有驗證碼的設計。

至於trackback,因為spam嚴重,不知是否有好的解法,若無,也可以不要。

【首頁】

* 決定文章是否在首頁呈現,是依照特殊的控制項來決定:

目前苦勞網首頁文章是以「資料來源」的欄位來決定,只要資料來源是苦勞報導、苦勞評論,或苦勞論壇的就上苦勞網首頁,這樣的做法,使得首頁文章的呈現缺乏彈性,應該要有一個特殊的欄位,來控制該篇文章出現的位置,例如在這個欄位中標示為「苦勞網首頁」的,就放在首頁中間,標示為「發稿介面」的就放在「發稿介面」的區塊。

這個控制項,還有一個重要的作用,就是希望網站能作成「多首頁」的樣貌,可以依據進入網址的差別,而呈現不同的布景主題,例如,苦勞網未來,可能將「影像支援平台(紀錄片的資料)」、「工運年鑑」、「台灣產業資料庫」、「移民工資料庫」……等一一整合進苦勞網的資料庫裡,這些資料,同樣都是苦勞網資料庫所要收集的目標,資料的形式也相差不大,但是因為不同的進入介面,有不同的功能,所以需要呈現出不同的面貌,這個欄位,就是要控制文章出現的位置。

* 當然,如同一般CMS所共同擁有的功能:可以挑選最新重要剪報、最新分類、留言版最新留言、最新評論、RSS收集器,以及自行編輯的區塊這些功能,也都是必要的。

* 首頁的區塊可選擇的內容必須極有彈性,除了可以依據前面提到的特殊控制項決定呈現的內容之外,希望能夠依據任何一個欄位的的關鍵字來列表,例如,區塊可以列出任一作者、張貼者、資料來源、tag……的資料。

* 與部落格的連結:

我們在思考可以跟特定的部落格約定,開放首頁的區塊,讓寫手可以主導,把他們部落格的文章,放到這個區塊來。用RSS串是當然的想法,但是寫手們所使用的平台差異十分大,不一定每個平台都支援分類(或tag)的RSS,而即使是支援,寫手想放進他自己的分類或tag的文章,也未必是他想放進苦勞網的文章。比較好的方式,還是我們自己調整。

之前想到的解法有二:

1. 用特殊的trackback,寫手在自己的部落格上稿之後,可以直接trackback,不過還是因為spam的問題,所以可能要有帳號密碼驗證。 2. 如果捨棄trackback不用,也可以跟寫手約定,在標題標註「同步刊登苦勞網」之類的關鍵字,然後我們去串他的RSS,濾掉沒有這個關鍵字的文章。

以上兩種做法,哪一種好,我沒有定見,或者有更好的解法,講聽聽大家的意見。

【文章的張貼介面】

目前苦勞網的張貼介面請見圖: 400px

* 它的重要特色是,盡可能把所有的欄位集中到不需要拉動捲軸就可以張貼的位置去(尤其是「送出」的按鈕),這種做法是因為目前苦勞網剪報,是採用剪下、貼上這樣的方式進行,每人每天負責一份報紙,要剪的東西很多,操作介面必須讓整個流程順利,這個介面在剪報送出後,會回到介面的地方,同時剪報的時候,在「標題」的地方如果不輸入,會自動截第一行字作標題,這都是加快剪報的設計,應該要維持。

* 同時在輸入者權限不同時,會呈現不同的欄位與樣貌:

400px

這一點非常重要,因為剪報介面中輸入的資料,將決定苦勞網,或其他網站首頁呈現的內容,如果要與更多人分享剪報,就必須能夠控制在輸入介面可以輸入的資料欄位與內容。

* 再來,就是選擇「分類」的設計,目前苦勞網的分類方式,其實就是採取「標籤(tag)」的方式,輸入資料者本可自行任意輸入分類關鍵字,但是,在輸入介面有層次且有效地呈現關鍵字,仍然相當重要,否則易引起分類的混亂,目前分類分成幾個塊:

* 勞工 * 環境 * 經濟 * 其他 * 地區別 * 產業別 * 事件分類

這些分類各自以下拉選單提供剪報者挑選,未來tag的分類方式或許會有變化,但總之,必須要有方便張貼者快速找到預設分類的設計。

其中「事件分類」是很重要的一個特色,如果對於眼前發生的事件,能夠立即有所整理(配合分類的整合頁面顯示),對於讀者快速掌握事件過程,有相當大的幫助,同時,對於整理者來說,也是相當好的耙梳過程。但是,何謂「事件」、該如何下關鍵字,不同剪報者的認知往往差距極大,如果要進一步開放,則必須要有更有效的管理才行,最好是能將最近有人使用的「事件分類關鍵字」直接展開在剪報介面上,讓輸入者一目了然,可以跟進,同時,也可以考慮在剪報介面上秀出一個簡單的留言版,讓編輯台可以給與剪報者一些適當的指令。

* 此外,還有一個問題,是在剪報介面開放之後會出現的,那就是目前苦勞網剪報的分工,是不同的人每天認領不同的網路媒體,用複製、貼上的方式作,這樣做是預設剪報者對於所有的議題都感到興趣,分工之後,重複的機率不高;但如果開放之後,沒有必要要求所有的參與剪報者做這樣的分工,這樣產生重複的可能性就相當高,目前我想不到解法。

* 這種做法,和網摘網站不同,因為網摘網站是用連結的方式作摘要,用網址來判斷,如果重複,很容易就找出來,還可以統計哪一篇有多少人摘,這個數據反而也成為一個重要的參考指標,在剪報上,還可以考慮目前my share、hemidemi、delicious的做法,作成瀏覽器的plugin,不過我們的剪報,還是希望把全文剪進來,以避免未來這些網路媒體把資料移走,就看不到這一筆剪報的狀況(智財權的問題就先不討論了),但是如果我們要用網址確定重複的狀況、又要把資料抓進來,會造成把網頁裡其他不要的「垃圾」都抓進來的狀況,這樣對資料庫的負擔很大。

有一個方式,或許可以討論,這個plugin可以這樣寫,我一樣選下要複製的文字,按下右鍵,出現一個「剪到苦勞網」的選項,點下之後,就將選中的文字以及該網頁的網址傳過來,同時顯示剪報介面,如果網址重複,就顯示已經有幾個人剪過這一篇剪報的訊息,同時標註這個人也作了這一篇的剪報、以及他所加入 tag,不再重複把文字貼入資料庫,只要讓剪報者加入他自己加的關鍵字即可;如果這一篇剪報沒有人做過,就把選取的文字部分放入剪報介面,回到一般的剪報程序。

這樣作還有一個很重要的意義,是我們目前在剪報的時候,為求效率,都不會再做一次輸入資料原始網址的動作,把資料原始網址也納入剪報資料庫,這樣將來在顯示時,可以設計「網摘式」,用連結的方式瀏覽資料,或者瀏覽存檔在我們資料庫裡的資料兩種不呈現方式。

* 我們的剪報,跟網摘或書籤不同,因為我們收集的內容,都是以不會再變動的固定文章為主,但網摘或書籤則經常會摘某個網站,或者某些具互動性、會持續更新的資料,如果是這樣的頁面,可能就要用連結的方式來呈現,而不是把網頁的內容給剪進來。這裡,應該讓剪報者再做剪報的時候可以挑選,這一則資料是去讀取我們資料庫裡的資料,或者用外連的方式,這樣,我們的剪報,就可以同時具備網摘或書籤的功能。

【使用者介頁面】

* 這裡是指每一個使用者可以有一個自己的頁面。但在這裡,我們並不特別強調「使用者自訂」這種東西,而只需要讓每一位使用者可以有一個讓自己跟別人都方便看到他在苦勞網工作的東西的介面。

* 使用者在苦勞網會做什麼?

* 他會剪報(上傳照片)。 * 他會參與tag簡介(wiki)的編寫。 * 他會發表文章(發表文章跟剪報其實沒有差別,不過文章是原創的作品,作品是「原創」而非剪報,也需要有做區分)。 * 他會發表文章的評論,及在討論區發言。 * 他發表的任何東西都會被回應。 * 他也可以介紹他自己,因為在苦勞網具有剪報及編修權限tag簡介的人,應該都適合苦勞網友特定工作關係的人,所以這個簡介,也與他做的工作有關。 * 他也可以有自訂的RSS收集器,以收集他的部落格,或他感到興趣的資訊。

所以使用者頁面是彙整這些資訊的地方,這個頁面,就像wiki的使用者頁面一樣,也跟前面提到的tag彙整頁面一樣可以列出上列的資訊。 在這些資訊備彙整進一個頁面之後,也有點類似一個個人的部落格,雖然我們並不強調這樣的功能,但他的確可以在這裡這樣做。

【資料總整理】

* 苦勞網首頁將來或許會有一些區塊可以開放讓所有的使用者有較多的權限刊登文章(如前面提到的部落格用trackback或RSS加標題關鍵字的方式投稿,或者一個集中呈現「原創」作品的「自寫新聞區」),但就如我前面提到的,苦勞網最主要的本錢,還是自產內容,編輯台的功能相當重要,因此需要一個可以彙整網站新動態的頁面,以讓工作站的編輯台可以決定新的資料該如何被處理。

* 此外,剛剛也提到,未來的架構,會是不同網站存取同一資料庫的狀況,不同的網站入口,也需要有彙整資料的頁面。

【舊資料的匯入】

目前苦勞網的舊系統,資料庫是access,資料結構不複雜,只有一張資料表,資料筆數大約十幾萬筆,希望這些舊的資料能夠匯入新的資料庫裡面,我曾經就這方面的技術問題詢問過許多人,答案都不盡相同,這個部分的問題,也要就教於各位。

如何進行改版的工作

苦勞網說要改版,其實已經說了好幾年,但總是找不到一個適當的開始的辦法;前面說了這麼多,我想一定程度上,也說明了這個工作的複雜。在改版的工作上,我想提出以下幾點,供大家討論,另外 marr 也整理一篇 PloneForCoolLoud 說明以 Plone 為基礎的實作規劃:

是否使用現有CMS模組?

利用目前既有CMS模組開發,應該有其一定的方便性,只是就以上的需求來說,現有的CMS系統,有哪一個是與其相接近的?這我並不是很有把握,所以我比較熟悉的Xoops來說,它的1.43版News(新聞區) Module有「焦點新聞」(可任選一則突顯呈現)的功能,這很符合我們的需要,但是,首先,它的分類不夠彈性、不是tag的方式,一篇文章,不能訂出許多標籤;其次,可以選擇呈現的方式也不夠彈性,只能用「分類」來定義區塊內的文章串。

更大的問題是,Xoops裡面有許多的模組,但這些模組彼此之間,似乎除了共用一組帳號密碼之外,沒有其他的關係,模組之間重疊的功能很多,各有特色,常常讓人難以選擇,例如,Xoops中有新聞區、有內容管理、有部落格的模組,但對我來說,同樣是文章發布,把各種資料這樣分開,是很奇怪的事情,我需要的是功能的整合,而不是因為某些特定功能,而就遷就使用某一模組,造成網站邏輯上的混亂與資料找尋的困難。

在模組間的關係上,整合和關聯是很重要的,舉例來說,行事曆是一個好用的模組,但我似乎沒有看到過它跟新聞區的整合性,例如我今天發布的是一則活動性的訊息,有時間、地點、聯絡人等資訊,在更新新聞區的同時,如果能同時在行事曆上出現,對於一個完整的CMS來說,那才是合理的,我們希望結合更多的公民記者,在我們接觸不到的地方一起來寫新聞,如果能在行事曆上同步呈現活動訊息,並且讓公民記者可以回報它可以去跑的場子、我們也可以公告我們會寫的活動,這樣對於一個「弱連結」的組織操作來說,是相當重要的機制。

又如我前面提到的用wiki來整合tag系統、製作分類和文章列表的介面,這也是wiki模組和News模組的整合,有許多網站,都安裝了wiki的模組,但它往往跟網站本身的許多功能定位重疊,就拿icos的這個網站來說好了,在官網的頁面上和wiki的頁面上,都放入了議程的資訊,這其實不必要,而且在修改和維護上,很容易造成矛盾的情形,當然,icos的wiki有讓大家操作練習的味道,這麼做是沒關係的,但是在網站的實際運作上,應該要能適當地將 wiki整合進去,它才能發揮更大的功能。

我想,利用現有的CMS系統作修改,應該是較方便的方式,但是我不清楚模組間整合度低,是因為技術上的困難,或者是因為模組開發工作分散的關係。這可能需要聽聽大家的意見。

進度和分工的問題

進度和分工應該與技術的困難度相關,和需求的緩急(例如改到什麼程度可以公開)有關,和經費也有關係,重要的是,任何一步的修改,必須顧及下一步的目標,我想這部分需要先把計畫擬清楚,事情才能夠開展。我不清楚開放原始碼社群共同工作的狀況,這方面,可能需要各位的意見,工作該如何開始?

上面提到的計畫比較複雜,我現在假設用Xoops系統(sysem:2.2x,news:1.43)修改作例子,說明一下可能需求的進度:

* 第一步:新版苦勞網的上線測試最少需完成:

* 用tag來定義新聞的分類、輸出tag下的文章列表及RSS。 * 輸入介面的tag選單,以及外觀的調整(參考苦勞網剪報介面)。 * 增加新聞區的欄位(缺少:新聞日期、作者、資料來源、特殊控制項……) * 首頁區塊可以特殊控制項欄位決定呈現內容。 * 新聞區Comment、trackback,及Comment的介面(需輸入email、防Spam驗證碼) * 新聞區可選擇呈現html及自動換行與否的控制。 * 個人介面:最少可以依日期及tag列出自己做的剪報。

這部分的工作若完成,表示後端剪報(發稿)的工作,已經可以進行、首頁的呈現也沒有問題,這時可以將更新的工作移轉到新介面上,也就可以公告新版。

以下是第一步完成後,或許可以分開的一些工作:

* 用wiki整合tag以及部分模組間的整合:

* 在wiki的條目和剪報的tag之間建立關聯。顯示條目時可以列出該tag的剪報。 * 用wiki與news整合的介面取代tag的列表。

* 修改行事曆介面:

1. 剪報同時可有「發布到行事曆」的選項。 2. 行事曆中加入「回報工作」的欄位,特定的使用者,可以回報工作。

* 寫作flickr的api,使其和wiki(tag)系統整合,若有困難,也可以討論修改現有相簿模組的方式。

* 剪報介面依權限不同顯示不同的輸入欄位的修改。

* 這部分完成之後,才可以開放更多的人,一起來做剪報。

* 在剪報輸入介面確定之後,就可以開始研究製作和瀏覽器作功能結合的可能性。

* 製作依據不同進入網址,套用不同首頁(最上層頁面)以及themes的hack,這樣,就可以透過不同網站介面,存取苦勞網的資料庫。

* 我還是強調一點,這個工作很重要,特別是在tag的整合介面(wiki+news+flickr+RSS)完成之後,我們的不同的工作,才有機會整合在一起。

* 各部分的修改完成之後,就是一些更具整合性的頁面了:

* 使用者介面:以原創發表的作品(目前比較能有想像的是網摘類的作品、之後是自寫新聞、評論等文章)、剪報、參與的分類整理、行事曆、參與的工作、個人簡介、自訂的RSS等。基本目標是讓一起參與工作的使用者可以快速找到自己的東西,更進階的目標,是讓這些使用者可以用這個頁面當作他的個人網頁或部落格。 * 編輯台的整合頁面:系統管理者(苦勞網編輯)可以快速看到整個網站新增的資料,並快速地對資料進行分類調整、挑選放置的位置等工作。 * 在進一步,則是在細分這一個管理介面,讓不同存取本資料庫的網站介面管理者,可以做到他權限內的事情。(這些是距離可能還比較遙遠,要看未來系統大致改成什麼樣子才會有較具體的想像)

* 解決舊資料匯入的問題。

以上談到的工作,可能需要各具專長和興趣的人,組成一個可以彼此討論、溝通的團隊,分工合作,這種團隊如何組成,希望大家能提供意見。

其他重要的事

關於授權問題:

* 不管是否利用現有開放原始碼的CMS來修改,希望最後的成果都能以GPL的方式釋出。

需要多少錢:

* 這一點我不大有概念(包括技術的難度、花費的時間,以及市場的行情),需要大家幫忙算算。

寫在最後

在這裡提出苦勞網改版的需求,一來當然是基於我們目前所遭遇的瓶頸,以及具體的需要。但我們所提出的需求方向,我覺得是有一些特殊意義的。

那就是在我觀察過提供個人使用的架站系統如MT、wordpress、或者提供社群使用的架站系統,像是Xoops、Drupal、phpBB,或者提供辦公室內部工作的系統,對於我們(苦勞網也是一個NGO吧)都有一些距離。

台灣的NGO組織是這樣的,他們的體制內編制都不大(超過10個人的,已經很大了),但都有為數眾多的非編制內的志工,這些志工經常是NGO要組織的對象,平日這些人就以這個NGO組織為中心,會發展出共同的工作關係。

這樣的對象,跟單純網路上群聚的社群不大一樣,NGO組織如果要思考網路的經營,首先應該是發展出在這樣的工作關係群體的操作工具,然後用共同工作的成果,對外呈現。這樣的東西會是什麼?在我寫作上面的改版計劃過程中,我發現漸漸有一些雛型出來,裡面有一些普遍的東西,可以提供給NGO組織作參考,這是為什麼,我覺得這一套系統,應該要以GPL釋出的重要原因;也是我一開始就希望跟自由軟體社群合作的原因,也是我提出「NGO online」計畫,希望有組織地來做一些事的原因。

這一套東西,雖然未必可以直接套用在每一個NGO組織身上,但也算是我對現有開放原始碼的CMS的一些思考,作出比較有系統的回應;它在工作方向上,應該是更接近開發工作與實體組織間建立有機聯繫關係,所以接下來的合作,我認為是值得期待的。

孫窮理

臉書討論