Page 1 of 1

Understanding conditional filtering

Posted: Tue Dec 09, 2014 3:07 am
by tomjohnson1492
I'm a little confused about how conditional filtering is processed when you have no options selected versus having one option selected. Can you tell me if the following is accurate:

Image
Image

The DITAVAL file provides an exclude value. I'm wondering why the Oxygen interface lacks an exclude option. I really wanted to create a product guide for internal people only. So I created an audience attribute called "di_internal". Then I created two transforms: one with the di_internal audience check box selected, and one without. However, the content for the di_internal audience was included in both outputs. I had to create another audience attribute called "di_external" and select it for the external audience, even though no content has this tag selected.

Am I understanding everything correctly here? It is a little confusing. It would help to have a note in the interface that says, "By default, all attribute values are included. However, if you select one value for an attribute, the other values not selected are excluded." or something like that...

Re: Understanding conditional filtering

Posted: Tue Dec 09, 2014 4:13 am
by tomjohnson1492
oops, I had an image tag wrong in the above. Here's the same but fixed:

I'm a little confused about how conditional filtering is processed when you have no options selected versus having one option selected. Can you tell me if the following is accurate:

Image
Image

The DITAVAL file provides an exclude value. I'm wondering why the Oxygen interface lacks an exclude option. I really wanted to create a product guide for internal people only. So I created an audience attribute called "di_internal". Then I created two transforms: one with the di_internal audience check box selected, and one without. However, the content for the di_internal audience was included in both outputs. I had to create another audience attribute called "di_external" and select it for the external audience, even though no content has this tag selected.

Am I understanding everything correctly here? It is a little confusing. It would help to have a note in the interface that says, "By default, all attribute values are included. However, if you select one value for an attribute, the other values not selected are excluded." or something like that...
tomjohnson1492

Posts: 92
Joined: Wed Apr 16, 2014 3:55 pm

Re: Understanding conditional filtering

Posted: Tue Dec 09, 2014 4:15 am
by tomjohnson1492
Ahh, I give up. Here's that missing image:

Image

Re: Understanding conditional filtering

Posted: Tue Dec 09, 2014 1:13 pm
by Radu
Hi Tom,

First of all, sorry for not allowing forum users to edit form posts, we considered that it's kind of strange to go back in a forum thread and change the initial comment because replies to it might become obsolete or meaningless but this also makes it frustrating to edit your initial post.

Coming back to the problem, when you create a profiling condition set you have two options, refer to a DITAVAL file or use that checkbox tree to select included values. Indeed that checkbox tree is limited in functionality and cannot be used to exclude certain attributes or certain values on certain attributes, it is intended for novice users with simple use cases, usually profiling on a single attribute value and who do not know how to create a DITAVAL filter.

So you should create your own DITAVAL file and refer to it in the profiling condition set.
Probably in your case the DITAVAL would look like:

Code: Select all

<val>
<prop action="exclude" att="audience" />
<prop action="exclude" att="platform" />
<prop action="include" att="platform" val="cpp"/>
</val>
because by default the DITAVAL includes everything.

Regards,
Radu

Re: Understanding conditional filtering

Posted: Fri Dec 12, 2014 7:51 pm
by tomjohnson1492
I didn't realize that I should be using the DITAVAL files instead of the conditional profiling options within Oxygen. I admit that the Oxygen interface is flaky when it comes to selecting filters anyway. For example, suppose I have 8 transforms configured. Then I go and edit a property in my conditional profiling attributes. All of my transforms will no longer have any filter selected.

The DITAVAL files are easy enough to configure. For example, for my cpp deliverable, I add the following:

Code: Select all


<val>
<prop action="exclude" att="platform" val="dotnet"/>
<prop action="exclude" att="platform" val="java"/>
<prop action="exclude" att="platform" val="php"/>
<prop action="exclude" att="product" val="acme"/>
</val>
Thanks.

Re: Understanding conditional filtering

Posted: Mon Dec 15, 2014 9:57 am
by Radu
Hi Tom,
I admit that the Oxygen interface is flaky when it comes to selecting filters anyway. For example, suppose I have 8 transforms configured. Then I go and edit a property in my conditional profiling attributes. All of my transforms will no longer have any filter selected.
So each of the transformations has in the Filters tab the "Use Profiling condition set" combo box set to a certain profiling condition set name. Then you go to the Conditional Profiling Preferences and what exactly do you change, do you change the name of that profiling condition set? Or something else? From my tests it seems that only changing the name of the profiling condition set would lead to the problem you signaled.

Regards,
Radu

Re: Understanding conditional filtering

Posted: Tue Dec 16, 2014 8:38 pm
by tomjohnson1492
I'm not exactly sure. Sometimes I make a change, and then later when I'm doing my transforms I realize that they aren't filtering. I would need to experiment more to see what triggers the selector to drop. At any rate, I switched to using ditaval files instead.