Remove "matterhorn-kernel" and move its contents to more meaningful locations


In a modular system like OSGi, the existence of a bundle like matterhorn-kernel, which contains bits and pieces completely unrelated to each other, is an anomaly.

Currently, matterhorn-kernel contains the following Java packages:

  • org.opencastproject.kernel.bundleinfo

  • org.opencastproject.kernel.filter.https

  • org.opencastproject.kernel.filter.proxy

  • org.opencastproject.kernel.http

  • org.opencastproject.kernel.http.api

  • org.opencastproject.kernel.http.impl

  • org.opencastproject.kernel.mail

  • org.opencastproject.kernel.pingback


  • org.opencastproject.kernel.scanner



  • org.opencastproject.kernel.userdirectory

It makes no sense that a project depending, for instance, on the mail package should have to import the whole bundle with all the other dependencies. Also, packages like or kernel.userdirectory do not make sense, when their contents could easily be located in the matterhorn-security or matterhorn-userdirectory bundles, respectively.

Originally, keeping all the basic stuff in one bundle could (while still being wrong) make sense because it grouped the basic packages the system needed to function. But currently, these basic sets of bundles required to run a functional system are defined through Karaf "features", a much better and mature mechanism to group bundles together without compromising modularity.

A similar reasoning can be done with the matterhorn-common group, but this story card should only cover the "dismantlement" of matterhorn-kernel for clarity.

Your pinned fields
Click on the next to a field label to start pinning.




Rubén Pérez