GAE 开源博客系统:Doodle

GAE 开源博客系统:Doodle

项目地址:https://bitbucket.org/keakon/doodle/wiki/Home

功能分类:博客类   技术分类:App Engine

更新时间:2011-05-14 16:32:49

用户关注:7850 次

用户评价:0 次 我来点评↓

说明

既然是叫Doodle这样一个随意的名字,自然就是个随性而做的玩意。
出发点仅仅是为了将自己论坛和QQ空间的资料导出到Google App Engine平台上,作为一个免费的博客而已。
因此也不要对功能抱有什么希望,我只是满足自己的需求而已。

性能

  • 页面的响应时间一般小于200ms,平均约在100ms以内。
  • 新实例的启动时间一般小于1000ms,平均约为500ms,CPU时间约在220ms左右。
  • 免费的CPU配额每天可以支撑约20万PV。

已实现的功能

  1. 导入Discuz!和WordPress的数据。
  2. 导入、导出Doodle专用的数据。
  3. 生成ATOM供稿。
  4. PubSubHubbub。
  5. XML-RPC ping。
  6. 生成网站地图。
  7. 可在配置文件中更换使用主题。
  8. 多级分类,标签,友情链接。
  9. 邮件通知。
  10. 代码高亮。
  11. BBCode解析。
  12. 富文本编辑器。
  13. AJAX表单。
  14. 标签云。
  15. 文章评分。
  16. 自定义文章URL,可含中文。(但URL格式有所限制)
  17. 搜索。(需自行设置关键字,因为暂无好用的中文全文搜索)
  18. 自动载入下一页和评论。
  19. 缓存常用数据和页面。
  20. 可显示和记录页面响应时间、数据库访问时间与数据库访问次数。
  21. 用电子邮件发表日志。
  22. 用户分级和屏蔽。
  23. Twitter集成。
  24. 统计订阅数。
  25. 统计在线访客数。

待实现的功能

  1. 导出为RSS形式的数据,以供WordPress导入。
  2. 国际化支持。
  3. 更多主题及手机主题。
  4. 投票。
  5. 页面重定向和文章合并。
  6. 垃圾评论审核和过滤。
  7. 上传附件。(暂时没开启GAE的支付,因此没法用Blobstore。)

不推荐且暂未实现的功能

  1. 密码保护。(需要在数据库里增加一个不常用的属性,索引需要增加数条,且处理逻辑大幅增加。)
  2. 多作者支持。(目前实现默认作者即管理员,若要实现这个角色,用户访问时都需要增加一次数据库访问来验证,且逻辑将大幅修改。)
  3. 在线更换主题。(需要跟踪用户cookie,创建多个模板引擎,增大内存占用量。)
  4. 更改URL格式。(需要改动多处代码逻辑。)
  5. Trackback与Pingback。(不觉得有多好用,反而容易被垃圾信息骚扰。)

不会去实现的功能

  1. 生成RSS供稿。(功能与用途与ATOM相当,且主流阅读器都支持ATOM,同时生成2者会浪费数据库配额。)
  2. 访问记录和统计。(可用Google Analytics等服务代替。)
  3. 存档。(说实话我不觉得这个功能有用,想找文章直接搜索就行了。)
  4. 向后翻页和按页号定位。(向后翻页无法使用游标,按页号定位在页数较大时非常影响性能。)
  5. 支持Windows Live Writer。(微软这该死的破软件装了我无数次都失败。)

其他问题

  1. 为什么我访问博客时,界面一团糟啊?
    因为我把koi主题改成HTML 5了,而你不幸用了不支持它的浏览器,换个更现代化的浏览器就行了。
     
  2. 为什么koi主题是GPL License,Doodle使用了它,却不以GPL License发布?
    主题是可以随意更换的,它本身并不属于Doodle的一部分,我只是附带放在这里,因为暂时没空做个新主题。就好像Windows是闭源的,你写了一个可用于Windows的GPL程序,你不能要求用你软件的Windows系统就必须以GPL开源。
     
  3. 有使用说明吗?
    有个简单的README.txt文件可供参考。使用时基本上只需要修改下setting.py文件和几个yaml文件。导入数据有个简单的说明,自己看吧,也许需要自己改些配置和代码。此外可能还要修改URL映射。
     
  4. 使用上有什么限制吗?
    1. 分类名是唯一的,不能有2个同名分类。
    2. 分类路径全长、文章标题、文章URL、用户名和用户网址不能超过500字节。
    3. 单篇文章不能超过1MB。
    4. 暂不支持全文搜索。
    5. 文章太多时,生成网站地图会占用很多数据库资源,且网站地图大小限制在10MB以内,所含文章数限制在5万个以内。(每天写1篇文章的话,够写137年了,因此不愿为了支持大博客而采用网站地图索引的设计。)
       
  5. 现在有那么多基于Google App Engine的blog程序,Doodle与它们相比有什么优缺点?
    我认为这主要是设计上的取舍问题。如果要实现更多功能,势必增加数据库大小,并影响响应时间。而Doodle只保留了我认为必备的功能,因此数据库可以很精简,也有更多的时间可以花在优化性能和实现好玩的功能上。

版权

Doodle程序主体以MIT许可发布。

另外还使用到了下列不属于本程序的库或资源:

  • keakon的YUI框架。(MIT License)
  • kuwata-lab.com的Tenjin模板引擎。(MIT License)
  • Will McGugan的Post Markup(做了一些修改)。(New BSD License)
  • jQuery。(MIT License)
  • markItUp!。(MIT License)
  • Highlight.js。(BSD license)
  • 3D球面标签云(修正了一个bug,并增强性能)。
  • N.Design Studio的koi主题(从WordPress移植过来)。(GPL License)
  • WPSHOWER的iPhonsta主题(从WordPress移植过来)。
  • FreshPress主题(从WordPress移植过来)。
  • 其他属于Python或Google App Engine自带的库。

我是作者,想要修改项目内容?把修改内容发到联系邮箱(看最底部)

用户评价 (0)

     

称呼(*)

网站

邮箱

填写右边的单词 simple

Copyright© Python4cn(news, jobs) simple-is-better.com, 技术驱动:powered by web.py 空间主机:Webfaction

版权申明:文章转载已注明出处,如有疑问请来信咨询。本站为 python 语言推广公益网站,与 python 官方没有任何关系。

联系/投搞/留言: en.simple.is.better@gmail.com 向本站捐赠