System content management
Summarize
Summary of System Content Management
System content management (CMS) in ServiceNow organizes site content across multiple system locations. For instance, while CMS manages pages and blocks, knowledge articles are created and maintained within the Knowledge application. Understanding the underlying table structures and how data fields are formatted is essential for effective content management and site design. Customers are encouraged to explore the document tree and field configurations by viewing XML and dictionary details directly within forms to better grasp content relationships.
Show less
Key Features
- Distributed Content Management: Content types like knowledge articles reside in specialized tables (e.g.,
kbknowledge), separate from CMS page elements. - Document Tree and XML Views: Right-click options on forms allow viewing the XML document tree and field dictionary, aiding in understanding data structures and field usage.
- Content Field Utilization: Important fields in the
kbknowledgetable includeauthor,shortdescription,description,number,published,rating, and categorization fields liketopicandcategory. These fields support linking, summarizing, sorting, and user feedback mechanisms. - Dynamic List Formatting: Examples from reputable news and service sites demonstrate multiple list formats, inspiring customers to design user-friendly and visually appealing content layouts.
- Jelly Template Example: The provided Jelly script illustrates how to loop through knowledge records, conditionally display logos, link to full articles, and present summaries and "Learn More" links within CMS pages.
Practical Application for ServiceNow Customers
By leveraging the knowledge of table structures and XML document trees, customers can efficiently integrate and display dynamic content like knowledge articles within CMS sites. Understanding key content fields enables precise linking, categorization, and user interaction tracking. Reviewing external site designs can guide customers in creating intuitive and effective layouts that enhance usability. The Jelly script example serves as a practical template to implement content lists with images, descriptions, and links, facilitating a richer user experience.
Most of the content in a CMS site is managed in different locations throughout the system.
For example, if you are building a knowledge website, the pages and blocks exist in CMS, but the knowledge articles are authored and managed in the Knowledge application. The same is true for any other type of content you plan to leverage. It is important to take time to understand the table structure of data to become acquainted with content.
Links to content are typically static, however, take time to look at the document tree and review how field values are formatted for use within the CMS. To understand the information provided below, right-click within forms in the platform and select Show XML to view the document tree for the referenced table. To see the table values for each field, right-click the form label and choose Show - (field name) or Configure Dictionary for reference.
- This New York Times example has two separate list formats.
- The CNN example has several list formats on the page.
- Several different list formats are used on the ServiceNow website.
Knowledge articles - kb_knowledge table
<kb_knowledge>
<active>true </active>
<author display_value= "First Last Name" >Use this field value if author name is important </author>
<short_description>Use this field value as the link to the full article detail </short_description>
<description>Provide this field value as a 1-2 sentence summary of the article </description>
<number>Unique ID can be leveraged in a number of different ways </number>
<published>Published time stamp of the article </published>
<rating>This field value provides a 1 to 5 star rating similar to iTunes </rating>
<sys_updated_on>Add to supplement article published timestamp </sys_updated_on>
<sys_view_count>8 </sys_view_count>
<topic>Useful field value in creating hierarchical breadcrumbs </topic>
<category>Also useful in organizing articles hierarchically </category>
<use_count>Use this similar to Facebook's "like" feedback, answer to the question was this useful </use_count>
</ kb_knowledge>
<?xml version= "1.0" encoding= "utf-8" ?>
<j:jelly trim = "false" xmlns:j = "jelly:core" xmlns:g = "glide" xmlns:j2 = "null" xmlns:g2 = "null" >
<div class = "cms_knowledge_list customer_success" >
<g:for_each_record file = "${current}" max = "${jvar_max_entries}" ><br /><table cellspacing = "0" cellpadding = "0" border = "0" class = "background_transparent" >
<tr><td class = "cms_knowledge_list_image" >
<j:if test = "${current.u_logo.getDisplayValue() != ''}" >
<div class = "knowledge_article_logo" >
<a href = "knowledge.do?sysparm_document_key=kb_knowledge,${current.sys_id}" >
<img src = "${current.u_logo.getDisplayValue()}" alt = "${current.text}" width = "110px" />
</a>
</div>
</j:if>
</td>
<td width = "100%" >
<a href = "knowledge.do?sysparm_document_key=kb_knowledge,${current.sys_id}" target = "_top" >
<span class = "cms_knowledge_list_link" >${current.short_description}</span>
</a>
<p class = "kb_description" > "${current.description}"
<!--${SP}-${SP}<span class="cms_knowledge_list_author">${current.author.first_name}${SP}${current.author.last_name}</span>-->
</p>
</td></tr><tr>
<td width = "100%" colspan = "2" class = "kb_learn_more" >
<p class = "kb_learn_more" >
<a href = "knowledge.do?sysparm_document_key=kb_knowledge,${current.sys_id}" >Learn More</a>
</p></td></tr></table>
</g:for_each_record></div>
</j:jelly>