DNN(DotNetNuke)研究手札-背景、现状

首先,请不要忙着看这篇文章,尝试去官方网站下载一个最新版本的来安装看看,仔细看看安装说明文档、各种技术的白皮书,DNN做得很全很仔细,连版本代码差异都精细到每行代码。

为什么不去仔细研究呢?

DNN到底是啥来头?DNN可以追溯到ASP.NET Starter Kits的ASP.NET Portal,这个东西仍然可以在asp.net网站中找到。相关的文章我之前也写过,请自行搜索。ASP.NET Portal之后,出现了IBuySpy,也就是大家熟悉的IBS,这个比ASP.NET Portal进化了不少,使用了大量的.NET技术,也就是DNN的雏形。2002年,IBS給市场印证了其局限性不能满足用户需求,DNN1.x推出了,它在IBS的基础上主要改善了模块功能,接下来的DNN2.0.x更是把整个内核重写,带来了革命性的Skin。

DNN在外国到底有么受欢迎?

1、DotNetNuke:http://www.dotnetnuke.com/官方站点每天的注册/访问量,大家可以看看其首页右边的在线统计;

2、DNN论坛http://www.asp.net/Forums/ShowForum.aspx?tabindex=1&ForumID=90是比较热的,相对ASP.NET网站上的其它论坛来说;

3、DNN在众多免费/收费Portal中应用甚广;

4、DNN2.0.x发布的时候,在微软VS-Live! Conference中演示过,呵呵;

在研究的2个多月中,我感觉,与其等待别人来喂自己,到不如自己去觅食,或许这样比喻不贴切,意思就是说,动手去研究,比等待别人来教自己来得实际。

DNN倡导的是一种准备就绪、动态的、100%互动的数据驱动网络门户框架。

DNN最大的特点是系统框架、DSL(数据存储层)、DAL(数据访问层)、BLL(业务逻辑层)、PL(呈现层)完全分离。系统开发人员、业务开发人员、美工和DBA(数据库管理员)都是“互不相干”的。

为了和.NET 2005尽量兼容,DNN应用了大量的所谓Provider(提供者)/Factory(工厂)模式来实现了其广泛的扩展性,可能你会觉得要仅仅实现一个数据的更新,要在3个类中实现,但当你要在MS SQL、ACCESS、MySQL、Oracle或XML之间自由切换,那么,你将会发现DNN这种模式是会令你愉快的。

DNN的另外一个特性是其Skin(外观),它实现了从Portal(门户)、Tab(栏目)到Module(模块)各个层次的动态外观,每个Skin分Skin和Container(容器),Container可以理解成DNN的模块区域,每个模块都包括在一个Container中。DNN的Skin和动态Module是密不可分的。DNN的Tab和Module定义已经到达了WYSIWYG这个层次了,不过我认为它不能做到集中处理。

DNN的每个Module都可以理解成一个积木,你可以随时把这个积木放到任何栏目的任何位置,你甚至可以隐藏它。不过DNN对每个Module的数据处理都没有做到集中,Module删除了,并不对自动删除对应的数据,时间一长就产生大量冗余数据。而且没有集中处理,非常不直观。

以上缺陷我都在实际应用中改善了。

如果你仅仅认为DNN的Skin仅仅是改变一下CSS和换一下图片,如果认为.Text可以和DNN比较,那么,你都错了。随着深入DNN的内核,绝对让你改观。

DNN接下来将会在10月份推出2.2x,改进包括:

1、门户搜索;

2、友好URL,路径不再显示/default.aspx?tabid=xx,而可能是/portal/0/tab/11/page/;

3、多语言;

时间: 2025-01-30 17:39:37

DNN(DotNetNuke)研究手札-背景、现状的相关文章

DNN(DotNetNuke)研究手札-框架(硬伤)

对,这章我就要介绍我所理解的DNN存在的硬伤,大家看完了别骂我,更别伤心,因为我在实际开发的过程中提供解决方案.:) 我最近2个多月都在研发某系统,该系统是以DNN为原型.我在花了接近2个月的研究中,总结出:DNN存在几处硬伤.实际上,与其说硬伤,到不如说其目前的发展空间更好:) 虽然参考选型为DNN,不过我们仅仅是参考,出于独立发展和实际需求的考虑,我们并不"抄袭"DNN,仅仅是学习了其最大的特色:Skin技术,而且我们觉得其Skin技术已经相当成熟,因此我们用我们的实现方法,却兼容

DNN(DotNetNuke)研究手札-框架(概述)

从这章开始介绍DNN的框架,DNN的框架可以从以下角度分: 1.目录,中国Rainbow已经对各目录和各文件的用途写了比较详细了,我不再重复,我只从主要框架上说: a.管理(Admin): a1.容器(Container) a2.文件(File) a3.模块定义(ModuleDefinitions) a4.私用程序集上传(PAUpload) a5.门户(Portal) a6.外观/皮肤(Skin) a7.栏目/标签(Tabs) a8.用户(Users) b.功能组件(Components) b1

