org.mule.modules

mule-module-sugarcrm

config

Namespacehttp://www.mulesoft.org/schema/mule/sugar
Schema Locationhttp://www.mulesoft.org/schema/mule/sugar/current/mule-sugar.xsd  (View Schema)
Schema Version1.0
Minimum Mule Version3.2

Module Overview

Sugar is an affordable and easy to use customer relationship management (CRM) platform, designed to help your business communicate with prospects, share sales information, close deals and keep customers happy. As an open-source, web-based CRM solution, Sugar is easy to customize and adapt to your changing needs. Ideal for small and medium-sized companies, large enterprises and government organizations, Sugar can run in the cloud or on-site.

Summary

Configuration
<sugar:config>
Configure an instance of this module
Message Processors
<sugar:get-available-modules>
GetAvailableModules Processor.
<sugar:get-count-entries>
GetCountEntries Processor

Retrieves the specified number of records in a module.

<sugar:get-entries>
GetEntries Processor.
<sugar:get-entry>
GetEntry Processor.
<sugar:get-entry-list>
GetEntryList Processor.
<sugar:get-module-fields>
GetModuleFields Processor.
<sugar:search-by-module>
SearchByModule Processor.
<sugar:set-entries>
SetEntries Processor.
<sugar:set-entry>
SetEntry Processor.
<sugar:set-relationship>
SetRelationship Processor.
<sugar:set-relationships>
SetRelationships Processor.

Configuration

To use the this module within a flow the namespace to the module must be included. The resulting flow will look similar to the following:

<mule xmlns="http://www.mulesoft.org/schema/mule/core"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xmlns:sugar="http://www.mulesoft.org/schema/mule/sugar"
      xsi:schemaLocation="
               http://www.mulesoft.org/schema/mule/core
               http://www.mulesoft.org/schema/mule/core/current/mule.xsd
               http://www.mulesoft.org/schema/mule/sugar
               http://www.mulesoft.org/schema/mule/sugar/current/mule-sugar.xsd">

      <!-- here goes your flows and configuration elements -->

</mule>

This module is configured using the config element. This element must be placed outside of your flows and at the root of your Mule application. You can create as many configurations as you deem necessary as long as each carries its own name.

Each message processor, message source or transformer carries a config-ref attribute that allows the invoker to specify which configuration to use.

Attributes
TypeNameDefault ValueDescriptionJava TypeMIME TypeEncoding
xs:string name Optional. Give a name to this configuration so it can be later referenced.
xs:string endpoint Use this attribute to specify endpoint URL

Connection Pool

This connector offers automatic connection management via the use of a connection pool. The pool will act a storage mechanism for all the connections that are in-use by the user of this connector.

Prior to execution of a processor, the connector will attempt to lookup an already established connection and if one doesn't exists it will create one. That lookup mechanism is done in the connection pool via the use of connection variables declared as keys.

The user of the connector can configure the pool by adding a connection-pooling-profile to the connector configuration like this:

    <sugar:connection-pooling-profile maxActive="10" maxIdle="10"
                             exhaustedAction="WHEN_EXHAUSTED_GROW" maxWait="120" minEvictionMillis="60000" evictionCheckIntervalMillis="30000"/>

The following is a list of connection attributes, each connection attribute can be configured at the config element level or they can also be added to each processor. If they are used at the processor level they get the benefit of full expression resolution.

Connection Attributes
NameDefault ValueDescriptionJava TypeMIME TypeEncoding
config-ref Optional. Specify which configuration to use.
username Username used to initialize the session String */* UTF-8
password Password used to authenticate the user String */* UTF-8

Reconnection Strategies

Reconnection Strategies specify how a connector behaves when its connection fails. You can control how Mule attempts to reconnect by specifying a number of criteria:

With a reconnection strategy, you can better control the behavior of a failed connection, by configuring it, for example, to re-attempt the connection only once every 15 minutes, and to give up after 30 attempts. You can also send an automatic notification to your IT administrator whenever this reconnection strategy goes into effect. You can even define a strategy that attempts to reconnect only during business hours. Such a setting can prove useful if your server is frequently shut down for nightly maintenance.

