What does the 'answers.special_settings' filter do in reports?
Analytics, Customer Portal
Oracle B2C Service, All supported versions
All answer reports, especially those used on the end-user pages, should include this filter: answers.special_settings is null. Failing to add this filter could result in errors or unexpected search results especially on reports that scan a large number of rows.
The special settings filter is a pseudo field that can be added as a report filter. The operator used does not matter. The primary purpose of the filter is to restrict visibility of the answers returned by all the different ways we allow visibility: access level, status, product, category, interface, etc.
- Status - only answers with a public status type will be returned.
- Language - only answers associated with the language of the interface being used will be returned
- Access Level - only the answer with the highest ranked access level per meta-answer that a user has access to will be returned.
For example, you may have one meta-answer configured about support hours for your organization. The one associated with Platinum access says "We are open all day every day", the one associated with Gold access says "You may contact use M-F 8:00-5:00" and the Silver access says "You may not contact us". The access levels are ranked in order: Platinum, Gold, Silver. If a user has access to both Gold and Silver, you would want only the Gold one displayed.
- Product/category end-user visibility - a check is done to make sure that answer has to be associated to at least one product and at least one category that are configured to have end-user visibility for the interface where the report is being used.
- Product/category output columns - each returned answer will only be listed once. So, when the map_cat_lvlX and/or map_prod_lvlX are included as output columns, and an answer has multiple product/categories associated for that level, the word “multiple” (internationalized appropriated) will be returned. If there is only one association at that level, that product/category name will be returned.
- The visibility requirements in the special settings filter are used to select answers for your sitemap. Therefore all end user page reports should have this filter so that your end user pages match what is listed in the sitemap.
There will be a warning in the Customer Portal development area if a report is referenced that pulls from the "answers" table and it does not have the "answers.special_settings" filter. This warning is meant to bring attention to a condition that warrants investigation. While it technically does not require action (in that omitting this filter will not cause the deployment to fail), please note the design intent is that this filter be included on any report that uses the answers table.
Note: Always be sure to test publicly visible reports in the CP development area first to ensure that the report has the search behavior you desire.