Dynamic External URLs pt 2

Yesterday we expanded on this week’s example by adding dynamic external URLs to our search result List. Perhaps your external system has more of a RESTful URL pattern. Rather than using URL parameters, your system may use a more path-like structure to access resources.

For instance, perhaps you have that system located at http://myservice.com, and the typical path to a Project in that system is like http://myservice.com/project/12345/

It is common to store the ID of a record from an external system in NetSuite’s externalid field, so we would need to employ the dynamic property of setURL:

list.addColumn({
    id: "recordurl",
    type: ui.FieldType.URL,
    label: "Project Link"
}).setURL({
    url: "recordurl",
    dynamic: true
});

Then we would update our data source to set the recordurl field correctly:

function resultToObject(result) {
    return {
        recordurl: "http://myservice.com/project/" + result.id,
       // ...
    };
}

And that’s it! We’d have another style of dynamic links to our external system.

{"email":"Email address invalid","url":"Website address invalid","required":"Required field missing"}

Related posts

January 7, 2021

Anything I wrote today about business would both feel and be inadequate. I simply can’t arrive at the words to express how I feel in this moment. So instead, here are a few helpful ...

Read More

December 20, 2020

2020 was a hundred swift kicks to the shorts and one giant kick in the ass. If you’ve lost people you love, if you’ve gotten sick or hurt, if you’ve lost your job, if ...

Read More

December 16, 2020

“I’ve been meaning to learn SuiteScript, but it’s hard to find the time …”“We’re slammed, and I just don’t have the time …”“I haven’t made the time …” All are variations of a theme ...

Read More

December 14, 2020

Last week we looked at mimicking the functionality of a REST endpoint with its own module (e.g. retrieving a User, or a list of Users, refreshing a token, etc). For complex integrations that rely on a large ...

Read More