2014-11-22 2 views
0

나는 반복 규칙 예외를 처리하는 방법을 숙고하고 있습니다. 월 - 금요일 오전 9시에 발생하는 일일 반복 규칙이 있고 수요일에 이벤트의 시작 시간을 변경하려면 수요일에 rrule로 계산 된 발생 날짜를 추가하여 exdate 한 다음 완전히 새로운 독립 실행 형 이벤트?iCalendar 예외 저장

"이벤트"는 실제로는 별도의 데이터베이스 문서에있는 작업 주문이므로이 방법으로 새 ​​이벤트를 만들면 독립형 작업 과정과 다른 인스턴스 간의 연결이 끊어집니다.

또한 수요일에 rrule로 계산 된 발생 날짜를 exdate에 추가 한 다음 rdate에 새로운 날짜 - 시간을 추가하고 영향을받는 인스턴스에 대한 recurrenceId로 사용하는 것도 고려했습니다. 그게 효과가있는 것 같아.

당신의 도움에 Thansk!

답변

0

동일한 UID을 공유하는 다른 VEVENT를 만들어 예외를 만들면됩니다. 예를 들어, 이것은 첫 번째 수요일이 무시되는 일일 반복 이벤트입니다. 내가 필요한 속성 중 일부를 제거하고 가독성을 위해 들여 쓰기 추가 : RECURRENCE-ID를 사용하여 다음 새 DTSTART와 시간을 무시 우리가 옛날을 참조 두 번째 VEVENT에서

BEGIN:VCALENDAR 
    BEGIN:VEVENT 
    UID:foo-bar 
    DTSTART:20141124T090000Z 
    RRULE:FREQ=DAILY 
    END:VEVENT 
    BEGIN:VEVENT 
    UID:foo-bar 
    RECURRENCE-ID:20141126T090000Z 
    DTSTART:20141126T100000Z 
    END:VEVENT 
END:VCALENDAR 

합니다.

+0

UID는 이벤트마다 고유해야합니까? – Troy

+0

생각해 보면 ... 반복 이벤트의 여러 인스턴스에 대해 UID를 사용해도 괜찮습니까? 여전히 1 이벤트로 간주되기 때문에? 그날의 인스턴스를 계산하지 못하도록 원래 이벤트에서 exdate 할 오래된 반복 ID를 추가해야합니까? 감사!! – Troy

+0

기술적 인 이유로 '1 이벤트'를 반복적으로 호출 할 수 있는지는 확실하지 않지만 연결됩니다. 아니요, 'EXDATE'에 나열 할 필요가 없습니다. – Evert