Register  |  
About the author
Baldwin's Status
 Contact Me
Baldwin Sun
Senior Developer for dnn solution & founder of SunBlog module...
Blog搜索
相册库
更多照片请查看相册库
最新评论
Rss Feed
feedsky
抓虾
pageflakes
newsgator
哪吒
我们的服务
  • DotNetNuke 咨询
  • Web设计及其模块开发
  • 免费建站
  • 电子商务
  • 开拓市场
我们致力于开发定制的web 2.0 ,所服务的客户主要包括小中型企业,社区俱乐部及其非盈利机构组织。我们将利用开源的DNN作为我们核心的系统机制,更多相关信息...

资源共享的第一份礼物

本着资源共享的原则,我在此先给大家拿出第一份礼物(也作为即将到来的全国第一个五一小假的纪念 :)

你愿意共享DNN资源么,抑或你需要DNN资源?

在一个QQ群里,总是不断有新人进来,就好比dnn社区,也不断会有新手进来,这不可避免出现老是不断的问同一个问题的状况,在此我想创建一个专门共享资源的群区,大家可以在此分享自己的DNN资源,积少成多,我想最终我们大家都会受益匪浅的.这样就有DNNSUN讨论区(群号:60930597)的创建,哪位有兴趣者不妨加入,但有一个小小要求,希望你不是那种只顾索要资源的类型,而是真正的发扬资源共享精神的一分子. 当然因为DNN本源就是开源的,所有我们在此更多的是推广DNN的非商业运用及其资源收集.
如果你愿意分享的话,我会负责整理这些资源,让大家一起受益,也让后来者感激不已的.当然我们团队也会收集所有关于dnn的资源发布在这里(或我们的站点http://www.dnnsun.com)
目前我们的口号是:让我们一起努力,研究DNN的所有相关课题,希望给DNN在中国的广为人知贡献一点绵薄之力!
这一活动的伸延就是Best Web Gallary的诞生,在此你可以得到最新,最实时的,最前卫的DNN设计及其同行者的咨询,最优秀的DNN网站资源. 访问Best Web Gallary请点击:http://www.dnnsun.com/Home/ShowCase.aspx

如何定制dnn的FCKEditor

这篇文章将简单介绍如何使用和定制DNN里边的富文本编辑器(Rich TextEditor): FCKEditor

DotNetNuke OpenForce '08 来了

DotNetNuke OpenForce Is Back,After a highly successful OpenForce '07 it is now time to begin planning for OpenForce '08.  We are currently working with our conference partners on the OpenForce '08 conferences.  One of our first tasks is to start identifying our speakers.
Are you a DotNetNuke expert?  Do you like to share your DotNetNuke knowledge with the community? Do you enjoy speaking in front of large crowds? You are exactly the person we are looking for.
Please visit the detail from here ( http://www.openforce08.com/Home/tabid/55/Default.aspx )

你的dnn站点慢了么?

当你的dnn站点在线运行了一段时间之后,你会发现速度在不断下降,加载页面很慢很慢,最后导致连自己都懒得访问了.这是为何呢?仔细寻找,你可能会发现数据库一直在膨胀,我想这就是站点变慢的罪魁祸首,在dnn中,如果你开启网站记录这一功能或某一任务调度,这些都会产生一堆的记录信息,久而久之就让你站点的数据库不断的膨胀. 你如果有条件或权限的话,你不妨到主机管理/SQL服务或在SQL Manage里执行以下语句看看你的数据库大小都消耗在哪了:  
sp_spaceused eventlog/sitelog/schedulehistory
 
我想到这你就应该很清楚我们下一步该怎么做,那就是把这些信息都清除了,减轻网站的页面加载压力. 当然,如果这些信息对你跟踪网站有用的话,那你只能继续你的”蜗牛之旅”了.下边列举两种方法可以清除这些记录.
1)  网站管理/查看日志网站记录等页面手动清除,这一方法的缺点就是你还是没法清除schedulehistory这一表里的数据.
2)  主机管理/SQL服务下执行以下SQL脚本:
 
  1. TRUNCATE TABLE {databaseOwner}[{objectQualifier}eventlog]   
  2. GO   
  3.   
  4. TRUNCATE TABLE {databaseOwner}[{objectQualifier}schedulehistory]   
  5. GO   
  6.   
  7. TRUNCATE TABLE {databaseOwner}[{objectQualifier}sitelog]   
  8. GO   
  9.   
  10. TRUNCATE TABLE {databaseOwner}[{objectQualifier}SearchItemWordPosition]   
  11. GO  
就我本地开发服务器上的dnn站点,原来备份数据有60M左右,清理之后我再备份就只有不大10M,我想这效果还是很显然的,所以不管是站点变慢了还是因为备份需要,我觉得我们都可以例时执行以上SQL脚本清理一下,这不失为一种策略.

如何定制DNN站点的网站管理和主机管理

