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.

    Top-level information: overall plugin name and description,
        its version, and the earliest application version on which
        it's supported.
    <description>Hello World</description>
    <author>ACME Plugins</author>
        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=""/>
        You can write web services that expose parts of the application
        not available as web services by default.
    <webservice class=""/>
        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.
        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
            <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">
                        <![CDATA[<@s.url value="/example-profile.jspa?userID=${targetUser.ID}"/>]]></url>
    <!-- A class that handles lifecycle events. -->