//来源: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. 【优先队列】-HDU4546比赛难度

    比赛难度 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others)Total Submis ...

  2. 【原创】RMQ - ST算法详解

    ST算法: ID数组下标: 1   2   3   4   5   6   7   8   9    ID数组元素: 5   7   3   1   4   8   2   9   8 1.ST算法作 ...

  3. Passing Reference by value

    今天查bug的时候,遇到一个问题,一个Dictionary<int[],string>数据结构,在使用key取它的value时: var tempVar = _dic[key]; 发生崩溃 ...

  4. 我是如何给discuz模板做语法高亮的

    本人一直做ASP.NET开发,近期接到任务要用Discuz开发一个社区,第一次接触PHP,PHP灵活的语法,天生的模块化,各种语法糖深深的震惊了我,我从内心深处感受到了PHP是最牛逼的语言!!! 好了 ...

  5. mac相关

    1 mac的动态链接库 mac基于bsd,所以它使用的是bsd风格的动态链接库,即以.dylib为后缀的动态链接库. 这个和windows的.dll和linux的.so相区分.

  6. [SOJ] Ordering Tasks

    1940. Ordering Tasks Constraints Time Limit: 1 secs, Memory Limit: 32 MB Description John has n task ...

  7. 基于Java 的增量与完全备份小工具

    前段时间,因为各种原因,自己动手写了一个小的备份工具,用了一个星期,想想把它的设计思路放上来,当是笔记吧. 需求场景:这个工具起初的目的是为了解决朋友公司对其网络的限制(不可以用任何同步软件,git, ...

  8. Openjudge-NOI题库-出书最多

    描述 假定图书馆新进了m(10 ≤ m ≤ 999)本图书,它们都是由n(2 ≤ n ≤ 26)个作者独立或相互合作编著的.假设m本图书编号为整数(1到999),作者的姓名为字母('A'到'Z'),请 ...

  9. ssh配置导致Ansible并发失败

    Ansible并发失败原因,  fork=100. 执行playbook时候没有并发 vim /usr/lib/python2.7/site-packages/ansible/runner/conne ...

  10. Codecraft-17 and Codeforces Round #391 (Div. 1 + Div. 2, combined)

    传送门:http://codeforces.com/contest/757 A题题意是给你一个字符串,让你在里面找到"Bulbasaur"这样的单词有多少个,字符串可以重排列.实际 ...