2009-12-24 106 views
2

這是一個通用的編程問題。光博客系統無數據庫

什麼是使光照博客系統,可以處理圖像,bbcode-ish樣式和文本沒有數據庫後端的最佳途徑?在極端情況下,光線不超過50至100個。 應該使用什麼語言?這些信息是否有任何首選的數據格式?安全性如何發揮出來?

編輯:客戶端沒有數據庫,是一個共享的服務器上。無法改變這一點。所以沒有DB。

EDIT2:

有人提到SQL精簡 - 確實需要什麼比將文件複製到服務器的更多?這裏的關鍵是再次事情不應該需要比FTP訪問更多的權限。

+2

是否有避免數據庫的特殊原因?數據庫將是最高效和可擴展的解決方案。 – Ariel 2009-12-24 00:43:06

+0

你仍然可以爲你的某些文件DB如http://ffdb-php.sourceforge.net/或Apache的couchDB – dusoft 2009-12-25 18:31:36

回答

8

如果你想自己做;將每個帖子作爲文件存儲在目錄中。然後排序並限制部分依賴文件名的帖子,以便對它們進行排序和限制,並且可能(在進行搜索的情況下)讀取每個最後一個文件。儘管如此,不要讓用戶發佈10,000個帖子。但是,上面是一個平面文件數據格式。您可以通過在每個帖子文件中使用標準格式(如JSON,Yaml或XML)來獲得幻想,甚至可以通過在主要客戶端代碼中使用Ajax調用來請求這些標準格式。

現在如果你想使用平面文件的原因是你只是不想安裝數據庫服務器,沒有任何東西阻止你讀取本地(到服務器)文件作爲berkley DB,Lucene索引或SQLite數據庫從您的Web應用程序使用適當的客戶端庫。你會發現上述任何一種方法比上述方法更加理智(在代碼中更快一點,可讀性更強),並具有在服務器上安裝的所有相同要求(讀寫文件權限)。許多Web框架或語言(如php)都可以爲這些客戶端庫提供API選項; SQLite和Lucy(C Lucene)。

如果你只是在尋找它正在完成的例子,我首先(我認爲1999年或2000年)遇到blosxom這是一個perl腳本,可以作爲每個請求的cgi腳本運行或作爲cron作業。它根據你想要掃描的目錄中的任何內容建立一個「posts」的日期索引。它也構建一個RSS提要。

+0

+1,特別是將嵌入式數據庫建議爲較低規模的解決方案 – Rob 2009-12-25 02:14:17

+0

+1,我認爲值得補充的是,許多現成的博客引擎可以支持嵌入式數據庫。重塑這個輪子根本沒有意義。 – Aaronaught 2009-12-25 19:16:38

+0

SQLite的+1,聽起來像是一個完美的答案。 – 2009-12-25 20:41:53

0

搜索在谷歌平面文件CMS-ES,例如: http://www.flatcms.org/

這個已經做了,所以沒有必要再建立這樣CMS。有很多。

+0

這個鏈接導致一個日本網站,似乎與內容管理無關... – expiredninja 2012-02-20 09:29:19

0

我同意dusoft,這已經完成。

DotNetBlogEngine.net是有一個很好的XML後端作爲一個選項基於ASP.NET(C#)博客系統。

1

我要去這裏走出去的肢體,並說,它並不總是目的地,但旅途。

如果你要着手做這個,我建議使用您舒適的語言。就我個人而言,這將是C#/ .net,但是從您的標記中,我會假設PHP將是您將選擇的Serverside腳本語言。

我會佈置如何我想我的應用程序的行爲。如果要有大量的數據,你應該考慮(正如dlamblin所提到的)用於查找和檢索的某種數據庫。 (Light Blog,沒有太多的數據...... 1000個用戶可以編輯?也許你應該考慮一個數據庫。)一旦你決定如何存儲數據,決定如何呈現它。

爲您想要實現的每個功能(博客模板,bbcode,用戶認證,文本搜索...)寫一些概念代碼的證明,並開始將它們一起使用。

+0

謝謝,實際上這是我的客戶。最多1-3名編輯,並且不常出現半頻繁的職位。 1000個用戶是*重大*多報。是的,PHP是這裏選擇的語言。 – Moshe 2009-12-26 23:38:49

0

不直接回答你的問題,但檢查Unify

0

如果你不想寫一個新的或希望得到一些啓示:

+0

DB免費wordpress - 聽起來令人印象深刻。我已經受到啓發了。 – Moshe 2009-12-25 04:54:05

0

你既可以使用XML,也可以使用SQL compact(它允許像SQL Server一樣處理事情,而不是使用平面文件的數據庫)。