回報程式錯誤和問題
From Joomla! Documentation
欲在 Joomla! 錯誤追蹤網站中回報錯誤,你需要建立一個追蹤項目。一旦建立了追蹤項目,開發者會確定其是否有效並檢查其活動。如果你願意協助測試 Joomla! 的更新檔,請點選詳細指示來了解如何操作。
回報錯誤
在 GitHub 上註冊一個帳號
你得在 GitHub 上註冊帳號 ;Joomla! 問題追蹤使用 GitHub 的帳號資訊作為驗證。
存取 Joomla! 錯誤追蹤
檢查看看想回報的錯誤是否確實被回報
你會看到一份清單陳列許多正在追蹤的項目,而且你可以使用位於清單上方的 Search Tool 裡面的篩選器。把滑鼠移動到追蹤項目的上方,就可以查看這個項目的內容。如果你發現問題,而這個問題還沒被回報,請點選主控制列的 New Item 來回報。
新的畫面會出現,當你填入越多資訊,開發者就可以越輕鬆的解決問題。
所以,盡你所能的填入資料吧!你可查看每個欄位的秘訣,只要在右側的檢視模式從 Pro 切換成 Help。
- 優先順序:除非你真的很確定問題的重要性,並確定更換其他選項是正確的,不然一般來說用 Medium 就好囉。
- 建置版本:請輸入受錯誤影響的版本號碼。
- 分類:呵呵,這個選項更有趣了。除非你知道自己在做什麼,否則請使用 Administration。
- 標題:請簡介這個問題。
- 描述:關於這個問題的詳細資料。請繼續往下看以得知更多資訊。
- 上傳:你可以上傳圖片來回報錯誤。關於上傳的條件,會顯示在回報的表格中。
提供簡介
請簡述你遇到的問題。如果你是第一次回報錯誤,先看看其他的追蹤項目當範例是好點子。
範例:
- 前台:出現一堆警告。
- 後台:當 "外掛名稱" 開啟時無法儲存文章。
注意:敘述請簡潔有力、切中要點,因為這是開發者第一個會看到的訊息。他們會從中知道有什麼問題需要解決。
提供問題的詳細資料
為了盡可能提供最多有用資訊,追蹤器具備以下五個子區段,可以引導你提供最詳細的資訊。:
- 產生問題的步驟:請你回想一下你是怎麼遇到問題的,這樣才能讓其他人重現這個問題。
- 原本想要的結果:當做了以上步驟後,就你預期的,本來應該要出現什麼樣的結果。
- 實際出現的結果:結果實際上,做完上述步驟後出現了什麼令你意外的結果。
- 系統資訊:關於你的系統與環境配置的資訊。這包括你正在使用的瀏覽器、伺服器的 PHP 版本還有你的網站使用的資料庫類型。你還可以從管理區的系統資訊頁面複製其他額外的資料供參考。
- 額外的留言:這裡可以輸入其他可能有助於解決問題和排解困難的資訊,而且這些資訊不適合填以上四個欄位。
一般的格式會如以下範例:
- 「我就是這樣做的。」
- 「結果他就變這樣了。」
- 「這是我原本期待的結果。」
- 「其他資訊、可能的解決方案、建議的程式碼修正。」
資訊越多越好。另外很重要的是,最好能夠用範例、或初始安裝的 Joomla! 網站上重現錯誤,或者請用清楚簡單的方式闡述如何重現錯誤。請記住,除你之外,沒有人可以存取你網站的資料庫,所以你需要告訴他人如何利用人人皆能存取的資料來呈現錯誤 - 如範例網站般,人人皆可藉由安裝新的 Joomla! 來取得這些範例資料。
範例 A
- 我做了什麼:我創立了一個範例網站,一切都很棒。然後我啟動了<外掛名稱>,接著想從後台儲存一篇文章。
- 發生了什麼:接著我得到了空白頁,而且文章沒被儲存。
- 本來應該發生什麼事:文章應該被儲存的啊。
- 其他資訊:我同時開啟了以下外掛、SEF(網頁重新導向)是關閉的、我的網站位於子目錄、我還記得......等等。我就直說吧,這些檔案(例如<這個>和<那個>)就是造成問題的原因(講這句話前,請先知道你在做什麼)。
範例 B
- 我做了什麼:進入後台。點選了 "選單名稱" 選單。
- 發生了什麼:網頁一片空白。
- 本來應該發生什麼事:選單應該要正常開啟。
- 其他資訊:其他選單都是正常的......等等。
實際的範例
- 我做了什麼
- 從範例網站開始。
- 建立一篇尚未發布的文章,區段=FAQ,分類=一般。
- In the advanced parameters for the article, set Show Title to "No" and Print, PDF, and Email Icons to "Hide".
- Save the article and navigate to front end. Login to the front end as admin and navigate to the Example Pages -> Category Blog menu item.
- What happened : The newly added article shows but there is no edit icon for the front-end user to click on.
- What should have happened : The edit icon should show, allowing a front end user to edit this article.
- Other information : This only happens with the rhuk_milkyway template. By changing this code [code proposed] in file [name and hierarchy of file], line(s) #, the issue looks solved on my settings.
Issue a pull request directly on Joomla!'s GitHub repository
If you wish to propose a fix by directly providing the code within Joomla! itself, you may do so by issuing a "pull request" in Joomla!'s code repository on GitHub.com, located here: https://github.com/joomla/joomla-cms
This process requires some knowledge regarding Source Control Management systems and Git in particular. If you do know what the Git SCM is and how it works, the process is simple:
- Sign up for a free GitHub.com account
- Fork the Joomla! repo
- Switch to the "staging" branch if you wish to propose a fix for the current Joomla! 3.x release or to another branch if you want to propose a fix for the next Joomla! Version.
- Add/update the related files in Joomla! in the right branch and the click on the "review & compare" button - more info on this here https://help.github.com/articles/using-pull-requests - to start the "pull request" issuing process.
額外的提示和技巧
撰寫得宜的臭蟲報告絕對是很有幫助的。然而,任何一個臭蟲追蹤系統都有相當數量的問題等待處理。因此若您能協助維護臭蟲追蹤的問題內容盡量有用,也是相當令人感謝。尤其是::
- Do read the FAQ to see if your issue might be a well-known question.
- 請搜尋 the tracker 看看您的問題是不是已經被回報過了。
- 如果您不確定您是否發現了臭蟲,請先在臭蟲回報論壇 Joomla 3.x 發問
- 請一定要描寫完整、可重複而且特定的臭蟲報告。包含盡可能豐富的資訊、程式碼、測試案例等等。在一個小型案例中,包含一個範例來描述臭蟲發生的前因後果,是臭蟲報告的最佳範例。
- 不要使用臭蟲追蹤系統來當做技術支援提問。要問問題請到 Joomla! forums。
- 不要使用臭蟲追蹤系統來回報大型的需求回饋。我們想要在開始對Joomla!核心作業之前,先在 developers forums 有充分討論。
- 如果已經被標誌為"預期效果",請不要重新打開問題單。這個標誌已經說明問題已經討論過,而且我們不能,或不會處理這個特定的問題。如果您不確定為什麼,請在開發者論壇 發問。
- 請不要在臭蟲追蹤系統中做冗長的討論,因為他們可能會把其他人搞得走神。假如一個特定的追蹤項目是有爭議性的,請移駕開發者論壇來做討論。
回報安全性問題
請回報安全問題到 security [at] joomla [dot] org,那是一個非公開的群組,僅對長期、可靠的Joomla!開發者開放,封存內容也不會讓大眾閱讀到。
當發現Joomla!有確認的弱點後,我們會採取以下的行動::
- 向回報者表示我們收到了報告,並且啟動修復程序。我們會提出一個概略的時程來要求回報者保密,直到我們公開發佈該弱點。
- Halt all other development as long as is needed to develop a fix, including patches against the current and two previous releases.
- Determine a go-public date for announcing the vulnerability and the fix. To try to mitigate a possible "arms race" between those applying the patch and those trying to exploit the hole, we will not announce security problems immediately.
- Publicly announce the vulnerability and the fix on the pre-determined go-public date. This will probably mean a new release of Joomla! but in some cases it may simply be patches against current releases.