Page Metadata
nav_first.pngFirst: thread:131
HTML Block
Edited: 11 Oct 2012 12:06 by: James Kanjo
Comments: 0
Tags:
nav_prev.pngPrevious: thread:115
Notification configuration
Edited: 12 Nov 2009 12:25 by: pieterh
Comments: 0
Tags:
Last: thread:112
Image Module
Edited: 12 Nov 2009 12:22 by: pieterh
Comments: 0
Tags:
nav_last.png
Next: thread:112
Image Module
Edited: 12 Nov 2009 12:22 by: pieterh
Comments: 0
Tags:
nav_next.png

Steven HeynderickxSteven Heynderickx wrote on 10 Nov 2009 15:40

Originally suggested by pieterhpieterh on 22 August 2009.

A page has various metadata (tags, parent info, etc.) which is not present in backups and requires separate edit steps to change. This design sketch is for a new way of handling metadata.

General design

The metadata fields are:

  • The page title ('title')
  • The parent page, if any ('parent')
  • The page visible tags, if any ('tags')
  • The page hidden tags, if any ('_tags')
  • The creation date and time ('created_at')
  • The original author ('created_by')
  • The edit date and time ('updated_at')
  • The last editor ('updated_by')
  • The page lock status ('locked')
  • User-defined meta data

The right to view and change metadata is a configured permission that depends on the category. By default admins and moderators can view and change the meta data.

When editing a page, if the user has metadata access enabled, the editor displays the metadata at the start of the page as follows:

[[meta]]
fieldname: fieldvalue
fieldname: fieldvalue...
[[/meta]]
page content

The user can change any of the field values, which are then updated when the page is saved. If the user deletes the meta block, it leaves the existing values unchanged. Wikidot should remember whether the user wants or does not want metadata editing.

In site backups, all pages have a meta section. Thus, re-pasting the page content into an edit box will fully re-create the page with all meta data, including date/time of creation.

User-defined meta data

User defined meta data is used for information such as the page state. Currently, this is encoded in tags but that is not sufficient for proper state management.

All meta data including user-defined meta data is accessible in ListPages and _templates:

  • To print a meta data value, we use %%meta{field-name}%%.
  • To create a meta data selector we use the "where-meta" argument:
where-meta="state:open"
where-meta="state:-closed"
where-meta="created_by:@URL state:-closed"

Start a new sub-thread

We discourage direct comments on this thread: to discuss it, please start a sub-thread.

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License