Register  |  Login

(转载)掌握JavaScript语言的思想前提

对于JavaScript的学习,可能最重要的还是要从思想上认识到JavaScript不是玩具语言。JavaScript的作用远不止增加点表单验证,我们可以看看GMail、看看Google Maps,如果开发者们没有对JavaScript足够尊敬,是不大可能写出如此优秀的Web应用的。

jQuery插件开发: equalizeCols Plugin

在开发web应用中, 自从我们抛弃了基于Table的页面布局后, 创建同等高度栏目或内容盒子的视觉效果(多是处于UI美观的考虑)已然是一个挑战, 在此推荐一个jQuery插件, 使得在同一个容器里“平衡”盒子的高度成为一件很简单的事情,从而修正了浏览器之间的差异, 还一个漂亮的UI.

SunBlog更新:增加3D Tag Clouds插件

wp

如果你用过WordPress的博客应该都知道有一个很著名的插件WP-Cumulus WordPress plugin, 这也是一个3D Tag Coulds插件, 它通过Flash+js来展现Tag或目录的标签云效果, 超炫且极为实用, 而这也是我偶然发现, 觉得效果不错并对SunBlog有借鉴意义, 因为之前我也曾有JQuery来实现有些动画效果的标签云插件, 故现在手痒把Flash也整合进来, 如此用户就有更多的选择和效果呈现了, 经过一个晚上的努力终于把这一插件开发出来, 无缝的整合到SunBlog里边, 目前发布了Beta版本做个Demo, 即将开发的功能包括:

1) 用户可设置标签云呈现相关选项, 比如宽度, 高度, Tag颜色等等 (已完成, 更新于2009-02-15)

2) 整合JQuery Flash Plugin, 不用默认的SWF Object脚本, 简洁方便.

3) 独立成一个控件组件,  也许DNN其他模块也可以用到.

4) 更好的支持中文Tag呈现

SunBlog 3D Tag Coulds插件 Demo

相关链接:

Wordpress标签云插件: WP Cumulus

3D Flash 标签云插件 WP-Cumulus

3D Tag Clould 插件的实现技术描述:http://www.roytanck.com/2008/05/19/how-to-repurpose-my-tag-cloud-flash-movie/

如何使WP-Cumulus插件支持显示中文标签云

如何在DNN模块开发中利用缓存机制?

在Asp.Net开发过程, 缓存是我们经常遇到的问题, 同样在DNN模块开发中利用好缓存无疑对我们开发的模块是有显著性能提升的效果的。本文将介绍DNN核心API自带的缓存机制及其一些使用方法.

Javascript版本的StringBuilder

众所周知, C#或其他一些纯粹的面向对象编程语言都存在StringBuilder这一类型, 这是因为字符串在内存中是不可变的。这意味着, 如果为了得到第三个字符串而连接两个字符串时, 在一个短暂的时间内, CLR将会在内存中维护三个字符串的实例。为了缓解这种因字符串连接而带来的性能问题, 同时为了给字符串连接操作给予编程工具支持, .NET框架提供了一个名为StringBuilder的类。通过使用StringBuilder类来动态创建可变长字符串, 可以避免因CLR中的字符串的不可变性而带来的问题, 如此编写的代码通常会更容易阅读。而今天我们要提到的是解释型语言javascript下的StringBuilder, 大家都应该知道javascript只有原生类型String, 而并没有StringBuilder, 在此我想分享的就是扩展的StringBuilder版本。

如何借助JQuery封装HTML SELECT操作?

最近一直在开发Asp.Net MVC项目, 对DNN稍有松懈, 不过由于所有技术都有相通和借鉴之处, 故在学习MVC框架的同时也对DNN有了更深的认识, 由于MVC模式对UI和前端界面的交互有更多的掌握, 需要你更多控制界面上的HTML元素, 包括布局控制和如何呈现等等. 在此想分享一点JQuery在MVC模式下(当然你在其他项目也是可以用到的, 比如DNN或传统的Asp.Net form)如何操作HTML SELECT元素。

如何在DNN模块级别以编程方式添加样式文件

关于一些DNN样式的观点曾在以前文章提到过, 比如DNN默认核心CSS继承关系解析, DNN Style Sheet简要总结, DNN性能优化建议, 加速DNN的新举措等 等都讲述如何管理和优化DNN本身的CSS样式文件, 这些文章都可归结为一个结论: 理解DNN的样式继承关系是设计和开发皮肤(Skin) 和模块(Module)必备的, 也是优化DNN网站必须了解的.大家有兴趣深入了解DNN的核心机制不妨回头看看这些文章. 本文将从另外一个角度来说说DNN的样式, 那就是如何在DNN模块级别上动态添加样式文件.

(转载)对ASP.NET MVC开发人员的建议

关于Chad Myers和Jeremy Miller对于开发人员究竟该如何使用ASP.NET MVC提出了有力的建议, 在此提出了一些准则性的建议, 最后还分享DNN面临MVC的转机和资讯...

理性对待新一代DNN版本("Cambrian")

DNN 5.0我想大家也许都已经知道DotNetNuke 5.0 在(2008年)圣诞前夕发布了, 也就是之前一直在高调宣传的Cambrian版本, 在大家来说这的确是一个不错的消息, 鼓舞人心. 在DNNMixm2land的博客中也分别列举了一些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旅程得到更多的乐趣和成就. :)

About the author
Baldwin's Status
 Contact Me
Baldwin Sun
Senior Developer for dnn solution & founder of SunBlog module...
网站主页
dnnsun
最新评论
  1. Re: (转载)掌握JavaScript语言的思想前提

    Thanks for your comment, actually we are planning to own our english blog later.

    --baldwin

  2. Re: (转载)掌握JavaScript语言的思想前提

    This seems exciting but I wish it were in English

    --Joey

  3. Re: 加速DNN的新举措

    SkinPath是类Skin的一个自读属性, 你直接在模块里是没法用的,需要你初始化:)

    --baldwin

  4. Re: 加速DNN的新举措

    为什么我的模块里用SkinPath,找不到SkinPath的定义?

    --xmen

  5. Re: 读书杂感--开源与我

    支持一下楼主。说的很好!

    --qilei

  6. Re: 如何在DNN模块级别以编程方式添加样式文件

    reports 模块主要是用于展示自定义的SQL语句获取的数据, 你可以定义不同的SQL及其相关参数, 至于详细的用法不妨Google一下, 貌似国外有不少关于这一模块的资源:)

    --baldwin

  7. Re: 如何在DNN模块级别以编程方式添加样式文件

    请问楼主 DNN 4.5.3 reports 模块怎么使用啊?

    --DNN菜鸟

  8. Re: 如何在DNN模块级别以编程方式添加样式文件

    恩 谢谢楼主 呵呵

    --DNN菜鸟

Blog搜索
Rss Feed
feedsky
抓虾
pageflakes
newsgator
哪吒
相册库
更多照片请查看相册库
我们的服务
  • DotNetNuke 咨询
  • Web设计及其模块开发
  • 免费建站
  • 电子商务
  • 开拓市场
我们致力于开发定制的web 2.0 ,所服务的客户主要包括小中型企业,社区俱乐部及其非盈利机构组织。我们将利用开源的DNN作为我们核心的系统机制,更多相关信息...
版权声明
本站任何言论仅代表个人观点,与作者所在的公司没有任何关系,所有贴子皆以“现状”提供且没有任何担保,同时也没有授予任何权利。