Having trouble with my first JSR-170 content list

After upgrading to 6.5.2, my group has continued to use 5.7-style Content List resources for generating content lists. But I’m trying to move us away from that. However, the first one I’ve built is trying to publish all my content items of a given type even though they are in Author state.

My Content List looks like this:name: My_List
Url: /Rhythmyx/contentlist?sys_deliverytype=filesystem&sys_contentlist=My_List
Type: Normal
Edition Type: Automatic
Generator: sys_SearchGenerator[INDENT]query: select rx:sys_contentid, rx:sys_folderid from rx:My_ContentType
Template Expander: sys_SiteTemplateExpandersiteid:
default_template:
Item Filter: public
[/INDENT]

I would assume that this content list should return an empty list, since all my items of the My_ContentType type are in the Author state (states.contentvalid = i), but instead, I get a list with all the items of the given type.

I tried adding &valid=y to the URL but that didn’t help.

Now, I’m wondering if the default Item Filters are set up for a different set of contentvalid values in the States table… My group uses i, d, s, y and n (ignore, development, staging, publish, and archive respectively)… maybe the Item Filters don’t even look in the States table…

I can’t find any documentation regarding building your own or replacing/editing the Item Filters.

Ideally, I’d want to set up filters something like:
development: returns items in the d, s and y validity states.
staging: returns items in the s and y validity states.
publish: returns only items in the y validity state.
unpublish: returns items in the n validity state.

Does anyone have any ideas, or has anyone had experience with somethign like this?

Thanks in advance,
– Sam Rushing, AutoTrader.com

Ah… I figured it out. Item filters are defined in the Workbench and, as far as I can tell, are relatively undocumented.

Sam,

Since we introduced Quick Edit in Rhythmyx Version 5.0, we have used a Publishable value of “i” to indicate the Quick Edit State. In that State, Content Items may be valid to be published.

Out of the box, the Public Item filter is configured to allow publishing of Content Item in the Quick Edit State. In the Rhythmyx Workbench, go to the Assembly Design View. Under Item Filters, open the Public Item Filter. In the sys_filterByPublishableFlag Item Filter Rule, check the value of the sys_flagValues parameter. Out of the box, the value should be “y,i”. If you have that configuration, the system is behaving correctly as configured.

If you use a different character to represent the Quick Edit State, modify the sys_filterByPublishableFlag rule to match the character you use. Check the Publishable Keyword (under the Content Design View) to confirm what characters you are using to represent each State.

The Workbench Help includes topics explaining how to create and maintain Item Filters. Item Filters are included in the Assembly Design View of the Rhythmyx Workbench.

[QUOTE=Rushing;2577]Ideally, I’d want to set up filters something like:
development: returns items in the d, s and y validity states.
staging: returns items in the s and y validity states.
publish: returns only items in the y validity state.
unpublish: returns items in the n validity state.[/QUOTE]

The quick way to accomplish this is to copy the Public Item Filter and modify the value of the sys_flagValues parameter of the sys_filterByPublishableStates Item Filter Rule to match your cases. So to implement your development Item Filter, you would make the value of the sys_flagValues parameter “y,d,s” (and whatever character you use to represent Quick Edit; don’t forget that State). The order of the characters is not significant

When you copy an Item Filter, it will have the name “Copy_of_public” (or whatever Item Filter you copied). Be sure to change the name of each new Item Filter. Right click on the Item Filter and from the popup menu, choose Rename. Then enter the new name as you would when renaming a file in Windows Explorer.

Hehe, yeah, that works. I’m getting just the items I have promoted to one of AT’s publishable states (which don’t include Author and QuickEdit).

But!

Now I can’t get the Jexl Location scheme to work: I get empty delivery location elements in the clist and this on the Console.log (truncated for readability):

2008-06-12 15:50:37,626 INFO [PSPublisherService] Getting content list data took <Stopwatch stopped elapsed 10.98 ms> for 1 items
2008-06-12 15:50:37,645 ERROR [PSGeneratePubLocation] Problem while generating a publishing location for variant 1236 and contentid 31685
java.lang.NullPointerException
at com.percussion.cms.objectstore.server.PSRelationshipDbProcessor.getIdByPath(Unknown Source)
at com.percussion.server.webservices.PSServerFolderProcessor.getIdByPath(Unknown Source)
at com.percussion.services.sitemgr.impl.PSSiteManager.super(Unknown Source)
at com.percussion.services.sitemgr.impl.PSSiteManager.getPublishPath(Unknown Source)

2008-06-12 15:50:37,647 INFO [PSContentListServlet] Created content list CS_LegalPage_Dev publication id null
Site id: 323, Delivery: filesystem, Context: 312
1 result items took 48.488 milliseconds

I think it’s because my content items are not in Site folders, but we’ve never defined Site Folders here. We just publish from the non-site folders and build Location Schemes based on static locations per content type.

(And yes, I tried making the location scheme expression into a simple ‘/helloWorld/’ and it still gave me this error.)

Is this 6.5.2 ? Are there any patches applied?

There was a bug in the JEXL location scheme generator that would cause it to fail when the item was not in any site folder, but that bug has been resolved.

Dave

I’m using 6.5.3 Build 200710P01 (3208) [RX-13370]

The 1337 build… :cool:

This from Brendon in Technical Support:

“Out of the box, Rhythmyx only provides site folder publishing… As specified in Converting_to_Version_6_5_Features.pdf, in order to begin using the 6.x style of publishing you’ll either need to reimplement your system and move all of your content into site folders OR you could somehow modify your custom application to work with JEXL and JCR.”

So… As far as resolving the “bug,” the official word is that this is as designed and not a bug.

oh, and in my previous post, 6.5.3 is a typo… I meant 6.5.2

The information below is incorrect. You should be able to publish any combination of Content Items and Templates (or Variants) regardless of whether those Content Items are included in Site Folders.

The information from technical support was based on misleading text in the Rhythmyx documentation. That text is being corrected, and the corrected document will be included in the documentation updates scheduled for release this month.

Percussion Technical Support is working with the customer to resolve their issue.

This issue is resolved by putting an entry in the Folder Root field in the Site Registration Page in the Content Explorer.

It turns out that this is an unmarked required field. A bug has been generated for this issue, which will be addressed at a later date. If not using Site Folder Publishing, you can just enter the root to where your folders are stored in the Cx (i.e. //Folders).