Re: [oXygen-user] Custom DTDs with default Oxygen OT
Thanks, Radu! Yes, I think we don't want to go down the route of modifying the default OT, we do have users on Windows and we want to make things as seamless as possible, with fewer possible ways for things to go sideways. Option #2 looks most likely. All the best! ...scott On 12/20/22 9:21 PM, Oxygen XML Editor Support (Radu Coravu) wrote: Hi Scott, If you would only wanted your DTD specialization to be used by Oxygen when editing or for validation, adding a reference to the custom XML catalog in the Oxygen Preferences->"XML / XML Catalog" page would be enough. But indeed for publishing the DITA OT publishing engine needs to have an extra plugin installed, there are no parameters which would allow passing a reference to an extra XML catalog to the DITA OT when it starts. https://www.oxygenxml.com/doc/versions/25.0/ug-editor/topics/dita-integrate-specialization.html You could actually keep a separate "plugins" folder outside of the DITA OT main folder as long as you refer to it in the "DITA-OT3.x/config/configuration.properties" file: https://www.dita-ot.org/dev/parameters/configuration-properties-file.html But this would still mean the DITA OT folder would need to be changed, changes made to the "configuration.properties" followed by running the DITA OT integrator task which adds an extra reference to your XML catalog from the main DITA OT XML catalog. And the main problem is that on Windows, Oxygen is usually installed in the "Program Files" folder which is read-only and making changes to files there is problematic if you do not have admin privileges. Some more ways to distribute a custom DITA OT to the users: 1) Make the custom DITA OT available as an add-on: https://www.oxygenxml.com/doc/versions/25.0/ug-editor/topics/contribute-external-dita-ot-extension.html For example here: https://github.com/oxygenxml/dita-ot-3x-plugin In the Oxygen main menu "Help->Install new add-ons" you can point Oxygen to an HTTP location containing the zipped DITA OT and Oxygen would download it and make it available in the "Preferences->DITA" page. 2) Add the custom DITA OT folder directly inside the framework folder. an Oxygen framework can provide also custom transformation scenarios and the custom transformation scenarios could use the "Parameters->"dita.dir"" parameter to refer to the custom DITA OT bundled with the framework. 3) If you use a Git repository for example you could also commit the custom DITA OT inside the repository so that everyone gets it when they check out the project. Regards, Radu Radu Coravu Oxygen XML Editor On 12/20/22 22:19, Scott Prentice wrote: It's interesting to see that Chemistry apparently honors the catalog defined in the framework, so you can do a PDF build from content using a custom doctype with just the framework installed. Not exactly what I need, but good to know! ...scott On 12/20/22 11:46 AM, Scott Prentice wrote: Thanks, Stefan! Yeah .. I was hoping to avoid having the users install a plugin .. just install the framework. But I can see that's not going to fly. I'm thinking that the simplest (least effort for the users, and least opportunity for error), is to provide a pre-configured OT installation that they can point to from Preferences. It'll just be .. 1) Install framework, 2) Point to custom OT in Preferences That way if something goes sideways, they haven't messed with the detail Oxygen installation. Cheers, ...scott On 12/20/22 11:33 AM, Stefan Jung wrote: Hey Scott, You should bundle the grammar files in a toolkit plugin. This is correct. In your oxygen framework you need to configure the matching rules to recognize your custom grammar files. You need to install your plugin to the DITA-OT as well. You need to use the dita.specialization.catalog.relative extension point in your plugin.xml. BR Gesendet mit OX Mail Scott Prentice http://s...@leximation.com>> hat am December 20, 2022 um 8:25 PM geschrieben: I think I know the answer to this question, but want to confirm that I'm not missing something. I've got a set of custom DITA DTDs wrapped up in an OT plugin. If I install this plugin in the OT, I'm able to successfully generate output from content that uses the public IDs defined by those DTDs. However, what I'd like is to include this plugin in an Oxygen framework, and have the custom doctypes honored for OT builds without "installing" the plugin. As it stands, users can install the framework and edit topics and maps using the custom doctypes. It validates fine and all is well, but when they go to do an OT build, it fails to recognize the location for the custom DTDs. I thought there was an OT parameter that let you specify the location of an alternate catalog file, but I'm not seeing that. Was hoping that I could get this to work by just having the users install the framework. It seems like my on
Re: [oXygen-user] Custom DTDs with default Oxygen OT
Hi Scott, If you would only wanted your DTD specialization to be used by Oxygen when editing or for validation, adding a reference to the custom XML catalog in the Oxygen Preferences->"XML / XML Catalog" page would be enough. But indeed for publishing the DITA OT publishing engine needs to have an extra plugin installed, there are no parameters which would allow passing a reference to an extra XML catalog to the DITA OT when it starts. https://www.oxygenxml.com/doc/versions/25.0/ug-editor/topics/dita-integrate-specialization.html You could actually keep a separate "plugins" folder outside of the DITA OT main folder as long as you refer to it in the "DITA-OT3.x/config/configuration.properties" file: https://www.dita-ot.org/dev/parameters/configuration-properties-file.html But this would still mean the DITA OT folder would need to be changed, changes made to the "configuration.properties" followed by running the DITA OT integrator task which adds an extra reference to your XML catalog from the main DITA OT XML catalog. And the main problem is that on Windows, Oxygen is usually installed in the "Program Files" folder which is read-only and making changes to files there is problematic if you do not have admin privileges. Some more ways to distribute a custom DITA OT to the users: 1) Make the custom DITA OT available as an add-on: https://www.oxygenxml.com/doc/versions/25.0/ug-editor/topics/contribute-external-dita-ot-extension.html For example here: https://github.com/oxygenxml/dita-ot-3x-plugin In the Oxygen main menu "Help->Install new add-ons" you can point Oxygen to an HTTP location containing the zipped DITA OT and Oxygen would download it and make it available in the "Preferences->DITA" page. 2) Add the custom DITA OT folder directly inside the framework folder. an Oxygen framework can provide also custom transformation scenarios and the custom transformation scenarios could use the "Parameters->"dita.dir"" parameter to refer to the custom DITA OT bundled with the framework. 3) If you use a Git repository for example you could also commit the custom DITA OT inside the repository so that everyone gets it when they check out the project. Regards, Radu Radu Coravu Oxygen XML Editor On 12/20/22 22:19, Scott Prentice wrote: It's interesting to see that Chemistry apparently honors the catalog defined in the framework, so you can do a PDF build from content using a custom doctype with just the framework installed. Not exactly what I need, but good to know! ...scott On 12/20/22 11:46 AM, Scott Prentice wrote: Thanks, Stefan! Yeah .. I was hoping to avoid having the users install a plugin .. just install the framework. But I can see that's not going to fly. I'm thinking that the simplest (least effort for the users, and least opportunity for error), is to provide a pre-configured OT installation that they can point to from Preferences. It'll just be .. 1) Install framework, 2) Point to custom OT in Preferences That way if something goes sideways, they haven't messed with the detail Oxygen installation. Cheers, ...scott On 12/20/22 11:33 AM, Stefan Jung wrote: Hey Scott, You should bundle the grammar files in a toolkit plugin. This is correct. In your oxygen framework you need to configure the matching rules to recognize your custom grammar files. You need to install your plugin to the DITA-OT as well. You need to use the dita.specialization.catalog.relative extension point in your plugin.xml. BR Gesendet mit OX Mail Scott Prentice http://s...@leximation.com>> hat am December 20, 2022 um 8:25 PM geschrieben: I think I know the answer to this question, but want to confirm that I'm not missing something. I've got a set of custom DITA DTDs wrapped up in an OT plugin. If I install this plugin in the OT, I'm able to successfully generate output from content that uses the public IDs defined by those DTDs. However, what I'd like is to include this plugin in an Oxygen framework, and have the custom doctypes honored for OT builds without "installing" the plugin. As it stands, users can install the framework and edit topics and maps using the custom doctypes. It validates fine and all is well, but when they go to do an OT build, it fails to recognize the location for the custom DTDs. I thought there was an OT parameter that let you specify the location of an alternate catalog file, but I'm not seeing that. Was hoping that I could get this to work by just having the users install the framework. It seems like my only options are (after installing the framework) .. - install and integrate the "doctypes" plugin into the default OT in Oxygen - OR .. provide another OT that has the doctypes plugin installed and have the users point to that as a custom DITA-OT in Oxygen Thoughts? Thanks! ...scott
Re: [oXygen-user] Custom DTDs with default Oxygen OT
It's interesting to see that Chemistry apparently honors the catalog defined in the framework, so you can do a PDF build from content using a custom doctype with just the framework installed. Not exactly what I need, but good to know! ...scott On 12/20/22 11:46 AM, Scott Prentice wrote: Thanks, Stefan! Yeah .. I was hoping to avoid having the users install a plugin .. just install the framework. But I can see that's not going to fly. I'm thinking that the simplest (least effort for the users, and least opportunity for error), is to provide a pre-configured OT installation that they can point to from Preferences. It'll just be .. 1) Install framework, 2) Point to custom OT in Preferences That way if something goes sideways, they haven't messed with the detail Oxygen installation. Cheers, ...scott On 12/20/22 11:33 AM, Stefan Jung wrote: Hey Scott, You should bundle the grammar files in a toolkit plugin. This is correct. In your oxygen framework you need to configure the matching rules to recognize your custom grammar files. You need to install your plugin to the DITA-OT as well. You need to use the dita.specialization.catalog.relative extension point in your plugin.xml. BR Gesendet mit OX Mail Scott Prentice http://s...@leximation.com>> hat am December 20, 2022 um 8:25 PM geschrieben: I think I know the answer to this question, but want to confirm that I'm not missing something. I've got a set of custom DITA DTDs wrapped up in an OT plugin. If I install this plugin in the OT, I'm able to successfully generate output from content that uses the public IDs defined by those DTDs. However, what I'd like is to include this plugin in an Oxygen framework, and have the custom doctypes honored for OT builds without "installing" the plugin. As it stands, users can install the framework and edit topics and maps using the custom doctypes. It validates fine and all is well, but when they go to do an OT build, it fails to recognize the location for the custom DTDs. I thought there was an OT parameter that let you specify the location of an alternate catalog file, but I'm not seeing that. Was hoping that I could get this to work by just having the users install the framework. It seems like my only options are (after installing the framework) .. - install and integrate the "doctypes" plugin into the default OT in Oxygen - OR .. provide another OT that has the doctypes plugin installed and have the users point to that as a custom DITA-OT in Oxygen Thoughts? Thanks! ...scott ___ oXygen-user mailing list oXygen-user@oxygenxml.com https://www.oxygenxml.com/mailman/listinfo/oxygen-user ___ oXygen-user mailing list oXygen-user@oxygenxml.com https://www.oxygenxml.com/mailman/listinfo/oxygen-user
Re: [oXygen-user] Custom DTDs with default Oxygen OT
Thanks, Stefan! Yeah .. I was hoping to avoid having the users install a plugin .. just install the framework. But I can see that's not going to fly. I'm thinking that the simplest (least effort for the users, and least opportunity for error), is to provide a pre-configured OT installation that they can point to from Preferences. It'll just be .. 1) Install framework, 2) Point to custom OT in Preferences That way if something goes sideways, they haven't messed with the detail Oxygen installation. Cheers, ...scott On 12/20/22 11:33 AM, Stefan Jung wrote: Hey Scott, You should bundle the grammar files in a toolkit plugin. This is correct. In your oxygen framework you need to configure the matching rules to recognize your custom grammar files. You need to install your plugin to the DITA-OT as well. You need to use the dita.specialization.catalog.relative extension point in your plugin.xml. BR Gesendet mit OX Mail Scott Prentice http://s...@leximation.com>> hat am December 20, 2022 um 8:25 PM geschrieben: I think I know the answer to this question, but want to confirm that I'm not missing something. I've got a set of custom DITA DTDs wrapped up in an OT plugin. If I install this plugin in the OT, I'm able to successfully generate output from content that uses the public IDs defined by those DTDs. However, what I'd like is to include this plugin in an Oxygen framework, and have the custom doctypes honored for OT builds without "installing" the plugin. As it stands, users can install the framework and edit topics and maps using the custom doctypes. It validates fine and all is well, but when they go to do an OT build, it fails to recognize the location for the custom DTDs. I thought there was an OT parameter that let you specify the location of an alternate catalog file, but I'm not seeing that. Was hoping that I could get this to work by just having the users install the framework. It seems like my only options are (after installing the framework) .. - install and integrate the "doctypes" plugin into the default OT in Oxygen - OR .. provide another OT that has the doctypes plugin installed and have the users point to that as a custom DITA-OT in Oxygen Thoughts? Thanks! ...scott ___ oXygen-user mailing list oXygen-user@oxygenxml.com https://www.oxygenxml.com/mailman/listinfo/oxygen-user