Configuration

A reconnection strategy that allows the user to configure how many times a reconnection should be attempted and how long to wait between attempts.

    <sugar:config>
         <reconnect count="5" frequency="1000"/>
    </sugar:config>
Reconnect Attributes
NameDefault ValueDescription
frequency 2000 Optional. How often (in ms) to reconnect
count 2 Optional. How many reconnection attempts to make

For more information about reconnection strategies in Mule, or even how to write your own custom reconnection strategy please check this section.

Message Processors

<sugar:get-available-modules>

GetAvailableModules Processor.

Retrieves the list of modules available to the current user logged into the system.

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescriptionJava TypeMIME TypeEncoding
config-ref Optional. Specify which configuration to use.
request #[payload] Optional. A bean with session id GetAvailableModulesRequest */*
Connection Parameters
This are only required if you didn't specified them at the configuration element. They are also useful for overriding the values of the configurations or even if you need to extract them from the Mule message since they support expression evaluation.
username Optional. Username used to initialize the session String */* UTF-8
password Optional. Password used to authenticate the user String */* UTF-8
Returns
Return Type Description
ModuleList ModuleList a list of availables modules

<sugar:get-count-entries>

GetCountEntries Processor

Retrieves the specified number of records in a module.

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescriptionJava TypeMIME TypeEncoding
config-ref Optional. Specify which configuration to use.
request #[payload] Optional. A bean with module, query and deleted flag GetEntriesCountRequest */*
Connection Parameters
This are only required if you didn't specified them at the configuration element. They are also useful for overriding the values of the configurations or even if you need to extract them from the Mule message since they support expression evaluation.
username Optional. Username used to initialize the session String */* UTF-8
password Optional. Password used to authenticate the user String */* UTF-8
Returns
Return Type Description
GetEntriesCountResult GetEntriesCountResult with amount of records

<sugar:get-entries>

GetEntries Processor.

Retrieves multiple SugarBeans based on IDs. This API is not applicable to the Reports module.

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescriptionJava TypeMIME TypeEncoding
config-ref Optional. Specify which configuration to use.
request #[payload] Optional. A bean with modules, ids and selected fields GetEntriesRequest */*
Connection Parameters
This are only required if you didn't specified them at the configuration element. They are also useful for overriding the values of the configurations or even if you need to extract them from the Mule message since they support expression evaluation.
username Optional. Username used to initialize the session String */* UTF-8
password Optional. Password used to authenticate the user String */* UTF-8
Returns
Return Type Description
GetEntryResultVersion2 GetEntryResultVersion2 with entries selected

<sugar:get-entry>

GetEntry Processor.

Retrieves a single SugarBean based on ID.

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescriptionJava TypeMIME TypeEncoding
config-ref Optional. Specify which configuration to use.
request #[payload] Optional. A bean with parameters GetEntryRequest */*
Connection Parameters
This are only required if you didn't specified them at the configuration element. They are also useful for overriding the values of the configurations or even if you need to extract them from the Mule message since they support expression evaluation.
username Optional. Username used to initialize the session String */* UTF-8
password Optional. Password used to authenticate the user String */* UTF-8
Returns
Return Type Description
GetEntryResultVersion2 GetEntryResultVersion2 a result operation

<sugar:get-entry-list>

GetEntryList Processor.

Retrieves a list of SugarBeans.

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescriptionJava TypeMIME TypeEncoding
config-ref Optional. Specify which configuration to use.
request #[payload] Optional. A bean with module, query, order by and offset GetEntryListRequest */*
Connection Parameters
This are only required if you didn't specified them at the configuration element. They are also useful for overriding the values of the configurations or even if you need to extract them from the Mule message since they support expression evaluation.
username Optional. Username used to initialize the session String */* UTF-8
password Optional. Password used to authenticate the user String */* UTF-8
Returns
Return Type Description
GetEntryListResultVersion2 GetEntryResultVersion2 with entries selected

<sugar:get-module-fields>

GetModuleFields Processor.

