Cody Fendant has asked for the wisdom of the Perl Monks concerning the following question:

I'm trying to set up a calendaring system at work (various events start or finish on any given day and I need to be reminded of them) and I'd like it to be something created in Perl.

Any recommendations for a web framework/module which has good calendar functions? Obviously, online calendar output by day, week, month etc. would be good but also email functions to say "don't forget X happens today".

  • Comment on Good Perl-based web Calendar Frameworks?

Replies are listed 'Best First'.
Re: Good Perl-based web Calendar Frameworks?
by Corion (Patriarch) on Aug 23, 2016 at 05:54 UTC

    For calendar display, I'm very happy with FullCalendar (Perl module for output upcoming).

    As for the calendar backend, I use a CalDAV server, in my case, DAViCal - it's not written in Perl but PHP, but I didn't have the need to write any PHP besides the configuration.

    Accessing the server from Perl for creating the output for FullCalendar or maybe sending the reminder emails is easy using DAV::Cal to find the appropriate events and then take actions on it.

Re: Good Perl-based web Calendar Frameworks?
by Ea (Chaplain) on Aug 25, 2016 at 15:35 UTC
    Like Corion, I used Full Calendar to deliver the front end.

    I rolled my own backend with Mojolicious. Someone else is pulling together the calendar data for another system and I'm pushing out the associated ical feeds. I making calls to an Oracle database and create calendar events with

    while ( my ($name, $stime, $etime, $unid, $loc, $desc) = $sth->fetchro +w_array() ) { my ($start, $end) = oracle_to_datetime($stime, $etime); push @event_list, { start => $start, end => $end, summary => $name, location => $loc, description => $desc, uid => $unid, }; }
    where the oracle_to_datetime sub returns DateTime objects and then return a json object with
    $self->render(json => \@event_list);
    to FullCalendar.

    I'm still finding my way with Mojolicious, but I think that's all it needed. Oh, and don't tell anybody how easy it was. My mistake :)

    Sometimes I can think of 6 impossible LDAP attributes before breakfast.

    http://act.yapc.eu/lpw2016/ It's that time of year again!