Re: web edition extensions [+ 1 CORRECTION]

Hussein Shafie <[email protected]> Wed, 27 Nov 2024 16:12:43 +0100
Newsgroups gmane.editors.xxe.general
Message-ID <[email protected]>
On 11/27/24 12:44, Carlos Villegas wrote:
> What I've done is to deploy the xmlmind backend in a separate container 
> from our application backend. In fact, it's probably difficult to run 
> the xmlmind server embedded in our backend 

Sorry but xxeserver has not been designed to be embedded. xxeserver is 
meant to run side by side with your backend.




> due to dependency conflicts 
> and such, even as it happens that our backend is also running in Java. I 
> communicate with our backend to do the load/save to our database and 
> access to a graphics and other media resources database, just as the 
> example in the documentation.
> 
> However, in order to support some interactive features I need to update 
> the XML tree or add properties from the client side. 

Updating the XML tree or adding properties from the client side, 
according to your custom needs, is certainly possible.

In order to achieve this, you'll always end up invoking remote commands 
(https://www.xmlmind.com/xmleditor/_web/doc/apidoc/RemoteCommand.html) 
which actually do the job on the server side. (Remember that the 
document "lives" on the server side.)

Note that custom remote commands (commands other than insert, convert, 
replace, putAttribute, removeAttribute, etc) can be dynamically 
discovered and loaded by xxeserver during the startup. In that respect, 
all this works exactly like in the desktop app.

See "How to adapt an existing ".xxe" configuration file to XXEW", 
https://www.xmlmind.com/xmleditor/_web/doc/manual/adapt_config_file.html#adapt_config_file_XXEW
---
Therefore you can very easily make XXEW reuse existing configurations 
created for XXE or if you want to create a configuration for XXEW, 
simply follow the instructions which apply to XXE, 
https://www.xmlmind.com/xmleditor/_distrib/doc/configure/config_file.html.
---

This appendix also applies to custom configurations specifying custom 
menus and toolbars and referencing custom commands (macro or written in 
Java), like yours.




> But I don't seem to 
> have access in the client to that. So one way to do it, or so I thought, 
> without adding more JavaScript APIs is to communicate directly with  the 
> custom Java extension in the xmlmind backend, which has the access to 
> the XML tree. Well, I guess I can just add another endpoint to the 
> xmlmind server inside my Java extension!

Sorry but I don't understand this. There is no way to add "endpoints" to 
xxeserver (unless, of course, you have the full source code of the 
product and are willing to recompile it after modifying it).

As explained in my previous email, XMLmind XML Editor Web Edition 
supports most CSS stylesheet extensions 
(https://www.xmlmind.com/xmleditor/_distrib/doc/dev/styleext.html) and also

- custom commands 
(https://www.xmlmind.com/xmleditor/_distrib/doc/dev/command.html),
- custom Virtual Drives 
(https://www.xmlmind.com/xmleditor/_distrib/doc/dev/vdrive_plugin.html),

but that's all the extension points you have access to.





> Anyway, at this point I don't have the specific use case where I would 
> need this. It looks like the current Java extension mechanism even with 
> the web edition restrictions 

To our knowledge, for a Western user, XMLmind XML Editor Web Edition has 
few restrictions compared to the desktop app. Mainly (1) being a single 
document, single view, XML editor and (2) having no support for 
transclusions (e.g. xi:include).

See also "Differences with the desktop application", 
https://www.xmlmind.com/xmleditor/_web/doc/manual/presentation.html#presentation__differences_with_desktop_app




> is sufficient for my application. I'll see 
> if it works.
> 
Anyway, thank you for this information and my best wishes of the success 
for your prototype.



--
XMLmind XML Editor Support List
[email protected]
http://www.xmlmind.com/mailman/listinfo/xmleditor-support