2010-11-02 93 views
0

我們的客戶希望我們爲網站文章實施更改歷史記錄。什麼是最好的方式來做到這一點?什麼是最好的方式來存儲網站文章的變化歷史?

+1

-1:「最佳」未定義。提供一些標準。什麼對你或你的客戶很重要。沒有技術堆棧:沒有框架,沒有特定的語言,沒有數據庫,沒有背景。如果這是家庭作業,這是作業的一個不好的解釋。請提供一些支持細節。請成爲**具體**。請爲你定義什麼是最好的**。 – 2010-11-02 10:08:14

回答

0

我認爲你使用的是CMS。如果沒有,請使用一個。 WordPress是一個好的開始。

如果你從頭開發,通常的方法是有兩個表:一個頁面信息(這樣的標題,菜單位置等),然後page_content表,其中有列page_idcontenttimestamp

當你保存網頁,而不是更新數據庫表你,而不是寫一個記錄到page_content表頁面的ID和保存的時間。這樣,在前端顯示頁面時,您只需選擇該特定頁面ID的最新記錄,但您也可以通過查詢page_id查詢所有記錄,並按timestamp排序,查看該頁面的歷史記錄。

1

不知道你的特定應用程序堆棧(框架,語言)太多了,你至少有兩種基本方法:

  • 版本化記錄 - 而不是儲存物品作爲一個單一的行中的數據庫(或者文件系統中的單個文件)並用更改進行更新,只需使用指向其以前版本的指針創建新記錄即可。如果你on Rails的,你可能想看看this Railscast about Model Versioning

  • 順序的diff - 另一種方法是保持文檔的當前副本,但保持用戶所做的編輯歷史。如果它是一個簡單的文本文檔,這些編輯可以用diff補丁來表示。維基百科「差異」瞭解更多信息。

如果您仍然需要幫助,請告訴我有關您的設置/要求的更多信息,我們可以從中找出答案。

+0

+1我更喜歡這樣做(存儲版本歷史以及差異)。 – webbiedave 2010-11-02 06:40:59

+0

這聽起來很像我的顛覆集成。它整合顛覆集成總是一個絕妙的主意,是的,它可能會很難做,但框架已經在那裏使用。 – 2010-11-02 06:46:48

-1

有很多種方法可以做到這一點,就像您通過標記php,.net,python和ruby所暗示的那樣。你錯過了我的頭頂上的幾個perl和jsp。其中每一個都有其優點和缺點,並且確實是最適合您需求的問題。 PHP可能是花費時間最快的獎勵。 Ruby,我假設Ruby on Rails,是當天的自動Buzz Word Bingo。 .Net,你是​​否都微軟每個地方,並希望輕鬆整合您的交換服務器和一個不錯的Outlook API? python?你喜歡腳本語言,但你對PHP和紅寶石太好了。

上述每種語言都有其優點和缺點,而且它的確是您知道的事情,您需要花多少錢以及您的時間表。

相關問題