移至主內容

它會把我的檔案還給我嗎?

Importing from FET 閱讀需 1 分鐘

您的 .fet 檔案是學期課表,在交給任何工具處理前,有一個值得確認的問題,以及一個兩分鐘就能完成的測試。

一個 .fet 檔案看起來並不顯眼。不過是幾百 KB 的 XML,靜靜地躺在去年檔案夾的旁邊。

但你很清楚其中包含了什麼。八月那兩週,你絞盡腦汁才解決科學大樓無法同時容納兩堂實驗課的問題。與語言部門主管那三次艱難的溝通與妥協。還有你逐一添加的那十一條時間限制,每一條都是在經歷了不想再重演的錯誤後才加入的。

這些心血沒有被記錄在其他任何地方。它們以時間限制的形式存在於該檔案中,如果檔案遺失,你失去的不僅僅是一份文件,而是背後的邏輯。等到九月開學,當課表變得一團混亂時,你才會發現問題所在。

因此,當一個網頁工具聲稱可以開啟該檔案時,問題不在於它是否實用,而在於:它能完整地把我的檔案還給我嗎?

為什麼答案通常是「不完全能」

大多數讀取 .fet 的工具都採用了直觀的做法。開發者研究了檔案格式,為他們需要的部分編寫程式碼——老師、學科、教室、教學班、常見的時間限制——然後就發布了。

這確實可行,但卻會悄無聲息地失敗。FET 擁有龐大的時間限制詞彙庫,並且隨著每個版本不斷擴充。任何工具作者未實作的部分都會被忽略,當檔案重新匯出時,那些未被讀取的內容自然也不會被寫入。檔案雖然仍能開啟,格式也正確,但它卻遺失了你最在意的三條限制,而且過程中沒有任何提示。

這正是最值得防範的失敗,因為它在最需要被發現的時刻卻隱形了。

我們採取的方式

FET Explorer 不試圖理解每一條時間限制。它試圖做到「不需要理解」。

當檔案被讀取時,每一條時間限制都會以其原始名稱儲存,其內容也會原封不動地保留——無論本應用程式是否知道該限制的含義。當你下載時,每一條限制都會以相同的名稱、相同的內容、相同的順序寫回檔案中。

這裡沒有所謂「支援的時間限制類型」列表,因為根本不需要支援。即使是我們從未聽說過的、在某個新版 FET 中引入的限制類型,也能在檔案中原樣保留,就像你抄寫一段文字時,即使不認識其中的某個字,也能將它完整抄錄下來一樣。

在我們目前擁有的課表語料庫中,這意味著 2,987 條涵蓋 20 種不同類型的時間限制,在匯出程式碼中無需任何特殊處理即可完成往返傳輸。

權重會完整保留。設定為 80% 的限制依然是 80%——不會被四捨五入、不會被重新計算,也不會被提升為「開啟」。未啟用的限制依然保持未啟用。你的注釋也會完整保留。

檔案在交給你之前會經過檢查

有一件事我們會進行干預。

一個 FET 無法開啟的 .fet 檔案比沒有檔案更糟糕:你直到最後一刻才發現,卻完全不知道數千筆記錄中哪一筆出了錯。因此,檔案在交付給你之前會先進行建構與檢查。

下載列,下方帶有已檢查的第一個子標籤
下載列,下方帶有已檢查的第一個子標籤

如果缺少了真正必要的資訊——例如一個沒有學科的教學班,或者一堂課指向了一位不在老師列表中的老師——你會收到通知,並列出具體的記錄。至於那些可以安全預設的項目,系統會自動處理,不會成為你的問題。

如果檔案格式正確但看起來內容不足,你會收到提醒,並看到一個 仍然下載 的按鈕。那只是建議,而非阻擋。

如果檢查程式本身無法執行,下載仍會繼續。檢查程式沒有產生意見,並不是阻礙你取得自己檔案的理由。

別只聽我們說——花兩分鐘試試

這部分非常值得親自操作,因為它幾乎不需要成本,而且能一勞永逸地解決你的疑慮。

  1. 上傳你的 .fet 檔案。
  2. 在不做任何修改的情況下,直接將其下載回來。
  3. 比較這兩個檔案。
往返檢查顯示所有項目均為綠色:匯出的內容與匯入的完全一致。
往返檢查顯示所有項目均為綠色:匯出的內容與匯入的完全一致。

它們除了格式(縮排、屬性間距、少數選用欄位的順序)之外,不應有任何差異。教學班、時間限制、權重、注釋都應完全相同。

如果兩個檔案在實質內容上有差異,那就是一個錯誤,我們希望能收到你的回報。這不該是需要你繞道解決的問題,更不該是你等到九月才發現的驚喜。

一個誠實的例外

如果你的課表是從試算表而非 .fet 檔案建立的,有一個細節值得注意。CSV 列不包含 FET 的教學班識別碼,而位置限制需要穩定的識別碼來指向個別課程。

我們不會拒絕處理,而是在建構檔案時指派這些識別碼並儲存起來,確保它們不會變動。第二次下載的結果會與第一次完全吻合。你可以從試算表建立課表,並依然得到一個連貫的 .fet 檔案。

這不是什麼

FET Explorer 不會產生課表。它不會最佳化、重新求解或改進 FET 的產出結果。FET 負責處理困難的部分;而本工具負責讀取、呈現、分享並編輯其結果。

這正是為什麼「往返一致性」如此重要的原因。一個只負責 顯示 課表的工具可以只理解檔案的一半內容。但一個讓你進行編輯的工具,必須能將整個檔案完整地還給你。

用你自己的檔案試試看 →