第1章 DotNetNuke的发展史 1
1.1 IBuySpy Portal 2
1.2 ASP.NET 3
1.3 IBuySpy Portal论坛 5
1.4 IBuySpy Workshop 6
1.5 订阅模式的失败 8
1.6 微软公司 9
1.7 DotNetNuke 10
1.8 许可证发放 11
1.9 核心团队 13
1.10 XXL分支 15
1.11 商标 16
1.12 赞助 16
1.13 功能增强 17
1.14 安全缺陷 19
1.15 DotNetNuke 2.0 20
1.16 DotNetNuke网站 21
1.17 提供程序模型 22
1.18 开源基本原则 22
1.19 应用程序的稳定性 24
1.20 第三方组件 24
1.21 核心团队重组 25
1.22 微软成员资格API 25
1.23 “实质性”改变 26
1.24 Web宿主提供商 27
1.25 DotNetNuke 3.0 28
1.26 发布时间表 29
1.27 DotNetNuke项目 30
1.28 知识产权 31
1.29 营销 32
1.30 微软宿主计划 34
1.31 基础架构 35
1.32 品牌 35
1.33 微软技术大会 39
1.34 可信度 39
1.35 商标策略 41
1.36 ASP.NET 2.0 41
1.37 重组 42
1.38 研讨会 43
1.39 DotNetNuke 4.0 44
1.40 Slashdot事件 46
1.41 捐助人计划 47
1.42 DotNetNuke市场 50
1.43 小结 51
第2章 安装DotNetNuke 53
2.1 选择软件版本 53
2.2 安装DotNetNuke v3.x 54
2.2.1 软件配置 54
2.2.2 安装步骤 54
2.3 升级到DotNetNuke v3.x 67
2.4 安装DotNetNuke v4.x 69
2.4.1 软件配置 69
2.4.2 下载软件 70
2.4.3 安装Starter Kit 70
2.4.4 安装Install/Source安装包 74
2.5 升级到DotNetNuke v4.x 76
2.6 安装出错情况 78
2.7 小结 79
第3章 门户网站概述 81
3.1 门户网站组织元素 81
3.1.1 父/子门户网站 81
3.1.2 页面 82
3.1.3 窗格 84
3.1.4 容器 84
3.2 模块 86
3.3 用户角色 89
3.4 小结 89
第4章 门户网站管理 91
4.1 门户网站管理员 91
4.2 从何处入手 92
4.3 控制面板 93
4.3.1 Site Wizard 94
4.3.2 Help按钮 100
4.3.3 Preview按钮 101
4.4 配置门户网站 101
4.4.1 站点设置 101
4.4.2 安全角色 108
4.4.3 页面 112
4.4.4 皮肤 115
4.4.5 文件管理器 117
4.4.6 语言 119
4.4.7 验证 125
4.5 门户网站维护 128
4.5.1 用户账户 128
4.5.2 安全角色管理 130
4.5.3 供应商 130
4.5.4 邮件群发 133
4.5.5 站点日志 134
4.5.6 回收站 135
4.5.7 日志查看器 137
4.6 小结 138
第5章 主机管理 141
5.1 何为主机 141
5.2 从何处开始 142
5.3 配置安装 143
5.3.1 主机设置:基本设置 144
5.3.2 主机设置:高级设置 149
5.4 以主机身份管理门户网站 154
5.4.1 门户网站 154
5.4.2 皮肤 158
5.4.3 日志查看器 158
5.5 其他主机工具 160
5.5.1 模块定义 161
5.5.2 文件管理器 165
5.5.3 供应商 165
5.5.4 SQL 166
5.5.5 调度 166
5.5.6 语言 171
5.5.7 搜索管理 175
5.5.8 列表 176
5.5.9 皮肤 177
5.6 小结 177
第6章 模块 179
6.1 模块架构 179
6.1.1 门户网站 179
6.1.2 页面 181
6.1.3 模块 181
6.1.4 模块容器 182
6.2 用户内容模块 182
6.2.1 Announcements模块 183
6.2.2 Banner模块 189
6.2.3 Contacts模块 190
6.2.4 Discussions模块 191
6.2.5 Documents模块 192
6.2.6 Events模块 193
6.2.7 FAQs模块 194
6.2.8 Feedback模块 195
6.2.9 IFrame模块 196
6.2.10 Image模块 197
6.2.11 Links模块 197
6.2.12 News Feeds(RSS)模块 199
6.2.13 Text/HTML模块 199
6.2.14 User Defined Table模块 200
6.2.15 XML/XSL模块 202
6.3 管理模块 202
6.3.1 页面管理 202
6.3.2 模块管理 203
6.4 安装第三方模块 207
6.5 小结 208
第7章 DotNetNuke架构 209
7.1 关键技术 209
7.2 提供程序模型 210
7.2.1 提供程序模型用法 210
7.2.2 提供程序配置 211
7.3 自定义业务对象 212
7.3.1 CBO合成器 214
7.3.2 使用CBO合成器 216
7.4 DotNetNuke架构概述 217
7.4.1 表示层 218
7.4.2 业务逻辑层 219
7.4.3 数据访问层 220
7.4.4 数据层 221
7.5 安全模型 223
7.5.1 ASP.NET 2.0中的安全机制 223
7.5.2 DotNetNuke和ASP.NET 2.0 224
7.5.3 DotNetNuke 4.0中的安全机制 224
7.6 命名空间概述 227
7.7 小结 228
第8章 核心DotNetNuke API 229
8.1 事件日志记录 229
8.1.1 日志记录提供程序API 230
8.1.2 控制器类 231
8.2 异常处理 239
8.2.1 异常处理API 239
8.2.2 异常类 240
8.3 调度器 244
8.4 HTTP模块 247
8.4.1 HTTP模块101 247
8.4.2 DotNetNuke的HTTP模块 250
8.5 模块接口 255
8.5.1 IActionable接口 256
8.5.2 IPortable接口 265
8.5.3 IUpgradeable接口 267
8.5.4 模块间通信 268
8.5.5 ISearchable接口 269
8.6 小结 271
第9章 成员角色 273
9.1 ASP.NET 2.0中的安全机制 274
9.2 DotNetNuke成员资格概述 275
9.2.1 门户网站和应用程序 275
9.2.2 用户和角色的数据模型 276
9.2.3 成员资格、角色和配置文件提供程序 277
9.3 成员资格提供程序 278
9.4 角色提供程序 282
9.5 配置文件提供程序 284
9.6 小结 288
第10章 客户端API 289
10.1 回传和视图状态 289
10.2 何为DotNetNuke的客户端API 291
10.3 使用DotNetNuke的客户端API 292
10.4 客户端脚本缓存 296
10.5 客户端和服务器端之间的通信 297
10.5.1 服务器端流程分析 297
10.5.2 客户端流程分析 299
10.5.3 返回服务器端 301
10.6 客户端API的回调 302
10.7 启用客户端API的DotNetNuke控件 308
10.8 小结 310
第11章 本地化 311
11.1 概述 311
11.1.1 区域设置 311
11.1.2 资源文件 312
11.2 本地化API 314
11.2.1 GetString方法 314
11.2.2 GetSystemMessage方法 316
11.3 模块的本地化 321
11.3.1 情形1:ASCX文件中静态字符串的处理 321
11.3.2 情形2:服务器控件中静态文本的处理 322
11.3.3 情形3:编程处理静态文本 324
11.3.4 情形4:图像的本地化 325
11.4 小结 325
第12章 开始模块开发 327
12.1 规划模块项目 327
12.1.1 业务需求分析 327
12.1.2 准备资源 329
12.2 开始模块开发 330
12.2.1 配置Visual Studio.NET 2003项目 330
12.2.2 配置DotNetNuke与模块交互 333
12.3 使用Visual Studio.NET 2005开发模块 337
12.3.1 安装DotNetNuke Starter Kit 337
12.3.2 Hello World模块 339
12.4 小结 340
第13章 开发模块:数据库层 341
13.1 数据库设计 341
13.1.1 Events表 342
13.1.2 AddEvent存储过程 343
13.1.3 DeleteEvent存储过程 344
13.1.4 GetEvent存储过程 345
13.1.5 GetEvents存储过程 346
13.1.6 GetEventsByDate存储过程 346
13.1.7 UpdateEvent存储过程 347
13.2 数据库提供程序 348
13.3 数据抽象 353
13.4 小结 355
第14章 开发模块:业务逻辑层 357
14.1 开发业务逻辑层 357
14.2 为Info类定义属性 358
14.3 使用控制器类创建对象 362
14.3.1 自定义业务对象辅助类 363
14.3.2 Events模块控制器类的可选接口 364
14.4 小结 366
第15章 开发模块:表示层 367
15.1 模块用户接口 367
15.1.1 View控件 368
15.1.2 Settings控件 381
15.1.3 Edit控件 384
15.2 DotNetNuke辅助函数 396
15.2.1 错误处理函数 396
15.2.2 导航URL 396
15.3 小结 397
第16章 DotNetNuke皮肤定制 399
16.1 DotNetNuke皮肤定制简介 399
16.2 ASP.NET 2.0母版页和皮肤定制之间的对比 400
16.2.1 母版页简介 400
16.2.2 DotNetNuke为何坚持使用皮肤定制引擎 401
16.3 文件组织 401
16.4 页面处理和皮肤加载 402
16.5 皮肤和容器打包 408
16.6 创建皮肤 409
16.6.1 设计皮肤 409
16.6.2 构建皮肤 410
16.6.3 皮肤对象 411
16.6.4 为皮肤创建样式表 423
16.6.5 创建皮肤预览图像 423
16.6.6 部署皮肤 423
16.7 创建容器 424
16.8 小结 428
第17章 发布 429
17.1 代码插件 429
17.1.1 模块 430
17.1.2 皮肤对象 440
17.1.3 提供程序 444
17.2 皮肤插件 445
17.2.1 皮肤 445
17.2.2 容器 452
17.3 语言插件 453
17.3.1 语言包清单文件 453
17.3.2 语言包打包 456
17.3.3 安装语言包 459
17.4 小结 461
附录A 资源 463
附录B 系统消息标记 469