推荐一些关于DNN的精品文章及其相关链接...
对于JavaScript的学习,可能最重要的还是要从思想上认识到JavaScript不是玩具语言。JavaScript的作用远不止增加点表单验证,我们可以看看GMail、看看Google Maps,如果开发者们没有对JavaScript足够尊敬,是不大可能写出如此优秀的Web应用的。
Read the rest of entry »
我想大家也许都已经知道DotNetNuke 5.0 在(2008年)圣诞前夕发布了, 也就是之前一直在高调宣传的Cambrian版本, 在大家来说这的确是一个不错的消息, 鼓舞人心. 在DNNMix和m2land的博客中也分别列举了一些DNN 5.0巨大的的特色和变化, 现在此也列举了一下并对此作些评论, 一些个人的观点仅供参考:
DotNetNuke 5.0主要更新
1) 核心框架增加jQuery支持, 在安装系统时集成安装jQuery,同时模块开发可以直接使用jQuery。
评论:这的确是一个明智的选择, 想想asp.net MVC Framework都拥抱了JQuery, 这足以肯定JQuery的价值, 其实我一直对DNN本身自带的ClientAPI并没有太多的好感, ClientAPI最初版本的确实现了一些与众不同的功能,后来因为兼容MicrosoftAjax进行了一次大调整, 如今又因为整合JQuery会做出什么的更改呢? 但愿模块开发者可以更随心所欲利用ClientAPI.
2) 增加对IE 8 源剪辑(Web Slices) 的支持, 管理员可以设置任何模块使用IE 8的源剪辑功能, 包括设置保存的时间。
评论: 看来因为DNN纯粹是Microsoft平台下的开源产品, 寻求支持并兼容IE 8也是情理之中, 但愿不要过分亲热而忘了标准, 这里可以用DNN在
CodePlex.com上部署下载点看出一点端倪.
3) DotNetNuke 5.0 中消除了管理员模块和普通模块的界限,现在管理员可以给任意一个管理模块分配角色权限。
评论: 这是一大进步, 之前的版本存在管理模块和一般模块分离过度的情景, 有时客户需求需要赋予某一用户特定的管理权限则是不容易做到的, 比如需要分配给某一个网管查看网站日志的权限, 但不需要具备管理员的全部权限。
4) 全面升级安装服务,之前我们在不同的地方上传并管理皮肤,模块,语言包, 新版本中dnn后缀的安装文件将支持所有的扩展类型,皮肤,容器,模块,语言包,Provider 现在都可以通过统一的安装界面安装和卸载。
评论: 我觉得这是DNN 5.0最大的亮点, 也就是真正的实现插件式的机制, 除了核心之外所有的皮肤,容器,模块,语言包,Provider 都视作为插件, 可随时卸载或安装而不影响核心机制的运行, 并统一安装,统一部署,统一管理. 这无疑将让DNN的产品线完全扩展出来, 而不再局限于之前的皮肤和模块这两大块, 相应的DNN服务领域也将扩大化, 这对于DNN应用和DNN产品本身都将起到积极的推动作用.
5) 增加了XHTML, WCAG and ADA 的扩展支持, 以及对老版本非XHTML皮肤的兼容。
评论: 这对于皮肤开发者来说是个不错的消息, 可以完全的设计纯CSS和XHTML的Skin. 看来我上边提到"但愿不要过分亲热而忘了标准."有失偏颇, :)
6) 重构核心构架并提升对单元测试(Unit Testing)的支持, 重构了一些核心类使用了接口并且增加了简单的原件工厂模式以提供依赖注入(dependency injection)的支持。
评价: 这也算是DNN核心一大改进, 如今TDD不断被大家所推崇, 足于说明测试对于开发的重要性, 任何一个成熟的产品必须尽得起重构的考验, 而好的测试将是重构的成功与否的关键部分.
7) 权限设置单元中增加了拒绝(deny)选项,这个新功能扩展了权限系统并赋予管理员更加灵活的权限设置能力。
评价: 这将赋予DNN更多的灵活性, 拍手欢迎。
8) 增添了Widget框架(其实翻译过来叫"小部件", 觉得很是别扭, 翻译为"插件"也不大合适),这一Widget框架使得我们可以快速地添加某一小段特殊用途的JavaScript/html widget到网站而无需大费周折。Widget框架支持基于标签的描述,这意味着即使你不是很懂javascript也可以简单的添加Widget。
评价: 很好的借鉴方式, 如今也算是一个Widget时代了, 各种各样的Widget层出不穷, 其实Widget也是我们理解的插件模式, 不过它更多的是独立性和灵活性. 这对于需要定制的服务需要无疑是一个不错的选择.
9) 皮肤对象(skin object)增加了新的用法,现在设计皮肤再不需要附加单独的skin.xml文件定义皮肤对象的属性,你也不会看到杂乱无章的 [SKINOBJECT] 标签,取而代之的是新的皮肤对象标示法, 它极大简化了制作皮肤的的过程,如果想在皮肤里引用某一个简单的javascript 文件你甚至可以在设计皮肤的同时所见即所得(WYSIWYG )。
评价: 这也是对于皮肤开发的改进, 我想如果能完全的做到所见即所得(WYSIWYG )还需要一定时间吧, 但愿以后可以实现.
10) 安全性的提升,修复了所有4.x版本安全漏洞.
评价: 安全性对于CMS的重要性毋庸置疑的, 此次的安全性改进将让更多的客户选择DNN, 这是我们这些DNN工作者无疑也是一种福分. :)
以上10点算是DNN 5.0(Cambrian)最大的亮点. 更多更新记录:
DNN 5.0(Cambrian) ChangeLog
最后我想总结一下我个人对DNN 5.0(Cambrian)的一些整体性看法和观点, 目前Cambrian从beta版本到release版本总体觉得改进了很多, 可以用"翻天覆地或转折点"来形容也不为过, 但同时也暴露了不少了Bug和问题, 总共不下几百处, 到这篇文章发布之时, DNN 5.1已经跟随其后发布了, 这无疑也是为了修改bugs而更新的版本. 如此看来, DNN 5.0(Cambrian)甚至DNN 5.1也不至于是一个稳定的版本, 其实理由很简单, DNN核心架构调整了不少, 难免出现冲突和意想不到的Bugs, 就我本人而言不推荐大家马上升级到Cambrian, 需要观望一段时间(至少半年的时间), 当然学习那就无所谓了. 不妨看看国外的一些同样观点的评论
" I think should be mentioned that DNN 5, although out of beta, does not seem to be ready for production. There are some serious issues reported at the official DNN forums especially from those who tried an upgrade. I spent some time with a clean install locally and even that has several issues. So we better wait for the next release before we try DNN 5 for production. "
最后祝愿大家2009年在DNN旅程得到更多的乐趣和成就. :)

