3

我們有一個Web應用程序,其中包含系統操作員可以更改的一組內容(例如新聞和事件)。有時我們會發布新版本的軟件。該軟件被標記並存儲在顛覆中。不過,我對如何最好地控制可能獨立更改的內容有點困惑。人們用什麼機制來確保內容的存儲和版本化的方式可以重新創建網站,或者至少受版本控制?你如何爲託管內容提供應用程序

回答

0

將所有內容都保存在數據庫中,併爲每個事務提供一個時間戳。這樣,如果發生最壞情況,您可以保持標準的數據庫備份並在任何你想要的日期加載網站內容。

1

當你識別兩個組的其他有自己的生命週期(軟件文件一側的文件,「新聞和事件」,你知道:

  • 你不能在一起versionned他們同時
  • 你不應該把相同的標籤

您需要separatly保存「新聞和事件」的文件(無論是在VCS中或者在DB像伊恩·雅各布暗示,或在CMS - 內容管理系統),並找到一種方法將兩個鏈接在一起(一個ID,一個時間郵票,元標籤,...)

不要忘記你不僅在生命週期中討論兩套不同的文件,而且還根據它們的性質討論不同的文件集:

通過S.Lott

  • 軟件文件考慮這太問題「Is asset management a superset of source control」中介紹的術語:基礎設施信息,那就是「代表的企業信息資產的處理」。您的代碼是該資產的一部分,由VCS(版本控制系統)作爲配置管理規範的一部分進行管理。
  • 「新聞與事件」:企業信息,即數據(未處理);這經常在內容管理器和關係數據庫之間分開。

因此,不是所有的事情都應該在Subversion中結束。

0

我想部分答案取決於你使用的是什麼樣的CMS,以及你的網絡應用是如何設計的,但總的來說,我認爲新聞項目或事件等數據是「內容」。換句話說,它不是你的應用程序的一部分 - 這是你的應用程序處理的數據。

當然,您的CMS代碼和您的應用程序代碼之間會存在版本控制問題。你可以通過定義兩者之間的接口來管理這個。就我個人而言,我會將數據作爲XML發佈到Web應用程序中,這使您可以使用XML模式來準確定義CMS需要生成的內容以及Web應用程序應該處理的內容。

這應該意味着,Web應用程序中的大部分更改都可以在數據呈現沒有相應更改的情況下進行。當功能需要更改時,您可以創建該模式的新版本並繼續取得進展。在這種情況下,我會用Web應用程序代碼檢查模式,但是YMMV。

這並不容易,如果您需要CMS中的其他數據字段,它會變得更加複雜。期望計劃一個相當複雜的發佈過程(也取決於您的Dev-Test-Acceptance-Production場景的複雜程度)。

如果您不使用CMS,那麼您應該考慮它。 (當然,如果操作很小,它可能仍然屬於手工操作可接受的範疇。)將原始數據放入版本控制系統並不能解決問題 - 您需要能夠控制您的數據發佈到Web應用程序的格式。幾乎可以肯定,這種格式應該是用於軟件消費的東西,因此通常不適合寫新聞或事件的人進行手動編輯。

相關問題