Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The following tags will be accepted by the API Agent and will be transliterated to the given standard tags:

MessageML

Equivalent PresentationML

Description

<mentionemail="user@domain" >

<mentionemail="user@domain" strict="false" />

<mentionuid="numericUserId"

/

>

<span class="entity" data-entity-id="mention123456">@Pretty Name</span>

It is inconvenient for API callers to identify the correct numeric ID for a user when constructing a Mention (although API to find this from an email address does exist). It is also necessary for the pretty name provided in the PresentationML mention markup to be validated. For these reasons additional mention tags will be provided which will be mapped to equivalent PresentationML markup by the API agent.


The optional attribute strict="true|false" (defaulting to true) controls the behavior when the mentioned user can not be resolved. If strict="true", the API will throw an error. If strict="false", the convenience tag will be translated to plain text in the PresentationML.

<chime/>

<audio 

src="https://asset.symphony.com/symphony/audio/chime.mp3

autoplay="true"/>

A shorthand to allow a chime to be sent in a message.

<card iconSrc="url" class="barStyle" accent="blue">

<header>PresentationML</header><body>PresentationML</body></card>

<div class="card barStyle" data-icon-src="url" data-accent-color="blue">

<div class="cardHeader">PresentationML</div>

<div class="cardBody">PresentationML</div>

</div>

A card is a standard item in a message which has a number of visual elements and which can be opened and closed.

Transitional MessageML Elements

...

The following MessageML tags will generate elements in the EntityJSON content when transliterated to PresentationML:

Convenience Tag

EntityJSON data

<hash tag="tag"/>


Code Block
{"hash123": {
        "type":     "org.symphonyoss.taxonomy",
        "version":  "1.0",
        "id": [
            {
                "type":     “org.symphonyoss.taxonomy.hashtag",
                "value":    “tag" 
            }
        ]
    }
}


<cash tag="tag"/>


Code Block
{"obj123": {
        "type":     "org.symphonyoss.fin.security",
        "version":  "1.0",
        "id": [
            {
                "type":     “org.symphonyoss.fin.security.id.ticker",
                "value":    “tag"
            }
        ]
    }
}


<mention email="user@domain"/>
<mention uid="numericUserId"/>


Code Block
{"mention123456789": {
        "type": "com.symphony.user.mention",
        "version":  "1.0",
        "id":  [
            {
                "type":     “com.symphony.user.userId",
                "value":    123456789
            }
        ]
    }
}



Template Macros

The API Agent will support Freemarker templating (see http://freemarker.org/). Any EntityJSON content associated with a message will be made available as the data model in the Freemarker interpreter and macros can then be used to expand the supplied MessageML document into a PresentationML document which fully describes the message.

...