漂亮的代码是漂亮网站的基础,优秀的 CSS 只存在与同样优秀的 HTML 之上,干净的,语义的 HTML 代码让一个网站更健壮。本文讲述了12个实现干净 Web 设计代码的定律,适合于任何从事 Web 设计的人。
Read the rest of entry »
本文为转载,应该是某一开发人员翻译鼎鼎大名的scottgu的某一个帖子而来,我也找不到初始翻译者的链接,如果知道请告之,谢谢。其实这也算是我最近在开发facebook application时注意到的技巧(诀窍),在此分享之。
Read the rest of entry »
为了便于大家直接查找,在此简单汇总一下本人一直以来对DNN研究的相关文章。另外,大家如果有关于DNN方面的问题,也可以在这里提出,我将尽力为大家解答。
还有更多更多内容, 不妨关注一下本站,同时希望大家给予更多反馈, 我们会做得更多,而这一切的前提离不开社区的反馈和你们支持。 :)
SEO, 是Search Engine Optimization的缩写, 翻译过来是“搜索引擎优化", 直白说就是“针对搜索引擎所做的优化处理工作”。是一种利用搜索引擎的搜索规则来提高目的网站在有关搜索引擎( Google, Baidu, Live Search 等) 内提名的方式。它可以给你的网站带来更多的客户访问量和更高的点击率. 这无疑对于任何一个网站都是处于至高地位的策略. 今天在此将开辟一个专题来谈谈DNN里边的SEO解决方案
Read the rest of entry »
临近DNN Open Force '08, 难免会有跟风之嫌, 我也不例外, 故在此作一个Cambrian和Open Force '08专题, 分享一些DNN下一代版本"Cambrian"的资源, 算是聊解我们这些DNN Fans对它望眼欲穿的期盼, 详细资源将不断更新中,敬请关注...
Read the rest of entry »
1) DNN Gallary ( http://dnngallery.net/ )
这是本月刚上线的一个DNN站点资源库, 主要收集和展示(也就是我们经常说的ShowCase)一些设计极为优秀的DNN站点, 你可以提交自己的网站或推荐其他网站, 只要你认为它足够优秀, 当然最终还得审核. 其概念类似于Best Web Gallary (http://bestwebgallery.com/) 和 ShowCase (http://www.dnnsun.com/Resources/ShowCase.aspx).
2) 再见了, 用户定义模块( UDT )
这是一个DNN核心模块, 缩写为UDT, 其主要功能为实现用户可以定制各种业务表单无需修改数据和程序,从而实现一定程度上的可复用性和灵活性. 目前发布了这一模块的最终版本UserDefinedTable (UDT) 3.5.1,同时也是下一代DNN 5.0之前的最终发布, DNN 5.0(代号"Cambrian")之后将被升级为下一代模块,与此同时名称也修改为"Forms and Lists" (简称为F+L) ,在此基础上将扩展和增加更多功能, 比如私有列, 邮件提示,元数据等等,把这一模块的真正威力发挥到极致.
http://www.dotnetnuke.com/Community/Blogs/tabid/825/EntryID/1895/Default.aspx
3) dotnetnuke blog荟萃站点 ( http://dotnetnukeblogs.com/ )
这是一个专门聚合DNN相关博客RSS内容的站点, 其目的则是方便DNN爱好者对信息的归类查看, 算是提供获取DNN信息的捷径. 同时, 该网站提供了类似上边提到的dnnGallary的理念, 那就是互动性, 你可以提交自己博客的RSS Feed或推荐其他优秀的RSS Feed, 当然最终也得被审核.
4) DNN模块代码自动生成框架 ( http://www.codeproject.com/KB/aspnet/ModuleFactory.aspx )
这是一个极为有趣的项目, 也许在你模块开发过程可以节省不少工作量, 有兴趣不妨看看.
5) 如果你忘记了DotnetNuke站点的host和admin密码… (http://www.k4ng.com/archives/244)
初学DNN难免出现束手束脚, 犯错误也是难免的, 比如误删皮肤,没有备份数据库就直接更新, 忘记管理员(admin)甚至Host(超级管理员)的密码等等, 对于这些灾难性的事件一般也有补救措施, 并非束手无策, 不过也许比较绕弯和费劲, 下边就推荐一篇文章讲述丢失密码到寻找密码的探索之旅, 作者算是海外人士, 蜗居澳洲的华人留学生, 这说明了DNN还是蛮有影响力的.
6) 临近DNN Open Force '08, 难免会有跟风之嫌, 我也不例外, 故在此分享一些DNN下一代版本"Cambrian"的资源, 算是聊解我对它望眼欲穿的期盼. (考虑到这一话题比较庞大, 可说的地方也很多, 资源也在不断更新中, 故已被单独出来作为一个专题, 敬请查看详情:
Cambrian和 Open Force '08专题 )
一直有人跟我提为何不做一些DNN皮肤教程什么的,本人甚为惭愧,当初曾夸下海口说没问题,可一拖再拖,倒不是自己没有时间,只是姑且不论自己设计能力的肤浅,光是那一系列教程制作就得花费不少心思,至少得简单易懂吧?至少得图文并茂吧?至少得符合CSS,W3C吧?我可不想随便拿出一样拷贝别人的皮肤来炫耀自己的水平。故折中的做法只能随时分享自己设计开发皮肤的一些经验或想法,希望能满足部分读者的口味。
Read the rest of entry »