Feature Request: Have an Oxygen project obtain all profiling condition information from DITAVAL file

Are you missing a feature? Request its implementation here.
ritus
Posts: 2
Joined: Thu Feb 24, 2022 8:28 am

Feature Request: Have an Oxygen project obtain all profiling condition information from DITAVAL file

Post by ritus »

Hello,

We generate configuration-specific content. To achieve that, we use profiling heavily.
The profiling conditions vary from product to product. We want the writers to maintain their product-specific profiling settings - attributes, values, and colors. We use subject scheme maps for maintaining the profiling attributes and values. But, currently, profiling colors are defined in the Oxygen .xpr file. It has the following drawbacks:
  • The .xpr file must be modified to change color definitions, but writers are not permitted to modify the file.
  • A shared .xpr file cannot be used across multiple Oxygen projects that are identical except for their content-specific profiling conditions.
  • The color definitions in the .xpr file can become desynchronized with the color definitions in the DITAVAL files.
I understand that one of my colleagues has filed the following enhancement request:

EXM-47205 - Specify in the "Colors and Styles" page a DITAVAL folder used to dynamically load colors

which requests the following:
  • In the "Colors and Styles" preferences section, allow a folder to be specified that contains DITAVAL files.
  • When Oxygen starts up, dynamically load the color definitions from these files.
This would allow individual writers to maintain their own product-specific DITAVAL files without requiring changes to the .xpr file.

is it possible to have a similar provision for the DITA-OT project file. The context defined in the project file is visible in authoring mode only when we include the DITA-OT project file in the Main Files folder of the .xpr. The project files are product-specific, and writers should be able to maintain their own product-specific project file without requiring changes to the .xpr file.

Thanks,
Ritu
xephon
Posts: 114
Joined: Mon Nov 24, 2014 1:49 pm
Location: Greven/Germany

Re: Feature Request: Have an Oxygen project obtain all profiling condition information from DITAVAL file

Post by xephon »

Reusing config chunks between project files would be great. There could be an option, to save/read a specific group of settings from an external config file.

To have another abstraction layer to inherit settings from one project file to another one would also be great.

Because something like this does not exist today, I'm working on a project file generator, which takes a few arguments, such as the context, main files, project directories, and do forth and generates a project file with XSLT. This will be my workaround until the SyncroSoft team hopefully closes this (one of a very few) feature gap.
stefanjung.netlify.com – Your DITA/DITA-OT XML consultant
Radu
Posts: 8010
Joined: Fri Jul 09, 2004 5:18 pm

Re: Feature Request: Have an Oxygen project obtain all profiling condition information from DITAVAL file

Post by Radu »

Thanks for the report Ritu and for the contribution Stefan,

I added an internal issue to consider this:

EXM-50593 Find ways to inherit/share settings between projects

So just to see if I understand Ritu's account, you have a Git repository that everyone checks out, in the repository you have an XPR file which everybody needs to use because it contains common settings.
But technical writers would sometimes change the "Main Files" folder by adding or removing files from there depending on their work, this modifies also the XPR file meaning that they need to be careful not to commit it to the Git repository and from time to time to revert it to the original XPR.
Ritu, is this close to what you are experiencing?

So how could we improve Oxygen to avoid this?
One option would be to able to save the project-related settings to a separate file located next to the XPR. So a "settings.xprs" file located to a "project.xpr". This would mean the Git repo would only distribute the "settings.xprs" and everyone would create their own "project.xpr" (based maybe on a "project_template.xpr" provided in the project) and add it to SVN ignore. All project level settings changed in Oxygen would get saved to the "settings.xprs" file.
Another option as Stefan says would be to leave the original "project.xpr" in the Git repo containing the settings and have each user create their own "project-ext.xpr" which would inherit somehow all settings from the "project.xpr". And the "project-ext.xpr" would be added to Git ignore. But what would happen if the writers modify settings saved already at project level? Would those changes be saved in the "project-ext.xpr" or in the "project.xpr"? Maybe two layers of projects extending each other would prove a challenge to understand.

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

Re: Feature Request: Have an Oxygen project obtain all profiling condition information from DITAVAL file

Post by chrispitude »

Hi Ritu,

The way I planned on handling this is to add an "all.xml" DITA-OT project file to Main Files that includes all other DITA-OT project files:

image.png
image.png (12.33 KiB) Viewed 210 times

The contents of this "all.xml" file would vary from repo to repo, but the Main Files reference to it in the Oxygen .xpr file would remain identical across repos.

Unfortunately this approach requires writers to manually keep the "all.xml" file up to date as DITA-OT project file components are added/removed. It would be easier if Main Files supported directory references as well as file references, then I could simply include the entire "_project" DITA-OT project file directory in Main Files (with its contents varying from repo to repo).

This solves the inclusion aspect of DITA-OT project files, so that Oxygen scans and understands the contexts/deliverables defined in all DITA-OT project files. However, that does not address the per-writer usability aspect.

For the usability aspect, perhaps the "Favorites" feature described here could be useful:

Have a way to pin/unpin favorite files in the Project view
post58737.html

Then each writer could "favorite" the individual DITA-OT project files that they frequently run transformations for:

image.png
image.png (6.85 KiB) Viewed 210 times

Another usability improvement would be to somehow make DITA-OT project file deliverables relevant to the current map publishable from the DITA Maps Manager. But I am still trying to think through how the UI for that could work.

(I suggest we all refer to "Oxygen project/.xpr file" or "DITA-OT project file" to keep our references unambiguous.)
Radu
Posts: 8010
Joined: Fri Jul 09, 2004 5:18 pm

Re: Feature Request: Have an Oxygen project obtain all profiling condition information from DITAVAL file

Post by Radu »

Hi Chris,

I added a new internal issue for this idea of having an entire folder referenced in the Main Files folder:
EXM-50611 Link to an entire folder in the "Main Files" folder
or maybe as an alternative somehow mark a certain folder in the Project as containing main files.

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

Re: Feature Request: Have an Oxygen project obtain all profiling condition information from DITAVAL file

Post by chrispitude »

Hi Radu,

Thanks for filing EXM-50611 for Main Files directories! Originally I was concerned about the time it would take to process the files in the directory. But then I realized that for DITA-OT project files, processing the file inclusions of an "all.xml" file requires processing all of those files anyway.

Hi Ritu,

Would the "favorites" feature AND [the "all.xml" DITA-OT project file OR Main Files directory support] provides you with the functionality needed to share a single Oxygen .xpr file across writers/repos? Or would you want/need additional functionality?

Hi xephon,

I had considered writing a similar Oxygen .xpr merging tool, but so far I have been able to avoid it. EXM-47205 (Specify in the "Colors and Styles" page a DITAVAL folder used to dynamically load colors) is the last piece I need to pull all hardcoded profiling conditions out of the Oxygen .xpr file.

Would the "favorites" feature or the Main Files directory support alleviate the need for your Oxygen .xpr file generator? If not, what other types of settings do you have that would vary from one Oxygen environment to another?
Last edited by chrispitude on Thu May 26, 2022 2:05 pm, edited 1 time in total.
Post Reply