Support current filtering + specified flagging DITAVAL files in transformations

Are you missing a feature? Request its implementation here.
chrispitude
Posts: 907
Joined: Thu May 02, 2019 2:32 pm

Support current filtering + specified flagging DITAVAL files in transformations

Post by chrispitude »

I am trying to refactor our DITAVAL files into separate filtering and flagging files:

Code: Select all

$ fgrep 'action="include"' *
filter_product1.ditaval:   <prop att="product" val="product1" action="include"/>
filter_product2.ditaval:   <prop att="product" val="product2" action="include"/>
$ grep revprop *
flag_final.ditaval:   <revprop action="include"/>
flag_review.ditaval:   <revprop action="flag" backcolor="#FEFEC9"/>
(We currently have DITAVAL files for all multiplied combinations, but this is becoming unworkable.)

Consider the following DITA content that has content for product1 and product2:

Code: Select all

<p>This <ph rev="1.0">changed</ph> line is for <ph product="product1">product 1</ph><ph product="product2">product 2</ph>.</p>
The profiling menu allows us to filter by product via the filter* DITAVAL files, and to highlight content via the profiling condition colors - this is great!

image.png
image.png (14.48 KiB) Viewed 1789 times

In our output transformation, I use the currently applied filter condition so the writer can specify the product:

image.png
image.png (14.94 KiB) Viewed 1789 times

And in the transformation parameters, I specify the flagging according to whether I'm doing a review or final transformation:

image.png
image.png (40.58 KiB) Viewed 1789 times

Unfortunately these DITAVAL specifications are not cumulative. Instead, the flagging DITAVAL (args.filter parameter) takes precedence over the filtering parameter (the currently specified filter condition) and we lose the ability to filter the output.

It would be great for Oxygen to understand that when both DITAVAL-based specification types exist for a given transformation, that the intent is to combine them. (As a side note, this refactoring is to use the new "DITA-OT project file" feature in Oxygen 22.0 and the DITA-OT 3.4).

I've hit my limit of three attachments for this message. I'll attach a small testcase to the next message.
chrispitude
Posts: 907
Joined: Thu May 02, 2019 2:32 pm

Re: Support current filtering + specified flagging DITAVAL files in transformations

Post by chrispitude »

Testcase attached!
oxygen_transform_multiple_ditaval.zip
(5.16 KiB) Downloaded 288 times
Radu
Posts: 8992
Joined: Fri Jul 09, 2004 5:18 pm

Re: Support current filtering + specified flagging DITAVAL files in transformations

Post by Radu »

Hi Chris,

Whatever setting you set in the transformation scenario "Filters" tab, Oxygen uses to compose a value for the "args.filter" parameter.
But once you set your own value to the parameter, you overwrite completely the "Filter" tab settings.
The DITA OT "args.filter" parameter does accept a semi-colon separated list of DITAVAL filter files:

https://www.dita-ot.org/dev/parameters/ ... rgs.filter

so if you manually specify its value you can specify multiple DITAVAL files there.

Regards,
Radu
Radu Coravu
<oXygen/> XML Editor
http://www.oxygenxml.com
chrispitude
Posts: 907
Joined: Thu May 02, 2019 2:32 pm

Re: Support current filtering + specified flagging DITAVAL files in transformations

Post by chrispitude »

Hi Radu,

The problem is that we are trying to avoid having the number of transformation scenarios multiply out like that.

For example, consider the following DITAVAL files:

filtering:

Code: Select all

filter_product1.ditaval
filter_product2.ditaval
filter_product3.ditaval
filter_product4.ditaval
filter_product5.ditaval
flagging:

Code: Select all

draft.ditaval
review.ditaval
final.ditaval
To specify both the filtering and flagging conditions in the transformation, I would need 5*3=15 transformation scenarios. This is not only difficult for maintenance, but writers complain that it's "too complicated."

But if I inherit the current filtering conditions from the Profiling Conditions drop-down, then I only have to specify the flagging when choosing the transformation. This makes intuitive sense because the filtering condition goes along with whatever input content the writer has selected; those two together determine the content. The flagging is an output-side setting that naturally belongs with the transformation scenario.
Radu
Posts: 8992
Joined: Fri Jul 09, 2004 5:18 pm

Re: Support current filtering + specified flagging DITAVAL files in transformations

Post by Radu »

Hi Chris,

This kind of makes sense for me too, I added an internal issue with ID EXM-45272.

Regards,
Radu
Radu Coravu
<oXygen/> XML Editor
http://www.oxygenxml.com
Radu
Posts: 8992
Joined: Fri Jul 09, 2004 5:18 pm

Re: Support current filtering + specified flagging DITAVAL files in transformations

Post by Radu »

Hi,

As an update Oxygen 22.1 should merge the filter specified in the Filters tab with the filter specified using the args.filter parameter.

Regards,
Radu
Radu Coravu
<oXygen/> XML Editor
http://www.oxygenxml.com
Post Reply