Support current filtering + specified flagging DITAVAL files in transformations
Are you missing a feature? Request its implementation here.
-
- Posts: 922
- 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:
(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:
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!
In our output transformation, I use the currently applied filter condition so the writer can specify the product:
And in the transformation parameters, I specify the flagging according to whether I'm doing a review or final transformation:
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.
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"/>
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>
image.png
In our output transformation, I use the currently applied filter condition so the writer can specify the product:
image.png
And in the transformation parameters, I specify the flagging according to whether I'm doing a review or final transformation:
image.png
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.
You do not have the required permissions to view the files attached to this post.
-
- Posts: 922
- 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
You do not have the required permissions to view the files attached to this post.
-
- Posts: 9434
- Joined: Fri Jul 09, 2004 5:18 pm
Re: Support current filtering + specified flagging DITAVAL files in transformations
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
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
<oXygen/> XML Editor
http://www.oxygenxml.com
-
- Posts: 922
- 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:
flagging:
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.
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
Code: Select all
draft.ditaval
review.ditaval
final.ditaval
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.
-
- Posts: 9434
- Joined: Fri Jul 09, 2004 5:18 pm
Re: Support current filtering + specified flagging DITAVAL files in transformations
Hi Chris,
This kind of makes sense for me too, I added an internal issue with ID EXM-45272.
Regards,
Radu
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
<oXygen/> XML Editor
http://www.oxygenxml.com
-
- Posts: 9434
- Joined: Fri Jul 09, 2004 5:18 pm
Re: Support current filtering + specified flagging DITAVAL files in transformations
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
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
<oXygen/> XML Editor
http://www.oxygenxml.com
Jump to
- Oxygen XML Editor/Author/Developer
- ↳ Feature Request
- ↳ Common Problems
- ↳ DITA (Editing and Publishing DITA Content)
- ↳ SDK-API, Frameworks - Document Types
- ↳ DocBook
- ↳ TEI
- ↳ XHTML
- ↳ Other Issues
- Oxygen XML Web Author
- ↳ Feature Request
- ↳ Common Problems
- Oxygen Content Fusion
- ↳ Feature Request
- ↳ Common Problems
- Oxygen JSON Editor
- ↳ Feature Request
- ↳ Common Problems
- Oxygen PDF Chemistry
- ↳ Feature Request
- ↳ Common Problems
- Oxygen Feedback
- ↳ Feature Request
- ↳ Common Problems
- Oxygen XML WebHelp
- ↳ Feature Request
- ↳ Common Problems
- XML
- ↳ General XML Questions
- ↳ XSLT and FOP
- ↳ XML Schemas
- ↳ XQuery
- NVDL
- ↳ General NVDL Issues
- ↳ oNVDL Related Issues
- XML Services Market
- ↳ Offer a Service