Retrieves variable definitions (vardefs) for fields of the specified SugarBean.

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescriptionJava TypeMIME TypeEncoding
config-ref Optional. Specify which configuration to use.
request #[payload] Optional. A bean with module to obtains fields GetModuleFieldsRequest */*
Connection Parameters
This are only required if you didn't specified them at the configuration element. They are also useful for overriding the values of the configurations or even if you need to extract them from the Mule message since they support expression evaluation.
username Optional. Username used to initialize the session String */* UTF-8
password Optional. Password used to authenticate the user String */* UTF-8
Returns
Return Type Description
NewModuleFields NewModuleFields a list of fields in module

<sugar:search-by-module>

SearchByModule Processor.

Given a list of modules to search and a search string, return the id, module_name, along with the fields.
Supported modules are Accounts, Bugs, Calls, Cases, Contacts, Leads, Opportunities, Projects, Project Tasks, and Quotes.

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescriptionJava TypeMIME TypeEncoding
config-ref Optional. Specify which configuration to use.
request #[payload] Optional. A bean with parameters SearchByModuleRequest */*
Connection Parameters
This are only required if you didn't specified them at the configuration element. They are also useful for overriding the values of the configurations or even if you need to extract them from the Mule message since they support expression evaluation.
username Optional. Username used to initialize the session String */* UTF-8
password Optional. Password used to authenticate the user String */* UTF-8
Returns
Return Type Description
ReturnSearchResult ModuleList a list of availables modules

<sugar:set-entries>

SetEntries Processor.

Creates or updates a list of SugarBeans.

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescriptionJava TypeMIME TypeEncoding
config-ref Optional. Specify which configuration to use.
request #[payload] Optional. A bean wit module and list of name-values for create or update a list of SugarBeans SetEntriesRequest */*
Connection Parameters
This are only required if you didn't specified them at the configuration element. They are also useful for overriding the values of the configurations or even if you need to extract them from the Mule message since they support expression evaluation.
username Optional. Username used to initialize the session String */* UTF-8
password Optional. Password used to authenticate the user String */* UTF-8
Returns
Return Type Description
NewSetEntriesResult NewSetEntriesResult a list of ids

<sugar:set-entry>

SetEntry Processor.

Creates or updates a single SugarBean.

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescriptionJava TypeMIME TypeEncoding
config-ref Optional. Specify which configuration to use.
request #[payload] Optional. A bean with module and name-values for create or update SugarBean SetEntryRequest */*
Connection Parameters
This are only required if you didn't specified them at the configuration element. They are also useful for overriding the values of the configurations or even if you need to extract them from the Mule message since they support expression evaluation.
username Optional. Username used to initialize the session String */* UTF-8
password Optional. Password used to authenticate the user String */* UTF-8
Returns
Return Type Description
NewSetEntryResult NewSetEntryResult with a id

<sugar:set-relationship>

SetRelationship Processor.

Sets a single relationship between two SugarBeans.

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescriptionJava TypeMIME TypeEncoding
config-ref Optional. Specify which configuration to use.
request #[payload] Optional. A bean with parameters SetRelationshipRequest */*
Connection Parameters
This are only required if you didn't specified them at the configuration element. They are also useful for overriding the values of the configurations or even if you need to extract them from the Mule message since they support expression evaluation.
username Optional. Username used to initialize the session String */* UTF-8
password Optional. Password used to authenticate the user String */* UTF-8
Returns
Return Type Description
NewSetRelationshipListResult SetRelationshipResponseType a result operation

<sugar:set-relationships>

SetRelationships Processor.

Sets multiple relationships between two SugarBeans.

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescriptionJava TypeMIME TypeEncoding
config-ref Optional. Specify which configuration to use.
request #[payload] Optional. A bean with parameters SetRelationshipsRequest */*
Connection Parameters
This are only required if you didn't specified them at the configuration element. They are also useful for overriding the values of the configurations or even if you need to extract them from the Mule message since they support expression evaluation.
username Optional. Username used to initialize the session String */* UTF-8
password Optional. Password used to authenticate the user String */* UTF-8
Returns
Return Type Description
NewSetRelationshipListResult SetRelationshipsResponseType a result operation

Message Sources

Transformers