This page provides a resource for plugin developers who are migrating their plugins to Confluence 4.0. It explains what happens to incompatible plugins, how to identify how Confluence is handling a given plugin and links to resources on how to update your plugin code.
Confluence 4.0 should publish most existing 3.5.x plugins with no changes required. When a plugin is not compatible with Confluence 4.0, it will gracefully attempt to provide a way for the plugin to work seamlessly. If that fails, the information from references listed on this page can be used to update the plugin code to make it 4.0 compatible.
All of the automated Confluence 4.0 migration and documentation around migrating plugins has been written for the case of moving from 3.5.x to 4.0 exclusively. You should roll forward through 3.x versions until you reach the 3.5 generation.
On upgrading to Confluence 4.0, the Wiki Markup of all pages is parsed. This will detect the following occurences in the page content and wrap each one in a Wiki Markup block:
NOTE: In order for a macro to be migrated, both a 3.x and 4.0 version have to exist in the system (noted in each plugin's Atlassian plugin XML file).
If the first macro on a Confluence page isn't 4.0 compatible, it will wrap the entire 'scope' or 'level' of that macro in the Wiki Markup macro. This is the intended outcome, the reason for this is due to ambiguity around detecting whether the macro has an ending tag or not.
In this case, the only real solution is to update your plugin to be compatible with Confluence 4.0. See the following section for specific resources.
The majority of plugins will continue to work with 4.0, but not updating your plugin has the following effects:
See Upgrading and Migrating an Existing Confluence Macro to 4.0.
The following Java methods have been removed from the Confluence 4.0 API:
ContentEntityObject.setContent(String)
ContentEntityObject.getContent()
If your macro (or plugin) makes use of these calls, it will fail. The failure case will only occur when a plugin built against 3.x is used in a 4.0 system - building the plugin against 4.0 will result in compile-time errors.
If you need assistance with your plugin migration, try posting your questions on Atlassian Answers with the tag "plugin-development". There, our vibrant developer community can see your questions and have the opportunity to answer them.
Rate this page: