Has anyone successfully used the community URL rewriter with BrXM 13+?

I am trying to get the community URL rewriter working, despite the fact that it was last maintained for v11 before the plugin became paid-only.

I’ve followed the documented install steps (Hippo URL Rewriter – Installing), but the bootstrap content does not load. I’ve tried to copy it manually from the project into my CMS console, but I get an error “urlrewriter is not a registered namespace prefix.” Is there some way to register this prefix manually? I tried editing my project’s CND file with no success.

I’m also unsure what triggers the additional option to appear in the dropdown in the CMS content view, as simply adding folders at the root level isn’t enough.

Any help would be appreciated!


you can try importing CND manually via CMS/console

In addition, you also need document types (url-rewriter/urlrewriter-plugin-repository/src/main/resources/namespace/types at develop · bloomreach-forge/url-rewriter · GitHub )
and plugin configuration, pretty much everything located in:
url-rewriter/urlrewriter-plugin-repository/src/main/resources at develop · bloomreach-forge/url-rewriter · GitHub

That is a lot of manual work and best would be to convert it to new format, yaml files.

Thanks for the advice! It helped a lot.

In the end, I was able to get the plugin working after the following steps:

  1. I saved the urlrewriter CND file locally in my project’s repository data.
  2. I added lines in main.yaml of my application repository data to include the additional namespace. So the beginning of that file looks like this:
     uri: http://www.onehippo.org/myproject/nt/1.0
     cnd: namespaces/myproject.cnd
     uri: http://org.onehippo.forge/urlrewriter/1.1
     cnd: namespaces/urlrewriter.cnd
  1. I imported each XML file in url-rewriter/urlrewriter-plugin-repository/src/main/resources at develop · bloomreach-forge/url-rewriter · GitHub at the appropriate location within the CMS console. The hippoecm-extension.xml was used to identify where that location was. These console changes were picked up by the auto-export, so I was able to commit them to my project codebase.
  2. I manually added the translations from the 3 JSON files in the CMS console (I only did the english versions to save time)
  3. I overrode the version of org.tucky.urlrewritefilter used by the project to 4.0.4-h3. This is necessary because the plugin-specified version, 4.0.4-h2, introduces a google guava version conflict with BrXM 13. The override was accomplished by adding an org.tucky.urlrewritefilter dependency to the pom files for the site components and cms-dependencies projects and setting the version there.

Hopefully this will help if anybody has to work through the same process in the future.