Extensibility - SmartPlant Foundation - IM Update 42 - Help - Hexagon

SmartPlant Foundation Extensibility

SmartPlant Foundation
Search by Category
SmartPlant Foundation / SDx Version

Why use Extensibility instead of customization?

Extensibility is better to use than customization because:

  • The customization mechanism requires custom code to run in-process

  • Customization means additional complexity to update and maintain

  • Multi-tenancy demands a uniform code base for all customers

  • Different tenants may not want customized code in-process

  • Tenant’s data or third-party code could have security access and resource issues

Why has Extensibility been introduced?

Extensibility has been introduced to reduce software customizations that impact maintenance, upgrade, and hotfix cycles, as well as to:

  • Bridge functionality gaps in the Web Client

  • Provide a modern development experience

  • Leverage the myriad of modern web technologies

  • Integrate with existing and external project systems. For example:

    • Project reporting systems

    • Custom viewer applications, both for data and documentation

    • In-house web applications

  • Allow federated searching across multiple hosted sites and third-party systems

  • Provide flexibility for work processes to use client or server extensibility

  • Allow third-party servers to communicate and react to system events

Extensibility is a simple mechanism for administrators that allows methods to have custom views to display applications in an iframe in the Web Client and communicate with external applications.

The Extensibility mechanism provides the freedom for you to implement extensibility in the SmartPlant Foundation server and SmartPlant Foundation Web Client.

Extensibility provides:

  • The capability to integrate external web applications into the Web Client experience

  • The capability for a third-party server to communicate and react to system events

  • The ability for a client application to perform actions with a back-end service by impersonating the identity of a user

  • An emphasis on the user and developer experience

  • An introduction to Web Development Best Practice

  • A clean, modern API

  • Hexagon recommends that custom client Extensibility code should always be hosted on a server in a different domain. This can mitigate any browser security concerns.

  • For more information for Web Client Extensibility, see Web Client Extensibility.

  • For more information for server Extensibility, see Server Extensibility.

  • Extensibility samples, with a full set of services for interacting with the Web Extensibility API and other Web APIs, are available from Smart Community. For more information, see Find sample data on Smart Community.