//来源:http://www.cnblogs.com/codingcow/articles/69143.html

Sharepoint是一种非常新而且很有用的技术. 现在微软把基本的功能集成到了Windows 2003 Server里, 那就是Windows Sharepoint Service简称WSS. 他使开发个性化的复杂的应用程序变得非常简单.

在我的经验里, Sharepoint的开发主要分为三部分: 定制(customization), Web Part, 配置和集成. (这里不包括Sharepoint Portal Server) 先讲一下customization. 主要讲我的经验, 而且想到那降到那, 错误的地方请大家指出, 条理不清楚的地方请原谅.

定制Sharepoint最简单的办法是FrontPage 2003. 但是它对开发大型的应用没有什么帮助, 这里就不讨论了, 有兴趣的请看 http://www.sharepointcustomization.com/default.aspx

开发和定制主要是要下面几个部分进行修改.

Virtual Server : 也就是你的web目录

Site Definition (也有人叫Template): 在 c:\Program Files\Common Files\Microsoft Shared\windows server extersions\60\template\1033 or 1066 or ... 下, 它是一些创建网站, List和Document的模板.

Layouts: 也就是virtual server里的_layouts, 一般指向c:\Program Files\Common Files\Microsoft Shared\windows server extersions\60\template\layouts. 他有一些很有趣的用法,以后有空再说。

Themes: 网站的Theme, 即CSS和他的图片

VTI_BIN: 放Web Service的地方,在virtual server里是_vti_bin。指向c:\Program Files\Common Files\Microsoft Shared\windows server extersions\60\ISAPI.

1. 做一个新的Theme.

第一步当然是UI设计拉. 叫你的Designer画一个界面并选好颜色, Font等等. 在c:\Program Files\Common Files\Microsoft Shared\windows server extersions\60\template\themes下拷贝一套theme, 照着样子修改theme.css. 参考 http://msdn.microsoft.com/library/en-us/odc_SP2003_ta/html/ODC_SPSCustomizingSharePointSites3.asp?frame=true的OWS.CSS用法.

2. Site Definition (Site的template)

这个就点复杂啦. 干活之前先要学一下CAML. 这不是一个好玩的东东. 自己去看吧: http://msdn.microsoft.com/library/en-us/spsdk11/CAML_Schema/spxmlconCAML.asp?frame=true

首先把STS复制一套, 改成你需要的名字. 修改WEBTEMP.XML(在c:\Program Files\Common Files\Microsoft Shared\windows server extersions\60\template\1033\xml下), 把新的template加上.

Site Definition的修改最重要的是ONET.XML. 它包括了页面上的Navigation Bar(顶上的和左边的), List Template和Fields的定义和UI, 各个Page的Modules.

首先改Project tag的Title attribute, 改成你需要的名字, 也就是网站生成的时候的缺省名. 第二步可以按照需要改Navigation Bar. List Templates 和Fields一般不需要改动, 可以先不管. 然后找到Modules和Name="Default"的Module. 在下面Url="default.aspx"的File就是你要改的网站主页.

这里的内容将会显示在default.aspx的WebPartZone里面. Web Part 用AllUsersWebPart表示, List用View 表示, View 的 List 对应于上面相应的List ID. 例如, 我想加一个Text/Html Web Part在左栏的顶端.

<AllUsersWebPart WebPartZoneID="Left" WebPartOrder="1">
                   <![CDATA[
                   <WebPart xmlns="http://schemas.microsoft.com/WebPart/v2">
                        <Assembly>Microsoft.SharePoint, Version=11.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c</Assembly>
                        <TypeName>Microsoft.SharePoint.WebPartPages.ContentEditorWebPart</TypeName>
                        <FrameType>None</FrameType>
                        <Title>My Info</Title>
                   </WebPart>
                   ]]>
                </AllUsersWebPart>

或加一个Task Web Part在右栏的底部.

<View List="107" BaseViewID="7" WebPartZoneID="Right" WebPartOrder="3"/>

当然, 你也可以加上你自己的web part.

ONET.XML的修改只影响新的Site, 已经存在的site将不会有任何改变.

