生病的吉娃娃

欢迎使用WSBLog,有什么问题或意见请给我反馈,谢谢。

导航菜单

« 阿里旺旺 绿色版 V5.10 WSBLog Beta2的安装以及设置问题 »

WSBLog Beta2 Build 70325发布

这个版本可能是最后一个VB.Net版本了,也有可能是最后一个单用户版本。虽然说是“最后的”版本,但是我对它的定位仍然是个过渡版本。我的目标还是做多用户版本的blog,而且可能很多代码会逐步用C#改写。

源代码和可执行程序下载(都在一起了,不想自行编译的,可以直接使用):
点击下载该文件

——目前程序是在VS2003下开发的,如果使用VS2005打开转化,可能会有错误不能编译。

新用户安装,如果选择使用Sql Server,需要使用的数据库建表脚本(在上面的下载包中的DATA目录也有,文件名为database.sql):
点击下载该文件

——运行改建表脚本会在数据库中建立一个初始用户名:admin,其密码为:www.oucsoft.com,用它进管理界面之后,建一个高级用户平时用就好了。使用老版本(老版本的WSBLog只支持Sql Server)的用户请手工修改数据库。

===================================
关于数据库的变更
===================================
以下操作适用于Sql Server,使用Access的用户请参考另一篇文章:http://www.wubuku.com/post/180.aspx

1、增加了一个表TagArticle,用于单独保存Tag和文章的对应关系(按照原来的结构,文章的Tag信息需要使用LIKE查询,如果文章数量很多,比如100万,会查死人的):

CREATE TABLE [dbo].[blog_TagArticle] (
  [tag_log_ID] [int] IDENTITY (1, 1) NOT NULL ,
  [tag_ID] [int] NOT NULL ,
  [tag_Name] [nvarchar] (255) COLLATE Chinese_PRC_CI_AS NULL ,
  [log_ID] [int] NOT NULL ,
  [log_Title] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL 
) ON [PRIMARY]
GO


2、修改了分类表Category,目前分类表的结构为:

CREATE TABLE [dbo].[blog_Category] (
          [cate_ID] [int] IDENTITY (1, 1) NOT NULL ,
          [cate_Name] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
          [cate_Order] [nvarchar] (10) COLLATE Chinese_PRC_CI_AS NULL ,
          [cate_Intro] [nvarchar] (255) COLLATE Chinese_PRC_CI_AS NULL ,
          [cate_Count] [int] NOT NULL ,
          [cate_Code] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
          [cate_ParentCode] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
          [cate_ParentID] [int] NULL 
) ON [PRIMARY]


对于使用旧版本的用户,请手工修改表结构。该表和上个版本不同的地方如下:

一,将Order字段改为了字符型,这样在编译分类的时候更容易排序:

ALTER table blog_Category 
        ALTER COLUMN
            [cate_Order] [nvarchar] (10) COLLATE Chinese_PRC_CI_AS NULL


二,给分类加上“父分类”的相关字段:

alter table blog_Category
        add
            [cate_Code] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
            [cate_ParentCode] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
            [cate_ParentID] [int] NULL


——也就是说,目前的分类是支持树形结构父子分类方式了。

老版本的用户在手工更新了数据库之后(自动升级功能并不更改数据库表结构),需要运行一下“自动升级”功能,该功能会在Tag和文章的对应关系表(blog_TagArticle)生成新的记录。


另外关于新版本的一些特点:

===================================
使用了URL重写机制
===================================
不在需要手工重建文章(重建索引仍然保留,出于性能考虑)。实际上,新版本仍然支持生成全静态的Html文件(可以在配置文件中修改),但是生成纯静态网页主要是为了保证从google、baidu搜索结果链接过来的静态网页仍然可用,建议使用URL重写。URL重写使用了微软MSDN上这篇文章提供的DLL(已经编译好,已经打包进上面下载文件的bin目录中):
在ASP.Net中执行URL重写

——感兴趣的可以看看这篇文章,可下载一下源代码自行研究。

===================================
代码结构和性能均作了一些优化
===================================
新版本的WSBLog能轻松支持100万级的文章数量。

请看示例网站:http://www.66ph.com

——该网站文章数量超过110万,500多个分类(页面使用Ajax动态装载子分类),6000多个Tag,而Tag和文章的对应记录更是多达230多万条!

