Page 1 of 1

Add Insert Editor Variable to XInclude dialog

Posted: Tue Sep 26, 2017 9:31 pm
by steve.cuzner
We have set up variables so that writers can select the variable to point to targetsets in the docbook olink dialog and it works very well. Could the xinclude dialog be enhanced so that the Insert Editor Variable is available to writers when they want to include an xinclude. We save our cross product boilerplate xincluded in a central location, so this would be helpful.

Re: Add Insert Editor Variable to XInclude dialog

Posted: Wed Sep 27, 2017 8:22 am
by Radu
Hi Steve,

Sorry but I do not understand.
About your first remark:

We have set up variables so that writers can select the variable to point to targetsets in the docbook olink dialog and it works very well.


How exactly does that variable look like? Does it become part of the xi:include @href attribute value after the insert xi:include dialog is used? Is it resolved through the XML catalog support you set up?

Regards,
Radu

Re: Add Insert Editor Variable to XInclude dialog

Posted: Wed Sep 27, 2017 4:58 pm
by steve.cuzner
In our project files we have something like the following

Code: Select all

 <String>user.defined.editor.variables</String>
                        <userEditorVariable-array>
                            <userEditorVariable>
                                <field name="name">
                                    <String>${targetset}</String>
                                </field>
                                <field name="value">
                                    <String>${pdu}/../../../../someproduct/targetset.xml</String>
                                </field>
                                <field name="shortDescription">
                                    <String>Available link targets for this product</String>
                                </field>
                            </userEditorVariable>
                        </userEditorVariable-array>


In the insert OLink dialog the writer can select the Insert Editor Variables next to the Targetset URL filed and insert ${targetset}. This allows quick setting of the URL without have to use the browse button or remember the number of .. components.

In the case of XIncludes, if all or many of my xinclude object are in ${pdu}/../../../../boilerplate, if I could define that location in a variable, the writer would only have to include ${boilerplate}/file.xml. In our case, because we have our boilerplate in a single file and use the targetptr feature to point to a specifig point within, we would set ${boilerplate} to the actula xml file.

Does that help?

Steve

Re: Add Insert Editor Variable to XInclude dialog

Posted: Thu Sep 28, 2017 9:48 am
by Radu
Hi Steve,

Honestly I'm not sure why we added that button to use editor variables in the "Insert OLink" dialog.
We usually add such editor variables chooser buttons in places where the value composed using the editor variable is preserved in the Oxygen Preferences or in a framework customization. For example in a framework configuration you have references to the CSSs used for editing using editor variables which are automatically expanded when Oxygen looks for the CSSs.
So we'll probably not add the button to insert editor variables in the "Insert XInclude" dialog.
We do have APIs which would allow you to add an additional action to the drop-down button used for browsing various sources to locate the target file:

PluginWorkspace.addInputURLChooserCustomizer(InputURLChooserCustomizer)

As an example for what I mean I added a new sample Javascript-based plugin called urlChooserActionsProvider here:

https://github.com/oxygenxml/wsaccess-javascript-sample-plugins

Regards,
Radu