博客系统的结构简述
前几年开始大量流行博客,连要饭的都更博,博客火得就剩一个字――火!有人要搞博客,自然玩程序的就要跟进,搞出各种博客系统来,什么wordpress、zblog等等。界面大同小异,基本的东西就那么一点,今天这篇文章就大体总结一下博客系统的结构。我们先来说说博客系统的特征:
1、基于web用户界面
2、以分类的形式组织博客记录
3、可定制的页面模板
4、评论、反响链接以及引用
5、为相关软件提供web服务接口
6、支持多媒体文件上传
基本上所有的博客系统都有以上的这些功能,然后在这些功能的基础上进行扩展的。
下面讲讲最重要的数据模型
数据模型定义了存储在系统中的对象类型,以及这些对象的关系,下面罗列了基本的博客系统的对象模型。
用户(users):一个博客系统可以有多个用户,每个用户可能拥有多个博客,也可能没有博客。
博客(blogs):一个服务器可以有多个博客也可以只有一个博客,每个用户可能有0~n个博客,但一个博客至少有 一个用户。
博客记录(blog record):博客的最重要组成部分,由一个或多个作者所写。
分类(category):每个博客都有一套分类,每条博客记录都可以指定一个分类。博客记录可以属于多个分类,也可以属于一个分类。而分类可以为树状分类(就是有父级子集的分类系统)。
模板(template):博客外观是由一套模板组成,通过模板语言来展现博客页面。
资源(resource):比如:压缩包、图片、视频等,用户可以在博客记录或博客中使用它们。
偏好(settings):每个博客都有一套参数选项,来做博客的个性化设置。
经过上面的表述基本上一个博客所需要的东西就都有啦。如果要其他的系统就要看开发者个人喜好了,比如友情链接等。
接下来就详细讲一下最重要的博客记录的数据结构。
id:博客记录的唯一标识
固定链接(permalink):固定url,便于搜索查找和用户访问。
标题(title):博客记录的题目。
内容(content):不用说啦,正文。
摘要(summary):博客记录内容的简单描述。
链接(link):如果博客记录是转发的,该属性就记录的原文的url
状态(status):博客发布过程中的状态,如:草稿、已审核、已发布。
发布时间(published):博客记录的发布时间。
更新时间(updated):博客记录最后更新时间。
作者(authors):创建博客记录的人。
参数(config):博客记录可能游戏参数,比如:博客语言、是否可以评论、博客记录所需插件等。
博客记录大体上就是这样了,接下来描述一下和博客记录有关的数据。
分类(ctegory):博客记录可能属于一个或多个分类。这个可以在具体设计时,根据需要来做。
附件(attachments):在发布博客记录时,用户上传的多媒体文件。比如:压缩包、图片、视频等。
评论(comments):访客和博客记录发布者的互动,主要就是通过评论来进行的。
反响链接(trackbacks):其他博客可能在自己博客上写了一些东西,并在其间有些文字响应你的博客记录,接着他会发给你一个反响链接。反向链接协议是由MovableType作者设计的,可以使一个博客服务器通知另一个博客服务器,它的博客记录中引用来自该服务器的博客记录。这个通知就是反向链接,博涵题目、摘要、url、博客名称。
引用(referrers):如果其他网站通过链接到你的博客记录来响应你的博客,你的博客服务器能从web请求或web服务器日志中捕获这些引用url。通过它你可以知道哪些网站提到或链接到你的博客记录。
最后,简单讲一下用户、权限以及博客组。
阅读者(reader):阅读一个或多个博客。大多数博客系统设置为任何人。
评论者(commenter):为一个或多个博客添加评论。大多数博客允许任何人评论,有些则是限制有相关权限的人评论。
编辑者(editor):可在一个或多个博客上建立、编辑和发布博客记录。
作者(author):作者允许在一个或多个博客上建立博客记录,但不能发布。有可能拥有博客记录分类的设置权限。
管理员(admin):可以管理博客的分类、页面模板、书签、附属资源等。
博客系统大概就是这个样子啦。具体实现就是看开发者的设计和开发功力啦。
建议继续学习:
- 使用PHP创建一个面向对象的博客 (阅读:4067)
- 个人订阅的10佳博客与相关介绍 (阅读:3520)
- 为什么创业公司需要写博客? (阅读:2688)
- 随记:关于职业规划,交互设计及写博客 (阅读:2396)
- 门户、论坛、博客、SNS,网站模式的辨析 (阅读:2318)
- 为什么你应该(从现在开始就)写博客 (阅读:1885)
- UGC与高手 (阅读:1785)
- 评论《博客的精神》 (阅读:1727)
- 到底是博客,还是社区? (阅读:1714)
- 互动、关系以及博客为什么不能做社区 (阅读:1691)
扫一扫订阅我的微信号:IT技术博客大学习
- 作者:暗夜木偶 来源: SourceJoy PHP Javascript web前端 用户体验 - 注于web应用开发
- 标签: 博客
- 发布时间:2010-05-22 12:55:44
- [55] Oracle MTS模式下 进程地址与会话信
- [55] IOS安全–浅谈关于IOS加固的几种方法
- [54] 如何拿下简短的域名
- [53] 图书馆的世界纪录
- [53] android 开发入门
- [52] Go Reflect 性能
- [49] 读书笔记-壹百度:百度十年千倍的29条法则
- [49] 【社会化设计】自我(self)部分――欢迎区
- [38] 程序员技术练级攻略
- [33] 视觉调整-设计师 vs. 逻辑