# Addon container

# Addon container

## Introduction

Addon containers can be deployed on the Soffid console, using the addon management page.

These addons are bare jar files that are containing some other addons as well as an index file, named META-INF/soffid-plugin.xml. This file can contain the following tags:

<table class="confluenceTable tablesorter tablesorter-default stickyTableHeaders" id="bkmrk-tag-description-name" role="grid"><thead class="tableFloatingHeaderOriginal"><tr class="tablesorter-headerRow" role="row"><th aria-disabled="false" aria-label="Tag: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="0" role="columnheader" scope="col" tabindex="0"><div>**Tag**</div></th><th aria-disabled="false" aria-label="Description: No sort applied, activate to apply an ascending sort" aria-sort="none" class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="1" role="columnheader" scope="col" tabindex="0"><div>**Description**</div></th></tr></thead><tbody aria-live="polite" aria-relevant="all"><tr role="row"><td class="confluenceTd">name</td><td class="confluenceTd">Friendly add-on name</td></tr><tr role="row"><td class="confluenceTd">version</td><td class="confluenceTd">Version number</td></tr><tr role="row"><td class="confluenceTd" colspan="1">core</td><td class="confluenceTd" colspan="1">Identifies a business logic or common classes addon. The following attributes are mandatory:

**name**: addon name

**resource:** add-on entry name

</td></tr><tr role="row"><td class="confluenceTd" colspan="1">web</td><td class="confluenceTd" colspan="1">Identifies a web addon. The following attributes are mandatory:

**name**: addon name

**resource:** add-on entry name

</td></tr><tr role="row"><td class="confluenceTd" colspan="1">webservice</td><td class="confluenceTd" colspan="1">Identifies a webservice (.aar) addon. The following attributes are mandatory:

**name**: addon name

**resource:** add-on entry name

</td></tr><tr role="row"><td class="confluenceTd" colspan="1">agents</td><td class="confluenceTd" colspan="1">Identifies a connector (.jar) addon. The following attributes are mandatory:

**name**: addon name

**resource:** add-on entry name

</td></tr><tr role="row"><td class="confluenceTd" colspan="1">agents/agent</td><td class="confluenceTd" colspan="1">Register a connector stored on a a agents connector addon. It has the following inner tags:

**name** : Connector name

**javaClass**: Java class that implements the connector

**userInterface**: ZK page that is used to configure the agent. It must be placed into agents connector addon

**enableAccessControl**: contains "true" when the access control tab must be enabled for this connector.

</td></tr></tbody></table>

Here you have a sample soffid addon descriptor

```XML
<?xml version="1.0" encoding="UTF-8"?>
<SoffidIAMPlugin xmlns="http://www.soffid.com/schema/iam-plugin-v1">
    <name>Soffid Identity Federation</name>
    <version>${pom.version}</version>
    <core name="Federation common classes" resource="federation-common-1.0.0.jar"/>
    <core name="Federation core classes" resource="federation-core-1.0.0.jar"/>
    <web name="Federation web files" resource="federation-web-1.0.0.war"/>
    <agents name="SAML Identity Provider (IDP)" resource="saml-idp-1.0.0.jar">
        <agent>
            <name>SAML Identity Provider</name>
            <javaClass>com.soffid.iam.addons.federation.agent.IDPAgent</javaClass>
            <userInterface>IDPAgent.zul</userInterface>
            <enableAccessControl>false</enableAccessControl>
        </agent>
    </agents>
</SoffidIAMPlugin>
```