Hi

We have a use case where we need to send outgoing Emails from business processes through an generic SMTP Email server (Not an email service provider like Office365 etc). We have the IP , port number and service credentials of the SMTP server. Find below a few questions we would like get clarity on - 



1. We understand that the typical way would be to add the SMTP Server in the Email providers lookup, create a mailbox for a valid Email account attached to the Email server and use it in the Email process element in the Business process designer. We suspect that the SMTP server we are dealing with is a generic one setup on the client's premises and not that of an actual Email service provider like Office365. Is there a way to send Emails through this SMTP server without having to explicitly create a mailbox for it?



2. We notice a few System variables related to SMTP like 'SMTP Login' , 'SMTP Username' etc. Where are they used and what are they meant for? Can these be used to send outgoing Emails through SMTP without explicitly creating a mailbox?



Greatly appreciate any help here!



Regards

Shrikanth

 

 

Like 0

Like

1 comments

Dear Shrikanth,

1) It doesn’t matter what kind of email server you are using, the main thing is that there should be a connection between IIS and this mail server. In case they are both local, then this will work.

The most correct way is the most obvious: you add a mail server and use standard elements of business process.



2) The 'SMTP Login' , 'SMTP Username' etc. settings are prohibited to use, they are needed for system core functionality.

Regards,

Anastasia

Show all comments
Question

Hi , 

 

If I have to change the the Order Name like Opportunity Name +Order Num , how can we do it ?

 

Like 0

Like

1 comments

Dear Shailey,

You can do that with business process which would trigger anytime a new order is created, read the order name and its opportunity name and modify the number with simple formula http://prntscr.com/p840wa which will combine the Order number and Opportunity name. Once the process is executed- you will get the required result http://prntscr.com/p841am

Best regards,

Dean

Show all comments

Hi,

When trying to fill in the profile details, I am trying to provide some information in the details.

But only provide few info and save it and as i have filled in few details, percentage of the profile completion increases but is there way that the profile completion doesn't increases until i provide all the information in the details

Like 0

Like

1 comments

Dear Amritha,

You can change the data population percentage using the 'Data entry compliance' lookup. You can decrease the percentage for some particular parameters so that the user would need to fill more fields to get the completion increased.

Best regards,

Dean

Show all comments

How is the email address that Need Help emails are sent to determined?  Can it be set to a local resource rather than bpm'online?  As we release processes to our users, I would want Need Help emails to go to our System Administrators, or have it spawn a custom request process, rather than going to bpm'online, so that our System Administrators review any help requests before they are escalated to bpm'online support.

Like 0

Like

1 comments

I believe this is stored in the "Emails to connect our technical support" system setting (code "SupportEmailDef")

Ryan

Show all comments

Hi,

In the release notes for 7.14.4 there is a new feature that allows you to have a single field with a multiple choice selector. Our platform has been upgraded, but I cannot find how to add such a field to one of my pages.

Is there any further information on this feature, as we have been wanting such a thing for a while now.

You can now create details with multiple values (connection of “many-to-many”) using a separate junction table. For example, multiple values are available for selection in the [Activity results] lookup.

Source - https://academy.bpmonline.com/documents/bpmonline-release-notes-7-14-4

Like 0

Like

5 comments

If it can be done in Low Code, it would be great

 

Stéphane Banon2,

Well that is what the release notes indicate, but as I cannot find it I am unsure. There is no new field type on the left list and within the Lookup field type settings there is nothing related to it being a multi select field.

I am sure they are not teasing us all, as the custom coded method is WAY to complicated to expect users to implement across their instances.

Any comment from bpm'online ?

Is anyone from BPM able to provide some guidance on this? 

A new feature has been added, but either the description is inaccurate or needs further information to allow users to know where and how to use it.

Mark Roberts,

This part of release notes is located in "DEVELOPMENT TOOLS" so this means this feature is available using development. To check how you can achieve this you may check the code from Activity results lookup - with similar code you can implement detail with "many-to-many" connection. 

Show all comments

I have this Email template using Lead object as base.

The macro for the Owner Email will not work, but the MobilePhone and other will work perfectly.

Template

Result:

Like 0

Like

1 comments

Dear Julius.

Indeed, such macros doesn't work in the out of the box version of the application. To resolve this issue, you need to perform these steps:

