19 March 2009
| Current released version Atlassian Plugin Framework 2.4.3 is now available — see the Plugin Framework 2.4.3 Release Notes. |
With pleasure, Atlassian presents the Atlassian Plugin Framework 2.2.
This release provides the framework for several new Atlassian projects currently under development, such as a unified plugin manager and features to be incorporated into the Atlassian gadgets and dashboards.
The Atlassian Plugin Framework 2.2 supports dynamic plugins for non-dynamic module descriptors. This means that future releases of the Atlassian applications can support dynamic plugin installation, without requiring a restart of the application.
Plugins can now specify that individual modules apply to a particular application. For example, a single plugin may define a web item for JIRA and a different web item for Confluence.
Performance improvements in the Atlassian Plugin Framework 2.2 will reduce the time an application takes to start. Other improvements speed up plugin development. Enhanced validation of module descriptors and clearer error messages will make a plugin developer's life easier.
The Atlassian Plugin Framework 2.2 supports batching of web resources, so that multiple plugin web resources can be served in one request. This release also brings improvements in the export of packages.
|
Highlights of this Release:
|
Haven't used the Atlassian Plugin Framework 2 yet? Comments, Requests and Feedback |
Highlights of the Atlassian Plugin Framework 2.2
|
|
Framework for New Atlassian DevelopmentThe Atlassian Plugin Framework 2.2 provides new features and improvements required by several Atlassian projects currently under development. While the plugins described below are not yet available, the Atlassian Plugin Framework is now ready to support them.
|
|
|
Dynamic Plugin SupportWith this release, the Atlassian Plugin Framework supports dynamic plugins for non-dynamic module descriptors. This allows the Atlassian applications to support dynamic plugin installation, without requiring a restart of the application. Confluence already supports dynamic plugin loading. Other applications such as JIRA will support it future releases. |
|
|
Application-Specific ModulesCross-application plugins can now contain modules that are only enabled for specific applications. Adding the application attribute to a module descriptor in atlassian-plugin.xml will ensure that it is only enabled for the particular application that it works with. Module descriptors without an application attribute are loaded in all applications. This allows you to write cross-application plugins, sharing common Java code, that can be deployed correctly onto multiple applications. For example, you might have a servlet plugin with individual web items for each potential application. <atlassian-plugin name="Hello World Plugin" key="example.plugin.helloworld" pluginsVersion="2"> <plugin-info> <description>A basic web item module test</description> <vendor name="Atlassian Software Systems" url="http://www.atlassian.com"/> <version>1.0</version> </plugin-info> <web-item key="google_home" name="Google Home" section="system.user/example1" weight="10" application="confluence"> <description key="item.google.home.desc">Simple link to google.com.</description> <label key="item.google.home.label" /> <link linkId="google_home">http://google.com</link> </web-item> <web-item key="google_home" name="Google Home" section="system.user.navigation.bar/example1" weight="10" application="jira"> <description key="item.google.home.desc">Simple link to google.com.</description> <label key="item.google.home.label" /> <link linkId="google_home">http://google.com</link> </web-item> <servlet name="Hello World Servlet" key="helloWorld" class="com.example.myplugins.helloworld.HelloWorldServlet"> <description>Says Hello World, Australia or your name.</description> <url-pattern>/helloworld</url-pattern> <init-param> <param-name>defaultName</param-name> <param-value>Australia</param-value> </init-param> </servlet> </atlassian-plugin> |
|
|
Shared Access Layer (SAL) 2.0Version 2.2 of the Atlassian Plugin Framework supports Shared Access Layer (SAL) 2.0. This release of SAL provides an API to retrieve the current user's locale, other internationalisation improvements, user authentication via OAuth and fixes as shown in the SAL 2.0 Release Notes. |
|
|
Improved Validation and Error MessagesEnhanced validation of module descriptors and clearer error messages make plugin development easier.
|
|
|
Improved Package Export BehaviourPackages from plugins are no longer exported by default. Interfaces from public components are exported automatically, i.e. if a public component is registered under an interface found in the bundle, the plugin framework exports it automatically. This change improves predictability and helps to avoid conflicts between plugins that embed the same libraries. See the problem definition.
|
|
|
Faster Plugin DevelopmentA number of improvements in this release will help to speed up the plugin development process. In addition to the points already mentioned above, here are some more items to delight a jaded developer:
|
Complete List of Fixes in this Release














Add Comment