惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

美团技术团队
人人都是产品经理
人人都是产品经理
月光博客
月光博客
V
V2EX
WordPress大学
WordPress大学
酷 壳 – CoolShell
酷 壳 – CoolShell
Last Week in AI
Last Week in AI
博客园 - 三生石上(FineUI控件)
小众软件
小众软件
Hugging Face - Blog
Hugging Face - Blog
V
Visual Studio Blog
宝玉的分享
宝玉的分享
雷峰网
雷峰网
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - Franky
博客园 - 聂微东
博客园 - 司徒正美
博客园 - 【当耐特】
爱范儿
爱范儿
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
大猫的无限游戏
大猫的无限游戏
博客园 - 叶小钗
阮一峰的网络日志
阮一峰的网络日志

博客园 - 黑羽飘舞

挥别虎年,迎来兔年 评论:B2Cer,其实您既不电子,也不商务 整理思路重新开始,一段乱七八糟的“电子商务创业”经历。--工作有风险,选公司要谨慎 什么是电子商务的核心竞争力 Subtext分析3-Subtext.Akismet [转]序列化与反序列化,及Json序列化反序列化 [转]JSON序列化与反序列化 [转]WCF一个Host实现多契约服务 [转]WCF分布式事务 抽象类,接口,委托与事件 Subtext分析2-Subtext.BlogML 博客园的管理团队都在做什么,博客园是个大杂烩么? 项目那点儿事---山寨篇(注释不是程序员的负担) 我的2008,感谢2008,挥别2008 文档知多少---走出软件作坊:三五个人十来条枪 如何成为开发正规军(二十五)[转] 葵花点穴手 定---走出软件作坊:三五个人十来条枪 如何成为开发正规军(二十四)[转] 八部众---走出软件作坊:三五个人十来条枪 如何成为开发正规军(二十三)[转] 波、波、波---走出软件作坊:三五个人十来条枪 如何成为开发正规军(二十二)[转] 我要飞的更高---走出软件作坊:三五个人十来条枪 如何成为开发正规军(二十一)[转]
Subtext分析1-前言架构
黑羽飘舞 · 2009-10-22 · via 博客园 - 黑羽飘舞

由于最近要用到一个多用户blog,而我也只会asp。net,比来比去发现只有Subtext才最适合我。oxitex,blogEngine等虽然也不错,不过oxitex功能太过烦杂,而blogEngine是基于xml的单用户程序,改起来性价比太低。blogEngine是以xml为基础,另外也有其他扩展,不过改成多用户比较费时。此外国内也有不少不错的产品比如i-favourite,EnjooSite,同样基于Subtext的EntLib但是多少都由于版权,费用,功能等问题不能使用,我是个人出于兴趣,只选择免费开源:)。其中i-favourite功能最为符合国内用户。另外一个问题就是国内产品的工程质量和性能,真的是不容乐观。下来对Subtext做一个系列的分析,同时也是对于个人工作的一个记录吧。

Subtext是一个基于原.text 博客系统的免费且开源的多人博客发布平台。

看到很多文章的介绍都写的Subtext是单人博客,这里有必要说明下,Subtext是多人博客,其后台就可以看出代有聚合功能。

目前的稳定版本是(.net2.0):Subtext_Release2.1.1.1

最新版本是(.net3.5):Subtext2.2.0.17

项目地址:http://build.subtextproject.com/ccnet/ViewFarmReport.aspx

Subtext的架构非常优秀,主要是有以下几个工程组成

一、Akismet(Automattic Kismet)

Akismet原是WordPress的一个插件,它的作用是帮助你处理垃圾评论和垃圾的trackback、pingback。

当你的博客收到了一个新的评论或trackback或pingback,它会自动调用Akismet web服务,对提交的内容进行审核。对于误报和错报,Akismet同样也进行了处理。

对于个人用户来说,需要到akismet.com上去申请一个Api-Key,再到subtext后台管理上去配置下就可以了。如果你需要托管服务可以到akismet.com申请付费,解决垃圾广告的困扰。

二、BlogML

Blog是在RSS流行以前制订的一个通用标准交换语言,不过现在有了RSS应经很少有用了。不过在Subtext中依然提供对他的支持。

三、Extensibility

Subtext有很多优秀插件,可以为我们提供很多需要的功能。没错,这个模块就是Subtext的插件模块,提供扩展接口。

四、Subtext.Framework

没什么多说的了,看名字就知道是Subtext的框架类了,提供核心业务逻辑的支持,可以说是核心中的核心了。

五、Subtext.Installation

安装类,此工程负责Subtext的安装,在每次页面调用时会调用检测是否安装,如果没安装就由这个类接管。

六、Subtext.Providers.BlogEntryEditor.FCKeditor

额。看到BlogEntryEditor和FCKeditor就知道是编辑器模块了。Subtext提供的强大编辑功能就源于此类,如果要对编辑器做修改和添加额外的上传,附件功能就要修改此类。

七、Subtext.Scripting

脚本类,提供Subtext的SQL 查询脚本查询支持,值得一提的是还支持模板参数。其实现非常轻量,值得一看!

八、Subtext.Web

Subtext的页面层,提供前台的显示页面,由于Subtext是采用模板类的现实方式,此处web类在运行时只是提供一个工具类库、和容器的支持,并不是web页面的作用。

九、Subtext.Web.Controls

Subtext的控件类,将独立的可用复用的控件进行封装,提供给Subtext.Web使用。

十、UnitTests.Subtext

单元测试类,很强大的一个类。提供Subtext单元测试的支持,统一管理Subtext的错误提示等等。

十一、WatinTests

Subtext用户界面UI的自动化测试类。。。。真是只有想不到没有做不到,我以前怎么没想到给自己的程序做自动化测试功能呢?

呵呵,现在已经把Subtex的模块简单的介绍了一下。下面是就是对各模块的详细分析了,由于工作原因更新速度可能不是很快,大概每星期一篇吧。