我必须构建一个具有事件日历部分的网络应用程序。与 Outlook 一样,要求是用户可以设置循环事件,并且可以在一系列事件中移动单个事件。
- 可以使用哪些方法来存储(在数据库中)可以描述系列重复模式的各种方式?
- 如何记录异常?
- 您使用什么策略来管理重新定义系列及其对异常的影响?
我已经做过几次了,不同的是,但我想看看其他人是如何解决这个问题的。
看看iCal 格式如何处理重复模式和重复异常。如果您想在某个时候发布事件,无论如何您都很难避免使用 iCal,因此您最好从一开始就以兼容的方式进行。
我通常提供前端逻辑,允许用户指定重复事件,但实际上使用单独的数据库条目将事件记录为 SQL 服务器中的单独记录。
换句话说,他们可以指定每周一晚上 7 点的会议,但我记录了一年的 52 条记录,以便可以更改、删除单个会议或在这些事件中添加其他信息。
我提供了允许用户取消所有未来事件的方法,然后在需要时重新输入新的重复系列。
我还没有想出一个完美的方法来处理这个问题,所以我会监控这个线程,看看是否有任何好的建议出现。