Template containing autoslot, inserting through inline variant slot, doesn't display?

(Note: In case it makes a difference to the solution, we are running Rhythmyx 6.5.2 Build 200710P01 (3192) [RX-13195])

A while back I posted this previous thread about a scenario we have in our system. Everything seemed to be working after the resolution of the issue in the thread, so we packed things up and pushed them over to our production system via MSM.

Since then, strange things are happening. The first problem showed up after the MSM installation, when we started using the elements to create content in the production system. When we use the Insert Rhythmyx Template to put the ArticleList into the page through the inline slot, it ends up inserting an empty div (with all the attributes of a correctly inserted item but no content), which then immediately gets deleted when we save the content item and reopen it. The empty div would sort of make sense if the autoslot wasn’t getting any matching items (since it’s the only thing in the template), but if we Preview the same item we tried to insert, it shows several items coming up in the autoslot.

On the thought that maybe things just didn’t get copied over by MSM correctly, we checked the development system. At that point, we noticed that the same problem seemed to be happening on the development system as well, even though to the best of everyone’s recollection it was not a problem before we’d pushed things to production. Nothing had been changed on the development system at that point.

While testing things, I ended up adding some extra text to the template, so that there was something in there other than just the autoslot. With the extra text there, when I do the insert through the inline slot, the div that is inserted is not completely empty; it still doesn’t show any autoslot contents, but it shows the other text in the template. If I save that, the div does not get deleted, and then if I Preview the page that contains the inserted item, in the Preview the contents of the autoslot actually show up. So it seems like the problem is in how the EditLive is handling the item containing the autoslot?

I have since then done everything I can think of to “fix” this, up to and including completely wiping out the whole set (the ArticleList content type and template, and the auto slot) and recreating them. None of this seems to change anything. In theory I could “fake it” by having some other text in the template with the autoslot, but our page layout really sort of requires there to not be extra text there. And it seems odd that I’d have to do that, when it was working orginally.

Anyone have any thoughts as to how to fix this, or even something new to try to troubleshoot it? Thanks in advance.

Eleigh,
I don’t know if this is related to your problem, but we saw something similar when trying to use the inline slot. We had templates like

<div id="something">TEXT</div>
<div id="another">OTHERTEXT</div>

and these were not happy going into the inline slot. But, if we put a

<DIV></DIV>

containing the whole template, it works.

Almost as if Rhythmyx wasn’t clear where the template started and ended without the DIV enclosing the lot.

NickK…

We too have noticed that inline templates really don’t like it if they don’t have a surrounding div. Frustrating, but true. We’ve previously updated our templates so they all have the funny little div around the full contents, so I don’t think that’s the problem we’re having currently. But thank you for the suggestion; those div tags do seem to cause most of the weird problems with the inline templates.

Further investigation has revealed additional information…

When inserting the ArticleList into the page through the inline slot, the autoslot only contains matching records that have been pushed to a published state. However, when looking at the same page through Preview, the autoslot contains matching records in non-published states as well (such as Draft).

Is this expected behavior? If so, it would be helpful if this was better documented in the sections of documentation that talk about setting up autoslots, or perhaps in the troubleshooting sections of documentation.

Elizabeth,

Yes, this is standard Rhythmyx behavior. In the Preview Context (Context 0) Rhythmyx includes all related Content Items regardless of State. When publishing, the Item Filter assigned to the Content List filters links to determine which links will be published. The standard Item Filter options are explained in the topic “Defining the Full Binary Content List” in the Rhythmyx Implementation Guide (p. 295; the step describing Item Filters is step 15 on p. 298).

For more about Item Filters, see “Item Filters” in the Rhythmyx Technical Reference, p. 134.

RLJII

Many thanks. I can explain this to our content editors as standard behavior, and we’ll adjust accordingly.

Check your Item filters and make sure the preview item filter’s associtaed authorization type is set to All Content.

When we use the Insert Rhythmyx Template to put the ArticleList into the page through the inline slot, it ends up inserting an empty div (with all the attributes of a correctly inserted item but no content), which then immediately gets deleted when we save the content item and reopen it.

I noticed this behavior with a particular inline template. The ephox control would work correctly with some content items, and would fail as described above with others. After reviewing the template differences, it was determined that an html comment on top of the non-working template was causing the problem. This comment was for troubleshooting errors from a page source perspective and was originally thought to be a non-factor. After removing the html comment, the template was displayed correctly within the ephox control and everything worked correctly.

Well, that begs the question, though, of what to do if the HTML comments in the snippet are essential to the functioning of the page.

For example, we use the SWFObject JavaScript library to embed Flash videos on HTML pages: specifically, we use the SWFObject static publishing method. We do not want to use the SWFObject dynamic publishing method (which is an all-JavaScript method) since we try to make our pages as accessible as possible.

The static publishing method relies on conditional comments to hide code from IE. (BTW, Adobe intends to replace its current Flash detection kit with SWFObject; the SWFObject static publishing method is already in wide use). The following is a standard example:


<div>
    <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="780" height="420">
        <param name="movie" value="myContent.swf" />
        <!--[if !IE]>-->
        <object type="application/x-shockwave-flash" data="myContent.swf" width="780" height="420">
        <!--<![endif]-->
          <p>Alternative content</p>
        <!--[if !IE]>-->
        </object>
        <!--<![endif]-->
    </object>
</div>

Ephox strips out that code when I insert it as an inline variant. The code is valid XHTML Strict. I’m really surprised that Ephox can’t handle it. I assume that a bug is causing Ephox to strip out the code. Does anyone have a workaround?