MojoMojo::Schema::Result::PageVersion.3pm

Langue: en

Autres versions - même langue

Version: 2010-04-07 (fedora - 01/12/10)

Section: 3 (Bibliothèques de fonctions)

NAME

MojoMojo::Schema::Result::PageVersion - Versioned page metadata

DESCRIPTION

This table implements versioning of page metadata (not content, see MojoMojo::Schema::Result::Content for that). It has a composite primary key "(page, version)".

When renaming a page, a new version is created in this table, with "version" set to 1 + the maximum version for that "page". The "status" of the new "page_version" is set to ``released'', its "release_date" is set to "DateTime->now", while the old "page_version"'s status is set to 'removed' and its "remove_date" is set to "DateTime->now".

TODO

*
document the relationships
*
in order to support proper rollback, meaning creating a new version for the rollback operation itself, a "content_version" field needs to be added.
*
"created" is apparently unused: set to 0 for pages populated when creating the database, and NULL for all normal pages.

METHODS

latest_version

Return the PageVersion object having the latest version of this page.

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.