Witam, szukam inspiracji i pomysłów na rozbudowę kalendarza na swojej stronce, a dokładniej chodzi o dodanie zaawansowanych ustawień dla przypomnień kalendarza takich jak np. powtarzaj co poniedziałek, każdego dnia miesiąca, co rok itd…
Pytam ponieważ nie chce wyważać otwartych drzwi, być może ktoś z Was opracowywał podobne algorytmy i wspomoże wiedzą merytoryczną Zastrzegam, że chodzi mi tylko o logikę.
Przykład:
w bazie kalendarza mam przypomnienie o treści “wyślij deklaracje VAT” i teraz zastanawiam się jak zaprogramować logikę by powtórzyć tę informacje każdego 25 dnia miesiąca.
czy w momencie zaznaczania powtarzaj każdego 25 dnia miesiąca
-
powielić wpis w tabeli tyle razy na np 2 lata do przodu i później kontrolować by cały czas wyprzedzenie było na 2 lata (marnotrawna metoda)
-
powielać wpisy na początku miesiąca i tylko na miesiąc w przód (jeśli użytkownik zerknie na dwa miesiące do przodu to nie zobaczy przypomnienia )
-
opracować niezależne zapytania do bazy w/g dodatkowych flag np day = 25 i jesli flaga jest ustawiona ignorować standardowe zapytanie
Każde rozwiązanie ma swoje zalety i wady, w przypadku dwóch pierwszych wystąpi zapychanie bazy duplikatami przypomnień za to łatwiej będzie zapanować nad statusami wysyłki oraz przeczytania przypomnienia (każdy rekord ma swój status)
w przypadku trzecim bardziej skomplikuje się mechanizm rysowania kalendarza (kilka zapytań więcej - dla każdego z możliwych wyjątków ) i dodatkowo będzie problem ze statusem wysyłki i przeczytania przypomnienia w danym dniu.
W obu przypadkach można to rozwiązać to dodając dodatkową tabele relacyjną i tam trzymać statusy przypomnienia dla danego dnia lub dla pierwszych dwóch opcji referencje do właściwych obiektów, bez kopiowania treści.
Co o tym sądzicie n/t powyższych rozwiązań, a może coś lepszego zaproponujecie?
Na koniec jeszcze link jakby ktoś potrzebował zerknąć o czym mowa w treści http://youbookmarks.com/reminder/