Examples: query, "exact match", wildcard*, wild?ard, wild*rd
Fuzzy search: cake~ (finds cakes, bake)
Term boost: "red velvet"^4, chocolate^2
Field grouping: tags:(+work -"fun-stuff")
Escape special characters +-&|!(){}[]^"~*?:\ - e.g. \+ \* \!
Range search: properties.timestamp:[1587729413488 TO *] (inclusive), properties.title:{A TO Z}(excluding A and Z)
Combinations: chocolate AND vanilla, chocolate OR vanilla, (chocolate OR vanilla) NOT "vanilla pudding"
Field search: properties.title:"The Title" AND text
Profile picture
Yong Sheng Tan
Administrator Moderator
1 Question, 79 Answers
  Active since 24 March 2021
  Last activity 11 months ago

Reputation

39 + 13 this May 0 1

Badges 2

Editor Newbie
1 Votes
1 Answers
3K Views
1 Votes 1 Answers 3K Views
How do I use the Symphony Dev Forum?
3 years ago
0 API exception while staring the Bot Application.

That just means that you have not started the bot in a while, so the previously-persisted datafeed has expired and you are trying to read it. Once this happens, the BDK will automatically create a new one and continue on the service loop. You can safely ignore this exception if the bot continues running after this.

2 years ago
0 How to set width for table in freemarker template ?

Firstly, there is no difference between using Freemarker or any other templating engine compared to using MessageML directly.

On table widths, they are rendered full width by default. You can choose to resize a particular column by adding style="width:400px" to one or more <td> elements, but not all of them. Adding width styles to all <td> elements in a row will ignore the styles.

If you need the entire table to not render full width, you can nest the table in another <div> and ...

2 years ago
0 Not Able to register remote service

For your use-case, you should not be using multiple controllers this way. Instead, make use of the Service Interface documented at the link below and use the implement and invoke methods to achieve remote method calls.

https://docs.developers.symphony.com/building-extension-applications-on-symphony/overview-of-extension-api/extension-api-services/service-interface

2 years ago
0 Using dynamic dropdown in messageML

Unfortunately, it is not possible to achieve dynamic/linked dropdowns using purely MessageML with Symphony Elements at the moment. Custom logic with Javascript will never be allowed as they are a security risk.

One option is to use Extension Apps to build a custom renderer for messages. This option is a lot more complex since you'll need to host the app on your own web server and require users to install your app from Symphony Market. This option also does not work on mobile and does not h...

2 years ago
0 InstantMessageCreated webhook

@<1356904915263295488|Jakub Furmankiewicz> not exactly sure what you're trying to ask here. would be helpful to list which sdk/bdk you're using and describe your architecture setup. as you mentioned python, you should note that Symphony has never shipped webhook functionality for python-based tooling so it's quite confusing what you're trying to ask here.

2 years ago
0 Extension App on Desktop Client

When you say "Desktop Client", I assume you are referring to the Symphony Desktop Application (SDA).

I suspect that you don't see it loading because SDA does not trust the self-signed certificate served on your local instance. Similar to how you initially got past the security warning on your browser, you need to do the same within SDA. To do that, you can open developer tools (Ctrl + Shift + I) then use window.location.href = https://localhost:4000/ just to clear the security warn...

2 years ago
0 How can I find my bot?

I'm able to find your bot using either the simple or advanced search. Perhaps it was some network/infra blip? Can you confirm if it's still happening for you? (I assume you are in the correct sandbox environment - develop2.symphony.com)

2021-09-25_14-38-34.png

2021-09-25_14-39-27.png

2 years ago
0 New Connection Error

Firstly, please kindly refrain from posting internal infrastructure details such as server hostnames - I've helped redact that from your post.

From the error message (getaddrinfo failed), it would suggest that this is a DNS failure i.e. your bot is unable to resolve the hostname in question, which appears to be an internal hostname pointing to an on-premise API Agent. You should first contact your internal infrastructure teams who manage the servers hosting both your bot as well as the A...

2 years ago
1 Test extension app in sandbox

Firstly, you should note that the repository you referenced is rather old and no longer maintained. Nevertheless, most concepts should still apply today. You can find the latest on the Extension API at the developer documentation site here: https://docs.developers.symphony.com/building-extension-applications-on-symphony/overview-of-extension-api

