Umbraco
—The Friendly CMS
Chapter 1. - 关于Umbraco
Umbraco是一个简单,灵活,界面友好的
ASP.NET 内容管理系统。它能够支持市面上
任一浏览器甚至可以用Microsoft Word 来编
辑(当然,也可以通过任何blog客户端发布,
如Windows Live Writer)。它的代码完全支持
WEB标准,开发人员能够将任一基于.NET控
制的程序整合到Umbraco中。
1.1. 编辑者的最爱 - Editors Love
•   漂亮, 易于使用的界面
•   集成所见即所得编辑器
•   支持在Microsoft Word里编辑
•   版本管理功能和定时发布
1.2. 开发者的最爱 – Developers Love
•   支持自定义.NET控件
•   文档化的API
•   可以使用任一.NET语言如: c# 或VB.NET
•   完全开放源码
1.3. 设计者的最爱 – Designers Love
•   没有限制的设计
•   超级简单的模板引擎
•   完全支持WEB标准
•   完美支持易用性标准
Chapter 2 – System Overview




2010/5/23            http://www.umbracochina.com
2.1. Content (内容管理)
 对站内文章,产品,相册等内容统一管理
 的Section
2.2. Media
2.3. 用户Users
Users即为系统管理用户, 默认安装有3种角色
  writer, editor, translator
2.4 Setting
•   Style Sheets
•   Template – ASP.NET 2.0 Master Pages格式
•   Scripts
•   Language
•   Dictionary
•   Media Types
•   Document Types – 定义所有的文档类型
2.5. Developer
•   Cache Browser
•   Data Types
•   Macros
•   Packages
•   Python Files
•   XSLT Files
•   …
2.6. Members
Member Type, Member Groups, Members
Chapter 3 Quick Tips
3.0. Installation

• Install Umbraco
• Install Creative Website Starter 2.0.2
3.1. 内容发布
• 内容的发布
• 工作流支持
3.3. 理解文档 Document
• Document是Umbraco CMS中最核心的功能
  之一, 对最终用户而言,主要内容的展现都
  是通过Document来表达的
• 注意: “Document ” 并不一定表示的是一篇
  具体的“文档”, 也可以表达 “分类”或
  “目录”,可以通过选择不同的Icon 和
  Thumbnail来直观的展示文档类型(对管理员
  可见)
3.3.1. 新建文档类型 Document Type
• 以新建Products 类型为例,步骤
 – 1. 右击 “Document Type”
 – 2. 点击 “Create”
 – 3. 输入文档类型名称 “Products”
 – 4. 创建 “Tabs”
 – 5. 创建属性
 – 6. 修改现有 文档类型 “Home” 允许 “Products”作
   为其子节点
 – 7. 回到内容管理(section)
 – 8. 其他:为文档指定多个模板
3.3.2. 以编程方式控制Document
• 获取当前文档
Document currentDocument = new
  Document(Convert.ToInt32(UmbracoContext.Current.PageId));



• 获取文档的某个属性
currentDocument.getProperty(“title”).Value.ToString();
3.4. 理解宏 Macro
 宏(Macro)是模板页中用于动态加载内容的
 标签(模板指令),宏可以是基于XSLT文件创
 建,亦可以是基于ASP.NET用户控件创建,
 对于喜欢Python的朋友,甚至可以使用
 python来创建
3.4.1. 使用XSLT文件
• 创建一个基于XSLT的宏,导航为例,步骤:
 – 管理员身份进入Developers section
 – 右击XSLT Files, 选择 create
 – 选择参考模板,并制定文件名称
 – 修改xslt文件内容
• 修改模板文件,插入宏
3.4.2. 使用.NET用户控件

 – 创建.NET项目
 – 添加Umbraco 相关DLL引用
 – 添加用户控件,并实现相关功能
 – 编译后将DLL拷贝至网站bin目录, 拷贝ASCX至
   usercontrols目录下
 – 创建一个新的Macro并选择刚刚新建的ascx文件
3.4.3. 调试网站 Debugger
• 通过加载书签,改变URL参数的形式来打开
  调试信息(注意:需要在web.config文件中打
  开调试支持,umbraco安装默认是打开调试
  的,对于生产环境的,建议关闭调试,不
  然xslt文件全部可以被下载)
• 书签地址
 – http://www.umbracochina.com/content/umbraco
   -debugging-made-easy
3.5. 模板的使用 Template
• 模板的创建
 –   管理员身份->Settings->Templates
 –   右击Templates,点击Create
 –   设定名称Name,别名Alias,选择Master Page
 –   设定模板内
     •   插入内容属性(定义于Document中)
     •   插入字典项
     •   插入宏
     •   ContentPlaceHolder



• 使用:结合相关文档类型
3.6. 什么是Media
跟Document非常类似 , 是Umbraco CMS中基
本对象之一
3.6.1.默认包含3类

