Light Blogging系统没有数据库

时间:2009-12-24 00:20:55

标签: php xml ajax blogs

这是一般编程问题。

制作轻量级博客系统的最佳方法是什么,可以处理图像,bbcode-ish样式和文本而不用数据库后端?在极端情况下,灯光意味着不超过50到100个柱子。 应该使用哪种语言?信息是否有任何首选数据格式?安全性如何发挥作用?

编辑:客户端没有数据库,位于共享服务器上。无法改变这一点。因此,没有DB。

EDIT2:

有人提到SQL Compact - 除了将文件复制到服务器之外还需要什么?这里的关键是再次,事情不应该需要比FTP Acess更多的权限。

8 个答案:

答案 0 :(得分:8)

如果你想自己做;将每个帖子存储为目录中的文件。然后,排序和限制您部分依赖文件名的帖子来订购和限制它们,并且可能(在搜索的情况下)读取每个最后的文件。不要让用户发一万个帖子。但是,上面被认为是平面文件数据格式。您可以通过在每个帖子文件中使用JSON,Yaml或XML等标准格式来获得乐趣,甚至可以通过在大多数客户端代码中使用Ajax调用来请求这些格式。

现在,如果您想要使用平面文件的原因是您只是不想安装数据库服务器,那么就没有什么能阻止您将本地(到服务器)文件作为berkley DB,Lucene索引读取,或使用适当的客户端库从您的webapp中的SQLite DB。您会发现这些方法中的任何一种方法都比前面提到的更安全(更快一点,代码更易读),并且在服务器上安装所有相同的要求(读写文件权限)。许多Web框架或语言(如php)都附带了这些客户端库的API选项; SQLite和Lucy(C Lucene)特别。

如果您只是在寻找它的示例,我首先(我认为1999或2000)遇到blosxom这是一个perl脚本,可以作为每个请求的cgi脚本运行,也可以作为cron运行工作。它会根据您投入到扫描目录中的内容构建一个过时的“帖子”索引。它还构建了一个RSS提要。

答案 1 :(得分:2)

JekyllBlogofile是我最喜欢的解决方案,“在上传之前编译页面”。

答案 2 :(得分:1)

我会在这里走出去,说它并不总是目的地,而是旅途。

如果您打算这样做,我建议使用您感觉舒服的语言。就个人而言,这对我来说就是C#/ .net,但是从你的标记中我会假设PHP将是你选择的Serverside脚本语言。

我会布局我希望我的应用程序的行为方式。如果要有大量数据,你应该考虑(如dlamblin所提到的)某种类型的数据库用于查找和检索。 (光博客,没有那么多数据...... 1000个用户可以编辑?也许你应该考虑一个数据库。)一旦你决定如何存储数据,决定如何呈现它。

为您要实现的每个功能(博客模板,bbcode,用户身份验证,文本搜索......)编写一些概念验证代码,然后开始一起工作。

答案 3 :(得分:0)

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

这已经完成,因此无需再次创建此类CMS。有很多。

答案 4 :(得分:0)

我同意dusoft的说法已经完成了。

DotNetBlogEngine.net是一个基于ASP.NET(C#)的博客系统,它有一个很好的XML后端作为选项。

答案 5 :(得分:0)

不直接回答您的问题,但请检查Unify

答案 6 :(得分:0)

如果你不想写一个新的或想要获得灵感:

答案 7 :(得分:0)

您既可以使用XML,也可以使用SQL compact(它允许像SQL Server一样处理事物,而不是使用平面文件的数据库)。