Sharepoint 的定制 - 代码附加内容编辑器
//来源: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 的定制 - 代码附加内容编辑器的更多相关文章
- SharePoint 内容编辑器部件介绍
前言 在SharePoint的使用过程中,我们经常会往页面中插入一些东西,这时候很可能就需要内容编辑器部件了.比如:插HTML.插样式.插脚本.插图片,统统都拿来,用内容编辑器部件. 正文 使用内容编 ...
- SharePoint附加内容数据库时报错
今天遇到一个很奇怪的问题,在sharepoint管理中心中给web application添加内容数据库时报错:The SharePoint database named WSS Content al ...
- 使用SharePoint Designer定制开发员工工作日志系统实例!
昨天已介绍了一篇<使用SharePoint Designer定制开发专家库系统实例!>,今天继续来介绍使用SharePoint Designer定制开发员工工作日志系统实例,主要功能包括填 ...
- 【SharePoint学习笔记】第4章 SharePoint UI 定制
第4章 SharePoint UI 定制 SharePoint 与 ASP.NET 好的Asp.Net人员很快就能成为好的SharePoint开发人员 Web应用程序 Mi ...
- SharePoint 2013 定制搜索显示模板(二)
前言 之前一篇博客,简单的介绍了如何定制搜索显示模板,这一次,我们介绍一下如何定制搜索显示时,弹出来的那个页面,相信这个大家也都会遇到的. 1.第一部分就是搜索显示模板的部分,第二部分就是搜索项目详情 ...
- SharePoint 2013 定制搜索显示模板
前言 之前我们已经介绍了一些关于搜索的相关配置,当然,用户关于搜索的要求可能是各种各样.有时候,用户会说,你们的显示结果太Low了,确实是:不过,在SharePoint中,我们可以很容易的定制搜索结果 ...
- 使用SharePoint Designer定制开发专家库系统实例!
将近大半年都没有更新博客了,趁这段时间不忙,后续会继续分享一些技术和实际应用.对于Sharepoint的定制开发有很多种方式,对于一般的应用系统,可以使用Sharepoint本身自带的功能,如列表作为 ...
- Jquery 概念性内容编辑器
概念性jQuery内容编辑器,这是一款非常有特色的jQuery编辑器,该编辑器支持文字.列表.视频.引用等功能,是一款小巧简洁,富有个性化的jQuery内容编辑器插件. 代码: <!doct ...
- 如何在Sitecore CMS中打开内容编辑器
在Sitecore中开发网站时,大多数项目管理都来自内容编辑器.创建,删除,修改,移动,发布,排序和查看项目只是可以在Content Editor界面中处理的众多任务中的一小部分. 由于内容编辑器对于 ...
随机推荐
- 【优先队列】-HDU4546比赛难度
比赛难度 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)Total Submis ...
- 【原创】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算法作 ...
- Passing Reference by value
今天查bug的时候,遇到一个问题,一个Dictionary<int[],string>数据结构,在使用key取它的value时: var tempVar = _dic[key]; 发生崩溃 ...
- 我是如何给discuz模板做语法高亮的
本人一直做ASP.NET开发,近期接到任务要用Discuz开发一个社区,第一次接触PHP,PHP灵活的语法,天生的模块化,各种语法糖深深的震惊了我,我从内心深处感受到了PHP是最牛逼的语言!!! 好了 ...
- mac相关
1 mac的动态链接库 mac基于bsd,所以它使用的是bsd风格的动态链接库,即以.dylib为后缀的动态链接库. 这个和windows的.dll和linux的.so相区分.
- [SOJ] Ordering Tasks
1940. Ordering Tasks Constraints Time Limit: 1 secs, Memory Limit: 32 MB Description John has n task ...
- 基于Java 的增量与完全备份小工具
前段时间,因为各种原因,自己动手写了一个小的备份工具,用了一个星期,想想把它的设计思路放上来,当是笔记吧. 需求场景:这个工具起初的目的是为了解决朋友公司对其网络的限制(不可以用任何同步软件,git, ...
- Openjudge-NOI题库-出书最多
描述 假定图书馆新进了m(10 ≤ m ≤ 999)本图书,它们都是由n(2 ≤ n ≤ 26)个作者独立或相互合作编著的.假设m本图书编号为整数(1到999),作者的姓名为字母('A'到'Z'),请 ...
- ssh配置导致Ansible并发失败
Ansible并发失败原因, fork=100. 执行playbook时候没有并发 vim /usr/lib/python2.7/site-packages/ansible/runner/conne ...
- Codecraft-17 and Codeforces Round #391 (Div. 1 + Div. 2, combined)
传送门:http://codeforces.com/contest/757 A题题意是给你一个字符串,让你在里面找到"Bulbasaur"这样的单词有多少个,字符串可以重排列.实际 ...