1.Replace Lead object to the Custom package

2. Fill in the value of the column Owner and set it 'Owner' http://prntscr.com/pbotc9

3. Publish the object and compile the system.

Best regards,

Dean

Show all comments

We created a virtual object, that is loaded with an external service. We add a button “Open” to the list rows that should open a new link page with more detailed information related to the selected row, do you have an example with that?

Like 0

Like

7 comments

Dear Marcelo,

You can create a modal window, which will be displaying the needed data. General properties and behavior of modal windows are specified in the ModalBox and ModalBoxSchemaModulemodules of the NUI package. 

We do not have a exactly fitting example, though you can use and modify the following.

The algorithm of adding modal windows is:

1. Create a page for modal window. Use Base modal box page schema as a parent object:

 define("UsrMyModalPage", [], function() {
	return {
		attributes: {
			"TestText": {
				dataValueType: Terrasoft.DataValueType.TEXT,
				type: Terrasoft.ViewModelColumnType.VIRTUAL_COLUMN,
				value: "Test value for modal"
			}
		},
		messages: {
		},
		methods: {
			init: function(callback, scope) {
				this.callParent(arguments);
			},
			getHeader: function() {
				return this.get("Resources.Strings.PageCaption");
			},
			onRender: function() {
				this.callParent(arguments);
				var moduleInfo = this.get("moduleInfo");
				var boxSizes = moduleInfo.modalBoxSize;
				var width = boxSizes.width;
				var height = boxSizes.height;
				this.updateSize(width, height);
			}
		},
		//Insert already existed Iframe
		diff: [
			{
				"operation": "insert",
				"parentName": "CardContentContainer",
				"propertyName": "items",
				"name": "MyGridContainer",
				"values": {
					"itemType": Terrasoft.ViewItemType.GRID_LAYOUT,
					"items": []
				}
			},
			{
				"operation": "insert",
				"parentName": "MyGridContainer",
				"propertyName": "items",
				"name": "TestText",
				"values": {
					"bindTo": "TestText",
					"caption": "Test text",
					"layout": {"column": 0, "row": 0, "colSpan": 10}
				}
			}
		]
	};
});

2. Insert modal box as a dependency to the page where it should be called and bind button click to modal window open function:

define("ContactPageV2", [ "MaskHelper"],
	function(MaskHelper) {
	return {
		entitySchemaName: "Contact",
		details: /**SCHEMA_DETAILS*/{}/**SCHEMA_DETAILS*/,
		modules: /**SCHEMA_MODULES*/{}/**SCHEMA_MODULES*/,
		diff: /**SCHEMA_DIFF*/[
			{
				"operation": "insert",
				"name": "DonateButton",
				"values": {
					"itemType": Terrasoft.ViewItemType.BUTTON,
					"style": Terrasoft.controls.ButtonEnums.style.RED,
					"caption": "test",
					"click": {
						"bindTo": "donateButtonClick"
					}
				},
				"parentName": "RightContainer",
				"propertyName": "items",
				"index": 1
			}
		]/**SCHEMA_DIFF*/,
		messages: 
			{
				"GetModuleInfo": {
					direction: Terrasoft.MessageDirectionType.SUBSCRIBE,
					mode: Terrasoft.MessageMode.PTP
			}
		},
		attributes: {},
		mixins: {},
		methods: {
			subscribeSandboxEvents: function() {
				this.callParent(arguments);
				this.sandbox.subscribe("GetModuleInfo", this.getDonateModalBoxConfig, this,
					[this.getDonateModalBoxId()]);
			},
			donateButtonClick: function() {
				this.sandbox.loadModule("ModalBoxSchemaModule", {
					id: this.getDonateModalBoxId()
				});
			},
			getDonateModalBoxConfig: function() {
				return {
					"schemaName": "UsrMyModalPage",
					"modalBoxSize": {
						"width": "680px",
						"height": "400px"
					}
				};
			},
			getDonateModalBoxId: function() {
				return this.sandbox.id + "_DonateModalBox";
			}
		}
	};
});

You can add styles as well.

Hope you will find it helpful.

Regards,

Anastasia

Anastasia Botezat,

Hi Anastasia,

Thanks for the answer.  I tried to replicate what you reported, but my modal opens empty. Do you have any idea what it might be? Thanks.

Marcelo,