• Folder
• Image
• File
3.6.2.扩展Media Type
• 步骤:
 – 选择 Settings section
 – 右击 Media Type
 – 点击Create
3.7. 系统用户 Users
• 系统用户管理 Users
• 作为CMS内容管理员默认提供3种类型,右
  击”User Types”可以扩充
 – Writer
 – Editor
 – Translator
• 权限控制: 可通过UserPermissons控制不同
  角色权限
3.8. 系统成员 Members
• Members是Umbraco系统中又一重要对象,
  其操作方式跟Document相似
3.8.1. 新建成员类型
• 步骤
 – Members
 – Member Types
 – 点击Create
 – 设置基本信息 Info
 – 设置Tabs(可选)
 – 设置基本属性 Genric Properties(可选)
3.8.2 编程方式操作Members
• 依赖的DLL
 – Businesslogic.dll
 – Cms.dll
• 代码片段(略)
 – 请参见附件中文档
3.9. 使用事件 Umbraco Event
• Umbraco 4后中包含一个ApplicationBase 类,通过继承该
  类,可以方便的最终我们关心的事件,比如文档的发布,
  修改,用户的注册等事件
Public class
  EventTracker:umbraco.BusinessLogic.ApplicationBase{
Public EventTracker()
{
  Document.BeforePublish += new
  Document.PublishEventHandler(Document_BeforePublish);
}
}
3.10. 使用自定义数据表
• 可以参考Ucomment包(一个开源的blog评论
  模块)实现
• 通过SqlHelper类,用
  DataLayerHelper.CreateSqlHelper来创建,
  umbraco.GlobalSettings.DbDSN返回的是默认
  的链接字符串
Chapter 4 – 附录
4.1. 附录一 项目结构
•   Umbraco.businesslogic (基础)
•   Umbraco.cms (核心)
•   Umbraco.controls
•   Umbraco.datalayer(数据)
•   Umbraco.editorControls
•   Umbraco.interfaces
•   Umbraco.presentations(展现)
•   Umbraco.providers
•   Umbraco.standardFormhandlers
•   Umbraco.webservices (接口)
4.2. 附录二 学习资源
•   Install guide
•   Umbraco basics
•   Foundation for site builders
•   Foundation for developers
•   Learning to love XSLT
•   umbraco Community Search
•   our.umbraco.org
5. 联系我们 Contact us
Tim Lai
• Mobile: +86.15917487355
• Msn: smart_mouse@hotmail.com
• Skype: umbracochina
• QQ: 121432147

