Item Filters and Authorization Types clarification question

In a content list definition in 6.5.2 (i’ve got patch 14169) you specify an item filter for the content list. My understanding is that my content list search query runs, and the item filter determines what gets filtered. Ordinarily I’d want this to be either “public” or “sitefolder”.

In the 6.5.2 implementation guide it says (page 300):

“The Item Filter value specifies a filter for Content Items included on the Content List. The following values are valid:…
{snip}
Leave ‘public’ since you want to include all Content Items in a public State in the Content List.”

This makes sense and matches up with my understanding of what an item filter does - it filters items in my content list.

However… in the online help within the publishing tab (About Publishing>Content Lists>Edit ContentList Page) it says something different:

“Item Filter Drop list. The Item Filter to use to filter the related Content Items published. Options include all Item Filters defined in the system. Item Filters are defined in the Rhythmyx Workbench.”

Now, when I add a content list to an edition I specify an Authorization Type. My understanding is (and always has been that) that the authorization type is what is used to determine what related content is available when publishing an item. The edition maintenance help in the publishing tab confirms this.

Here’s a (albeit odd) example that shows a problem I see - in that the authorization type seems to be being ignored…

I’ve got a content list with the item filter set to “public” and I’ve added this to an edition and set the authorization type to “All Content” (ok, I know that’s odd but just stick with me and this example!). When I preview my content list within the edition the URL is as follows:

http://localhost:9992/Rhythmyx/contentlist?sys_deliverytype=filesystem&sys_assembly_context=313&sys_contentlist=News&sys_siteid=325&sys_authtype=0&sys_context=313

That looks fine. The “All Content” authtype value (0) is being passed in. Great.

Now, when looking at the content URL’s in the content list that is generated, they look as follows:

http://127.0.0.1:9992/Rhythmyx/assembler/render?sys_revision=1&sys_siteid=325&sys_template=787&sys_itemfilter=public&sys_contentid=5507&sys_folderid=3920&sys_context=313&sys_publish=publish

Now, it looks like the item filter value from the content list is being included in the assembly URL’s of items, whereas I was expecting (hoping) to not see “sys_itemfilter=public” in there. I expected “sys_authtype=0” to be in the assembly URL’s.

Is the authorization type actually being used anywhere?

Am I missing something obvious here?

David,

Item filters were intended to replace Auth Types, but the reality is a bit more complicated.

If you have “Legacy” assemblers (using XSL) then, the Item Filter is ignored, it’s the AuthType that matters. There is a way to register AuthTypes and ItemfFilters so that the Item Filter can be determined.

For Velocity Assemblers, the item filter is mandatory, and it governs what gets returned. Note also that Item Filters can (and do) modify the revision as well as filter out (remove) items.

Another factor in the confusion is that some Content List Generators still use AuthType rather than Item Filter. By the time this gets to the Assembler, the AuthType should be ignored.

I hope this clears things up.

Dave