NAME

SReview::Schedule::Base::Talk

DESCRIPTION

A class to hold a talk.

ATTRIBUTES

event_object

The SReview::Schedule::Base::Event (or subclass) object that this talk is associated with. Required at construction time; weak reference.

room

The room object associated with this talk.

The default implementation of _load_room just calls /event_object-root_object->room_type> to get the room type, then creates a new object of that type with the event_object parameter set to the value of /event_object

slug

The slug (representation of the name in a syntax that doesn't make a URL look fugly) of the talk.

The default implementation of _load_slug takes the first 40 characters of the output of the Mojo::Util::slugify method on the title attribute.

starttime

The time at which the talk is scheduled to start, as a DateTime.

The default implementation of _load_starttime returns the current time, which is probably wrong.

endtime

The time at which the talk is scheduled to end, as a DateTime.

The default implementation of _load_endtime takes "starttime" and adds the value of "length". This allows schedule parsers for formats that provide a start time and length but no end time to only supply a method to get the length of the talk and rely on this default implementation to calculate the expected end time.

length

The length of the talk, as a DateTime::Duration. Not required if a non-default implementation of _load_endtime is provided, but defaults to a value of one hour regardless.

title

The title of the talk.

The default _load_title implementation returns the empty string. This is almost certainly incorrect.

upstreamid

A unique, unchanging ID used by the schedule for this talk. If not set, uses the value of "slug", but that is not guaranteed to be unchanging. Ideally it is something more stable.

subtitle

The subtitle of the talk.

track

Returns a track object of the type as set in "track_type" in SReview::Schedule::Base::Event for the track that this talk is part of.

description

A longer description of the talk. Optional.

flags

A hash ref of default flags to set on the talk.

speakers

Returns an array of SReview::Schedule::Base::Speaker (or subclass) objects representing the speakers of the talk.

filtered

Boolean. If true, the talk will not be added to the schedule. If the talk is already added to the schedule and it is still in the waiting_for_files state, it will be moved to the ignored state, instead.

extra_data

Any extra data that should be stored with the talk. Can be used later in credits slides or other templates, as required.