If you use the Object ACL interface in Workbench to restrict the ability to create new items of particular types (by setting the Runtime access of the content type to Read only for some communties, not AnyCommunity) then there is a downside. If you use $rx.keyword.getChoiceLabel() in any of your templates, you will not be able to preview items using that template when logged in to a community that has been denied access. The getChoiceLabel() method takes the name of the content type as one of its parameters. It then cannot access the Keyword, via the content type, presumably because this is regarded as a runtime operation (a definition of what runtime means in Rhythmyx would be a good addition to the documentation, BTW.)
I cannot remember if this technique was suggested to us, or we figured it out ourselves. So maybe it isn’t a problem for anyone else.
BTW, does anyone know of any other methods, other than $rx.keyword.getChoiceLabel(), that might exhibit the same problem?
See the topic “Object ACL Dialog” in the Rhythmyx Workbench Help.
Essentially, Design Access controls access in the Rhythmyx Workbench. Runtime Access controls access in Content Explorer.
Sorry, I didn’t find that help page when I was looking earlier today. I searched the PDF manuals. Pressing F1 on the Object ACL dialog just took me to “About the Rhythmyx Workbench”.
I was looking for a more technical definition of runtime than is given in that help page. It says, “Runtime access gives access to this object in Content Explorer.” But, as this issue demonstrates, it seems to control more than just access to objects in Content Explorer.
To me, “run time” means an operation that happens when a program (or a template?) is run, as opposed to something that happens at “compile time.” If that is the sense in which the term is being used here, then why is a lookup of the keyword label considered “run time” and a lookup of a field value not?
I discussed your behavior with the architect from the Percussion Development team, and we agree that the behavior you are reporting seems to be a bug. Please contact Technical support and open a support issue.
Thank you for investigating this. I’ll report it to Percussion’s UK technical support when I get a chance.
I have developed a workaround, although the underlying bug (RX-14755) still exists.