The Manage Content Types screen allows you to associate metadata with notification content. A Content Type is part of the message content of a notification that may be sent using KEN. It can be as simple as a single message string, or something more complex, such as an event that might have a date associated with it, start and stop times, and other metadata you may want to associate with the notification.
KEN is distributed with two Content Types: Simple and Event.
|
Caution: It is strongly recommended that you leave these two Content Types intact, but you can use them as templates for creating new Content Types. |
Every notification sent through KEN must be associated with a registered Content Type. Registration of Content Types requires administrative access to the system. The rest of this section describes the Content Type attributes that are required for registration.
|
For more information, see KEN Content Types in the KEN User Guide. |
|
In order to access this functionality, you must have permissions associated with the Notification System Administrator role. |
A Content Type is represented as a NotificationContent business object and consists of several attributes, described below:
id: Unique identifier that KEN automatically creates when you add a Content Type
name: This is a unique string that identifies the content. For example, ItemOverdue might be the name used for a notification Content Type about an item checked out from the campus library.
description: This is a more verbose description of the Content Type. For example, "Library item overdue notices" might be the description for ItemOverdue.
namespace: This is the string used in the XSD schema and XML to provide validation of the content, for example, notification/ContentTypeItemOverdue. The XSD namespace is typically the name attribute concatenated to the notification/ContentType string. Note how it is used in the XSD and XSL examples below.
xsd: The XSD attribute contains the complete W3C XML Schema compliant code.
<?xml version="1.0" encoding="UTF-8"?>
<!-- This schema defines a generic event notification type in order for it
to be accepted into the system. -->
<schema xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:c="ns:notification/common"
xmlns:ce="ns:notification/ContentTypeItemOverdue"
targetNamespace="ns:notification/ContentTypeItemOverdue"
attributeFormDefault="unqualified"
elementFormDefault="qualified">
<annotation>
<documentation xml:lang="en">Item Overdue Schema</documentation>
</annotation>
<import namespace="ns:notification/common" schemaLocation="resource:notification/notification-common" />
<!-- The content element describes the content of the notification. It
contains a message (a simple String) and a message element -->
<element name="content">
<complexType>
<sequence>
<element name="message" type="c:LongStringType"/>
<element ref="ce:event"/>
</sequence>
</complexType>
</element>
<!-- This is the itemoverdue element. It describes an item overdue notice containing a
summary, description, location, due date, and the amount of the fine levied -->
<element name="itemoverdue">
<complexType>
<sequence>
<element name="summary" type="c:NonEmptyShortStringType" />
<element name="description" type="c:NonEmptyShortStringType" />
<element name="location" type="c:NonEmptyShortStringType" />
<element name="dueDate" type="dateTime" />
<element name="fine" type="decimal" />
</sequence>
</complexType>
</element>
</schema>
xsl: The XSD attribute contains the complete XSL code that will be used to transform a notification in XML to html for rendering in an Action List.
<?xml version="1.0" encoding="UTF-8"?>
<!-- style sheet declaration: be very careful editing the following, the
default namespace must be used otherwise elements will not match -->
<xsl:stylesheet
version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:n="ns:notification/ContentTypeEvent"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="ns:notification/ContentTypeItemOverdue resource:notification/ContentTypeItemOverdue"
exclude-result-prefixes="n xsi">
<!-- output an html fragment -->
<xsl:output method="html" indent="yes" />
<!-- match everything -->
<xsl:template match="/n:content" >
<table class="bord-all">
<xsl:apply-templates />
</table>
</xsl:template>
<!-- match message element in the default namespace and render as strong -->
<xsl:template match="n:message" >
<caption>
<strong><xsl:value-of select="." disable-output-escaping="yes"/></strong>
</caption>
</xsl:template>
<!-- match on itemoverdue in the default namespace and display all children -->
<xsl:template match="n:itemoverdue">
<tr>
<td class="thnormal"><strong>Summary: </strong></td>
<td class="thnormal"><xsl:value-of select="n:summary" /></td>
</tr>
<tr>
<td class="thnormal"><strong>Item Description: </strong></td>
<td class="thnormal"><xsl:value-of select="n:description" /></td>
</tr>
<tr>
<td class="thnormal"><strong>Library: </strong></td>
<td class="thnormal"><xsl:value-of select="n:location" /></td>
</tr>
<tr>
<td class="thnormal"><strong>Due Date: </strong></td>
<td class="thnormal"><xsl:value-of select="n:startDateTime" /></td>
</tr>
<tr>
<td class="thnormal"><strong>Fine: </strong></td>
<td class="thnormal">$<xsl:value-of select="n:fine" /></td>
</tr>
</xsl:template>
</xsl:stylesheet>