Configuring plugins
Your plugin.xml file contains nearly all of the high-level information about
what's included in your plugin.
What's not described here could include any Spring
beans you're overriding or database tables you're adding.
For the references for plugin.xml file elements, see Plugin XML reference and UI components XML reference.
<plugin>
<!--
Top-level information: overall plugin name and description,
its version, and the earliest application version on which
it's supported.
-->
<name>helloworld</name>
<description>Hello World</description>
<author>ACME Plugins</author>
<version>1.0.0</version>
<minServerVersion>2.1.0</minServerVersion>
<!--
Widgets are user interface components that people can
use to customize parts of the UI. The class attribute
points to the Java class that provides the widget's logic.
-->
<widget class="com.example.sbs.widgets.CoolWidget"/>
<!--
You can write web services that expose parts of the application
not available as web services by default.
-->
<webservice class="com.example.sbs.webservices.HandyService"/>
<!--
Specifies that this plugin includes a CSS stylesheet that
should be used throughout the application. This is good
way to add a global CSS class or override one already
included with the application.
-->
<css src="/acme_styles.css"/>
<!--
Key and value for indicating whether database changes are
needed on upgrade.
-->
<databaseKey>helloworld</databaseKey>
<databaseVersion>1</databaseVersion>
<!--
Aside from widgets, you can add elements to the user interface
with Struts actions. You integrate into the UI here, then define
the action itself
-->
<components>
<!--
<component> elements define user interface elements
to be integrated. For a description of these, see
Integrating Plugin UI. This one adds
an Action box link to a user profile; this will be
seen by visiting users, rather than the profile's owner.
-->
<component id="profile-actions">
<tab id="profile-actions-tab">
<item id="profile-actions-link" name="Example profile action">
<url>
<![CDATA[<@s.url value="/example-profile.jspa?userID=${targetUser.ID}"/>]]></url>
</item>
</tab>
</component>
</components>
<!-- A class that handles lifecycle events. -->
<class>com.jivesoftware.plugins.MyPluginLifecycle</class>
</plugin>