This documentation is intended for Confluence plugin developers who want to ensure that their existing plugins and add-ons are compatible with Confluence 4.3.
In Confluence 4.3 and later, the ContentUiSupport interface has a new implementation that supports rendering attachment icons as well. This is now the preferred way to render all icons in server side code.
This change required the ContentUiSupport class to accept a more generic ConfluenceEntityObject instead of its more specific subclass ContentEntityObject. For plugin developers, this means you will need to recompile your code against Confluence 4.3, if any of the following is true:
Your code calls any of these methods:
1 2 3
public String getContentTypeI18NKey(com.atlassian.confluence.core.ContentEntityObject) public String getIconCssClass(com.atlassian.confluence.core.ContentEntityObject) public String getIconPath(com.atlassian.confluence.core.ContentEntityObject, int)
You have implemented a class that extends the ContentUiSupport class.
No changes to your source code should be required.
As of Confluence 4.3, the following method has been removed:
This method was used prior to 4.3 to provide the text and href of the link in notification emails that would "drop the watch" on the content that the notification referenced. That link is now provided by a WebItem with section key "email.footer.links.right". To include the drop-watch link in a custom-rendered email message, retrieve it with webInterfaceManager.getDisplayableItems("email.footer.links.right", context) where context is the Map of the email Velocity render-context.
The PermissionSetter class has been removed in Confluence 4.2.6 and later.
Reason for removal: Confluence 4.2.6 and later have a new feature allowing administrators to set the default permissions for a space. (See CONF-2559.) We therefore added a new method to the SpaceManager for creating a global space with no permissions (createPrivateSpace) and we modified the existing method to apply the default space permissions configured in the global admininstration screen (createSpace). There are equivalent methods for creating personal spaces too.
By the time you have a reference to the newly created space, it will already have the relevant permissions applied, making the PermissionSetter obsolete. Note also that PermissionSetter had no way of removing permissions that already exist.
You will need to adjust your code to call the appropriate SpaceManager methods, then modify the space permissions further via calls to the SpacePermissionManager directly. We recommend adding support for space permission defaults as well, so your users can benefit from the easy administration this provides.
Prior to Confluence 4.3, page templates were stored in wiki markup format. Starting with Confluence 4.3, page templates are stored in the Confluence XHTML-based storage format.
Reason for change: Confluence 4.3 and later now use the rich text editor for editing page templates, requiring the storage format for templates to change to the XHTML-based storage format.
Confluence 4.3 introduces the workbox, for managing notifications and tasks in the app. We have an API available that will be released as experimental, wanting your feedback. Here is your chance to help us shape the workbox notifications and tasks API.
Resources to help you get started:
We want your feedback! You can provide feedback for the API by raising an issue in the Confluence project on jira.atlassian.com.
Confluence 4.3 introduces a brand new mobile interface for iOS devices. From Confluence 4.3.2 and onwards, plugin developers can update their macros to render in this new mobile-friendly view. For more information, see our tutorial for Making your macro render in Confluence mobile.
Please watch the Development Releases page for pre-release versions of Confluence 4.3 that you can use for testing purposes.