随笔分类 - 自定义
用SharePoint Designer对SharePoint进行定制
摘要:这是这个系列的第一篇,介绍一个小工具,主要是用在Web Service测试的。因为为了用一点高级的东西,就免不了和web service打交道。你可以使用按照KB819267来修改web.config实现。这个默认的确实有点弱,而且还需要一个SharePoint Server。显然有个工具更加方便。微软的一个员工发布了一个小工具:WebServiceStudio,https://webservicestudio.codeplex.com/。名字很大气,却很小巧,很好用。上图是一个调用GetCurrentUserInfo的示例。下面一篇文章就会介绍这个Web Service方法。 Stay Tu
阅读全文
摘要:一张好的皮肤显然的会给你的项目加分不少。特别是大部分的项目,UI甚至可以决定成败。SharePoint在这方面一直都做得不好,曾经我有好多项目都是坐在美工旁边来一起修改样式。痛苦的经历。不久以前,终于有大牛们开始愿意向这个方向迈出一步了。这里是这个开源项目的地址:Responsive SharePoint,如果有需要可以试用。 如果不明白什么是响应式UI,可以参考下Bootstrap,或者其中一个中文翻译版本。 我的Office 365测试站点使用了这个模板页进行了少量修改,也还在修改中。
阅读全文
摘要:今天碰到一个有意思的问题,就顺便借用了这里的一段示例代码,稍作修改,导出个不同地区,文化下的时间格式。 class Program { static void Main(string[] args) { List<string> list = new List<string>(); foreach (CultureInfo ci in CultureInfo.GetCultures(CultureTypes.AllCultures)) { string spe...
阅读全文
摘要:XsltListViewWebPart对于SharePoint 2010来说是个新玩意,这个web part继承于我们经常在2007时代可以看到的DataFormWebPart,并且在2010里面承担起了解析List显示效果的重任。 这个Web Part带来的一个明显的好处就是你可以查看,修改显示视图的设置,CAML查询,ViewFields等等。 另外一个好处就是如果需要高级定制,只需要按需XSLT化相关列,而不是整个视图。 你可以选中一个列,使用Customize Item来做到。 试想一下,如果你有几十个列,就为了编辑其中一列,XSLT化整个视图,看着你原本数百行的文件,...
阅读全文
摘要:在我这篇日志中介绍了如何用Web Sevice创建一个子站点,既然能够创建站点,就应该能够删除。这篇文章就介绍一下在客户端编程的时候删除站点的方法。 Meetings.CreateWorkspace提供了创建子站点的办法,与之相对的Meetings.DeleteWorkspace方法也提供一个删除掉站点的方法,但是只能删除掉Meeting Workspace站点。如果尝试删除非Meeting Wo...
阅读全文
摘要:实际上,对于使用Web Service创建List,则没有什么难度,直接使用Lists.AddList方法就可以了。 不过这个方法有个局限,没有办法根据自定义的List模板去创建。 如果需要根据一个List模板去自动化创建List,我做了下研究,也确实没发现什么可以直接用Web Servic的方法。 这样我就有2种思路: 1. 完全用Web Service去自动化所有操作,创建基本List,增加Content Type, 创建文件夹……。 事实上,我以前一直都是这么做的,囧。 2. 使用SharePoint RPC。 这个是最近研究出来的,废话不说,先上代码。String.prototype.
阅读全文
摘要:大多数情况下,为了提高灵活性,SharePoint 2007的纯客户端编程,都会借助于使用Web Service。可以参考我这篇文章简单了解一下。 我最近的一个项目就是使用的Web Service,其中碰到的一些问题还是比较有意思的,这里做一些分享吧。 如果你搜索使用web service创建子站点,大部分文章都会说,没有办法,还是使用Object Model吧。 实际真的如此吗? SharePo...
阅读全文
摘要:官方文档已经有详细的说明了,就是有一个问题要注意:<Batch OnError="Continue" PreCalc="TRUE" ListVersion="0" ViewName="{EF2F5A21-0FD0-4654-84ED-112B4F5A48F8}"> <Method ID="1" Cmd="Update"> <Field Name="ID">3</Field> <Field Name...
阅读全文
摘要:刚刚在Team Site启用了Publishing Feature,发现自己自定义过的EditForm竟然变样子了,似乎某些Publishing的功能注入到了里面,显示的不伦不类。 Google了一下,发现很多有着同样困扰的同学,同时也发现了一个很好的解决方案: 只要增加一个如下所示的控件就行了,这样可以屏蔽掉默认的Publishing默认的控件。 <asp:Content ContentPlac...
阅读全文
摘要:估计大家经常可以在地址栏看到这样被escape以后的地址了吧。 我都不记得以前曾经多少次我把它复制到剪贴板然后把%78改成{,把%7D改成},再把%2D改成-。 直到我发现了一个很有意思的地方,现在分享下。 进入到List Setting页面: 随便点一个Link, 进入到修改页面,单击Save按钮保存。 当你自动被导航回List Setting页面,你会发现地址栏变成了: 神奇的SharePoi...
阅读全文
摘要:在纯的SharePoint客户端开发,考虑到这样一个需求,你需要操作一个SharePoint List,你建了很多列,但是不是所有的列都希望给最终用户看到,该怎么办? 显然,只能用JavaScript了。 按照我这个文档最后提出的一个实践,你可以做一个给把你的代码写到一个HTML文件中,然后引用你的这个文件。如下图所示: 通常情况下,我会把需要引用到的JS文件放在一个单独的CEWP中,这样做的最...
阅读全文
摘要:不要问我为什么不去做SharePoint服务端开发,而要自找麻烦做客户端开发,我可以给你举出客户端开发的好处,不过,更多的现实是,服务器是IT管的,不让你碰… 在这里总结下我自己的一些开发经验。 1. 建立一个文档库启用版本控制,强制在签出之后才允许编辑。 做SharePoint Designer做开发的时候,最头疼的问题就是没有一个集成的版本管理插件,多人开发的时候难以控制。 所以只有利用Sha...
阅读全文
摘要:Scenario: This is an simple tutorial of using Lookup column to synchronize the data between two lists: Source List and Destination List. 1. In the Destination List, create a RefID which gets informa...
阅读全文
摘要:SharePoint的调查列表默认只支持简单的文字调查, 并不能满足大部分时候的需求, 自己自定义出一个漂亮点的调查很需要费一番工夫, 为了让大部分对开发知之甚少的SharePoint管理员或者高级用户能够方便的制作一个图文并茂的调查,特写此文. 第一步:建立一个普通的调查列表。 第二步:在SharePoint Designer中打开这个调查,上传一个图片备用。 第三步:在SharePoint ...
阅读全文