簡體   English   中英

與Joomla一樣構建文章/文檔版本控制系統

[英]Build article/document versioning system as in Joomla

我正在構建一個Web應用程序,我的客戶希望能夠查看即將出現在該應用程序中的原始報告(報告最終會由我的客戶公司的項目負責人更改)。 我猜他們將來會希望看到更多信息,例如每次更改以及在原始報告到最終報告過程中誰做了什么。 這就是為什么我考慮對所有報告實施版本控制系統,以便他們可以將所有更改追溯到原始報告的原因。

我使用Joomla已有很長時間了,我喜歡他們構建數據庫的方法,所以我想知道是否有人熟悉Joomla如何在他們的數據庫中解決這個問題。 我可以看到它們有一個稱為ucm_history的單獨表。 這是他們在數據庫中唯一可以跟蹤舊版本文章的東西嗎?

如果有人可以幫助我描述版本控制的最佳做法,我將非常感激,而且我相信這將對很多其他人有所幫助,因為我看到越來越多的應用程序中出現了這種情況。

是的,所有版本數據都已放入該表中。

在我看來, sha1_hash列是一個非常聰明的數據存儲,因為它可以非常快速地評估唯一性(當然,在最初的character_count檢查之后),而不必掃描數量可能不斷增加的內容行。每個字符數以萬計。 標識獨特的內容對於避免不必要的表格膨脹至關重要。

ucm_history表(如果有人想知道的話,使用Unified Content Model最明顯的缺點是,您無法輕松地對內容數據調用任何有意義的查詢,因為它們都已轉換為json。

ucm_history表是專門設計的,其存在的目的/目標僅是存儲的。 要處理數據,必須將其完全拉出,然后解析json數據。

如果這足以滿足您的項目的需求,那么繼續構建自己的代碼/ db克隆...畢竟,它是開源的!

我對Joomla的版本彈出式模態如何工作(在顯示模態時滾動頁面時亮/滅)和通用的“已保存”消息有一些擔心,該消息可能由於沒有更改而未進行任何更新。 但是,總體來說,這是非常聰明的東西,值得模仿。

ps將來,請在JoomlaStackExchange上發布您的Joomla問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM