跳轉到內容

華夏公益教科書堆疊/歷史

來自華夏公益教科書

以下是華夏公益教科書堆疊如何演變到其當前形式的概述。

第一個整體書籍目錄是一組名為書架的頁面,該目錄在 2003 年華夏公益教科書成立後幾個月內啟動。書架是手動維護的頁面,主要包含書籍列表。書籍架集合的整體組織最初是一個名為所有書架的頁面,於 2005 年移至專案空間(因此,華夏公益教科書:所有書架)。2006 年,書架被分組到部門中,頂層頁面重新命名為華夏公益教科書:部門。由於華夏公益教科書,像其維基媒體姐妹一樣,是一個大部分去中心化的志願者專案,手動維護的中心目錄往往不完整且過時,這些問題在 2006 年由社群討論。[1]

另請參見:主題:按主題分類的書籍

主題名稱空間於 2007 年 8 月下旬啟用[2],主題層次結構逐漸取代了舊的書架。每個書籍主頁都會有一個{{主題}} 模板呼叫,其引數將是書籍所屬的最窄主題——根據建議,通常只有一個或兩個。主題頁面本身使用動態頁面列表DPL),這是一個維基平臺擴充套件,用於動態生成屬於類別交集的頁面的列表,該擴充套件於 2005 年為維基新聞(在那裡列出滿足各種標準的文章是一個普遍的需求)開發。這將每本書的維護負擔分攤給各個書籍,使其成為每個書籍主頁的一部分,在那裡它會被對那些特定書籍感興趣的使用者注意到並承擔,而不是依賴於對進行集中管理感興趣的貢獻者隊伍不斷增加;主題層次結構的日常維護所需的人工投入很少,這將與主題的數量成正比,而不是與書籍的數量成正比。

所有書籍

[編輯 | 編輯原始碼]

書架越來越少使用,人們一直在討論是否要廢棄它們,轉而使用主題頁面;但是,人們仍然擔心主題層次結構,即當一本書被歸檔到一個狹窄的主題下時,它不會出現在該狹窄主題所屬的更大主題的主題頁面上。這個問題在 2011 年下旬得到了解決[3],透過實施“所有書籍”類別,這些類別由已有的{{主題}} 模板呼叫自動填充。在這種安排下,當從主題空間外部轉錄主題頁面時,它會響應一個包含其一個或兩個父主題的列表,從而使其他頁面——尤其是所有書籍類別頁面和書籍主頁——能夠確定祖先。因此,書籍主頁上的{{主題}} 模板可以推斷出,鑑於要顯式列出在書籍主頁底部的狹窄主題,該主題的所有祖先是什麼。

隨著所有書籍類別的實施,提供了一種原始形式的半自動化,以幫助人工操作員維護系統。各種相互關聯的頁面中的每一個都會在其標準格式化模板中包含對系統中相鄰頁面的完整性檢查,當某些內容看起來不正確時,頁面會顯示診斷訊息,提供一個或多個“按鈕”來啟動人工操作員可能希望用於解決問題的各種編輯操作,並將自己歸類到類別:需要關注 (所有書籍)中。

主題層次結構在那個時候的一些缺陷是

  • 主題頁面無論多麼有用和佈局精美,如果您轉到書籍主頁的底部,維基平臺為您提供的連結,儘管被稱為“主題”,[4] 將連結到相關的主題類別,而不是主題頁面本身,主題類別頁面沒有這種有用且佈局精美的資訊顯示。
  • 書籍類別和主題類別之間的區別仍然令人困惑。
  • 如果一本書被歸檔到頂級主題中,該書將不會在任何地方被列出。頂級主題頁面使用了不同的模板,{{根主題}} 而不是 {{主題頁面}},以考慮這些主題沒有指定的父主題,並且這些主題中的書籍數量可能太大,無法有意義地列出它們。作者被告知不要將書籍列入根主題,但這不是由半自動化來強制執行的,而且也不完全清楚它應該被強制執行,因為有時很難知道該把它們放到哪裡。
  • 在內部,{{主題}} 模板使用了一種笨拙的技術來深度搜索列出主題的祖先——父主題的父主題的父主題等。維基平臺謹慎地分配提供給維基標記的任何計算能力,以防止事故和惡意損壞(當然,包括故意生成伺服器負載作為拒絕服務攻擊)。這部分原因是模板不能呼叫自身;另一個原因是巢狀模板呼叫的總深度是有限的。{{主題}} 使用了一系列子模板;/0 將找到父主題,併為每個父主題呼叫/1/1 會執行相同的操作並呼叫/2 等等;如果這些模板中的一個發現它需要更深入,但序列中的下一個模板還不存在,它會將自己標記為需要人工操作員干預。然而,實際上,這會遇到平臺對巢狀模板呼叫深度的限制。