Sharepoint 的定制 - 代码附加内容编辑器的更多相关文章

  1. SharePoint 内容编辑器部件介绍

    前言 在SharePoint的使用过程中,我们经常会往页面中插入一些东西,这时候很可能就需要内容编辑器部件了.比如:插HTML.插样式.插脚本.插图片,统统都拿来,用内容编辑器部件. 正文 使用内容编 ...

  2. SharePoint附加内容数据库时报错

    今天遇到一个很奇怪的问题,在sharepoint管理中心中给web application添加内容数据库时报错:The SharePoint database named WSS Content al ...

  3. 使用SharePoint Designer定制开发员工工作日志系统实例!

    昨天已介绍了一篇<使用SharePoint Designer定制开发专家库系统实例!>,今天继续来介绍使用SharePoint Designer定制开发员工工作日志系统实例,主要功能包括填 ...

  4. 【SharePoint学习笔记】第4章 SharePoint UI 定制

    第4章 SharePoint UI 定制   SharePoint 与 ASP.NET     好的​Asp.Net人员很快就能成为好的SharePoint开发人员     Web应用程序    Mi ...

  5. SharePoint 2013 定制搜索显示模板(二)

    前言 之前一篇博客,简单的介绍了如何定制搜索显示模板,这一次,我们介绍一下如何定制搜索显示时,弹出来的那个页面,相信这个大家也都会遇到的. 1.第一部分就是搜索显示模板的部分,第二部分就是搜索项目详情 ...

  6. SharePoint 2013 定制搜索显示模板

    前言 之前我们已经介绍了一些关于搜索的相关配置,当然,用户关于搜索的要求可能是各种各样.有时候,用户会说,你们的显示结果太Low了,确实是:不过,在SharePoint中,我们可以很容易的定制搜索结果 ...

  7. 使用SharePoint Designer定制开发专家库系统实例!

    将近大半年都没有更新博客了,趁这段时间不忙,后续会继续分享一些技术和实际应用.对于Sharepoint的定制开发有很多种方式,对于一般的应用系统,可以使用Sharepoint本身自带的功能,如列表作为 ...

  8. Jquery 概念性内容编辑器

      概念性jQuery内容编辑器,这是一款非常有特色的jQuery编辑器,该编辑器支持文字.列表.视频.引用等功能,是一款小巧简洁,富有个性化的jQuery内容编辑器插件. 代码: <!doct ...

  9. 如何在Sitecore CMS中打开内容编辑器

    在Sitecore中开发网站时,大多数项目管理都来自内容编辑器.创建,删除,修改,移动,发布,排序和查看项目只是可以在Content Editor界面中处理的众多任务中的一小部分. 由于内容编辑器对于 ...

随机推荐

  1. linux命令之crontab详解

    crontab命令: crontab -l : 显示定时任务列表 crontab -e: 编辑定时任务 crontab -r : 删除所有定时任务 基本格式 :  * * * * * command  ...

  2. django manage.py 的各种功能

    [简介] django-admin.py是Django的一个用于管理任务的命令行工具.本文将描述它的大概用法. 另外,在每一个Django project中都会有一个manage.py.manage. ...

  3. Scala 中的 apply 和 update 方法[转]

    原文链接:http://blog.csdn.net/lyrebing/article/details/21696581 Scala 是构建在 JVM 上的静态类型的脚本语言,而脚本语言总是会有些约定来 ...

  4. Python学习笔记——基础篇【第五周】——os模块和sys模块

    OS模块 提供对操作系统进行调用的接口 os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 os.chdir("dirname") 改变当前脚本工作目录 ...

  5. Java 并发 线程的优先级

    Java 并发 线程的优先级 @author ixenos 低优先级线程的执行时刻 1.在任意时刻,当有多个线程处于可运行状态时,运行系统总是挑选一个优先级最高的线程执行,只有当线程停止.退出或者由于 ...

  6. 各种编码之间的关系以及getBytes的使用

    编码基础知识参考http://my.oschina.net/chape/blog/201725 我对此作了简单的概括 iso8859-1 (通常叫做Latin-1) 属于单字节编码,最多能表示的字符范 ...

  7. 清理SharePoint 2010的SQL Server 2008 R2日志数据库的方法!

    //来源:http://www.cnblogs.com/nbpowerboy/p/3380079.html 公司用SharePoint 2010已有三年多的时间了,上BPM项目也有2年多的时间,之前供 ...

  8. JDOM与DOM主要有两方面不同

    我这丝毫没有吐槽的意思哟,只是想说作为一个合格的程序员大家最起码需要做到思维严谨这点,在有能力的情况下对用户体验能提点建议最好.自己写的代码一定要经过严格测试再交付,不要指望测试人员帮你测试再去修改, ...

  9. 10s后自动跳转

    <div class="jf_register"> <h2>您好,欢迎光临<fmt:message key="b2cShowName&quo ...

  10. [Mark] KVM 虚拟化基本原理

    X86 操作系统是设计在直接运行在裸硬件设备上的,因此它们自动认为它们完全占有计算机硬件.x86 架构提供四个特权级别给操作系统和应用程序来访问硬件. Ring 是指 CPU 的运行级别,Ring 0 ...