//来源: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. 拿来之笔 希望铭记 笔记 出处 http://www.jianshu.com/p/acb8885283dc

    最近有机会对不同岗位的应聘者进行面试,其中有架构师.技术经理.开发岗位.谈谈几个印象深刻的. 面试者一,女性.重点大学硕士,从事软件技术工作十四年,应聘架构师岗位.按照套路问了下对于软件架构的认识和理 ...

  2. Python 学习笔记13:Python + wsgi + django 配置。坑爹的python3和wsgi不兼容的解决

    今人不见古时月,今月曾经照古人.生命是如此的美丽与短暂! 学习Python已经两个月了,Python的语法通过做简单的语法题和看Python语法介绍,有了初步的了解.但上班还是要做别的事情,所以感觉学 ...

  3. HttpGet和HttpPost的区别

    HttpGet和HttpPost的区别总结就是下面这样: Get一般用于从服务器取数据,而且不改变原来的内容: Post一般用于向服务器传递数据,这需要改变服务器的内容. 从安全性上考虑,Get的安全 ...

  4. Mac下如何使用Vim

    帖子是转载的,原帖地址 Mac OX其实已经默认装好了vim了.不需要再安装Macvim https://ruby-china.org/topics/4905 Mac开发利器之程序员编辑器MacVim ...

  5. C#模板打印功能-模板为WPS或Excel

    //---WPS----- using EtApp = ET; using System.Reflection; using System.Runtime.InteropServices; using ...

  6. linux系统被入侵后处理经历【转】

    背景 操作系统:Ubuntu12.04_x64 运行业务:公司业务系统,爬虫程序,数据队列. 服务器托管在外地机房. 突然,频繁收到一组服务器ping监控不可达邮件,赶紧登陆zabbix监控系统查看流 ...

  7. 解决gstreamer无法播放的bug

    0 ls 1 ./start.sh 2 ps 3 kill 366 4 cd /usr/app/services/ 5 ./start.sh 6 cd ../ 7 ls 8 cd res/ 9 ls ...

  8. laravel创建定时任务

    官方文档给出的教程已经很详细了,这里给出一些补充帮助大家理解. 英文文档:https://laravel.com/docs/5.2/scheduling 中文文档:https://laravel-ch ...

  9. centos7 crontab笔记

    1.crontab相关命令 语法:crontab [-u <用户名称>][配置文件] 或 crontab [-u <用户名称>][-elr] 参数: -e 编辑该用户的计时器设 ...

  10. 关于手动关闭BootStrap模态框

    在网上找手动关闭BootStrap模态框的解决方法,说是(需要引用bootstrap.js等): $("#myModal").modal('hide'); 但是我发现我的只能关闭 ...