Advantages of Developing Plug-ins

Contents

Introduction

Kintone plug-ins have a similar effect as JavaScript customizations, in that they allow some kind of change to be made to the standard Kintone platform. Compared to standalone customizations, plug-ins require a few more steps to create, such as creating a manifest file and implementing CSS and other design aspects. However, there are a number of significant advantages that outweigh the extra required effort to transform a JavaScript customization into a plug-in.

This article introduces Kintone plug-in development by focusing on the differences and advantages as compared with standalone customizations, and will help developers understand when to develop standalone customizations versus plug-ins in the future.

For information on how to develop a Kintone plug-in, see the Plug-in Development Guide.

Advantages of Kintone plug-ins

This section will introduce some of the advantages of plug-in development with concrete examples.

1: JavaScript and CSS files can all be applied at once

Standalone customizations require uploading JavaScript and CSS files one by one, and need to be separated by desktop and mobile use. By using a Kintone plug-in, these files are put together in a plug-in zip file, and therefore, all the files can be applied to an App at once. The image below shows a list of plug-ins that have been imported into a Kintone subdomain.

After importing the plug-in as a zip file, the customization can be applied to each App by simply selecting the plug-in from the App's plug-in settings. On the other hand, it takes time and effort to repeatedly upload JavaScript and CSS files one by one in each App for standalone customizations. Therefore, it is recommended to create a plug-in when the customization can be used in many Apps.

2: Changes can easily be made in the settings

The settings page that is created for each Kintone plug-in allows changes to be made easily to the customization. This is convenient when a plug-in is applied to multiple Apps or multiple domains because it allows the settings to be tailored to each individual App. The following example looks at the Conditional Format Plug-in to explain the advantages of using the settings page of plug-ins to make design changes.

This plug-in applies text and background styling to fields that meet requirements that have been specified in the plug-in settings as shown below.

Using the settings page of the Conditional Format plug-in, the field designs can be changed simply by selecting the conditions from drop-down and text input fields, and then choosing the styling to be applied when those conditions are true. If the same customization was applied using a standalone customization file, the code in the file would need to be changed each time a design change was made. This has obvious problems such as requiring the time and energy to change each customization file, as well as the fact that only those who understand the code, such as a developer, will be able to confidently make the change.

On the other hand, by using a plug-in, the specifications of the customization can be made with a GUI settings page, and even non-developer users will be able to change the design.

Therefore, it is also recommended to use plug-ins when there is a high possibility that changes will be made repeatedly, or if it is important that users other than developers will be able to make changes.

3: Batch application to multiple apps and bulk upgrading is possible

As mentioned in the first advantage of JavaScript and CSS files can all be applied at once, Kintone plug-in development is useful when the customization is applicable to multiple Apps. Besides that, plug-ins have the advantage of the ability to be updated in bulk. For example, if a bug occurs in a customization or if a function is added, the customization files must be updated in each App the customization has been applied to. A plug-in that has been imported to Kintone can be updated in one place, and the plug-in is then automatically updated in each App.

4: Sensitive information can be concealed

The Kintone API is commonly integrated with external services such as Google and AWS. However, because customizations are done with JavaScript, it's quite easy to view important information such as API tokens used in the integration when checking the developer tools in the browser. This poses a great risk in integrating external services with Kintone if sensitive information is used.

As shown above, by using the Google Chrome developer console, the code that is currently running on Kintone is easily accessed.

However, the kintone.plugin.app.setProxyConfig() method can be used in a Kintone plug-in's JavaScript to save important information such as API keys to the Kintone server. For more details on kintone.plugin.app.setProxyConfig(), see the Plug-in JavaScript API article.

Therefore, using a Kintone plug-in would be better than a standalone customization in the following cases:

  • Linking with external services
  • Handling important information that should not be shown to others

Finally

There are a number of advantages of using plug-ins over standalone customizations, as described above. Kintone plug-ins also have features that are unavailable with standalone customizations, so if the situation calls for a plug-in, try making one.

This article has been checked with the November 2018 edition of Kintone.