Auto slots in 6.5.2

In 6.5.2, has anything changed in the way auto slots are used in templates?

We’ve upgraded to 6.5.2, and I’m building a new index page. Just a simple page template passing a folderpath parameter to an auto slot. Auto slot returns list of particular items within that folder, rendering them through snTitleLink snippet. We have probably a dozen of pages built like that.

However this is the first one I’m building in 6.5.2 and it just won’t work! This is the error I’m getting in preview:
“ERROR [PSAssemblyServlet] Problem assembling item (35417): Could not find method getProperty for object [null] and arguments [nav:proxiedNode]”

I checked jcr query used in slot and it does retrieve correct content items. Tried hooking up different auto slots (created before) and still no luck. Chaging allowed relationship type doesn’t help either.

Funny thing is all old indexes are working just fine. What am I missing here?
Thanks.

Sinisa,

You have probably misspelled one of your binding functions. Check their spelling in the Template bindings.

This error is described on p. 203 of the Rhythmyx Implementation Guide in the section on “Troubleshooting Templates”.

RLJII

I deleted my binding and then re-entered with changed parameter name - no luck. Anything else?

Error that we get is slightly different (in preview):
Error reported
Could not find method getProperty for object [null] and arguments [nav:proxiedNode]

(console.log line is in my original post)

I’m reading “Upgrading to Rhythmyx 6.5.2” pdf, section “New Active Assembly Interface”, about #startAA<object> and #endAA<object> macros. Could that be it, must I do this (even though we don’t actualy use AA in edit)?

Just a note, out-of-the-box macros found in User Macros, haven’t been updated like that.

On the other hand, my problem is almost identical to
http://forum.percussion.com/showthread.php?t=326&highlight=finders+called+parameters

So, I strip my page template to only include full #slot() macro, I’m passing folder path parameter, slot result template is SnTitleLink, and it still doesn’t work. I don’t understand Dave’s comment that I have to “put in some conditional logic to skip over any code that depends on the” parameter. Which part of SnTitleLink snippet is dependant on folderpath?

Sinisa,

If you mean the macros in the file \rx_resources\vm\rx_assembly.vm, that is correct. This file is used to store custom macros developed by the customer for their implementation and is not modified on upgrade.

The macros in sys_resources\vm\sys_assembly.vm should be updated. This file is used to store system macros and is overwritten on upgrade.

That should not have any effect on the problem you are describing. The macros you cite were added in the 6.5 release to support the enhanced Active Assembly functionality in that release.

Can you post a copy of the binding that seems to be causing the problem?

RLJII

Page template source:

#slot(“intraAutoMonographsForPrint” “” “” “” “” $folder)

Biniding:
$folder.path
$user.psoFolders.getParentFolderPath($sys.item.getGuid())

Slot: sys_AutoSlotConentFinder
select rx:sys_contentid from rx:intra_Monograph_Site where jcr:path like :path

[To keep this forum clean, I took the macro questions to a separate thread:
http://forum.percussion.com/showthread.php?t=473]

Thanks…

Sinisa,

I tested your code, and it worked for me.

What happens when you view the debug output of the Template? To see the debug output, change “/assembler/render” to “/assembler/debug”. See “Debugging Templates” on p. 134 of the Rhythmyx Implementation Guide for more information and an example.

Bindings should be listed at the top of the output. Check the results of the $folder.path binding. If it shows a valid path, the binding is defined correctly. If there are other bindings, check those as well. If you find one with an error, that is your culprit.

RLJII

Correct biniding is shown in debug mode.
The only thing is one folder name has spaces in it - could that be it? (Probably not, because I have other auto indexes working just fine.)

Sinisa,

Since you are seeing the binding resolved correctly in debug mode, the binding you sent is unlikely to be causing the error you are seeing.

This error means that you are calling a method for a function that does not exist. Typically it is a result of misspelling the name of the JEXL function in a binding.

Do you have other bindings defined in the Template? Is there a binding set in the Velocity code of the Template perhaps?

(Note that if you define a binding in the Velocity code rather than on the Bindings tab of the template, Rhythmyx will not show it in debug mode. That’s why it is best practice to define bindings on the Binding tab of the Template editor.)

Can you post the Template’s Velocity code, and any other bindings you have defined?

RLJII

This is all I have in the template (everything else is posted below):

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
    <title>#displayfield("display_title")</title>
	<script src="$rxs_navbase/js/script.js" type="text/javascript"></script>
	<link href="$rxs_navbase/css/main.css" rel="stylesheet" type="text/css" />
	<link rel="stylesheet" href="$rxs_navbase/css/print.css" type="text/css" media="print" />
</head>
<body>
	<div id="main">
		<!-- CONTENT_BEGIN -->
#slot("intraAutoMonographsForPrint" "" '<DIV style="page-break-after:always"></DIV>' "" "" $folder)
		<!-- CONTENT_END -->
    </div>
</body>
</html>

Oh, and slot is rendering items in snTitleLink.

Sinisa,

When you preview this Template, are you previewing from under the //Sites node, which would apply a Global Template? If so, have you previewed other local Page Templates using that Global Template?

RLJII

That’s right, I’m previewing in the Sites. Hmm, interestingly enough, I get the same error when I preview other pages too (I mean pages where there are no items to collect by auto slot).

Sinisa,

Seeing the error viewing other Templates is a very useful piece of information. It suggests that the problem is in the Global Template, not in the local Page Template.

If you look at the bindings of the Global Template, you’ll probably find one of the bindings has a misspelled function.

RLJII

What I meant is previewing other pages through this particular template gives me error. (Same items work fine through other templates.) But here’s another useful piece of information (I think) - getting the error even when using this template to preview page located in the folder where no items are picked up by the slot.

About global template - if there’s something wrong on the global template, wouldn’t that break all templates using it?

Sinisa,

Given the number of Templates we’re now talking about, I don’t believe it is fruitful to continue to work on this issue on the forums. Percussion Technical Support is planning to contact you regarding other issues in the next day or so. They will examine this issue during that meeting as well.

RLJII