List of articles in the knowledge base

Hello,

I would like to show or send a list of all articles in the knowledge base to increase their visibility and motivate our users to visit it.
Is there a way to do that?

No. I don’t even understand where you’d want to “show” that list.

Ideally it would be displayed by Zammad itself, each accessible article represented as a bullet point according to the structure of the articles. Something like: The Debian GNU/Linux FAQ

As a workaround, I have create a Ruby script to run in the Zammad console:

ARTICLE_URL = "https://myserver.com/#knowledge_base/1/locale/de-de/answer/%d"

def process_cat(cat, indent)
  puts indent + cat.translations()[0].title()
  indent = indent + "\t"
  cat.children().each { |child_cat|
    process_cat(child_cat, indent)
  }
  cat.answers().each { |ans|
    puts indent + ans.translations()[0].title() + " " + ( ARTICLE_URL % ans.id )
  }
end

KnowledgeBase.find_by(id: 1).categories().each { |cat|
  if cat.parent.nil?
	process_cat(cat, "")
  end
}

nil

Caveats and limitations:

  • No support for multiple localisations
  • Only text, no formatting, icons are ignored
  • Will output all articles, independently of access rights

If you want to send to result by email with Outlook, copy the result in an email, use the search and replace function of Outlook, Enable the placeholders and replace: “https://*/answer/” by nothing. This will replace the full URL with the article ID.