如何在类似日历的webapp和桌面日历应用程序(如Outlook)之间提供最大程度的集成

时间:2010-06-09 15:31:46

标签: outlook calendar exchange-server icalendar

我被分配升级/重写我公司用来安排电话会议的网络应用程序。升级的目标之一是改善应用程序与用户的Outlook日历之间的集成(最好是其他日历程序)。

目前,当用户在webapp上查看预定电话会议的详细信息时,他们可以单击“添加到Outlook日历”链接,该链接将它们指向动态生成的.ical文件。在大多数用户的系统上,Outlook默认打开文件,打开“创建日历约会”窗口,其中预先填充了concall信息。此链接仅创建一次性约会,并且必须在每次调用时单击该约会。因此,如果在6月的每个星期一发生呼叫,则必须单击4个链接才能将所有约会添加到日历中。这是我们目前整合水平的全部范围。

理想情况下,我们将能够升级系统,以便用户可以“订阅”来电,这不仅意味着当前通话,而且重复出现的系列中的所有通话都会出现在用户的日历中单击。如果一个系列中的一个电话被取消或重新安排,那么该电话的预约将在用户的日历中发生变化,而无需用户做任何事情,也不会破坏系列其余部分的约会。此外,对所有订阅者的Outlook日历中的任何更改都会自动更新呼叫信息(例如,电话号码已更改),而无需返回到webapp以再次检查其信息是否为最新

理想情况下,这也适用于其他流行的日历程序以及Google日历。

我不知道我们是否能够达到这种程度的整合,但我希望尽可能接近这一点。

其他细节和挑战:

  • 我们没有在公共服务器上运行Exchange,而且我不太可能改变它
  • 假设我们的用户基本上是“一般互联网公众”。我们的用户不是我们办公室网络的成员,也不是。我们无法为它们设置网络登录或Exchange帐户。我们的一些用户不使用Outlook,而是使用其他一些日历程序。在那些使用Outlook的人中,并非所有人都使用相同的版本。我们在50多个国家/地区的用户使用此网络应用程序。
  • 同步将是单向的。没有人可以在自己的日历中进行更改,并期望服务器反映它们/将它们复制到其他用户
  • 当前的电话会议应用程序是用ColdFusion编写的。重写可能会在ASP.NET中,但我还没有确认。可以使用与这两种技术相关的解决方案。

我知道.ical文件理论上可以包含多个事件,但在我自己的实验中,我没有成功获取Outlook(我的计算机上的Outlook 2003,但我愿意升级并且只支持更新的版本)如有必要)使用.ical文件方法一次添加多个事件。也许有人知道如何设置Outlook将接受的多事件.ical文件?这个.ical文件的链接是否可以“订阅”?是否有日历RSS提要这样的东西?我可以模拟运行Exchange服务器吗?还有其他想法吗?谢谢大家!

使用更多信息在2010-06-16进行编辑:

  • 如果可能的话,我希望用户不必下载插件或进行任何困难的配置,因为其中许多不是技术倾向,我可能会在此过程中丢失它们。
  • 如果 需要下载一些内容才能使其正常工作,那么我也愿意考虑编写自己的插件,某种我公司品牌的“con call calendar toolbar”或者其他的东西。那可能会过得很好。那会有用吗?
  • 我提到了Outlook 2003,因为那是我办公室电脑上的版本。但如果您的回答是“我知道这样做的方法,但它只适用于Outlook 2007或2010”,那很好。我想我只能支持更新的软件。

3 个答案:

答案 0 :(得分:2)

Outlook 2003上并不支持iCal。你看过remoteCalendars了吗? 它是outlook 2003的一个小开源插件,可以让它与ical一起玩得很好。 另一方面,Outlook 2007及更高版本根据此page on MS website

支持iCal

希望它有所帮助。

答案 1 :(得分:1)

您可以使用CalDAV创建用户可以订阅的压缩“流”。这些将由客户端不时更新。您可以将呼叫推送到用户流。您还可以使用Google的API集成GoogleCal。

答案 2 :(得分:0)

我会查看CalDAV(也许是DavMail网关)。