Validate hyperlinks in knowledge articles

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-18-2015 06:33 PM
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?
- Labels:
-
Scripting and Coding
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-18-2015 06:58 PM
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.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-18-2015 07:51 PM
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-18-2015 09:27 PM
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.
- The UI Script is an on-demand JavaScript that verify if a link is a broken link.
- 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.
New behavior - My UI Script enabled.
Incident created automatically
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.