Menu-based OpenAPI specs and metadata

Related products: Indicium Service Tier

Our application is very large. This also leads to a very large OpenAPI spec (~50MB) and metadata file (~3MB).

This is disproportionate for any external application that may wish to integrate with a Thinkwise application, which generally only need access to a small portion of the application.
However, the OpenAPI spec is considered the industry standard for consuming an outward-facing API.

In our Thinkwise application, we have several defined menu’s for different apps, which can be switched to in the Windows GUI through the context menu.
See below screenshot for an example:

The context menu within the Thinkwise Windows GUI

The “DMS app” and “Klantportaal” are menu’s containing a subset of views, tables and tasks which the respective applications use.
Currently, these applications each required a lot of effort to implement each endpoint, because there is no tangible way of getting the specs for this menu.

I understand, from this answer on a forum post, these specs and metadata files are filtered based on the authorized user's roles defined within the Thinkwise application.
This is sufficient in the context of a user account defined in the platform, but falls short in the context of an external application which doesn't interact with Thinkwise in the context of a user.

Currently, in Indicium Basic, the OpenAPI spec and metadata are available at http(s)://{{server_url}}/indicium/[iam/sf]/{{app_id}}/openapi
and
http(s)://{{server_url}}/indicium/[iam/sf]/{{app_id}}/$metadata
respectively.

It would be a great addition for Indicium if these endpoints could become available per menu. For example, the OpenAPI spec for above “dms_new_mobile_app” menu could be accessible through http(s)://{{server_url}}/indicium/[iam/sf]/{{app_id}}/dms_new_mobile_app/openapi
or something similar.

I think this would be a good step in making applications developed in Thinkwise more accessible to external applications.
Currently, as a developer working on external systems, Thinkwise seems a very isolated environment, with little to no flexibility for integration.
This seems like a design flaw for a low-code platform suitable for “large and complex business applications”, of which the data is almost always required by other applications that exist in an organizational landscape.

I would love to discuss what possibilities there are, or even discuss other potential solutions for improved integrations.

Should you have any questions, do please ask them in the comments.

Thanks in advance!

Hi Jeroen,

 

This is sufficient in the context of a user account defined in the platform, but falls short in the context of an external application which doesn't interact with Thinkwise in the context of a user.

Every application that interacts with the Thinkwise API does so in the context of a (physical or system) user, so this statement is not correct. In addition, we strongly recommend to always limit the access rights for all types of users as much as possible (principle of least privilege).

 

As for your remark about the platform being an isolated environment and inflexible with regard to integrations, can you please elaborate on why you think that?

The Thinkwise Platform offers numerous integration options with a wide range of applications and technologies. In fact, all data, processes and logic of all Thinkwise applications are securely accessible by external applications via the Indicium API out-of-the-box.


NewNeeds feedback

Hi @Jeroen de Klerk

Can you elaborate on Jasper's response?


Needs feedbackClosed
 

Closed to lack of reply