Developer Discussions

Discuss topics with other Hexagon Geospatial Power Portfolio developers and experts to get the most out of our products.
Showing results for 
Search instead for 
Do you mean 
Reply
Highlighted
New Contributor
Posts: 2
Registered: ‎03-02-2016

URL Trigger for Geomedia Smart Client

Hallo,

 

I would like to create an URL trigger for the workflows in Geomedia Smart Client. I was told that the source code yet exists. Could anyone post the source code here?

 

Best regards

 

Mario

 

Highlighted
Staff
Posts: 1,064
Registered: ‎10-18-2015

Re: URL Trigger for Geomedia Smart Client

Hi,

 

could you please elaborate more what you need? Is it a custom trigger you are talking about? What do you need to implement in such a trigger?

 

Thanks,

Stefano

Stefano Turcato
Presale Engineer
Hexagon Geospatial
Highlighted
New Contributor
Posts: 2
Registered: ‎03-02-2016

Re: URL Trigger for Geomedia Smart Client

Hallo Stefano,

 

I think it is a custom trigger that performs a simple 'clic' on an URL.

 

The workflow settings should look like this:

 

<WorkflowTrigger name="SIGNOFF" type="UrlTrigger" method="action">

<Param name="Url" value="http://server/CadService/LogoffEmployee?empid={REQUESTCONTEXT.empid}"/>

</WorkflowTrigger>

 

I was told that for this operation the sourcecode yet exists.

 

Could you post in here such an example?

 

Best Regards

 

Mario

 

Highlighted
Occasional Contributor
Posts: 9
Registered: ‎11-09-2015

Re: URL Trigger for Geomedia Smart Client

Hi Mario,

 

you need to create a .NET class libary and reference the following assemblies in your project:

 

  • Intergraph.Emea.Core
  • Intergraph.Emea.Workflows

Add a new class to your project and name it "UrlTrigger".

 

To create a custom workflow trigger you need to inherit from WorkflowTriggerBase and override the Execute method.

 

using Intergraph.Emea.Workflows;
using Intergraph.Emea.Core;

namespace SampleTriggers
{
    [ExtensibleType("UrlTrigger")]
    public class UrlTrigger : WorkflowTriggerBase
    {
        public string Url { get; set; }

        public override void Execute()
        {

            using (HttpClient client = new HttpClient()){
				using (HttpResponseMessage response = await client.GetAsync(Url)){
					using (HttpContent content = response.Content)
					{
					   //todo: do something with the response if needed
					}
				}
			}
        }
     }
}

This is a simple code for your needs.

 

In order to use your custom trigger, you need to place your assembly in the bin folder.

 

Regards,

Azzurra