===================================
新版本数据库访问部分基于WSORM
===================================
业务逻辑代码并不直接使用Sql语句访问数据库。新版本目前已经是同时支持Sql Server和Access了。而且,新版本完全是基于ORM的。ORM部分没有使用任何现有的ORM产品,而是为WSBLog专门写的一个简单的ORM——WSORM。在实现上只需要对WSORM进行一些小修改,即可以在不改变任何业务逻辑代码的基础上支持其他数据库,比如MySql、Oracle(Oracle的支持其实我写了一半,如果你打开WSORM的源代码,就会发现一个实现了ISession接口的OracleSession,这个类没有写完整。其实支持Oracle并不困难,只是我太懒,有兴趣的可以自己改改ORM部分的源代码)。

WSORM源代码:(已经和WSBLog代码打包在一起了)

====================================
关于程序安装
====================================
先说几个要注意的问题,用WSBLog的估计都是比较愿意折腾的人,有点ASP.Net基础的话很容易弄,没有的话可能麻烦点,我有空发文再补充:

1、如果已经了安装了WSBLog的老版本,需要覆盖前请备份好Include目录,不要把友情链接等文件覆盖了。同时请备份Template目录,如果您自行修改了模板文件并想继续使用的话,同时也请备份Style目录,也是以免被新的同名文件覆盖。

2、配置文件Web.config和老版本有所不同。相对于老版本的Web.config,主要是进行了精简,程序的很多配置放到了单独的xml文件中(其实这是为日后多用户Blog做的准备)。下载的包中包括了两个示例配置文件,分别是Web.config.sample(如果不需要使用URL重写,可以使用这个)和Web.config.urlrewrite.sample(如果使用URL重写,请选择这个)。请选择合适的文件复制后重新命名为Web.config后修改。

一般自行修改配置文件中的下面几句:

  <appSettings>
    <add key="dataConn" value="User ID=用户名;Password=密码;Initial Catalog=数据库名称;Data Source=(local);" />
    <add key="blogRootUrl" value="http://www.wubuku.com/" />
    <add key="blogGuid" value="60E32840-F51D-4520-A8DE-4FEF627D5022" />
    <add key="dbType" value="SqlServer" />
  </appSettings>


第一行是数据库连接字符串设置。需要您把用户名、密码、数据库名称填写好,一般来说Data Source=(local)不需要修改,“(local)”的意思是数据库安装在本机上,如果数据库不在本机上,改一下就可以了,比如改为“Data Source=192.168.0.1”;

第二行是您的BLOG的URL地址,不要忽略了“/”;

第三行如果其实目前其实没有什么用处,如果你在IIS同一个应用程序目录只装一个BLOG的话,其实也是为了以后多用户Blog准备的,你可以随便改一个值。

数据库类型这行请选择“SqlServer”或者“Access”:

    <add key="dbType" value="SqlServer" />



3、Blog的安装目录需要是一个“应用程序”目录,如果你放在IIS的网站根目录下,一般已经是应用程序目录了,如果不是放在根目录下,(根据操作系统版本的不同)可能需要手工用IIS管理器设置一下,把Blog的安装目录创建成应用程序目录;

4,ASP.Net必须对Blog目录有读写的权限。简单地说,如果你的机器是XP,运行ASP.Net的用户应该是“ASPNET”,如果是Windows Server 2003,那么把目录的读写权限给“IIS_WPG”就可以。

===========================================
补充,关于源代码
===========================================

关于项目如何在VS2003中打开的问题,最简单的做法是把压缩包解开之后,在IIS中新建一个“虚拟目录”,然后为虚拟目录创建一个“应用程序”,然后找到WSBLog.vbproj.webinfo文件,修改一下项目路径。

比如,我在我的机器上讲源代码放在E:\WSBLog目录下,IIS中的设置如图:



我的WSBLog.vbproj.webinfo文件内容如下:

<VisualStudioUNCWeb>
    <Web URLPath = "http://localhost/WSBLog/WSBLog.vbproj" />
</VisualStudioUNCWeb>


——先说这些吧,关于安装和配置的问题,以后发文说明。

