6

我正在为客户端的 PHP/mySQL 日历应用程序创建规范。必须解决的问题之一是经常发生的事件,其发生率由诸如“每年在 5 月的第一个周末”之类的规则确定。客户希望能够设置诸如“3 月至 6 月的第三个星期四发生”等规则。

客户要求他们有能力定义这些,而不是在未来 X 年内用它们预先填充事件发生率表。

是否有任何现有的日历解决方案允许这种基于模式的重复?

是否有任何日历系统基于此类规则进行查询,而不是在创建或更新重复事件时使用参数在事件表中生成重复事件的发生率?

到目前为止我正在阅读的内容:

一个。 http://martinfowler.com/apsupp/recurring.pdf

湾。 http://www.kanzaki.com/docs/ical/recur.html

C。 https://www.rfc-editor.org/rfc/rfc5545#page-37

d。 https://www.rfc-editor.org/rfc/rfc5545#section-3.8.5.3

e. iCalendar“字段”列表(用于基于 iCalendar 标准的数据库模式)

F。 在日历应用程序中模拟重复事件的最佳方法是什么?

G。 http://en.wikipedia.org/wiki/ICalendar#Technical%5Fspecifications

H。 http://muddybranch.thejkgroup.com/2005/01/why-remove-icalendar-recurring-rules/

一世。 在构建日历应用程序时,我应该在我的数据库中存储日期或重复规则吗?

注意:这个建议存储重复规则,并基于这些存储硬实例提前 x 个月。

j. 用于存储重复事件的数据结构?

ķ。 在构建日历应用程序时,我应该在我的数据库中存储日期或重复规则吗?

一世。将您的数据分为两部分:“规范”数据(重复规则)和“服务”(生成日期;除了重新生成之外只读)。如果规范数据发生更改,请在该点重新生成“服务”数据。对于无限重复,保留一些实例并在用完时生成更多实例(例如,如果用户查看 2020 年的日历)。

l. 日历重复/重复事件 - 最佳存储方法 架构和 SQL 的唯一答案

米。 https://github.com/tusharmath/sheql 重复日期的语言

n. https://github.com/tplaner/When 这看起来非常适合根据规则生成日期——包括 RRULE 的

4

0 回答 0