[chimerax-users] bundle_info.xml API changes
Eric Pettersen
pett at cgl.ucsf.edu
Fri Jan 31 14:48:25 PST 2020
Any non-developers feel free to skip this message. Even for developers, unless you are writing a toolshed bundle that uses the DataFormat, Open, Save, and/or Fetch tags in the bundle’s bundle_info.xml file, you could skip this message.
For the two of you that are left, in anticipation of the the ChimeraX 1.0 release sometime this year we are changing some APIs we are unhappy with. Namely, the tags in the in bundle_info.xml that I mentioned in the previous paragraph. As they stand, they are not easily extensible and it is not obvious without looking at the documentation what the various fields do. On top of that, it is difficult to take the information in those tags and present interfaces for options in ChimeraX’s Open/Save file dialogs. Also, there is nothing preventing keywords added to the open command by one bundle from conflicting with keywords added by another bundle.
We will be migrating those tags to use bundle_info’s Manager/Provider architecture (described here <https://www.cgl.ucsf.edu/chimerax/docs/devel/tutorials/bundle_info.html>). Instead of fixed fields, you have keyword/value pairs, which is slightly more self-documenting. Also, a manager can ask a provider for various things, so in one case the manager can provide a partially processed “open” command along with the “rest of line” for the provider to handle its options, if any, and actually open the file, whereas in another the manager can ask for a widget containing options to show in an open or save dialog. In brief, the change allows us to solve some issues that looked pretty intractable with the old scheme.
The exact details of the managers and providers supporting these functions are not detailed in that link (just the generic mechanism), but details will be added as implementations are completed.
For convenience, there will some period of time when both the old scheme and new scheme will both work, but we anticipate dropping the old scheme before the 1.0 release.
—Eric
Eric Pettersen
UCSF Computer Graphics Lab
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://plato.cgl.ucsf.edu/pipermail/chimerax-users/attachments/20200131/3b2c3639/attachment.html>
More information about the ChimeraX-users
mailing list