OpenWGA 7.9 - OpenWGA Concepts and Features

Content Stores » Structure » Documents » Document types » Data documents

Content documents

Type name
Content document (content)
Purpose
A content document contains the content data for a page in a specific language and a specific version.

The content is stored in items, content relations and file attachments. Items store the actual data in text, number, date, boolean or any other form. Content relations connect a content document with other content documents that are in any functional way related to it. File attachment contain any binary data that the page should contain.

A page typically contains multiple content documents in varying language and version. The version number is a simple incremental number, unique for the current page and language. The first version of an english content document for any page is version 1 the second is 2 and so on. The first german content document again is version 1 continued by version 2 and so on.

Each content document has a metadata field status, which describes its position in the typical workflow lifecycle of a content document. The most important status is released, the only status where it is actually visible to the public. On each page only one version of a content document per language may have this status.

Content documents have some features that are unique among the documents of a content store.

First a content document may contain an unlimited number of file attachments. These are files that are attached to the content document just like attachments known from E-Mails. The files are referenced by their file name. There may be only one file of a name on the content document. Therefor they closely resemble items just that they contain binary data. However every file attachment besides its binary data has some metadata fields that are described in the subchapter  Metadata fields of file attachments.

A content document also owns content relations. A content relation is a 1:1 connection between two content documents. A relation is "owned" by a "source" content document just like an item. It also contains a name to uniquely identify the relation. However unlike items a relation just points to another target content document. Relations always point to currently released content documents. If the target document of a relation gets archived and a new version of it gets published then the relation points to that new version.

Relations may be protected relations. This means that the relation target is protected from being deleted while it is targeted by such a relation.

Besides having a name content relations also have a relation group. The group is a string just like the relation name, stored on the relation. But unlike the relation name there may be multiple relations having the same group string. Relation groups can be used to reference multiple relations belonging to the same purpose. Therefor they are able to build 1:n connections from source to target documents.


Keys
Access key "Content-Key": "structentry.language.version" f.E. " ff8081811bf8ba19011bf94fe8d00054.de.3".
Document key: "content/structentry.language.version" f.E. "content/ ff8081811bf8ba19011bf94fe8d00054.de.3"
Unique name: The meta "uniquename" may contain a name that is unique among all content documents of the same language in the database and also among all page unique names (stored on struct entries).
Relations to other documents
structEntry: Each content document is assigned to a struct entry that defines its position in the page hierarchy.

language: Each content document is assigned a language definition defining the language of its contents.
Optional features
  • Contains items
  • Contains file attachments
  • Contains content relations
Metadata fields
Name Role Data type Contents
author Authorisation String The author of the current content document, i.e. the one that created the current version of it.
browsertitle   String Separate title to be displayed in the title bar of the browser via title tag in HTML HEAD
coauthors Authorisation List of String Other users, groups and roles that should be considered authors of this document.
contentclass   String A string classifying the type of content document. This may further classify a content document beyond its content type.
created   Date Date/time of creation of this document
description   String Some arbitrary description of the document, not part of the content.
email   String The E-Mail address of the author. This actually is not stored on the document but does a lookup of the authors E-Mail-Address on the current authentication source.
ishiddenfrom   List of strings Flags determining in which WebTML navigational elements this document should be hidden.
  • "nav" - In navigators
  • "search" - In database queries
  • "sitemap" - In sitemaps
keywords   List of strings Keywords identifying the contents of this document. Meant to be used by some search functionality.
language Access, Foreign String Code of the language definition in whose language the content of this document is formulated
lastclient   String Identification string of the last OpenWGA authoring client that was used to edit the document.
lastmodified   Date Date/time of last modification of this document
linktarget   String Controls the contents of the target attribute on an HTML link to this document.
owner Authorisation String The owner of the current content document, i.e. normally the one that created the first version of it or a user that was set as owner later. The owner has authoring rights on the document.
pastauthors   List of strings Users that have saved this document in the past. The entries correspond to those in field "pasteditdates", i.e. list elements with the same index belong to the same saving event.
pasteditdates   List of dates Date/times tthis document has been saved in the past. The entries correspond to those in field "pastauthors", i.e. list elements with the same index belong to the same saving event.
published   Date Date/time at which the content document went into status "published".
readers Authorisation List of strings Users, groups and roles allowed to see the document. An empty list means no restriction.
revision   Integer Counts the times that this document has been saved
searchscore   Float A fraction between 0 and 1 identifying the relevance of the current document for the query that was used to retrieve it. Only filled if the document was retrieved by a query language supporting search scores.
status   String Workflow state of the document
  • "w" - Draft
  • "g" - Approval
  • "p" - Released
  • "a" - Archived
structentry Access, Foreign Any primitive type, mostly string Key of the struct entry to whom this content document is assigned
title   String The title of the content document
uniquename Key String Name for this content document which must be unique among all content documents of the same language in this database and also all page unique names (stored on struct entries). May be empty to let the document have no unique name. This field is regarded deprecated and should be avoided in favor of the unique name on struct entries for future projects.
validfrom   Date Date/time since when the document may be visible. It will be invisible before this time. An empty field means no restriction.
validto   Date Date/time until which the document may be visible. It will be invisible after this time. An empty field means no restriction.
version Access Integer Version number of the content document.
virtuallink   String If filled makes this document a "virtual document" which itself is never displayed but points to a different resource. This field contains address information about this resource, whose syntax is dependent in field "virtuallinktype".
virtuallinktype   String Identifies the type of resource that a "virtual content document" points to and therefor determines the syntax of address information contained in field "virtuallink":
  • "int" - Points to a content document in the current database. Field "virtuallink" contains the content key to the far content document.
  • "intname" - Points to a content document in the current database, addressed by its (or its pages) unique name. Field "virtuallink" contains the unique name.
  • "intfile" - Points to a file attachment on the current content document. Field "virtuallink" contains the name of the attachment.
  • "extfile" - Points to a file attachment on some other content document in the database. Field "virtuallink" contains the content key of that document plus the name of the attachment, divided by a slash "/".
  • "file" - Points to a file attachment on some file container in the database. Field "virtuallink" contains the name of the container plus the name of the attachment, divided by a slash "/".
  • "primaryfile" - Points to the primary file attachment of a content document. Field "virtuallink" contains information about the content document whose attachment is adressed,either a page/content key or "this" for the current content document.
  • "exturl" - Points to some custom URL on the internet. Field "virtuallink" contains this URL
visible   Boolean General visibility flag. True allows it to be visible if it is not hidden by some other functionality. False generally disallows publishing of it.
wfhistory   List of strings History of the current document and its previous versions in workflow. The entries are human-readable descriptions of typical workflow events, creation of draft copies, approval levels, release and archiving.

Table of contents: