System content management

  • Release version: Yokohama
  • Updated January 30, 2025
  • 2 minutes to read
  • Summarize
    Summarized using AI
    This content was generated using new OpenAI-powered functionality. Results are provided on an as is basis and are not guaranteed to be accurate or complete.

    Summary of System Content Management

    This content management system (CMS) in ServiceNow Yokohama release manages site content across multiple system locations. For example, knowledge websites use CMS for pages and blocks but manage articles within the Knowledge application. Understanding the underlying table structures and document trees is essential for effectively leveraging and customizing content.

    Show full answer Show less

    Understanding Content Structure

    Content data is organized in tables such as kbknowledge for knowledge articles. To explore content data:

    • Right-click on forms and select Show XML to view the document tree of the associated table.
    • Right-click form labels and choose Show - (field name) or Configure Dictionary to review field values.

    Static links are common, but reviewing the document tree and field formatting helps in creating dynamic, well-structured CMS content.

    Practical Design Tips

    Examine popular websites such as news, blogs, and shopping sites for ideas on dynamic list formatting and article layouts. Emulate layouts and usability features that inspire you to save design time and enhance user experience. Examples include The New York Times and CNN, which use multiple list formats, and the ServiceNow website itself.

    kbknowledge Table Key Fields

    The kbknowledge table contains key fields to support knowledge article management and display:

    • active: Indicates if the article is active.
    • author: Displays the author’s name, useful for attribution.
    • shortdescription: Serves as the clickable link to the full article.
    • description: Provides a brief 1-2 sentence article summary.
    • number: Unique identifier for the article.
    • published: Timestamp for when the article was published.
    • rating: User rating from 1 to 5 stars.
    • sysupdatedon: Timestamp of the last update, supplementing the published time.
    • sysviewcount: Number of times the article was viewed.
    • topic and category: Useful for creating hierarchical navigation and organization.
    • usecount: Similar to a “like” count indicating usefulness feedback.

    Sample Jelly Script for Knowledge Article Lists

    A Jelly script example illustrates how to dynamically generate a list of knowledge articles with attributes such as logos, links, descriptions, and “Learn More” calls to action. The script loops through records, checks for logos, and creates clickable links to the full article detail page.

    What This Enables ServiceNow Customers to Do

    • Understand where and how different types of content are stored and managed within ServiceNow CMS.
    • Use system tools to inspect and leverage data fields effectively for content display and navigation.
    • Create dynamic, user-friendly knowledge article lists and detail pages using provided examples and best practices.
    • Design CMS sites inspired by proven layouts from leading news and shopping sites to improve usability and engagement.

    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.

    Look at several internet news sites for ideas on how to format dynamic list data and also the full article detail. Research blog sites, shopping sites, and any other site you find easy to use, as layout and usability design can be time-consuming. If you find a site that inspires you, emulate it in your design.
    • 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

    When you right-click and select Show XML on any form within the system, the document tree for the referenced database table becomes reference-able. Review the following selected subset of the document tree so you can acquaint yourself with the content readily available to your site design.
    <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>