============================================
版权声明
============================================
WSBLog使用GPL许可协议发布。但GPL版权仅适用于WSBLog的源代码本身。您所获得的WSBlog下载包中,包括的一些资源,包括模板、Style文件、图片文件等来自于z-blog 1.6,有些则是网上可公开获得的资源,或者是在这些资源的原有基础上进行了一些修改。WSBLog不改变这些资源的原有版权属性。如果什么地方您认为侵犯了您的版权,请联系我。
  • quote 21.ym
  • hi.我装了你的博客程序,不过如何修改admin的密码呢?我尝试修改了一下,但是不成功
  • 2008-7-8 17:24:00
  • quote 20.好友
  • 有人诽谤网站66ph.COM是非法网站,详情查阅中国互联网协会12321举报受理中心网址:http://www.12321.org.cn/blxi_ly.php?pageno=2
  • 2007-11-15 3:42:00
  • quote 19.yang
  • 那个网站是我一个朋友的域名,想以后用来做企业黄页,所以给我提供了一些信息进行测试。经联系,他们已删除关于你公司的信息,以及对个人的人身攻击言论。至于其他言论,不能辨别真伪,本着公平的原则,暂时保留。
  • 2007-10-9 13:51:00
  • quote 18.蚌埠盛东设备清洗有限公司
  • 你好站长,在您的测试网站66ph.COM上关于我们企业的简介被加入了一些诽谤的言论给我们的正常工作带来了麻烦,希望你能过将其删除并及时跟我们联系以便我们对肇事这进行法律投述.谢谢.我的联系电话是13955284922
  • 2007-10-7 9:51:00
  • quote 17.Hello
  • c#代码,什么时候有!
  • 2007-9-14 21:23:00
  • quote 15.gaoxin
  • 希望尽早出c# 的blog
  • 2007-7-9 6:48:00
  • quote 14.林碧悠
  • 挺佩服您的,自己学了asp.net这么久都没能完成一个完整的项目。我下了认真研究一下,同时向你表示感谢。
  • 2007-6-22 14:37:00
  • quote 13.yang
  • 如果你认为这个程序仅仅是在z-blog上发展出的一个只做了少量修改的plug版本,我觉得也许你低估了从ASP到ASP.Net版本迁移需要做的工作量。如果你真的研究过它的源代码,你就会发现:其实这个blog的内核已经完全重写了。甚至我可以自信地说,如果我有一天真把它改成了C#版本,最少在源代码部分,我几乎可以自称100%自有版权。其实,要把它改得和z-blog面目全非并非难事,不改的主要原因是为了让其他感兴趣的使用者能在网上找到更多的兼容的资源,另外也是为了显示这个程序结构的灵活性,也给一些从ASP转向ASP.Net的初学者提供一个学习如何利用ASP.Net的优秀特性的示例。(举个例子,如果你研究过它的源代码,就会发现由于使用了ASP.Net的Attribute特性,这个blog不使用z-blog模板而代之以别的blog程序的模版其实不难。)
  • 2007-6-10 22:39:00
  • quote 12.yang
  • 我也不知道这算什么,最少,我从来没有隐瞒过这份程序是从z-blog改的,我也声明过除了源代码,其他东西都属于z-blog。如果真要这么较真,很多开源就没法做了。我又没有从中获取什么经济利益,所有源代码又是公开的,不过为了方便其他人学习研究而已。如果真的按照z-blog的声明“未经RainbowSoft Studio书面同意,用户不得借助Z-Blog发展与之有关的衍生产品、作品、服务,不得向任何第三方公开发布修改后的软件”,那么,各种plus好像都要经过他们书面授权才可以做了?你看见过几个人修改z-blog是真的得到了书面授权的?包括z-blog本身,利用internet得到的一些资源比如图片等,真的也是得到了作者的授权吗?我在他们的论坛上也公开过这个程序的源代码,他们当时并没有异议啊?算了,如果他们真的较真,也许,我该完全重写一个C#版本的。
  • 2007-6-10 22:09:00
  • quote 11.Washun
  • http://www.washun.cn
  • 对于本Z-Blog的源代码、文字、图片等相关信息,未经RainbowSoft Studio书面同意,用户不得借助Z-Blog发展与之有关的衍生产品、作品、服务,不得向任何第三方公开发布修改后的软件。

    不知阁下目前这种行为属于什么?
  • 2007-6-9 21:52:00
  • quote 10.Washun
  • http://www.washun.cn
  • 这个blog程序之中有多少百分比是属于你自己的,多少来源于Z-blog。而你的版权这样标注,就让人莫名其妙。你的版本最多属于plus版的,最终的版权还是属于Z-blog。Z-blog虽然属于开源程序,但是基本的版权还是希望使用者尊重。Z-blog的《-Blog软件最终用户许可协议》中就写道:Z-Blog的一切版权等知识产权,以及与Z-Blog相关的所有信息内容,包括但不限于:文字表述及其组合、商标、图标图饰、界面设计、版面框架、有关数据、印刷材料、电子文档等均受著作权法和国际著作权条约以及其他知识产权法律法规的保护。除了任何软件作者授权许可协议所提供的明确书面许可外,拥有本Z-Blog并不赋予您任何有关这些专利、商标、版权或其它知识产权的许可3.1.1 不得删除本Z-Blog及其他副本上所有关于版权的信息、内容;
    3.1.2 对于本Z-Blog的源代码、文字、图片等相关信息,未经RainbowSoft Studio书面同意,用户不得借助Z-Blog发展与之有关的衍生产品、作品、服务,不得向任何第三方公开发布修改后的软件。
    3.1.3 用户不得利用本Z-Blog发表、传播、储存侵害他人知识产权、商业秘密权等合法权利的内容。
  • 2007-6-9 21:52:00
  • quote 9.yang
  • 谢谢,难得你这么热心。其实这个BLOG我没有下什么大功夫的,所以后台管理部分我觉得做得还是挺烂的。我觉得唯一值得称道一点的是和Z-blog的兼容性。可这个程序它运行在ACCESS之上的时候,重建索引时存在效率问题。主要是我自己写的简易ORM部分还是不完善。如果文章比较多建议你还是用SqlServer+UrlRewrite机制。我很希望大家能自行完善这个程序,我个人感觉这个程序还算是半成品而已,比较适合有一点计算机编程知识的人使用。
  • 2007-5-29 16:02:00
  • quote 8.毛豆
  • http://blog.blueshop.com.tw/dplayerd
  • 站長大,我試用了你的程式後,經過一番摸索總算架起來了,雖然發文還不能Show出來,不過也讓人興奮。

    另外我把架設的步驟都寫成教學了,雖然是正體中文,反正用FireFox的同文堂轉換很方便嘛,哈哈。
    Haha

    簡易教學網址:[URL]http://blog.blueshop.com.tw/dplayerd/archive/2007/05/29/51055.aspx[/URL]

    Grimace
  • 2007-5-29 15:00:00
  • quote 6.lee
  • http://boylee.net
  • 这个想法不错哦.做成common要方便多了.也刚强大了.我倒觉得vb.net比较容易懂些.可能国内c#用的多吧.我自己学了点c#,然后项目都是vb.net的.只做过一次c#的
  • 2007-3-30 16:50:00
  • quote 5.yang
  • 事实上,我从来不认为VB.Net比C#差,只是有个哥们想和我一起搞这个东西,他说他VB.Net看不懂,于是,而且,好像现在用C#的也越来越多了,我只好打算慢慢改了。其实我打算用C#定义一堆Common接口,然后让不同的人用不同的.Net语言来实现不同的模块,在配置文件里面把不同的模块装配起来,搞点IoC的概念,不过这个可能是比较远的事了。
  • 2007-3-29 21:57:00
  • quote 4.lee
  • http://boylee.net
  • 我去下个新版看看,嘿嘿.现在的很不错哦
  • 2007-3-29 16:58:00
  • quote 3.lee
  • http://boylee.net
  • 那时候我初学asp.net哦,刚开始看的那个是蛮痛苦的,结构比较乱,现在越来越好啦.不过挺佩服你们能坚持的.我也想自己写,总是坚持不下来.
    不过我不觉得C#就一定比vb.net好.国外还是vb.net用的多.国内发展的晚,突然就上个c#跟风,形成c#比vb.net好的错误观点.我觉得哪个语言不重要,重要的是思想,呵呵Haha
  • 2007-3-29 16:57:00
  • quote 2.yang
  • 惭愧惭愧,我觉得这份代码呢,其实还是有很多不如意的地方,至于上一个版本的代码,我觉得基本就是狗屎一堆了。Hehe下一个版本打算换C#,不过,估计一开始会C#和VB.Net同时使用。之所以这样,出于两个问题的考虑:1,一次全改工作量可能有点大;2,我打算用这样的方式,强迫性地把各个模块之间的偶合解开。有些模块(每个模块编译成一个dll)用VB.Net,有些用C#,模块之间的引用尽可能得少(比如业务逻辑模块只允许引用ORM),这样有助于取得一个松偶合的良好架构,为以后的灵活扩展打下基础。
  • 2007-3-27 8:58:00
  • quote 1.lee
  • http://boylee.net
  • Haha不错哦,加油加油,继续继续.我以前读过这个blog代码呢,呵呵
  • 2007-3-26 21:58:00

发表评论:

Verificaton_Code

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点.

网站目录

Google

日历

最新评论

最近发表

Powered By WSBLog 1.6 Beta Build 60420

Copyright 2004-2006 wubuku.com. Some Rights Reserved.