Skip to content

rossmason/intents

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 

Repository files navigation

GETTING STARTED
=================

To try it out in your IDE:

Create and application with runnable class: org.mule.intents.MuleIntents

pass in the path of an app definition as an Arg i.e.  src/main/resources/apps/smstocall.json

When you run this the following things happen:

A org.mule.intents.Registry is instantiated. This looks in 'src/main/resources/modules' and iterates through each of the modules

Then a new org.mule.intents.AppBuilder is created taking the location of the appFile and the registry in.   This builder does the magic of creating a runnable Mule Configuration XML from the appFile and the modules in the Registry.

The AppBuilder returns a Mule Xml Config that gets written to the logs and then an embedded Mule instance is started inside the MuleIntents runnable class.

You may notice the mule-intents-server-config.xml and mule-intents.properties.  These are used when loading the embedded Mule instance.  The config, creates a default object store (used to store OAuth credentials) the user id is used as a qualifier for objects stored.

Concepts
=======

There are some concepts to understand here:

App - The app file describes an application in JSON format.  An app must start with a Trigger and must have one or more actions.

Trigger - something that will receive a message and trigger and application. Examples would be: receive SMS, subscribe to SFDC topic, receive Email. A Trigger basically defines an inbound endpoint and associated configuration.

Action -Once an App is triggered, one or more actions can be defined in sequence to act on the message received.  For example in the gmailtobox app there are 3 actions: 1) Save image Attachments from the email, 2) write those attachments to box.com, 3) send and sms notifying the user that there are new images in his box. Note that actions can be chained together, the input and output mime types are used to validate that one action is compatible with another.


Module - meta data and Mule XML snippets that describe Triggers and actions i.e. Send SMS, Receive Email.

Templates - These are well-formed Mule XML config files that are associated with either one Trigger or one Action. Templates have property placeholders that are used to inject the parameters defined in the Module's meta data.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages