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模块的设计和发布,其中包括核心的优化及其定制模块的分布等等,如果你有什么关于模块的问题,都可以在此跟我们的团队讨论...

Color Picker v1.1 Beta发布

Color Picker
这段有些脱离DNN了, 因为新参与了一个RSS项目,故对DNN的关注和参与有些减少, 不过我月底即将回来, 还是拥抱DNN,研究开源 :)
在此分享一下在该RSS项目应用到的一个小插件'Color Picker', 这是一个颜色选择控件, 可应用了样式的编辑表单, 目前已在CodePlex.com上发布Color Picker v1.1 Beta, 有兴趣者不妨看看, 该控件并非独创而是居于原有的控件修改, 增加了AutoPostback和相应的onColorChanged事件(类似于TextBox控件的onTextChangged事件), 它已在m2land开源的DNNFlashImageRotator得到应用。
Color Picker Demo:
相关链接:
ASP.NET Color Picker Web Server Control(http://www.codeproject.com/KB/custom-controls/WS_ColorPicker.aspx)
免费的Asp.net ColorPicker(http://www.cnblogs.com/m2land/archive/2008/09/08/1280708.html)
DNNFlashImageRotator(http://www.codeplex.com/DNNFIR)

DNN SEO专题

SEO, 是Search Engine Optimization的缩写, 翻译过来是“搜索引擎优化", 直白说就是“针对搜索引擎所做的优化处理工作”。是一种利用搜索引擎的搜索规则来提高目的网站在有关搜索引擎( Google, Baidu, Live Search 等) 内提名的方式。它可以给你的网站带来更多的客户访问量和更高的点击率.  这无疑对于任何一个网站都是处于至高地位的策略.  今天在此将开辟一个专题来谈谈DNN里边的SEO解决方案

DNN核心API简述

DotNetNuke本身可以看作是一个框架, 类比于.net  framework, 你可以在基础上扩展并实现各种功能, 而其中不可或缺的就是核心API, 它是你在开发过程中最有力的辅助工具, 而了解API最基本的步骤就是API组织起来的命名空间, 废话少说, 在此简单介绍一下DNN模块开发过程中最经常使用到的命名空间列表:
DotNetNuke.Common: 可被用于整个DNN应用程序的所有类, 比如其中的global实例就是荟萃了所有DNN全局的静态方法, 可被直接用于整个DNN应用程序, 而global就位于命名空间DotNetNuke.Common.Globals之下.
DotNetNuke.Data: DNN核心数据层, 可被用于扩展数据层, 比如我们最熟悉的DataProvider基类及其API就位于命名空间DotNetNuke.Data之下.
DotNetNuke.Entities: DNN核心实体类, 主要负责实例化和管理组成DNN Portal的核心实体, 其中包括Host, Portals, Tabs, Users, Profile, and Modules. 每一实体都独立分支并形成自己的二级命名空间, 比如负责管理模块的实体类位于DotNetNuke.Modules之下.
DotNetNuke.Framework: DNN框架类, 主要管理一些DNN框架的扩展辅助类, 比如DNN对Ajax的支持, 对CDefault的衍生等等.
DotNetNuke.Security: 主要用于DNN的授权及其验证. 其中包括了页面权限(tab permissions), 模块权限(module permissions), 文件夹(folder permissions), 角色管理(roles manage)等等.
DotNetNuke.Services: DNN核心服务, 比如异常处理, 本地化支持, 用户定制(personalization), 搜索引擎, 缓存优化, Mail分发等等.
DotNetNuke.UI: DNN核心UI, 比如DNN特有的Skin 和 Container就分别位于DotNetNuke.UI.Skins.Skin 和 DotNetNuke.UI.Containers.Container之下, 除此之外,还包含一下些UI设计扩展的辅助类DotNetNuke.UI.Utilities, 大名鼎鼎的ClientAPI就位于该命名空间.
相关链接:
DNN模块开发之利器篇:七种武器

如何在DNN创建类IGoogle效果的模块

借助Blog的一个扩展模块展示如何在DNN实现类IGoogle模块?算是抛砖引玉,为大家提供一种新的思路,感兴趣着不妨看看...

不一样的分页算法

分享一下最近研究分页算法的心得,也就是发现一个比较有意思的算法,也许不是最优的,也不是最好,当然也不推荐使用,但是在此列举一下以博各位一哂...

在DNN中处理回车键事件

分享项目开发中的小技巧:如何处理回车键事件, 特别是在同一个页面可能同时存在多个通过回车键提交表单时执行特定的button按钮事件的情况下. 详情请查看原文...

解除DNN的传参枷锁

在上一篇文章中曾提及在DNN模块开发中传参的两种方式,其中包括ASP.NET中经典的URL传参方式,然而尽管如此,对于一些DNN初学者来说还是无从下手,这里我就简单解析其中道理及其如何在页面跳转,模块交互过程中最有效地传递参数,从而达到解除DNN之枷锁的功效。

DNN模块开发之利器篇:七种武器

读过武侠小说的你一定都知道古龙曾有一部著名的小说<<七种武器>>,其中列举了当今武林最牛的,杀伤力最大的武器,其中包括长生剑、孔雀翎、碧玉刀、多情环、霸王枪、离别钩、拳头.后来还有百晓生的兵器排行榜,其中就包括小李飞刀等等.在此我就班门弄斧了,借着古代利器之说,姑且列举一些对DNN模块开发起决定作用的一些方法或类,并辅助说明使用方式(排名没有先后之分,纯粹用于标识):
1) PortalModuleBase
所属命名空间:DotNetNuke.Entities.Modules
这是一个开发DNN模块所必须继承的基类,标志性的基类,在此基类中,你可以得到DNN所为你封装的一些模块基本信息,毋需你多费周折,其中包括当前用户UseID,UserInfo,TabID,ModulePath,ModuleConfiguration,LocalResourceFile等等,下边就简单解析几个比较有用的属性:
      <1> ModulePath: 模块根目录,可以获取到模块根目录所需要的文件,比如脚本文件,图像文件,比如你想在后台注册一个js脚本,代码可以类似:   

你需要么,dnn多语言解决方案?

目前dnn多语言解决方案是我这段时间研究的重点, 我接下来也许会写几篇相关文章阐述这些问题.
切入正题, 本地化是ASP.NET的特性, 无疑dnn也会直接支持, 但是事实上并不是很乐观, 因为dnn本身也只是在表面上作些文章吧了, 如果你想利用dnn实现多语言门户(Portals), 那你可能想错了, 除非你重新开发或在模块级别上定制的开发支持多语言. 那dnn究竟支持多语言到何种程度呢? 让我慢慢道来, 其实dnn默认支持的多语言只局限于页面标签(Tags,Token etc), 比如登陆链接, 编辑模块时的字段Label等等, 而这些并非我们通常理解的内容本地化(多语言支持). 当然你可以通过下列两种解决方案来实现:
1) 模块级别的多语言开发,但你的内容可能需要存储好几个版本(根据你站点支持的语言总数)
   2) 站点级别的多语言开发,也就是你需要发布好几个站点(根据你需要支持的语言总数)

目前在DNN模块市场也有一些模块按照第一种思路做到了内容上支持多语言,比如:
1) MLSkinHelper, PageLocalization Module,Language Selector skin object 等等
http://www.apollo-software.nl/Home/tabid/36/language/en-US/Default.aspx
最经典的范例就是http://declic-video-fx.com/,它利用apollo-software相关模块实现了多语言站点,可以说基本上实现了多语言支持的所有功能.
2) Localization Extensions: Easily implement mul ...

资源共享的第一份礼物

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