LPS-50567 don't force a fixed width
LPS-50649 fix condition and add classNameId
LPS-50590 pass classNameId in the URLs

It is used in the `render()` method in DisplayPortlet to get the correct
article.
LPS-50574 use local service + explicit permission check

Otherwise, it will fail while checking permissions, as the KBFolder
won't exist anymore.
LPS-50619 include folder urlTitle in the URL
LPS-50619 return best candidate for Display portlet

When a page with the KB Display portlet is found check that:

  - It is configure with the article itself, or
  - It is configure with a parent folder of the article

In case no perfect match is found, return the first one that was found.
LPS-50619 extract method; no logic change

Extract method to make the logic more clear.
LPS-50619 don't use exceptions for control flow
LPS-50619 Auto SF
LPS-50619 SF
LPS-50299 validate kbArticle urlTitle

If the urlTitle is given explicitly, don't surprise the user by changing
it if it is a duplicate.
LPS-50299 remove trailing slash from user input

Code expects that the urlTitle stored in the database has no leading
slash.
LPS-50299 add error message to the view
LPS-50299 autogenerated
LPS-50299 Adapt language keys to follow the same pattern as in portal
LPS-50299 Auto SF
LPS-50299 SF
LPS-50299 lang keys
LPS-50669 initEditor function was missing
LPS-50672 align controls vertically