<author>
Summary
The author of a comment, draft, edit or event which might or might not be a PageSeeder member.
There are two possible models for the author element:
- If the author is a PageSeeder member, the model inherits from the basic representation of a member.
- If the author is not a PageSeeder member, the email address and/or full name of the person is included.
Usage context
| Permitted content | <fullname> |
|---|---|
| Permitted parent | <comment> <draft> <edit> <event> |
Attributes
This element inherits the following attributes from the <member> element.
| Name | Type | Required | Description |
|---|---|---|---|
| attachments | boolean | no | If the user receives email attachments |
email | no | The email address of the member | |
| externalid | xs:string | no | An external identifier for the member |
| firstname | xs:string | if member | The first name of the member |
| id | xs:long | if member | The ID of the member in PageSeeder |
| locked | boolean | no | If the member account is locked |
| onvacation | boolean | no | If the member email option is set to ‘on vacation’ |
| status | enum | if member | The current status of the member |
| surname | xs:string | if member | The surname of the member |
| username | xs:string | if member | The username of the member |
<author> elements, it can be safely assumed that if the @id attribute is present then the @firstname, @surname, @username and @status also are.Examples
Example 1
Author who is a PageSeeder Member
<author id="123"
username="jsmith"
firstname="Jane"
surname="Smith"
email="jane.smith@example.com"
status="activated"
attachments="true"
onvacation="false"
locked="false"/>
This represents a PageSeeder member with full account details.
Example 2
Author who is NOT a PageSeeder Member
<author email="external.user@example.com"> <fullname>John Doe</fullname> </author>
This represents an external author (not a PageSeeder member) identified only by email and full name.
Example 3
Author in context (within a comment)
<comment id="456"
contentrole="Comment"
created="2024-01-15T10:30:00+10:00"
modified="2024-01-15T10:30:00+10:00">
<author id="123"
username="jsmith"
firstname="Jane"
surname="Smith"
status="activated"/>
<content>This is an example comment with author information.</content>
</comment>
Example 4
Minimal external author
<author email="guest@example.com"/>
This shows the minimal representation for a non-member author with only an email address.
When the @id attribute is present, you can assume the author is a PageSeeder member and the @firstname, @surname, @username, and @status attributes are also be present.
Schema
XML Schema
See XML Schema for element <member> for a complete definition.
<xs:element name="author" type="author"/>
<xs:complexType name="author">
<xs:sequence>
<xs:element name="fullname" type="xs:string" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="attachments" type="xs:boolean"/>
<xs:attribute name="email" type="member-email"/>
<xs:attribute name="externalid" type="member-externalid"/>
<xs:attribute name="firstname" type="member-name"/>
<xs:attribute name="id" type="id"/>
<xs:attribute name="locked" type="xs:boolean"/>
<xs:attribute name="onvacation" type="xs:boolean"/>
<xs:attribute name="status" type="member-status"/>
<xs:attribute name="surname" type="member-name"/>
<xs:attribute name="username" type="member-username"/>
</xs:complexType>
Relax Schema
element member {
attribute activated { xs:dateTime }?,
attribute attachments { xs:boolean }?,
attribute created { xs:dateTime }?,
attribute email { text { maxLength = "100"} }?,
attribute externalid { text { maxLength = "100"} }?,
attribute firstname { text { maxLength = "50"}}?,
attribute id { xs:long }?,
attribute locked { xs:boolean }?,
attribute onvacation { xs:boolean }?,
attribute status { "activated" | "set-password" | "unactivated" }?,
attribute surname { text { maxLength = "50"}}?,
attribute username { text { maxLength = "100"}}?,
element fullname { text }?
}
Compatibility
No change since initial API release.