2013-09-26 17 views
0

我們開發了一個基於CMS的網站建設者。它目前只在asp/ms-sql中可用。一個php/mysql版本現在正在生產中。更新網站與Wordpress和其他人使用的功能類似

我們缺少一個重要的事情是通知用戶該軟件有關可用更新和簡單的「一鍵式」解決方案來安裝更新的方法。

此更新可能與更正​​錯字一樣簡單,也可能與添加將引起CMS中新頁面的新功能,更改公共頁面以及更改現有數據庫表格或添加新的功能表。

提出的問題是......我們甚至可以從哪裏找到有關更新實施的信息?

希望這裏有人能指引我們走向正確的方向。

回答

1

當管理員登錄時,站點通過它的當前版本向服務器發送HTTP請求(使用服務器的CURL或瀏覽器內的JSONP)。更新服務器回覆'有更新的版本:2.0.1.1.2'或'沒有更新可用'。

在命中更新時,替換核心文件並通過ALTER TABLE語句調整數據庫。 確保您擁有將文件寫入www用戶的權限。

您應該構建軟件,使其具有不被用戶編輯的文件和僅包含用戶內容的文件。所以你可以替換核心文件而不用擔心替換任何用戶內容。用戶配置文件需要特殊處理。

這並不難,所以我希望我的建議有所幫助。

只要確保你有一個非常嚴格的API和代碼,所以它適用於所有客戶,不考慮操作系統和環境,以後很難再改變。

我也建議使用SSL進行通信。

+0

我也會在修改過的文件中使用校驗和,從服務器獲取。 – halfer

+0

謝謝@丹。 ** 1)**我對CURL或JSONP一無所知(猜猜是時候我學會了)** 2)**我知道如何編寫用於更改和/或添加表的代碼。 ** 3)**權限很容易設置,只有一個例外...根目錄中的索引文件。 ** 4)**所有用戶內容都存儲在數據庫中(文件不可編輯)。 ** 5)**「更新服務器」可能只是一個網站,其中包含回覆HTTP請求所需的文件,並存儲更新/更新的文件...是否正確? – Kuya

+0

除索引文件的設置權限外,所有這些都是正確的,與所有其他文件相同。當你從外部服務器包含JavaScript並將你的參數(在本例中是版本信息)放入請求參數時,JSONP就是。作爲回報,你會得到一個JSON結果(最新版本可用)。它比聽起來容易! – DanFromGermany