我們的客戶希望我們爲網站文章實施更改歷史記錄。什麼是最好的方式來做到這一點?什麼是最好的方式來存儲網站文章的變化歷史?
回答
我認爲你使用的是CMS。如果沒有,請使用一個。 WordPress是一個好的開始。
如果你從頭開發,通常的方法是有兩個表:一個頁面信息(這樣的標題,菜單位置等),然後page_content
表,其中有列page_id
,content
和timestamp
。
當你保存網頁,而不是更新數據庫表你,而不是寫一個新記錄到page_content
表頁面的ID和保存的時間。這樣,在前端顯示頁面時,您只需選擇該特定頁面ID的最新記錄,但您也可以通過查詢page_id
查詢所有記錄,並按timestamp
排序,查看該頁面的歷史記錄。
不知道你的特定應用程序堆棧(框架,語言)太多了,你至少有兩種基本方法:
版本化記錄 - 而不是儲存物品作爲一個單一的行中的數據庫(或者文件系統中的單個文件)並用更改進行更新,只需使用指向其以前版本的指針創建新記錄即可。如果你on Rails的,你可能想看看this Railscast about Model Versioning
順序的diff - 另一種方法是保持文檔的當前副本,但保持用戶所做的編輯歷史。如果它是一個簡單的文本文檔,這些編輯可以用
diff
補丁來表示。維基百科「差異」瞭解更多信息。
如果您仍然需要幫助,請告訴我有關您的設置/要求的更多信息,我們可以從中找出答案。
+1我更喜歡這樣做(存儲版本歷史以及差異)。 – webbiedave 2010-11-02 06:40:59
這聽起來很像我的顛覆集成。它整合顛覆集成總是一個絕妙的主意,是的,它可能會很難做,但框架已經在那裏使用。 – 2010-11-02 06:46:48
有很多種方法可以做到這一點,就像您通過標記php,.net,python和ruby所暗示的那樣。你錯過了我的頭頂上的幾個perl和jsp。其中每一個都有其優點和缺點,並且確實是最適合您需求的問題。 PHP可能是花費時間最快的獎勵。 Ruby,我假設Ruby on Rails,是當天的自動Buzz Word Bingo。 .Net,你是否都微軟每個地方,並希望輕鬆整合您的交換服務器和一個不錯的Outlook API? python?你喜歡腳本語言,但你對PHP和紅寶石太好了。
上述每種語言都有其優點和缺點,而且它的確是您知道的事情,您需要花多少錢以及您的時間表。
- 1. 什麼是一個很好的解決方案來存儲對象的變化歷史?
- 2. 什麼是最好的方式來存儲使用php
- 3. Django最好的方式來存儲數百萬產品的價格歷史?
- 4. 什麼是最好的方法來存儲PDF文件?
- 5. 在SQL Server 2005/2008中存儲歷史數據的最佳方式是什麼?
- 6. 在MySQL表中存儲歷史價格表的最佳方式是什麼?
- 7. 網站:什麼是存儲大量用戶變量的最佳方式?
- 8. 什麼是最好的文本存儲
- 9. 什麼是最好的方式來描述移動和桌面版本的網站之間的變化?
- 10. 什麼是最好的方式來存儲是否已閱讀rss項目
- 11. 如何使用cookie來存儲用戶最近的網站歷史記錄(PHP)?
- 12. 哪裏是最好的地方存儲網站的密碼salt?
- 13. 什麼是最好的方式來存儲N量的數組? ç
- 14. 什麼是最好的方式來存儲用戶定製的jQuery-ui排序?
- 15. 在android中存儲新聞文章的最佳方式是什麼?
- 16. 在sql db中存儲讀取文章的最佳方式是什麼?
- 17. 什麼是存儲站點配置數據的最佳方式?
- 18. 最好的方式來存儲一大堆履帶的網址
- 19. 什麼是最好的方式來存儲和檢索多維NSMutableArrays?
- 20. 什麼是最好的方式來存儲和搜索類對象(在PHP中)?
- 21. 什麼是最好的方式來輸入和存儲網址輸入在MySQL PHP的網頁?
- 22. 存儲徽章標準的最佳方法是什麼?
- 23. 什麼是最好的jQuery深層鏈接/歷史插件?
- 24. (Mysql)什麼是最有效的方式來存儲表更改?
- 25. 什麼是最有效的方式來存儲500.000圖像?
- 26. 在Python中存儲快速變化的數據的最佳方式是什麼?
- 27. 在PHP中存儲類變量的最佳方式是什麼?
- 28. 什麼是最好的方式來處理多個文件
- 29. 什麼是一些最好的自動化網站QA工具?
- 30. Android - 最好的方式來存儲多個佈局變種
-1:「最佳」未定義。提供一些標準。什麼對你或你的客戶很重要。沒有技術堆棧:沒有框架,沒有特定的語言,沒有數據庫,沒有背景。如果這是家庭作業,這是作業的一個不好的解釋。請提供一些支持細節。請成爲**具體**。請爲你定義什麼是最好的**。 – 2010-11-02 10:08:14