Free MuleSoft CONNECT Keynote & Expo Pass Available!

Register now+
Nav

Technical Guidelines for Connector Certifications

  1. Set up your development environment using these sections from Getting Started with the Mule SDK:

  2. Create or migrate your connector:

    • If you are a partner or developer, create a Mule 4 connector.

      1. Run this command:

        mvn org.mule.extensions:mule-extensions-archetype-maven-plugin:generate

      2. Complete the configuration through the console:

        • Provide the name of your extension, for example: cookbook

        • When you receive a request for the groupId, accept the default.

        • Specify the artifactId of your extension, for example: cookbook-connector

        • Specify the version of your extension.

          If this is your first connector, use 1.0.0. If not, create the major version from your last connector. For example, the latest version of AS/400 Connector is v1.0.2 for Mule 3. For Mule 4, the connector version is v2.0.0.

        • When you receive a request for the main package of your extension, accept the default.

    • If you want to migrate existing Mule 3 connectors to Mule 4, use a migration tool:

      1. Change your Devkit version as follows:

        <parent>
          <groupId>org.mule.tools.dmt</groupId>
          <artifactId>mule-dmt</artifactId>
          <version>0.9.1</version>
        </parent>

        Note that 0.9.0 is a beta version of the Migration tool. See the FAQ for details.

      2. Use the mvn clean package -Dmaven.test.skip command.

        The generated Mule 4 extension appears in the target folder.

      3. If the migration tool reports errors indicating that it cannot auto-migrate parts of your connector, resolve these errors before continuing.

  3. Update your pom.xml file:

    • Locate these <parent/> settings:

      <parent>
        <groupId>org.mule.extensions</groupId>
        <artifactId>mule-modules-parent</artifactId>
        <version>1.0.0</version>
      </parent>
    • Change the settings to this:

      <parent>
        <groupId>org.mule.connectors</groupId>
        <artifactId>mule-certified-parent</artifactId>
        <version>1.1.0</version>
      </parent>
  4. Add one of the following sets of annotations to your Extension.java:

    • For MuleSoft Certified Connectors (Free):

      Example: Annotations for Azure Storage
      @Extension(name = “Azure Storage”, category = CERTIFIED, vendor = “Whishworks")
      @RequiresEnterpriseLicense(allowEvaluationLicense = true)
    • For MuleSoft Certified Connectors (Additional Fee):

      Example: Annotations for SAP Hybris
      @Extension(name = “SAP Hybris”, category = CERTIFIED, vendor = “Admios")
      @RequiresEnterpriseLicense
      @RequiresEntitlement(name = “sap-hybris-connector")
  5. Add folders for doc, icon, and demo.

  6. Add License.md if it is not in the root folder already:

    
                
             
    1
    2
    3
    4
    5
    6
    7
    
    About MuleSoft Certified Connectors
    
    MuleSoft Certified Connectors are developed by MuleSoft’s partners and developer community. These connectors have been reviewed and certified by MuleSoft. To purchase the [Connector Name] Connector or to receive assistance or support for it, contact [Partner Name] directly at [Contact Information]. MuleSoft disclaims any support obligation for MuleSoft Certified Connectors.
    
    By installing this connector, you consent to MuleSoft sharing your contact information with the developer of this connector so that you can receive more information about it directly from the developer.
    
    Your license terms

    You can develop or add operations to your connector by following the Mule SDK documentation.

    After you complete the preceding steps, the structure of your connector is ready for Mule 4.

  7. Add unit, functional, and integration test cases for your connectors by following Testing Your Module.

    Note that your connector needs test coverage of at least 65%.

  8. Add your connector to Connectivity Assets Manager.

    You can use your existing account for Connectivity Assets Manager. If you do not have an account, contact MuleSoft.

FAQ

Is there a kit or tool for migrating DevKit to Mule 4 SDK?

  • Yes. The migration tool will be available for its GA in Q2, 2018. You can use the beta version in the meantime.

    <parent>
      <groupId>org.mule.tools.dmt</groupId>
      <artifactId>mule-dmt</artifactId>
      <version>0.9.1</version>
    </parent>

Where is a sample SDK connector project?

  • The steps described in this guide let you create a structure of a connector project. Until Cookbook Connector is updated, you can use Slack Connector as an example. See mulesoft/slack-connector.

How can I import a project into Studio 7, and how can I test and add it to Studio?

  • Functionality for importing a connector project into Studio 7 is not available at this time.

    You can install your connector to Studio 7 using this command to create a connector for use in Studio 7: mvn clean install

    See Installation Example for detailed steps.

How can I make a connector available in Anypoint Design Center?

  • To test your connector in Design Center, publish your connector into your organization in Exchange.

    You should see a pom.xml something like this once you are done:

    <modelVersion>4.0.0</modelVersion>
    <groupId>org.mule.extension</groupId>
    <artifactId>cookbook-connector</artifactId>
    <version>1.0.0</version>
    <packaging>mule-extension</packaging>
    <name>Cookbook Extension</name>

    Follow these steps:

    1. Create an Anypoint Platform account.

      Note that this account must be different from the account you use with Connectivity Assets Manager.

    2. Add Anypoint credentials to the local Maven settings.xml file with the private-exchange server ID.

    3. Rename groupid in the connector to your business group ID.

    4. Run this Maven deploy command with your business group ID :

      
                     
                  
      1
      
      mvn clean deploy -DaltDeploymentRepository=private-exchange:default:https://maven.anypoint.mulesoft.com/api/v1/organizations/<business_group_id>/maven

Can a module recognize that it is being executed from Studio as opposed to on premises or in Runtime Manager, or are there any related concerns?

Background: If a connector has a custom license code based on the target AS/400 server serial numbers, the license check is performed dynamically as the connection is established. MuleSoft allows customers to evaluate the connector within Studio without a license. However, the connector does not work when running on premises or in Runtime Manager.

Answer:

  • Custom license code will not be enforced in Runtime Manager. MuleSoft recommends that you use the license validation supported natively by Mule 4 SDK. You can find more information in Module Licensing.

  • In your xxxExtension.java, add the following annotations to use the license validation from Mule 4 SDK. This example uses SAP Hybris Connector built by Admios:

    Example: MuleSoft Certified Connectors (Additional Fee)
    
                
             
    1
    2
    
    @RequiresEnterpriseLicense
    @RequiresEntitlement(name = “sap-hybris-connector")

Installation Example

You can install your connector to Studio 7 using this command to create a connector for use in Studio 7:

  1. Run mvn clean install.

    This example shows the cookbook connector installation to a local Maven repository:

    
                
             
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    
    [INFO] No primary artifact to install, installing attached artifacts instead.
    [INFO] Installing /Users/me/Downloads/mule4SampleConnector/cookbook-connector/pom.xml to /Users/me/.m2/repository/org/mule/extension/cookbook-connector/1.0.0/cookbook-connector-1.0.0.pom
    [INFO] Installing /Users/me/Downloads/mule4SampleConnector/cookbook-connector/target/temporal-extension-model.json to /Users/me/.m2/repository/org/mule/extension/cookbook-connector/1.0.0/cookbook-connector-1.0.0-extension-model-4.0.0.json
    [INFO] Installing /Users/me/Downloads/mule4SampleConnector/cookbook-connector/target/cookbook-connector-1.0.0-mule-plugin.jar to /Users/me/.m2/repository/org/mule/extension/cookbook-connector/1.0.0/cookbook-connector-1.0.0-mule-plugin.jar
    [INFO]
    ---
    [INFO] BUILD SUCCESS
    [INFO]
    ---
    [INFO] Total time: 35.057 s
    [INFO] Finished at: 2018-01-11T17:10:50-08:00
    [INFO] Final Memory: 49M/476M
    [INFO]
    ---
  2. Create a Mule project in Studio 7, and open pom.xml for this project in Studio 7.

    pom.xml file example

  3. Add a dependency setting (<dependency/>) for your connector to the pom.xml.

    For example, the following <dependency/> enables Studio 7 to find the cookbook-connector installed in a local Maven repository:

    <dependency>
      <groupId>org.mule.extension</groupId>
      <artifactId>cookbook-connector</artifactId>
      <version>1.0.0</version>
      <classifier>mule-plugin</classifier>
    </dependency>

    Your connector will now appear the palette. This example shows a Cookbook connector in the Studio palette:

    Example: Cookbook connector in Studio palette