Uploaded image for project: 'Magnolia'
  1. Magnolia
  2. MAGNOLIA-6898

Renderer's configured type not taken into account – node name is current "type"

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Neutral Neutral
    • 5.5.1
    • 5.4
    • rendering
    • None

      With the adaption of the rendering module to the new registry API (see MAGNOLIA-6070) and the deprecation of info.magnolia.rendering.renderer.registry.ConfiguredRendererProvider, the configured type of any renderer is not taken into account anymore.

      Furthermore getting any renderer by method info.magnolia.rendering.renderer.registry.RendererRegistry#getRenderer(String type) will not return the renderer by its type but rather by configured name = it's node name.

      This problem was revealed by problem reporting of node2bean and the definitions app. E.g for renderer jsp from /modules/rendering/renderers/jsp:

      Property [type] not found in class [info.magnolia.rendering.renderer.JspRenderer], property is not assigned
      

      Suggested solution (tbd)

      "Add property type" to interface info.magnolia.rendering.renderer.Renderer and adjust RendererRegistry to be capable of retrieving renderers by their type.

      Notice

      Luckily this issue might not be very severe, as it was relatively common to have concurrence in node name and type.

      Affected renderers

      • site and site-jsp (module: site)
      • sitemap (module: google-sitemap)
      • textResource, referenceResource and binaryResource (module: resources)
      • noscript and plaintext (module: templating)
      • jsp and freemarker (module: rendering)
      • possibly more

        Acceptance criteria

              rkovarik Roman Kovařík
              pmundt Philip Mundt
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated:
                Resolved:

                  Bug DoR
                  Task DoD