06-20-2020, 10:46 PM
(This post was last modified: 06-20-2020, 10:47 PM by remkonoteboom.)
You mentioned the two main places where this is an issue. As of now, plugins own a "row" in the table of the database. Often we claim that row by using a prefix on the "code" column, ie: MY_PLUGIN0001. This makes exporting easy to define with an expression and also claims that row for be owned by a particular plugin.
However, there are two main areas where this is an issue, as Listy mentioned, the Schema and the Sidebar. This is because these are global documents and only one exists. Your plugin can completely override the row and as long as you make sure your plugin is loaded after the VFX plugin, then all is good. However, this means it is difficult a project to receive updates, ie: updating the TACTIC and reloading the VFX plugin. Reloading your plugin will override any new items in the schema or the sidebar.
I have been exploring the ability to add "additions" to the schema. This would be additional rows that are added by the plugin which would then be merged in memory to one big schema. This can be seen in src/pyasm/biz/schema.py, line: 1406.
https://github.com/Southpaw-TACTIC/TACTI.../schema.py
This would solve the schema problem as you can add search_types and connections in your plugin without interfering the VFX plugin. We could do the same with the sidebar and append the plugin links to the bottom.
Note that the templates never had this ability as the template exported and owned all of the definitions and became the source "plugin".
However, there are two main areas where this is an issue, as Listy mentioned, the Schema and the Sidebar. This is because these are global documents and only one exists. Your plugin can completely override the row and as long as you make sure your plugin is loaded after the VFX plugin, then all is good. However, this means it is difficult a project to receive updates, ie: updating the TACTIC and reloading the VFX plugin. Reloading your plugin will override any new items in the schema or the sidebar.
I have been exploring the ability to add "additions" to the schema. This would be additional rows that are added by the plugin which would then be merged in memory to one big schema. This can be seen in src/pyasm/biz/schema.py, line: 1406.
https://github.com/Southpaw-TACTIC/TACTI.../schema.py
This would solve the schema problem as you can add search_types and connections in your plugin without interfering the VFX plugin. We could do the same with the sidebar and append the plugin links to the bottom.
Note that the templates never had this ability as the template exported and owned all of the definitions and became the source "plugin".