DotNetNuke(DNN)专题

基于DNN UDT模块搭建动态窗体以及公文流转的设想 关于Chat模块控件化的想法 DNN中如何一次性插入多个模块 优化DotNetNuke网站性能的10个技巧 DNN页面生成引擎原理 什么是DotNetNuke DNN调试利器DNNDebug.aspx--如何调试出错信息不具体的程序错误 DNN快速入门教程3 - 如何创建DotNetNuke网站 DNN快速入门教程2 - DotNetNuke 5系统界面指南 DNN快速入门教程1 - DotNetNuke系统简介 DotNetNuke中的函数

面向机器学习的自然语言标注2.2 背景研究

2.2 背景研究 既然你已经考虑了哪些语言学层次适合标注任务,那么可以对相关研究工作进行了解.虽然建立标注语料库要花费许多工夫,完全由自己单独地完成一个好的标注任务也是可能的,但是首先了解业界的相关研究与发展现状将可以节省大量的时间和精力.很可能已有的一些研究与你正在进行的工作有关,从而使你不必一切从头做起. 例如,如果对时间标注感兴趣,现在ISO-TimeML已成为时间与事件标注方面(包括时间关系)的国际标准化组织标准.这一事实并不要求所有的时间标注都必须原样不动地使用ISO-TimeML的标

去百度API的百度地图准确叠加和坐标转换的解决方案研究

原文:去百度API的百度地图准确叠加和坐标转换的解决方案研究 1.背景 目前项目上如果要使用百度地图,得加载百度的开发包,然后通过百度提供的接口来调用百度地图以及将需要标记的点显示在百度地图中等等. 此方案存在明显劣势: a.对原系统的破坏.一套从底层开发的系统,其地图的加载方式均是从底层通过换算行列号来进行加载的.而百度地图却必须脱离此方案通过调用百度API来实现,破坏了整个系统的架构,并且导致很多基于原架构的功能无法使用. b.自身发布的矢量服务等无法使用.因为百度采用的是非标准火星坐标,自

《中国人工智能学会通讯》——10.18 研究进展

10.18 研究进展 本节将就复杂网络化系统安全控制研究的最新进展展开综述,主要涉及系统的安全架构分析与建模.攻击检测与安全评估,以及安全控制等诸方面.通过综述,将对国内外相关领域的主要工作分别进行总结,并分析存在的不足. 1 . 系统架构分析与建模 围绕复杂网络化系统的构架分析与建模,国内外学者开展了一系列研究工作.一方面,主要侧重于通信网络与物理系统在统一描述框架下的时空分析.实时性与稳定性等.例如文献 [11-20] 分别考虑网络通信因素(包括数据传输时滞.丢包.数据量化.干扰.带宽受限等

[文档]云计算在高能物理中的研究与应用

云计算在高能物理中的研究与应用 科研信息化技术与应用 第2卷第4期 2011年7月 程耀东,陈刚 中国科学院高能物理研究所计算中心,北京 100049 摘 要 高能物理一直走在计算技术应用的前沿,推动了国际互联网.WWW以及网格计算的发展.在新的云计算时代,世界各大高能物理实验室结合自身的实际需求,启动了多个相关项目.本文首先介绍了当前云计算发展动态及云计算在高能物理中的研究和应用现状,然后对中国科学院(以下简称中科院)高能所目前开展的云存储.虚拟集群.BESIII弹性云及云计算安全等方面的工作

面向机器学习的自然语言标注.

面向机器学习的自然语言标注 James Pustejovsky & Amber Stubbs 著 邱立坤 金澎 王萌 译 图书在版编目(CIP)数据 面向机器学习的自然语言标注 / (美) 詹姆斯·普斯特若夫斯基(James Pustejovsky),安伯·斯塔布斯(Amber Stubbs)著:邱立坤,金澎,王萌译. -北京:机械工业出版社, 2017.1 (O'Reilly精品图书系列) 书名原文:Natural Language Annotation for Machine Learnin

高盛AI生态报告:美国仍是主导,中国正高速成长

不久之前,高盛推出了一份讲解人工智能生态的重磅报告(共99页).报告从最基本的人工智能概念开始,主要内容包括人工智能所能变革的行业.人工智能生态.使用案例.背后的主要驱动者(谷歌.亚马逊.英伟达.百度等)等,并附有高盛调查得到的150多家人工智能与机器学习公司列表.机器之心编译了报告的主要部分. 人工智能(AI)是信息时代的尖端技术.在最新的「创新简介」(Profiles in Innovation)系列文章中,我们将对机器学习和深度学习的进展进行研究考察. 在和更强大的计算资源以及不断扩增的数