Parent content object class, represents a single content object.
There is only one 'archtype' of content object in Tuskfish; it uses standard Dublin Core metadata fields plus a few more that are common to most content objects. Why? If you look at most common content types - articles, photos, downloads etc. - you will see that for the most part they all use the same fields. For example, everything has a title, everything has a description, everything has an author, everything has a hit counter.
Traditionally, most CMS create a separate database table for every type of content with duplicate column names. And it works just fine until you want to publish a single content stream containing different kinds of content objects. Then, suddenly, your queries are full of complex joins and other rubbish and it becomes very painful to work with.
By using a single table for content objects with common field names our queries become very simple and much redundancy is avoided. Of course, some types of content might not require a few particular properties; and so subclassed content types simply unset() any properties that they don't need in their constructor.
Direct known subclasses
Copyright: Simon Wilkinson 2013-2017 (https://tuskfish.biz)
License: GNU General Public License (GPL) V2
Author: Simon Wilkinson firstname.lastname@example.org
Version: Release: 1.0
Properties: int $id Auto-increment, set by database.
Properties: string $type Content object type eg. TfishArticle etc. [ALPHA]
Properties: string $title The name of this content.
Properties: string $teaser A short (one paragraph) summary or abstract for this content. [HTML]
Properties: string $description The full article or description of the content. [HTML]
Properties: string $media An associated download/audio/video file. [FILEPATH OR URL]
Properties: string $format Mimetype
Properties: string $file_size Specify in bytes.
Properties: string $creator Author.
Properties: string image An associated image file, eg. a screenshot a good way to handle it. [FILEPATH OR URL]
Properties: string $caption Caption of the image file.
Properties: string $date Date of publication expressed as a string.
Properties: int $parent A source work or collection of which this content is part.
Properties: string $language Future proofing.
Properties: int $rights Intellectual property rights scheme or license under which the work is distributed.
Properties: string $publisher The entity responsible for distributing this work.
Properties: array $tags Tag IDs associated with this object; not persistent (stored as taglinks in taglinks table).
Properties: int $online Toggle object on or offline.
Properties: int $submission_time Timestamp representing submission time.
Properties: int $counter Number of times this content was viewed or downloaded.
Properties: string $meta_title Set a custom page title for this content.
Properties: string $meta_description Set a custom page meta description for this content.
Properties: string $seo SEO-friendly string; it will be appended to the URL for this content.
Properties: string $handler Handler for this object (not persistent).
Properties: string $template The template that should be used to display this object (not persistent).
Properties: string $module The module that handles this content type (not persistent).
Properties: string $icon The vector icon that represents this object type (not persistent).
Located at trust_path/libraries/tuskfish/class/TfishContentObject.php