申明一下,这一篇文章是参考http://www.dnnskin.cn站点上的某一贴子而写,就是对此有所总结。(大家有兴趣不妨去看看,挺不错的:)admin configure
在DNN使用中,我们可能有这样的需求,那就不想开放过多的权限给管理员以防止误删的事件,当然可能也有这样的需求, 增加某一个管理页面,对此的一般做法设置为管理员可见,这样就可以保证只有管理员才能查看和编辑这个页面,但是红色的边框提示确实比较难看,或许你需要把这个页面加入到admin或者host菜单,这样更方便管理和显得合理。在这里我们列举如何利用SQL Script来实现(当然也可能也有其他方法,但SQL应该是比较方便和直接的,前提你具有host帐号权限),接下来我们就分别对这两种情况讲解.
注意:以下更改之后必须重启IIS方才生效。
1) 屏蔽某些管理页面,也就是隐藏这些页面,最简捷的解决方案就是把类似以下的脚本拷贝到 主机管理/SQL服务下 当作脚本执行即可隐藏这些页面,不过缺点也是明显,如果你直接拷贝原来的Url仍然可以访问这一页面,实质就是我们只不过玩弄一下技巧吧了,当然你也可以设置IsDeleted或DisableLink这一属性,这就可以彻底的防止通过Url访问了。
UPDATE {databaseOwner}[{objectQualifier}Tabs]
SET [IsVisible]='0' -- Apply to the admin tab to not showWHERE tabid=52
2) 增加管理页面并加入网站管理或主机管理菜单中。
首先我们新建一个页面,要记得查看页面id并记录下来 ,页面权限为正常即可,不必设置为管理员可见,然后添加管理模块到该页面,之后把类似以下的脚本拷贝到 主机管理/SQL服务下 当作脚本执行即可完成把管理页面改到管理菜单下
UPDATE {databaseOwner}[{objectQualifier}Tabs] SET [TabOrder]='10032',
[IsVisible]='1',
[PortalID]=0, -- the filed related to which portal the admin menu exist 
[ParentID]='38',
[Level]='1', -- the filed is the menu level, 0 is 1st, 1 apply to 2st...
[TabPath]='//Admin//YourTabName', -- YourTabName is your tabName which you will insert into the admin menus
[IconFile]='yourTabimage src' -- this filed is optionalWHERE tabid=57
参数解析:
1) TabOrder: 站点管理菜单TabOrder值截止到10031,也就是说你可以用10032 10033 10034……
2) ParentID: ParentID的计算,站点ID为0时,ParentID为38,站点ID为1时,ParentID为56,站点ID为2时,ParentID为74,站点id加1,ParentID加18
portalid=0 ParentID=38
portalid=1 ParentID=56
portalid=2 ParentID=74
portalid=3 ParentID=92
……
这一方法待考证.
3) tabid: 你要加进管理菜单的页面的id
类似如果想要把管理菜单写入host菜单下,需要修改语句如下:
UPDATE {databaseOwner}[{objectQualifier}Tabs] SET [TabOrder]='24',
[IsVisible]='1',
[PortalID]=null,
[ParentID]='7',
[Level]='1', -- the filed is the menu level, 0 is 1st, 1 apply to 2st...
[TabPath]='//Host//YourTabName', -- YourTabName is your tabName which you will insert into the admin menus
[IconFile]='yourTabimage src'-- this filed is optionalWHERE tabid=57
参数解析:
1) TabOrder: TabOrder主机管理菜单TabOrder值截止23,你可以用24 25 26……
2) PortalID: 主机管理菜单PortalID值不变,因为主机管理是全局的,故PortalID默认为NULL
2) ParentID: 类似PortalID,因为主机管理是全局的,故ParentID一般为7
3) tabid: 你要加进管理菜单的页面的id
当然还可以在Admin或者是Host菜单下添加二级管理菜单,只需要加上TabPath='//Admin//一级//二级//…',

如何关联dnn脚本文件SqlDataProvider文件

在DNN中,模块开发的SQL脚本一般都是以.SqlDataProvider为后缀名,并且都带有模块的版本号,Higlight SQL 如此DNN在模块安装过程会自动识别模块现有的版本及其即将更新的版本并自动执行对应版本的SQL脚本,从而达到更新数据库的目的。然而苦恼的是在IDE中,比如Visual Studio(其中包括2003,2005,2008)都不能有效的显示SQL智能提示及其关键字高亮,平常择中的办法就是先把后缀名为.SqlDataProvider的SQL脚本文件修改为.sql,然后发布的时候在改回来,这样显得比较麻烦,其实我们可以修改一下注册表让Visual Studio支持.SqlDataProvider为后缀名的文件,其实很简单,就是需要你去注册表里边增加一注册项,
请按照下列步骤操作(Visual Studio 2008为例):
1. 单击“开始”,单击“运行”,在“打开”框中键入 regedit,然后单击“确定”。
2. 找到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\9.0\Languages\File Extensions\.sql
3. 单击“文件”,然后单击“导出”。
4. 在“文件名”框中,键入用于保存包含原始注册表项的 .reg 文件的文件名,(比如sql)然后单击“保存”。
5. 用记事本或其他文本编辑器打开sql.reg,并把.sql更改为. SqlDataProvider,另存为SqlDataProvider.reg
6. 双击SqlDataProvider.reg导入注册表即可
接下来你打开某一个模块Project,你会发现凡是. SqlDataProvider后缀的脚本都可以关键字高亮,这就是你想要的。:)

如何定制安装dnn

如何定制安装dnn,如何修改dnn配置文件以达到我们需求,如何预安装admin菜单及其相关权限等等,我想这些都是部署dnn所必须考虑的问题,在此我还推荐一篇文章详细说明如何定制自己的dnn安装过程...

再谈dnn的物尽所用(三)

在前边有两篇文章提起过如何修改dnn的某些控件以达到客户的需求,对此我似乎还意犹未尽,故此再贡献一下自己曾经改造的一个实例,希望大家对dnn有更深入的了解及其研究 ^_^