In a real-world scenario, what you would need to do is contact your pod administrator and have them create an Extension App entry in the Admin Con...

2 years ago
0 Jinja2

Jinja2 works natively together with the BDK for Python rather than requiring a BDK-specific dependency like for Freemarker or Handlebars in BDK for Java. If you are using the Symphony Generator to create a new BDK for Python project, it already ships with an example that demonstrates how to integrate Jinja2 templates with the Activities API.

Here's a simple example of how to use Jinja2 in a bot that just sends a templated message and terminates:

from jinja2 import Template


...
2 years ago
0 Parsing Styles in MessageML

The BDK itself doesn't assist with parsing/authoring of styles within messages - it supports receiving and sending the raw format to and from the REST APIs.

We don't recommend programatically trying to parse dynamic styles unless you're confident that the styles confirm to a number of expected formats. you also shouldn't directly re-send message content received on the datafeed back onto a new message as those formats differ (PresentationML vs MessageML).

The preferred approach is eithe...

2 years ago
0 How to get Sandbox Login?

You can request for access to the Developer Sandbox by clicking on the link in your welcome email. If you have misplaced that email, please reach out to us at developer.relations@symphony.com.

Note that user and bot credentials for the Developer Sandbox (develop2.symphony.com) are separate from your login on the Developer Center (developers.symphony.com).

2 years ago
0 Charts in Bots

There are a couple of options:

Embedded Image

Use a chart library to generate an image, then either attach it to your message or embed it inline using base64

Manual HTML + Styles

For simple bar charts with less data, construct them manually using divs and styling. You can also create pie charts using a conic-gradient background style. Here's a sample of some creative styling: https://codepen.io/Theystan/pen/xxZVaXd

Extension App

If you require interactive charts, yo...

2 years ago
0 External Contacts for Bots

Your bot will either need to send connection requests to external contacts, accept their incoming connection requests, or both, depending on what your workflow is. You can use the connections client's create or accept calls. If you want to accept connection requests as they arrive in real-time, you can create a connections listener and call accept with the incoming user id, but you will want to build some sort of governance to ensure that you are not accepting anyone who asks. You can validat...

3 years ago
0 Links with 2 query parameters

In MessageML, you will need to escape the ampersand character (&) to (&amp;).

<messageML>
<a href="https://google.com?a=1&amp;b=2">link</a>
</messageML>

If you are using Symphony's BDKs, there are helper classes to help you do this automatically to sanitize content that you believe might contain special characters.

// Java BDK
import com.symphony.bdk.core.service.message.util.MessageUtil;

public void doWork() {
    String escaped = MessageUtil.escape...
3 years ago
1 Points and Badges
Points can be earned when the following actions occur:
ActionPoints
If your answer is voted up+10
If your question is voted up+5
If your comment is voted up+2
If your answer is marked as correct+10
If you marked your own answer as correct+3
If your post gets voted-3
If you downvote a post-1
Badges are issued when these requirements are met:

| Badge | Requirement |
| ------- | -----------...

3 years ago
1 Welcome

Hello and welcome to the Symphony Developer Forum, maintained by the Symphony Developer Relations team. While the team will strive to answer and comment on posts, this is meant to be an open community offering and everyone is allowed to ask, answer and comment.

This forum should be used for asking questions about..

  • Development of bots and apps in Symphony
  • Design and architecting a Symphony bot / app ecosystem
  • Deployment of bots an...
3 years ago
0 Get room name from message

You can use the streams service to get room info, then extract the room name in the roomAttributes object.

BDK 2.0:

bdk.datafeed().subscribe(new RealTimeEventListener() {
  @Override
  public void onMessageSent(V4Initiator initiator, V4MessageSent event) {
    String streamId = event.getMessage().getStream().getStreamId();
    String roomName = bdk.streams().getRoomInfo(streamId).getRoomAttributes().getName();
    bdk.messages().send(streamId, "Hello in room: " + roomN...
3 years ago
0 Read-Only Room?

When you create a room, you can set the room to read-only. In that case, only room owners can send messages in that room, but this property cannot be changed after the room is created.

// Java BDK Example
V3RoomAttributes attributes = new V3RoomAttributes()
    .name("My Room")
    .readOnly(true);
bdk.streams().create(attributes);

If you need those members to send messages, you will have to promote them to owners then revoke that later. However, at any point of time i...

3 years ago
Show more results compactanswers