View Article related link causes error "You do not have sufficient privileges to access this knowledge item"Issue Clicking on the View Article related link throws the error message "You do not have sufficient privileges to access this knowledge item" on some articles for all users.CauseThe affected articles were created in a custom table whose name starts with "u_kb_template_", which extends the Knowledge [kb_knowledge] table. The message "You do not have sufficient privileges to access this knowledge item" comes from the UI Macro "kb_view_cannot_read" ( /nav_to.do?uri=sys_ui_macro.do?sys_id=75bc53a7c3232100a0791f9c64d3aef6 ), which is called by the UI Page "kb_view" ( /nav_to.do?uri=sys_ui_page.do?sys_id=11efa742eb4221007128a5fc5206fe1a ), which in turn calls the Script Include "KBViewModel" ( /nav_to.do?uri=sys_script_include.do?sys_id=994116f1d73221004792a1737e610371 ) and finally the OOB Script Include "KBViewModelSNC" ( /nav_to.do?uri=sys_script_include.do?sys_id=aef116f1d73221004792a1737e6103a4 ).The function 'KBViewModelSNC.templateIsInDomain()' returns false for the affected article because it is a record in 'u_kb_template_xxxxxxx', hence the code goes into the IF statement:templateIsInDomain: function(record){var recordTable = record.getValue('sys_class_name');if((recordTable.startsWith('kb_template') || recordTable.startsWith('u_kb_template')) && gs.tableExists('kb_article_template')){var template = new GlideRecord('kb_article_template');return template.get('child_table',record.sys_class_name);}return true;},The issue is that the custom table 'u_kb_template_xxxxxxx' extends from 'kb_knowledge' rather than the expected 'kb_article_template'. Hence the above code can not find it as child of 'kb_article_template', and returns false.ResolutionAlternative solutions are the following: - Rename your custom table to anything that does not start with 'kb_template' or 'u_kb_template'.- Extend your custom table 'u_kb_template_xxxxxxx' from 'kb_article_template' rather than 'kb_knowledge'.- Customize the function 'templateIsInDomain()' by overriding it in the Script Include "KBViewModel" ( /nav_to.do?uri=sys_script_include.do?sys_id=994116f1d73221004792a1737e610371 ), for example adding some logic to exclude your custom table from going into the IF block.