Interested in a ServiceNow event built for developers? Registration for now[dev]26 is officially open!

Knowledge center landing page personalization

SirojaG
Tera Contributor

Hello Community members, 

 

I want to personalize the content on the knowledge center landing page that by default it should be how it showing as OOB, and i want an additional option to select that 'my content'. And it should show only relevant content(for those the user has contribute access) to the login users. And all should be filer on the screen like the gaps, duplicates etc. Please help how to implement it. Thanks in advance.

3 REPLIES 3

sachinvic
Kilo Guru

@SirojaG 

Yes, this can be achieved, but I would recommend extending the existing Knowledge Center experience rather than modifying the OOTB Knowledge Center components directly.

The approach I would take is to create a page variant of the Knowledge Center landing page in UI Builder and add a “My Content” section to that variant. ServiceNow supports creating customized landing-page variants for different audiences through UI Builder.

https://www.servicenow.com/docs/r/platform-user-interface/create-next-experience-landing-page.html

For the My Content section, I would use the Knowledge Article data and filter it based on the logged-in user. The important part is that the filter should follow the same knowledge access model rather than simply filtering author = current user.

For example, the requirement could be:

My Content = articles where the logged-in user has contribution access, with additional filters for the required states/knowledge bases.

Knowledge access is controlled through Can Contribute / Cannot Contribute user criteria at the knowledge-base level. ServiceNow recommends user criteria for controlling knowledge access.

https://www.servicenow.com/docs/r/servicenow-platform/knowledge-management/user-access-knowledge.htm...

I would therefore structure it as:

Knowledge Center OOTB page
├── Existing Knowledge Center content
│ ├── Knowledge Gaps
│ ├── Potential Duplicates
│ ├── Article Optimization
│ └── Existing OOTB sections

└── My Content (custom section)
    └── Articles available to the logged-in user based on contribution access

In UI Builder, the custom section can be backed by a data resource/server-side data source that applies the current user's context and returns the appropriate knowledge articles. I would avoid putting the access logic only in a client-side filter, because the knowledge access rules should remain enforced server-side.

Also, Knowledge Center already has My Articles available as part of its knowledge-management capabilities, so I would first verify whether the existing My Articles functionality satisfies the requirement before building a completely new list.

https://www.servicenow.com/community/s/cgfwn76974/attachments/cgfwn76974/now-platform-events/375/1/I...

 

If by “My Content” you specifically mean all content the user is allowed to contribute to, rather than articles authored by the user, then I would use the user's Can Contribute access as the basis for the filter. If you only want articles created/owned by the logged-in user, then the filter should instead be based on the appropriate article ownership/author fields.

So, my recommendation would be:

  1. Start with the OOTB Knowledge Center.
  2. Check whether My Articles already meets the requirement.
  3. If not, create a Knowledge Center page variant in UI Builder.
  4. Add a My Content component/list using a server-side data source.
  5. Apply the logged-in user's Knowledge Can Contribute access when retrieving the records.
  6. Leave the OOTB Knowledge Center components for gaps, duplicates, optimization, etc. unchanged.

This gives you the requested personalization while keeping the OOTB Knowledge Center functionality intact and minimizing upgrade impact.

https://www.servicenow.com/docs/r/servicenow-platform/kc-home-page.html

One important point: I would not recommend simply creating a list on kb_knowledge with author = current user unless the requirement is specifically “show articles authored by me.” The wording in the question says “for those the user has contributed access,” which is a different requirement and should be handled through Knowledge access/user criteria.

 

@sachinvic Thanks Sachin for the inputs, but I wanted to filter the access only on insights content. I am attaching the screenshot, please assist me on this.

SirojaG_0-1788248495286.png

 

sachinvic
Kilo Guru

@SirojaG 

If you want to restrict only the Insights section in Knowledge Center, you don't need to customize the Knowledge Center page.

In Zurich, Insights is controlled through the Now Assist Skills and their role access. The Insights section includes Potential Gaps, Potential Duplicates, and Article Optimization, and ServiceNow requires the applicable Now Assist Skill to be enabled for the user's role.

Recommended approach:

  1. Go to Now Assist Admin / Now Assist Skills.
  2. Identify the Knowledge Center skills for Potential Gaps, Duplicate Articles, and Article Optimization.
  3. Configure the role restriction/access for the required users.
  4. Test with a user who has the role and another who does not.

https://www.servicenow.com/docs/r/zurich/servicenow-platform/using-knowledge-center.html