2016 年,華夏公益教科書類別基礎設施進行了大修,最終目的是允許華夏公益教科書為頁面和書籍建立主題類別;特別是,為來自姊妹專案的傳入主題連結提供合適的目標。[5] 由於這些包含頁面的主題類別將成為與書籍類別和主題類別不同的第三組主要類別,而且僅僅是兩種類別的存在已經引起了某種程度的混亂,因此大修從透過新增字首主題:重新命名主題類別開始——因此,類別:主題:數學 等等——並將書籍類別重新命名為透過新增字首書籍:。在此過程中,主題頁面和主題類別也進行了修改,以允許類別請求從主題頁面轉錄完整的顯示;因此,當讀者轉到書籍主頁的底部並點選顯示主題:數學的連結時,他們將立即看到主題頁面的完整顯示,即使他們仍然在檢視主題類別。

然而,一旦主題類別和書籍類別被重新命名,在預期的包含頁面主題的新類別中就出現了術語問題。顯然需要一個字首,其含義與書籍:主題:相比一目瞭然,但主題:本身就是一個相當模糊的字首,它至少與現有的類別一樣適用於新的類別。解決此術語問題的第一步是將字首主題:在其所有上下文中替換為字首書架:。由於頂級主題太大,不可能合理地稱為“書架”,因此選擇了字首部門:來表示它們,回想起 2006 年的書架組織。

將新式部門和書架以及它們的所有相關機制分組到一本書中,使所有這些都更容易協調,因為華夏公益教科書基礎設施已經發展,特別是為了便於管理與一本書相關的頁面星座。

給頂級分組一個不同的字首,部門:而不是書架:,可以輕鬆防止書籍直接歸檔到部門中。模板 {{書架}} 替換了 {{主題}},它在語法上無法請求歸檔到部門中:引數名稱為書架,省略了字首。當書架與部門名稱相同,預設情況下它被認為是“保留”的書架,並且僅列出直接歸檔到該書架名稱下的書籍,例如 書架:數學;這可以透過在相同名稱的部門中指定相同名稱的書架不是保留的來覆蓋。

正如主題層次結構利用了在原始書架系統建立時尚不存在的設施——DPLs,Wikibooks 架構利用了模板{{evalx}}和模組:TScope,它們是在(Wikinews)設計用於培養基於維基標記的自定義,透過涵蓋大量特殊情況。除其他事項外,這些工具允許每個書架類別維護其所有祖先的列表,因此{{shelves}}不必進行深度巢狀查詢來嘗試組裝此列表。每個書架將自己的祖先列表與其父級的祖先列表進行比較,從而檢測到何時需要更新這些列表,併發出訊號以供人工操作員干預(一種在 2011 年建立 allbooks 系統時設想但尚未在技術上可行的技術);這是一個(希望)可行的策略,因為預計書架層次結構只會隨著時間的推移而非常緩慢地發生變化。

透過對話方塊,更便捷的半自動化正在籌劃中,未來可能會極大地促進對該系統的維護。 ({{evalx}}和TScope被設計為對話方塊工具的輔助支援。)

參考資料

[編輯 | 編輯原始碼]
  1. 有關這些日期,請參見Meta:WikibooksWikibooks:Departments 的修訂歷史記錄Wikibooks:Bookshelves/Generation 2
  2. Wikibooks:Reading room/Technical Assistance, 2007 年 8 月 31 日.
  3. Wikibooks:Reading room/Proposals/2011/December#Category closures
  4. 預設標籤“Category”/“Categories”可以在頁面MediaWiki:Pagecategories中覆蓋;此操作在 2007 年 10 月 30 日進行,並在 2019 年 6 月 7 日恢復預設值。
  5. Wikibooks:Reading room/Proposals/2017/July#Category infrastructure(注意主題是在 2016 年 6 月開始的)。
華夏公益教科書