Net::ICal::Journal(3p)

NAME
Net::ICal::Journal -- Journal class

SYNOPSIS
  use Net::ICal::Journal;
  my $c = new Net::ICal::Journal(optionhash);

DESCRIPTION
Net::ICal::Journal represents Journal events: things someone did, perhaps.

BASIC METHODS

  new(optionhash)
Makes a new Journal object, given a hash of parameters. RFC-valid parameters are below.

USAGE NOTE: We're working on describing *how* these get used (semantics). Read the source for this module if you're looking for a parameter that's in the RFC for VJOURNALs and isn't listed here. We probably had a question about whether it was really useful for Journal objects.

  REQUIRED

•   organizer - a Net::ICal::Attendee for who's organizing this meeting.

  OPTIONAL
    * class - PUBLIC, PRIVATE, or CONFIDENTIAL - the creator's intention about who should see this Journal. This is not a binding access-control mechanism.

    * created - a Net::ICal::Time saying when this object was created.

    * description - a hash with at least a content key, maybe an altrep and a language key. Content is a description of this Journal.

    * dtstamp - when this Journal was created. Will be set to the current time unless otherwise specified.

    * last_modified - a Net::ICal::Time specifying the last time this object was changed.

    * status - DRAFT, FINAL, or CANCELLED; the status of this journal item.

    * summary - a one-line summary of this Journal. If you need more space, use the description parameter.

    * uid - a globally unique identifier for this event. Will be created automagically unless you specify it.

    * url - a URL for this Journal. Optional.

    * attach - a Net::ICal::Attach - attached file for this Journal.

    * attendee - an array of Net::ICal::Attendee objects; people who were relevant to this Journal item.

    * categories - an array: what categories this event falls into. Make up your own categories.

    * comment - a hash like that for description (above); comments on this Journal item.

    * contact - a string describing who to contact about this Journal.

    * related_to - an array of other Event, Todo, or Journal objects this Journal is related to.

    * sequence - an integer that starts at 0 when this object is created and is incremented every time the object is changed.

  RECURRING TASKS

•   recurrence_id - if this journal occurs multiple times, which occurrence of it is this particular journal?

•   rdate - an array of Net::ICal::Time objects describing repeated occurrences of this journal.

•   rrule - an array of Net::ICal::Recurrence objects telling when this journal repeats; "every Wednesday at 3pm," for example.

•   exdate - a Net::ICal::Time giving a single-date exception to a recurring journal.

•   exrule - an array of Net::ICal::Recurrence objects giving a recurring exception to a recurring journal. "Every Wednesday except the first Wednesday of the month" is an example.

  validate
Validates a Journal object. Returns 1 for success, undef for failure.

TODO: make sure that this object has the bare minimum requirements specified by the RFC.

  new_from_ical($txt)
Creates a new Journal object from a string of valid iCalendar text.

DEVELOPER METHODS

  _create($class, %args)
Class::MethodMapper creation routine. Returns a blessed object.

SEE ALSO
Net::ICal::Time, Net::ICal::Recurrence, Net::ICal::Attendee. If you want to know how this works, read the source for this and Net::ICal::ETJ.

More documentation pointers can also be found in Net::ICal.

POD ERRORS
Hey! The above document had some coding errors, which are explained below:

Around line 66:
    You can't have =items (as at line 77) unless the first thing after the =over is an =item