在日常生活和工作中,经常需要在多个平台查看和管理事件。研究表明,一个在小到中等规模团队(2-10人)工作的人平均需要在至少5个地方查看可能影响他们工作的事件。这些事件通常通过电子邮件、会议请求、团队日历等不同平台发布。SharePoint提供了一个整洁的方式来在一个地方处理所有这些事件,即SharePoint日历。在本文中,将深入了解SharePoint日历、日历叠加以及在SharePoint中使用Exchange和Google日历的方法。
SharePoint日历是团队和/或使用SharePoint作为协作平台的个人的一个伟大功能。它为这些团队提供了一个伟大的工具,可以在一个地方查看和标记对这个群体中的人重要的事件。它可以用于定期的团队会议事件、公告公共假期,甚至是提醒团队成员截止日期。
在SharePoint中添加日历就像添加一个新的应用程序一样简单,如下图所示:
创建后,日历为提供了一个默认的月视图,可以看到所有已注册的事件。例如,下面的日历显示了一个名为“周一摇滚”的事件(真的,难道不是周五摇滚吗?☺。这只是团队可以利用内置的SharePoint日历功能进行透明协作的一个例子。
向SharePoint日历添加事件与添加新的列表项没有什么不同。顺便说一句,知道吗?SharePoint中的一切都是本质上的列表,只是以不同的视图显示?
对于那些对查看日历的不同视图(包括列表视图)感兴趣的人,可以使用“当前视图”作为“所有事件”。
在上面的一节中,在SharePoint日历中明确创建了事件。然而,SharePoint提供的另一个不错的功能是创建其他日历的叠加,这些日历来自同一站点集合中的另一个站点,例如Exchange日历等。
让看看如何使用日历叠加功能连接到现有的Exchange日历。
首先,使用日历选项卡上的日历叠加选项。
下一个对话框要求选择“日历类型”,选择有SharePoint和Exchange。对于这个例子,让选择Exchange,它要求提供Outlook Web Access (OWA) URL以及Exchange Web Service (EWS) URL。有关更多详细信息,请参考Outlook Web Access和如何确定EWS。
然后会看到Exchange日历与SharePoint日历同步。可以看到一个绿色的“My Exchange Calendar”叠加,显示了周一的会议。
重要的是要记住,要使Exchange与SharePoint的同步工作,需要在SharePoint中设置正确的用户配置文件,并与Exchange中存在的电子邮件地址进行相应的映射。
到目前为止,看到了如何利用日历的标准功能,从SharePoint列表或Exchange日历同步。但正在讨论的是Microsoft生态系统的连接性,这通常是目前的情况。
如果想要包括Google日历中的事件,或者为了讨论,甚至是Facebook事件列表或任何拥有的自定义列表呢?
让从一个坏消息开始,SharePoint不支持任何自定义日历的自定义集成。
然而,好消息是有很多方法可以实现这一点。
将Google事件同步到SharePoint的一种方法是实际上遵循一条中间道路,而不需要编写任何自定义代码。
技巧(或者称之为黑客)是将Google日历与Outlook/Exchange日历同步。一旦完成,总是可以按照前面文章中演示的方法将Exchange叠加添加到SharePoint日历。
要了解更多关于Google同步到Outlook日历的信息,请参考这个链接。
不会称这种方法为更好的解决方案,但当然它是开发者社区相对于信息工作者社区更倾向于的一种方法。典型的,自定义与开箱即用功能的心态☺。
从SharePoint 2013开始,编写任何自定义代码的首选方式不是拥有完全信任的解决方案,而是使用CSOM(客户端对象模型)。还要记住,在Office 365中没有完全信任的解决方案。可以使用SharePoint CSOM并通过以下步骤集成Google日历。在本文的范围内,不会编写代码,而只是执行此操作的结构方式,这可以以任何编程语言编写:
1. 以编程方式读取Google日历。
2. 根据上一步在SharePoint日历列表中创建列表项(记住,SharePoint日历无非就是列表)。
3. 根据上一步在任务计划程序中安排脚本/程序。
方法3:
可以使用第三方解决方案。这种方法有很多优点:可以节省时间并获得专业设计软件的许多功能。就SharePoint日历而言,第三方Web部件能够聚合来自许多数据源的各种日历,不仅仅是Exchange和Google日历,还有很多。例如,Virto SharePoint日历允许用户使用任何SharePoint列表、SQL表、XML文件、SharePoint列表Web服务、Salesforce日历和SharePoint列表作为数据源。