Umbraco 培训讲义

  • 1.
  • 2.
    Chapter 1. -关于Umbraco Umbraco是一个简单,灵活,界面友好的 ASP.NET 内容管理系统。它能够支持市面上 任一浏览器甚至可以用Microsoft Word 来编 辑(当然,也可以通过任何blog客户端发布, 如Windows Live Writer)。它的代码完全支持 WEB标准,开发人员能够将任一基于.NET控 制的程序整合到Umbraco中。
  • 3.
    1.1. 编辑者的最爱 -Editors Love • 漂亮, 易于使用的界面 • 集成所见即所得编辑器 • 支持在Microsoft Word里编辑 • 版本管理功能和定时发布
  • 4.
    1.2. 开发者的最爱 –Developers Love • 支持自定义.NET控件 • 文档化的API • 可以使用任一.NET语言如: c# 或VB.NET • 完全开放源码
  • 5.
    1.3. 设计者的最爱 –Designers Love • 没有限制的设计 • 超级简单的模板引擎 • 完全支持WEB标准 • 完美支持易用性标准
  • 6.
    Chapter 2 –System Overview 2010/5/23 http://www.umbracochina.com
  • 7.
    2.1. Content (内容管理) 对站内文章,产品,相册等内容统一管理 的Section
  • 8.
  • 9.
  • 10.
    2.4 Setting • Style Sheets • Template – ASP.NET 2.0 Master Pages格式 • Scripts • Language • Dictionary • Media Types • Document Types – 定义所有的文档类型
  • 11.
    2.5. Developer • Cache Browser • Data Types • Macros • Packages • Python Files • XSLT Files • …
  • 12.
    2.6. Members Member Type,Member Groups, Members
  • 13.
  • 14.
    3.0. Installation • InstallUmbraco • Install Creative Website Starter 2.0.2
  • 15.
  • 16.
    3.3. 理解文档 Document •Document是Umbraco CMS中最核心的功能 之一, 对最终用户而言,主要内容的展现都 是通过Document来表达的 • 注意: “Document ” 并不一定表示的是一篇 具体的“文档”, 也可以表达 “分类”或 “目录”,可以通过选择不同的Icon 和 Thumbnail来直观的展示文档类型(对管理员 可见)
  • 17.
    3.3.1. 新建文档类型 DocumentType • 以新建Products 类型为例,步骤 – 1. 右击 “Document Type” – 2. 点击 “Create” – 3. 输入文档类型名称 “Products” – 4. 创建 “Tabs” – 5. 创建属性 – 6. 修改现有 文档类型 “Home” 允许 “Products”作 为其子节点 – 7. 回到内容管理(section) – 8. 其他:为文档指定多个模板
  • 20.
    3.3.2. 以编程方式控制Document • 获取当前文档 DocumentcurrentDocument = new Document(Convert.ToInt32(UmbracoContext.Current.PageId)); • 获取文档的某个属性 currentDocument.getProperty(“title”).Value.ToString();
  • 21.
    3.4. 理解宏 Macro 宏(Macro)是模板页中用于动态加载内容的 标签(模板指令),宏可以是基于XSLT文件创 建,亦可以是基于ASP.NET用户控件创建, 对于喜欢Python的朋友,甚至可以使用 python来创建
  • 22.
    3.4.1. 使用XSLT文件 • 创建一个基于XSLT的宏,导航为例,步骤: – 管理员身份进入Developers section – 右击XSLT Files, 选择 create – 选择参考模板,并制定文件名称 – 修改xslt文件内容 • 修改模板文件,插入宏
  • 23.
    3.4.2. 使用.NET用户控件 –创建.NET项目 – 添加Umbraco 相关DLL引用 – 添加用户控件,并实现相关功能 – 编译后将DLL拷贝至网站bin目录, 拷贝ASCX至 usercontrols目录下 – 创建一个新的Macro并选择刚刚新建的ascx文件
  • 24.
    3.4.3. 调试网站 Debugger •通过加载书签,改变URL参数的形式来打开 调试信息(注意:需要在web.config文件中打 开调试支持,umbraco安装默认是打开调试 的,对于生产环境的,建议关闭调试,不 然xslt文件全部可以被下载) • 书签地址 – http://www.umbracochina.com/content/umbraco -debugging-made-easy
  • 25.
    3.5. 模板的使用 Template •模板的创建 – 管理员身份->Settings->Templates – 右击Templates,点击Create – 设定名称Name,别名Alias,选择Master Page – 设定模板内 • 插入内容属性(定义于Document中) • 插入字典项 • 插入宏 • ContentPlaceHolder • 使用:结合相关文档类型
  • 26.
    3.6. 什么是Media 跟Document非常类似 ,是Umbraco CMS中基 本对象之一
  • 27.
  • 28.
    3.6.2.扩展Media Type • 步骤: – 选择 Settings section – 右击 Media Type – 点击Create
  • 29.
    3.7. 系统用户 Users •系统用户管理 Users • 作为CMS内容管理员默认提供3种类型,右 击”User Types”可以扩充 – Writer – Editor – Translator • 权限控制: 可通过UserPermissons控制不同 角色权限
  • 30.
    3.8. 系统成员 Members •Members是Umbraco系统中又一重要对象, 其操作方式跟Document相似
  • 31.
    3.8.1. 新建成员类型 • 步骤 – Members – Member Types – 点击Create – 设置基本信息 Info – 设置Tabs(可选) – 设置基本属性 Genric Properties(可选)
  • 32.
    3.8.2 编程方式操作Members • 依赖的DLL – Businesslogic.dll – Cms.dll • 代码片段(略) – 请参见附件中文档
  • 33.
    3.9. 使用事件 UmbracoEvent • Umbraco 4后中包含一个ApplicationBase 类,通过继承该 类,可以方便的最终我们关心的事件,比如文档的发布, 修改,用户的注册等事件 Public class EventTracker:umbraco.BusinessLogic.ApplicationBase{ Public EventTracker() { Document.BeforePublish += new Document.PublishEventHandler(Document_BeforePublish); } }
  • 34.
    3.10. 使用自定义数据表 • 可以参考Ucomment包(一个开源的blog评论 模块)实现 • 通过SqlHelper类,用 DataLayerHelper.CreateSqlHelper来创建, umbraco.GlobalSettings.DbDSN返回的是默认 的链接字符串
  • 35.
  • 36.
    4.1. 附录一 项目结构 • Umbraco.businesslogic (基础) • Umbraco.cms (核心) • Umbraco.controls • Umbraco.datalayer(数据) • Umbraco.editorControls • Umbraco.interfaces • Umbraco.presentations(展现) • Umbraco.providers • Umbraco.standardFormhandlers • Umbraco.webservices (接口)
  • 37.
    4.2. 附录二 学习资源 • Install guide • Umbraco basics • Foundation for site builders • Foundation for developers • Learning to love XSLT • umbraco Community Search • our.umbraco.org
  • 38.
    5. 联系我们 Contactus Tim Lai • Mobile: +86.15917487355 • Msn: smart_mouse@hotmail.com • Skype: umbracochina • QQ: 121432147