Validate hyperlinks in knowledge articles

staceybailey
ServiceNow Employee
ServiceNow Employee

I'm looking for an efficient method to validate hyperlinks in knowledge articles.   I have approximately 2000 knowledge articles with many embedded links that point to other articles within ServiceNow as well as external systems.   The worry is that, as the knowledge-base has evolved, links have broken.

This can't be a new problem.   How have others handled it?   Any solutions out there?

3 REPLIES 3

rgm276
Mega Guru

Stacey


at my previous employer, we created an annual review process for KB articles.   i.e. a KB record owners and a last reviewed date were added to the table/record and the workflow . The record owners would receive an email to 'validate' their kb articles.   This still requires some maintenance by someone (like an itil process owner) to validate that all active kb articles have a current\valid owner, but not the contents of the kb articles.   This is one option that is fairly easy to automate, another option would be to simply setup annual reviews for groups of kb articles, just have a scheduled report to run annually (or any timeframe 6/12/18 months) that lets a group of kb articles get reviewed by a particular group\team\manager.


Kalaiarasan Pus
Giga Sage

We had implemented the same approach of review dates as 3/6/12 months. We had a daily scheduled job that would check for the articles approaching the date and would send the reminder mail to the articles author.



We also had a separate rule that would get triggered when a articles author record becomes inactive (User record becoming inactive). It would trigger a mail to the knowledge management team.


derycklio
Mega Expert

I have seen some other Intranet products create automated process like:



  • Whenever a user visits the KB article, the browser will initialize a check to see if there is any broken link on the page.
  • If there is any,
    • Mark the link different so as to manage the user expectation
    • And log a ticket automatically so a Service Desk agent or somebody can review and fix the article later on.


If you like this idea/process, you may want to try my Proof of Concept implementation at ServiceNowScripts/Broken Links Checker at master · dereklio/ServiceNowScripts · GitHub



There are two scripts.



  1. The UI Script is an on-demand JavaScript that verify if a link is a broken link.
  2. If a broken link is found, it will log the incident via an AJAX call to a Script Include noting the broken link and the URL of the KB article.


The UI Script also updates the HTML slight, so the end user may know that there is a broken link and somebody has already attended to it, so as to manage the user expectation.



Default behavior - My UI Script disabled.


Screen Shot 2015-09-19 at 2.19.25 pm.png



New behavior - My UI Script enabled.



Screen Shot 2015-09-19 at 2.20.01 pm.png



Incident created automatically



Screen Shot 2015-09-19 at 2.22.10 pm.png



That said, I admit that this script may create unnecessary traffic load to your ServiceNow instance. Therefore, I don't recommend you turning it on at all time.



However, this tool would greatly reduce the time required to identify and document the broken links. You may want to turn this script on for a week, let it create all broken links incident for you, then you can fix them in one go.



Lastly, very important, the script does not check if the broken link incident has been created before. So it may create duplicate entry in your incident table. If you have high traffic KB, you may want to revise my Script Include to make it more efficient.