Uploaded image for project: 'Hippo CMS'
  1. Hippo CMS
  2. CMS-12832

Autohosttemplate feature breaks menu editing

    XMLWordPrintable

Details

    • Bug
    • Status: Closed
    • High
    • Resolution: Won't Fix
    • None
    • None
    • site-toolkit
    • None
    • Pulsar
    • Platform 222 - 14.0 Hangover, Platform 223 - 2019 Follow-up

    Description

      Reproduction:

      To your hst:platform/hst:hosts configure

      /dev-localhost:
        jcr:primaryType: hst:virtualhostgroup
        hst:autohosttemplate: ['http://cms.example.local']
        /localhost:
          jcr:primaryType: hst:virtualhost
          /hst:root:
            jcr:primaryType: hst:mount
            hst:ismapped: false
            hst:namedpipeline: WebApplicationInvokingPipeline
      

      and access the cms locally over

      http://cms.example.local:8080/cms
      

      Then go to the channel mgr and try to edit the menu. The menu will fail to load

      There are multiple problems causing this

      1) RuntimeHstSiteMenuConfiguration (GenericHstSiteMenuConfigurationWrapper) does not implement CanonicalInfo, ConfigurationLockInfo hence HstCmsEditMenuTag won't include the html comments required for the channel manager

      2) Once the GenericHstSiteMenuConfigurationWrapper implements CanonicalInfo, ConfigurationLockInfo the menu editing fails because of an attempted cast to HstSiteMenuConfigurationService in org.hippoecm.hst.pagecomposer.jaxrs.model.SiteMenuRepresentation#SiteMenuRepresentation

      3) After the above(1) and (2) has been fixed (which I will in the bugfix I will create now) there are still more issues, namely

      a) There is no runtime wrapper for CompositeHstSite resulting in the menu editing for branches to fail (and possibly other failures)
      b) When a runtime mount is added, it seems to replace the explicit mount in the VirtualHosts with the runtime one!! As a result for example

      org.hippoecm.hst.pagecomposer.jaxrs.services.PageComposerContextService#getEditingMount
      

      returns from

      Mount mount = getEditingPreviewVirtualHosts().getMountByIdentifier(renderingMountId);
      

      a runtime mount in case the mount was expected to be explicit (for example access localhost cms after opening the channel mgr via cms.example.local . I do not know all the possible side effects but it is worrying. Not sure even how to solve it!! The runtime mount obviously should not replace an explicit mount in the VirtualHostsService, but getEditingPreviewVirtualHosts().getMountByIdentifier(renderingMountId); should return a runtime mount in case accessed over a runtime added host. Very tricky

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              aschrijvers Ard Schrijvers
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: