irida-plugin-plasmid-screen's People
irida-plugin-plasmid-screen's Issues
IRIDA plugin system update required to be compatible with IRIDA 21.01
IRIDA's 21.01 version will include an update to the plugin system to version 1.1.0. All analysis pipeline pugins must implement the changes below to be compatible with IRIDA 21.01 and future versions. Changes for plugin developers are summarized below. This IRIDA version is expected to be released at the end of January 2021.
Background
IRIDA underwent some changes to how metadata is stored in its database for the 21.01 release. This change will help improve performance of IRIDA's metadata system, make metadata easier to manage in IRIDA's codebase, and fix some issues we found with how our previous structure worked with Hibernate. A writeup about this change can be found at https://github.com/phac-nml/irida/blob/development/doc/administrator/upgrades/index.md#sample-metadata-audit-record-updates. Because of this change, anywhere that metadata is accessed or written in IRIDA needed some minor changes. This includes analysis plugins that implement AnalysisSampleUpdater
which has prompted this plugin system version update.
What you have to do
What this means for IRIDA plugin developers is that a change must be implemented in your plugin before IRIDA's 21.01 release in order for your plugins to work with the new version. Any plugin with an AnalysisSampleUpdater
implementation will need changes to match the new structure. While we like keeping backwards compatibility, unfortunately it was not possible in this case. Updated plugins will work with 21.01 forward, but will not work with preivous versions.
We've written documentation on how you can update your plugin and the reasons for this change at https://github.com/phac-nml/irida/blob/development/doc/administrator/upgrades/index.md#plugin-version-updates. It gives a step-by-step guide on how to update most plugins. In many cases the update will require changing only 3 lines of code and generating a new release of your plugin.
If you don't update your plugin IRIDA will still successfully start but a message will be displayed in the logs that your plugin will be disabled:
29 Dec. 2020 11:20:21,827 WARN org.pf4j.AbstractPluginManager:754 - Plugin '[email protected]' requires a minimum system version of 1.0.0, and you have 1.1.0
29 Dec. 2020 11:20:21,827 WARN org.pf4j.AbstractPluginManager:851 - Plugin '/etc/irida/plugins/example-plugin-0.1.0.jar' is invalid and it will be disabled
29 Dec. 2020 11:20:21,828 INFO org.pf4j.AbstractPluginManager:801 - Plugin '[email protected]' resolved
Analysis results will still be available, but the pipeline cannot be launched.
We recommend you make this change to your plugin prior to the 21.01 release. You can do this by checking out the development
version of IRIDA and basing your changes on that codebase.
What if my plugin does not implement AnalysisSampleUpdater
If your plugin does not implement a AnalysisSampleUpdater
you will still need to compile a new version of your plugin against the new IRIDA version. Since the pipeline system verison has increased, all plugins will need to be compiled against the new IRIDA version.
For any questions about these changes, you can contact the IRIDA development team using one of the options at https://github.com/phac-nml/irida#contact-the-irida-team.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.