NAME

MojoMojo::Schema::Result::Content - Versioned page content

DESCRIPTION

This table stores the actual page content; in other words, it's a table of page versions (revisions). It has a composite primary key (page, version), where page is the id of a page, and version is its version number. Each version has a content body, a status ("released" or "removed"), and a release_date. Revisions that have been replaced by a newer revision have a remove_date and a comments set to "Replaced by version x.".

The type, abstract and precompiled columns are for future use.

created is essentially equal to release_date (there can be a 1-second difference), and is used externally by other modules and in templates. release_date and remove_date are used internally.

COLUMNS

page

References MojoMojo::Schema::Result::Page.

creator

References MojoMojo::Schema::Result::Person.

METHODS

highlight

Returns an HTML string highlighting the changes between this version and the previous version. The changes are in <span> or <div> tags with the class fade.

formatted_diff <context> <old_content>

Compare this content version to <old_content>, using Algorithm::Diff. Sets a diffins CSS class for added lines, and a diffdel CSS class for deleted lines. The <ins> and <del> HTML tags are also used.

formatted

Return the content after being run through MojoMojo::Formatter::*.

merge_content

Show the merge conflict of the content for two different edit sessions of the same page.

max_version

Return the highest numbered revision.

previous

Return the previous version of this content, or undef for the first version.

pub_date

Return the publishing date of this version in a format suitable for RSS 2.0.

Extract and store all links and wanted paged from a given content version.

encoded_body

Encode content body using numeric entities.

AUTHOR

Marcus Ramberg <mramberg@cpan.org>

LICENSE

This library is free software. You can redistribute it and/or modify it under the same terms as Perl itself.