Intent - What the user wants to do
An intent describes the user's desire to do something, whether that be search for nearest restaurants, look up the latest football scores or check your bank balance.
Intent Examples
The intent may either be:
- A file name of resource found in the site folders
For example a link to the resource '''downloads/mex_case_study.pdf''' in the site bemoko
http://bemoko.com/bemoko/downloads/mex_case_study.pdf
A named intent defined in the site-config.xml
For example to access the intent name i in the site bemoko
http://bemoko.com/bemoko/i
A named intent can be configured in the site-config.xml to hook into appropriate plugins, to access content or fire events, and define how the page should be rendered, e.g. which template to use to render.
An intent hooked into a controller, including via URL routing
Named Intents & bemoko URIs
Named intents are included in a bemoko URIs, e.g.
http://<domain>
/[<application-context>/]<site>/<intent>/<parameters>?<query-string>
Multi-channel access
An intent is defined against a particular site which in turn provides well defined URL which a user can access to do what they want to do. This desire to do something, and the appropriate URL that the user should visit, is the same what ever the user context - i.e. the device being used (big screen, small screen), the channel accessing it (SMS, web browsing or voice) where the user is located or what the user preferences are. In this manner it is very easy to define single services that support multiple means of accessing them.
Intent API
The intent can be accessed as follows
| API | plugin | template | expression |
|---|---|---|---|
| intent | Bemoko.intent | ${intent} | intent |