I have improved the code, so now it is only two schemas. Please check my first edited answer.

Regards,

Anastasia

Marcelo,

Hi Anastasia,

It worked! Now I need to know how to send my list values to Modal and add a close button in Modal. Thank you very much!

Marcelo,

Since you do not have data in the database, you can fetch it as you do it for the section. On the other hand, you can pass current context with its scope along to the modal while clicking on the button. Pick which approach you prefer more.

Regards,

Anastasia

Anastasia Botezat,

Do you have an example of how I can pass the context to modal? Thanks! 

Marcelo,

Check the article on sandbox messages. Draw your attention to the second parameter of the message, which can pass arguments.

https://academy.bpmonline.com/documents/technic-sdk/7-13/sandbox-module-message-exchange

Show all comments
Question

I created a page to inherit from "FileDetailV2" and I need to open the linkpage I created from "LinkPageV2". Double clicking on the grid is called the original page and not the one I created. Thanks!

Like 0

Like

1 comments

Dear Marcelo,

Firstly, there is no such function in the FileDetailV2 as "merge". The function you want to override is "init".

If you intend to change parent schema method realization you need to create a replacing schema and in its methods block you write the function with its original name, since otherwise how would JS engine know you want to override exactly this function. If you intend to modify the basic code, you copy the whole basic code from the function and modify just the needed part, leaving other as it is.

Secondly, "merge" operation is legit only for the diff section of the schema.

Regards,

Anastasia

Show all comments

I have been struggling very much with handling collection type response parameters in web services.

When response parameters are or normal type they are very easy to handle in the business processes. Here we are able to handle them as parameters on the Call web service process element. And use these in the process right away.

When there is a Collection which is returned, this is very different. Now the Call web service element parameter is of type Collection of Objects with attributes.

It seems to me that this parameter-type is very difficult to handle in the business process. I can't seem to find documentation in the Academy about how to extract and loop through the contents of the Collection of Objects with attributes.

What I have found in the academy is this article about setting up the Web service.

https://academy.bpmonline.com/documents/administration/7-14/adding-resp…

What I need to learn is how to handle them in bpm'online business processes.

Is there something about this in the Academy?

Is writing source code the only option? It's difficult to debug.

Like 0

Like

6 comments

Dear Julius,

Unfortunately, it is impossible to handle parameters that have the “collection of object” type without using the source code.

Therefore, in this case we recommend using “ScriptTask” element for both calling the web-service and processing the results of call.

For more detailed assistance, please contact technical support.

Best regards,

Norton

Norton Lingard, Thank you. Is there anything like this in the academy? Because there is a special bpm'online syntax to go by in the source-code.

Dear Julius,



The service call in a "Script task” business process element can be implemented via native C#. Please find a lot of examples on how to do that in Google. For example, several links below:



https://stackoverflow.com/questions/9620278/how-do-i-make-calls-to-a-rest-api-using-c



https://code-maze.com/different-ways-consume-restful-api-csharp/

Please note that it is possible to use the native C# collections instead of working with the the special bpmonline collections.

Best regards,

Norton

Hi Julius,

 

Did you manage to solve this?

 

I'm struggling with the same issue and didn't manage to get it to work.

 

Looking forward to having Your answer.

 

Raz

Norton Lingard,

Hi Norton,

 

Is there another example on how to do it in the script task?

 

I tried implementing it based on the links you posted and I'm getting many error messages when posting the code.

 

Thanks,

Raz

Dear Raz,

 

Please find another example in the article by the link below:

 

https://stackoverflow.com/questions/3900371/how-can-i-call-a-webservice-from-c-sharp-with-http-post

 

If you still can’t resolve the issue please provide us with a source code that you wrote and errors that you got.

 

Best regards,

Norton

Show all comments

Hi Community,

I used this below link to setup push notification in mobile

https://academy.bpmonline.com/documents/technic-bpms/7-11/how-set-push-notifications-mobile-application-users

Licensed users using mobile are getting push notifications but Portal users using mobile application is not getting push notification. Is there any other setup needs to do for portal users?

 

Like 0

Like

1 comments

Dear Fulgen,

The most possible cause is access rights to the object and settings for portal users. Please check the access for the following objects:

PushNotificationToken

PushNotificationService 

Regards,

Anastasia

Show all comments